Programmer’s Interface

Classer API Docs

The Classer toolkit is offered in open-source format, and may be integrated into user's applications as needed, subject to CopyLeft licensing terms, as defined by the Free Software Foundation (see discussion here for example). As such, it is available free of charge, and may be copied, redistributed, or modified, as long as any resulting work is distributed under the same terms of Copyleft.

To support integration of the Classer toolkit, its interfaces are specified by API (Application programmer's interface) documents, available here.

Classer Source Code

The source code for Classer is provided as a zipped archivehere. Also included are solution and project files for loading the Classer source code in Microsoft Visual C++ .NET edition.

Use Cases Document

To simplify the job of getting started with the Classer API, a Use Cases document is available here. This document steps through a variety of the basic tasks a user might want to implement using the Classer API.

The use cases are described in the context of working with a remote sensing data set, that is, imagery captured by satellites. The use cases are implemented by the methods of the "ClasserTester" program, described in the next section, so users can just cut-and-paste sections of interest. The Use Cases that are implemented are:

  • Define meta-data, load and preprocess data
  • Define Image objects
  • Define Ground-Truth data
  • Train classifier with one subset of ground-truth, test accuracy on another
  • Cross validate training/testing on ground-truth
  • Train a classifier with all of ground-truth
  • Generate a thematic map, given an Image object and a trained classifier
  • Change classifier model parameters, type and input features
  • Iterate train/tests, tests, and cross-validated train/tests over parameter and feature spaces
  • Generate decision surfaces
  • Save/load a trained classifier
  • Request outputs to files during training/testing/classification
  • Cap classes to remove training biases
  • Turn on Classer logging
  • Generate confusion matrices
  • Set the random seed

ClasserTester - A Simple Driver for Classer Use Cases

The ClasserTester code implements each of the use cases, using the Boston data set. The first time it runs, it has to run a relatively slow preprocessing use case; this only takes place on the first run. Subsequently, the stored results of preprocessing are used. A Visual C++ project file for compiling ClasserTester is available here.


For lower-level access, the ARTMAP implementation at the core of Classer is available as a standalone module, with its own API documentation. Users who want to bypass the larger Classer framework and work directly with the ARTMAP module can find it here.