spectrum(1)

PROGRAM
spectrum - An interactive signal/image classification system.

SYNTAX

spectrum

[-i]
    input image filename

[-l]
    input legend filename

[-fn]
    Specifies the font for spectrum (use % xlsfonts for available fonts)

[-jr file.jp]
    Creates a journal recording for spectrum

[-jp file.jp]
    Executes a journal playback for spectrum

[-V]
    Gives the version for spectrum

[-U]
    Gives the usage for spectrum

[-P]
    Prompts for command line options

[-A [file1]]
    Creates the answer file called spectrum.ans or file1

[-a [file1]]
    Uses spectrum.ans or file1 as the answer file

DESCRIPTION

Spectrum is an interactive signal/image classification system. It aids the user in classifying image data. An image may be displayed, and then pixels in the image assigned to class categories by clicking on the desired pixel in the image. For identification, class categories are given a name and an unique color. A class category may contain as many pixels as desired; pixels may be moved from one category to another as desired. When the classification procedure is complete, the image can be written out along with a legend file for later use.

A "Print Class" capability gives information about class categories according to the pixel over which the cursor is positioned. The "Legend Control" feature is used to modify the legend of class categories; among other things, you may delete a class, empty a class, transfer an entire class into another one, create a "catch-all" category of remaining unclassified clusters, and hide selected class categories from view in order to examine the image without their interference. A "Zoom" capability allows you to zoom in on the image, and select pixels to be assigned to a class category by clicking on the desired pixel in the zoom window rather than in the image.

Spectrum was specifically designed for images that have been pre-clustered, and therefore have additional information associated with them, this info being stored in the map data. This special info in the map data will include N rows of cluster centers (mean vectors), where each column of the info is associated with a special feature of interest that was extracted during the previously-used clustering algorithm. If you do NOT have pre-clustered data, the two paragraphs above apply to VIFF images of data type BYTE, without maps of type FORCED; if you do have pre-clustered images, there are additional features of spectrum that you may take advantage of:

• display of different map columns as Red, Green, or Blue
• display of functions of map columns as Red, Green, or Blue
• a 2D scatter plot where one map column provides the X coordinates, and another map column provides the Y coordinates; unassigned cluster numbers appear in white, while assigned cluster numbers appear in the same color as was specified for their class category in the legend
• the same 2D scatter plot as above, but with specified functions of map columns providing the X and Y coordinates

Please see the section on I/O if you have additional information associated with the input image provided by a clustering algorithm; this section details the input format expected by spectrum for such information. In addition, this section also details the ascii Legend File that is used with Spectrum.

IMPORTANT: the use of spectrum will vary according to the user's intent: some will take advantage of the full capabilities of this program by providing additional information about a pre-clustered input image in its map data, as specified in the section on IO; others will use "normal" VIFF images of type byte that have not been pre-clustered, and therefore have no additional information stored in the map data. When referring to a displayed element of the image, the correct term in the former case would be "cluster number", while the correct term in the second case is "pixel". Because of unpredicatability of the audience, these terms have been used (somewhat incorrectly) interchangably in the documentation. To avoid confusion while reading documentation on spectrum, simply substitute "cluster number" for "pixel" if you are using spectrum for pre-clustered images with additional information stored in the map data; substitute "pixel" for "cluster number" when using "normal" VIFF images with no additional information.

The graphical user interface of spectrum contains several subforms through which you may access the different features of spectrum; these subforms may be accessed by clicking on the desired subform button that appear on the left hand side of the graphical user interface.

Subforms

    Input/Output
        Used to input and output images and legend files. Can also be used to output the colormap as it appears in the image.

    Display
        Used to change how map columns are displayed when additional information from a pre-clustering algorithm is provided.

    Print Class
        Gives information about class categories according to the pixel (cluster) over which the cursor is positioned.

    Legend Control
        Used to modify the legend of class categories.

    Zoom On Image
        Enables the user to zoom in on the image.

    Scatter Plot
        An alternative way to examine clustering data.

    For more detailed information on each of these subforms, see the online help that is pertinent to the subform in question.

REQUIRED ARGUMENTS
none

OPTIONAL ARGUMENTS

-i  type: infile
    desc: input image filename

-l  type: infile
    desc: input legend filename

EXAMPLES
% spectrum -i $CLASSIFY/data/albq3.xv

SEE ALSO
intro(1), verror(3), vgparms(3), vutils(3), lspectrum(3)

RESTRICTIONS
As this is the "first iteration" of the interactive classification program, spectrum still has a few limitations. The following list describes the known limitations with spectrum:

1)  You must have image data of type BYTE. Spectrum will not work with images of any other data type.

2)  The maximum number of rows in the map data provided (if any) is 256. If more than 256 rows are provided, they will be automatically reduced to 256 without prompting or warning. You may have as many columns in the data as you like.

3)  Spectrum will work best if the map data provided (if any) has values that are less than or equal to 255. That is, map data must be of type FLOAT, but its values should be within BYTE range.

3)  To move the zoom window on the scatter plot, you must click exactly on one of the points in the plot.

4)  Clustering routines provided with Khoros such as viso2, kmeans, and others are NOT compatible with spectrum at this time. We are hoping to convert them soon, but cannot guarantee that they will be converted for Patch 3 of Khoros. Thus, if using any of these Khoros programs to cluster your data, you will have to create a little intermediate program to convert the data to the format expected by spectrum (see the online help on I/O for more details).

COPYRIGHT
Copyright 1991, University of New Mexico. All rights reserved.