An Introduction To

MultiSpec©

Version 2.15.95

Program Concept and Introduction Notes by

David Landgrebe and Larry Biehl

MultiSpec Programming by

Larry Biehl

School of Electrical Engineering

Purdue University

> MultiSpec is a data analysis software system implemented for Macintosh
> computers. It is intended for multispectral image data, such as that
> from the Landsat series of Earth Observational Satellites or
> hyperspectral data such as from Imaging Spectrometers. The system
> presumes access to a 680x0 based Macintosh preferably with a math
> coprocessor or to a PowerPC based Macintosh. A color display is highly
> desirable. The tutorial in section II requires a copy of the Thematic
> Mapper data set labeled TIPJUL1.LAN. Those with no previous experience
> using a Macintosh may also want to refer to the Macintosh manual.
>
> Current information such as the availability of new updates to
> MultiSpec and additional documentation on its use is available from
> the World Wide Web at URL:
>
> http://dynamo.ecn.purdue.edu/\~biehl/MultiSpec/
>
> Questions or comments regarding MultiSpec may be directed to:
>
> Professor David Landgrebe
>
> School of Electrical Engineering
>
> Purdue University
>
> West Lafayette, Indiana USA 47907-1285
>
> Internet: landgreb@ecn.purdue.edu

© Copyright 1991, 1992, 1993, 1994 , 1995 by Purdue Research Foundation

West Lafayette, Indiana 47907

> Permission is hereby granted to reproduce this document for any
> non-commercial purpose.

**How to use this document**. There are three major sections to this
document following a brief background in Section I.

> • **A Tutorial.** Section II provides a brief tutorial in the use of
> only the most basic of system capabilities, with program command steps
> described in a quite detailed fashion. It is intended as a first
> contact with MultiSpec.
>
> • **Using MultiSpec.** Section III illustrates a number of additional
> system capabilities and their use in the context of multispectral
> image data analysis, but with a less detailed set of instructions on
> how to invoke them.
>
> • **MultiSpec Reference.** Section IV describes the function of each
> of the items on each of the menus; it is intended for use as a point
> of reference after one has learned to use the basic system
> capabilities.

Though attempts have been made to make use of the program as intuitive
as possible, it is recommended that the new user read and follow through
the steps of Sections II and III before attempting the analysis of new
data. Further, a \"familiarity reading\" of Section IV will be very
useful, as there are many additional features and capabilities described
in it which do not occur in the earlier sections.

Appendix C contains a list of the features and characteristics new to
this version.

> Apple, the Apple Logo, Macintosh, and LaserWriter are registered
> trademarks of Apple Computer, Inc.
>
> Microsoft, Microsoft Word and Microsof Excel are registered trademarks
> of Microsoft Corporation.
>
> ERDAS is a registered trademark of ERDAS, Inc., Matlab is a registered
> trademark of The Math Works.
>
> Table of Contents
>
> I. Background 1
>
> A. Typical Processing Scenario 1
>
> B. The MultiSpec Implementation 2

II\. A Tutorial Example 3

> A. Display and Inspection of the Data 3
>
> B. Training Sample Selection 5
>
> C. Classification 7
>
> D. Obtaining a Hard Copy Printout 8
>
> E. Quantitative Check of Accuracy 9
>
> F. Clustering Algorithms 10
>
> G. The Feature Selection Processor 10
>
> H. Example Uses of Other Software. 12

III\. Using MultiSpec 15

> A. Importing data 15
>
> B. Analyzing Data 16
>
> Background and Procedure. 16
>
> Some Example Uses of System Capabilities. 19
>
> Enhance Statistics. 26
>
> Feature Extraction. 31
>
> BiPlot Of Data 34
>
> Spectral Graph. 35
>
> Statistics Image Display. 35

IV\. MultiSpec Reference 37

> The Apple Menu 37
>
> About MultiSpec 37
>
> The File Menu 37
>
> Open Image\... 37
>
> Open Project Image 43
>
> Close Window 43
>
> Change Image Description\... 43
>
> Load/Save Transformation Matrix 44
>
> Save Thematic Group Info 44
>
> Save Text Output As\... 44
>
> Save Image To TIFF As\... 45
>
> Page Setup\... 45
>
> Print 45
>
> Quit 45
>
> The Edit Menu 45
>
> Undo 45
>
> Cut 45
>
> Copy 46
>
> Paste 46
>
> Clear 46
>
> Select All 46
>
> Clear Selection Rectangle 47
>
> Clear Transformation Matrix 47
>
> The Window Menu 47
>
> Hide Window 47
>
> Text Output 47
>
> Palette 47
>
> Statistics 47
>
> Coordinates 47
>
> \"image or graph\" 47
>
> The Project Menu 48
>
> New Project 48
>
> Open Project\... 48
>
> Close Project 48
>
> Save Project 48
>
> Save Project As\... 48
>
> Use Original Statistics or Use Enhanced Statistics 48
>
> Clear Statistics 49
>
> Change Base Image File\... 49
>
> Base Image/Add as Associated Image/Remove as Associated Image 49
>
> The Processor Menu 50
>
> Display Image 50
>
> Histogram image 50
>
> Reformat 50
>
> List Data 55
>
> Cluster 55
>
> Statistics 58
>
> Enhance Statistics 60
>
> Feature Extraction 62
>
> Feature Selection 63
>
> Classify 66
>
> List Results 69
>
> Utilities 70
>
> The Palette Menu 72
>
> Show Classes 72
>
> Show Information Groups 72
>
> Invert Palette 72
>
> Show Palette Window 72
>
> Blink Procedure 1/Blink Procedure 2 72
>
> The Options Menu 73
>
> Show Selection Coordinates 73
>
> Show /Keep Selection Graph 73
>
> Selection Graph Options 74
>
> Memory Status 74
>
> General Characteristics Of MultiSpec 74

Appendix A. Project File Format 75

Appendix B. MultiSpec Limits 79

Appendix C. What's New in this version 80

An Introduction to MultiSpec

**I. Background**

MultiSpec had its origin in the LARSYS multispectral image analysis
system and is implemented for 680x0 based Macintosh personal computers
with or without math coprocessors or PowerPC based machines[^1]. LARSYS
was one of the first remote sensing multispectral data processing
systems, originally created during the 1960\'s. A number of the systems
in government laboratories, university research labs, and several
commercially offered products are descendants of this system. The
purpose of the new system is to provide a fast, easy-to-use means for
analyzing multispectral or imaging spectrometer data such as LANDSAT MSS
or TM data or the data that will be produced by the next generation
Earth observational sensors such as MODIS, planned for the EOS
Platforms, as well as data from current airborne systems such as AVIRIS.

The original LARSYS was designed with data in mind that had of the order
of 15 or less spectral bands and with the intention of discrimination
between as many as 20 or so classes. The new implementation is intended
to provide the same degree of interactiveness and ease of use, but
dealing effectively with the larger number of spectral bands (of the
order of 100 to 200) of future sensor systems and a larger number of
classes (of the order of 50 or more). The current version has been used
for displaying data of more than 200 spectral bands. However, it is
envisioned that new processing algorithms will be needed to deal
optimally with this new, more complex data of the future. Thus, this
present implementation, while useful in and of itself, is an interim
step toward achieving an effective processor for the future, as it
currently contains only a few of the algorithms that will be needed to
optimally deal with high dimensional multispectral data of the future.

A. Typical Processing Scenario

The analysis of (moderate dimensional) multispectral image data may
follow any of a number of approaches and processing steps, however, a
perhaps typical generic list of steps might be as follows. After
appropriate off-line preprocessing steps such as radiometric
calibration, geometric or cartographic adjustment, and reformatting, the
researcher, in an interactive mode, might proceed through the following
steps.

> 1\. **Data Review.** This is to gain general familiarity with a data
> set, its quality and general characteristics and is usually done, at
> least in part, by viewing the data in color IR image form. Thus some
> type of image display is needed first.
>
> 2\. **Class Definition.** Definition of the class of material to be
> identified or the set of classes to be discriminated between must be
> carried out. Some means for mathematically defining the specific class
> characteristics of
>
> interest is required here. Often this is accomplished by the
> researcher labeling a small sample of the pixels from the data itself,
> as representative of the classes of interest. The analysis process
> then becomes an extrapolation from these samples, called training
> samples or design samples, to the entire data set.
>
> 3\. **Feature Determination.** The specific features to be used in the
> analysis must be identified or calculated. This may be simply a
> process of selecting an optimal subset of spectral bands, or there may
> be some calculation process to combine bands in some useful way.
>
> 4\. **Analysis.** The specific analysis algorithm is finally applied
> to the data set to carry out the desired identification or
> discrimination.
>
> 5\. **Results Evaluation.** Both quantitative and qualitative means
> are used to determine the quality and characteristics of the results
> obtained.

The current implementation of MultiSpec provides at least some means for
accomplishing each of these steps. The primary point of departure is
that the analysis desired is one that is relative in nature, meaning
that rather than identifying a single class of material in a subject vs.
background mode, each pixel is to be assigned to a class based upon a
judgment criterion relative to all possible classes. This implies that
enough classes must be defined so that there is a logical class to which
to assign every pixel in the scene, with the possible exception of a
small number of pixels that will be determined by a threshold.

Further, the current implementation assumes that the classes are made up
of sums of multivariant Gaussian distributions. Thus tools such as
histogramming and clustering are provided to assist in determining the
modes of the data and to properly define classes and subclasses that
reasonably fit this assumption.

Finally, the current implementation is to be regarded as by no means
complete. A number of new algorithms are under evaluation or development
to broaden the circumstances under which the system will be effective.

B. The MultiSpec Implementation

For this section, it is assumed that the reader is familiar with the
standard Macintosh user interface, and knows how to use pull-down menus,
point, click, and drag with the mouse, etc. If this is not the case, the
user should refer to the Macintosh manual or tutorials. The MultiSpec
application should also be copied onto the hard disk, if it is not
already there, as well as the data to be used. At this point,

> • Start the MultiSpec application by double-clicking on it.

Upon opening the MultiSpec application, a Menu Bar and Text Output
Window will be displayed as shown in Figure 1. The Text Output Window is
the window in which all text output from the program, such as file
statistics, histogram data, and initial classification results will
appear. Text data appearing there may be copied and pasted into other
applications, for example.

Notice the list of menus across the top of the screen and in Figure 1.
By pointing with the cursor to each and holding the mouse button down,
the various options of each menu item may be observed. In doing so, it
is seen that the **File** menu allows one to open an **Image** or
**Project Image** window for displaying an image, to **Print** output,
to **Save** the text output to a disk file, or to **Change an Image
Description**, among other things.

![](media/image1.pct){width="6.486111111111111in"
height="3.1666666666666665in"}

> **Figure 1. The MultiSpec Menu Bar and Text Window. This is what
> appears on the screen upon start-up of MultiSpec.**

The **Edit** menu is used for standard Macintosh functions such as
cutting, copying, pasting, and clearing. The **Window** menu is used to
bring any given window to the front and make it the active window. The
**Project** menu is used to start a new **Project file**. The Project
file is the file used to store training and test field coordinates,
class statistics, etc., so that one may save one\'s intermediate results
and quit before completing an analysis. One can then restart the
analysis at a later time without losing any work. The **Processor** menu
allows one to choose the MultiSpec processor one wishes to use. The
**Palette** and **Options** menus are needed only for advanced purposes
and are explained in the Reference section.

**II. A Tutorial Example**

A typical analysis task usually involves many classes, however, as a
simple example, we will use a small portion of a Thematic Mapper data
set to carry out a 2-class, 7 band classification. The two classes will
be Green Vegetation and Other. The data is shown in Figure 2. We will
use the three fields indicated in the figure as training data.

A. Display and Inspection of the Data

To begin the example, open MultiSpec if it is not already and,

> • From the ***File*** menu choose ***Open Image. . .***.

![](media/image2.pct){width="5.597222222222222in"
height="4.694444444444445in"}

> **Figure 2. Band 2 (0.52-0.60 µm) of Thematic Mapper Data to be used
> in the Tutorial Example.**

A dialog box will open to allow one to select the data file one wishes
to use.

> • Select ***TIPJUL1.LAN*** and ***Open,*** or simply double-click on
> ***TIPJUL1.LAN***

This is a small segment (169 lines x 169 columns of pixels) of a
Thematic Mapper scene of Tippecanoe County, Indiana gathered on July 17,
1986. Next a dialog box will appear to allow one to choose among various
options for the image display.

> • Note that by default the area designated for display is the whole
> scene and the ***3 channel color*** Display Type is selected. Notice
> also that, if the monitor is set to display 256 or fewer colors, the
> default settings call for the Red screen color to be derived from band
> 4 and the Green and Blue screen colors from band 3[^2]. Any bands
> could be chosen, however, since band 4 is from the reflective infrared
> region and band 3 from the visible red, these particular choices are
> satisfactory for our use and will cause the screen
>
> image to be in a 3-color format approximating Color Infrared film.
> Therefore, click ***OK.***

If the data histogram has not previously been calculated and stored,
another dialog box will next be presented allowing the choice of regions
to be histogrammed, so that the various channel gray values can be
properly assigned to screen colors. The default options built into this
dialog box are satisfactory, so

> • Click ***OK*** to begin the histogramming.

After the histograms of the seven channels have been compiled, a dialog
box will be presented allowing them to be stored so that they will not
have to be re-compiled when this data set is next used. The default file
title is satisfactory, so,

> • Click ***Save*** to store the histogram in the image statistics
> file, TIPJUL1.STA.

+------------------------------+---------------------------------------+
| After a brief time, the      | ![](media/ima                         |
| image of the data will       | ge3.pct){width="3.6944444444444446in" |
| appear. First, use the       | height="3.0555555555555554in"}        |
| window sizing box in the     |                                       |
| lower right corner of the    |                                       |
| image window to              |                                       |
|                              |                                       |
| • ***Enlarge the window***   |                                       |
| to a little more than twice  |                                       |
| its current size by dragging |                                       |
| it to the right and down.    |                                       |
|                              |                                       |
| Notice that just above the   |                                       |
| window sizing box, there are |                                       |
| two small boxes labeled      |                                       |
| **i** and **o**. These are   |                                       |
| image zooming boxes allowing |                                       |
| one to zoom                  |                                       |
| **[i]{.underline}**n or      |                                       |
| **[o]{.underline}**ut from   |                                       |
| the current image scale.     |                                       |
| Just to the left of the      |                                       |
| window sizing box is another |                                       |
| box which now shows          |                                       |
+------------------------------+---------------------------------------+

***x 1.0*** in grayed form. This tells the current zoom magnification.

> • Click the ***i*** once to magnify the image by a factor of 2.

One can magnify further if one wants just by clicking additional times
on the ***i***. Reduce the magnification by clicking on the ***o***. Any
time the magnification is different from 1.0, one may click on the
magnification size box to return it to x 1.0. After experimenting a bit,
return the magnification to ***X 2.0***. By clicking on the Window Zoom
Box (upper right corner of the window), one can adjust the window to
just the size of the image.

B. Training Sample Selection

The next step is to select training fields. To do so,

> • From the ***Processor*** menu select ***Statistics*** and click
> ***OK*** in the resulting dialog box as we will use all seven spectral
> bands in statistics calculation and classification, and the other
> default values are satisfactory.

A new window labeled ***Select Field*** will appear in the upper right
corner of the screen that will be used in a moment. To select training
fields for each class, one must simply \"drag\" a rectangular area on
the image (or, with polygon option selected, click on the corners of the
desired polygon), and then \"Add that field to the list.\" Thus,

> • ***Drag from the upper left corner to the lower right corner*** of
> the Veg. training field in the ***image window*** (the upper one of
> Figure 2 that shows red on the screen). If upon inspection, one does
> not like the exact boundaries resulting, one may immediately repeat
> the process.
>
> • Note in the ***Select Field dialog box*** , that the coordinates
> (row and column numbers) of the upper left corner and the lower right
> corner of the selected area appear there. Now,
>
> • Click on the ***Add to list*** button.

A dialog box will appear to allow one to name the class and give the
field a special designation, as desired. Thus,

> • Type ***Veg*** into the Class Name box and then click ***OK***.

Since there is to be only one training field for this class, we are
ready to select the training for the second training class. Thus next,

> • Point to the ***Veg*** class name of the ***Select Field*** window
> and hold the ***Mouse button down***. A pop-up menu will appear.
> Without releasing the mouse button, drag to ***New*** and then let up
> on the Mouse button. Next,
>
> • ***Drag across the second training field*** in the ***Image
> Window*** shown in Figure 2***.***
>
> • Click on the ***Add to list*** button in the ***Select Field***
> window .

Again, a dialog box will appear to allow one to name the class and give
the field a special designation, as desired.

> • Type ***Other*** into the Class Name box and then click ***OK***.

The class Other is to have two fields in its training set, so we are
ready to mark the second of these two.

> • ***Drag across the remaining training field*** in the ***Image
> Window***

Since the class indicated in the Select Field window already is Other,
this field will automatically be associated with that class.

> • Click on the ***Add to list*** button in the ***Select Field*** and
> click ***OK*** on the \"Field 3\" dialog box that results.

Since there are to be only two classes and a total of three training
fields, the training process is complete, and we are now ready to
evaluate the adequacy of our class definition and training. In more
typical circumstances, it would probably be desirable to plot histograms
of the training data or in other ways check its quality, however, for
now we will evaluate it only by classifying the training fields to see
that they are appropriately separable.

C. Classification

> • From the ***Processor*** menu select ***Classify***.

On the dialog box which appears, under***Classify***

> • Click on the X near ***Image File***

to de-select it as during this pass it is desired to classify only the
training fields in order to obtain an initial estimate of the quality of
the class definition and training. Note that under ***Write
classification results to:*** the ***Project Text Window*** is already
selected. This will cause the results of the classification to be
displayed in the text window in alphanumeric form. If desired, one could
also select the ***Disk File*** button causing a disk file version of
the results to be written. Since we have no need for this file in this
case, leave this button unselected.

Since the other default options are satisfactory,

> • Click on ***OK*** and then ***Update*** to the \"Update Project
> Statistics\" dialog box to begin the classification.

The classification will be complete after a few seconds.

> • From the ***Window*** menu select ***Text Output***,

to bring this window forward and make it active, as it will contain the
classification results. If necessary, scroll until the results of the
classification can be seen. The class of each pixel is indicated by a
\"1\" or \"2," indicating the class to which it has been assigned.
Tables after the last field tabulate how the pixels of each field and
class were classified. There should be nearly 100% accuracy on the three
fields. Assuming satisfactory results, we are ready to classify the
whole area. We will first clear the Text Output window to make room for
the results. To do this, with the Text Output window still active,

> • From the ***Edit*** menu choose ***Select All*** and then
> ***Clear***. Then,
>
> • From the ***Processor*** menu choose ***Classify***.
>
> • Under ***Areas to Classify*** de-select ***Training Fields*** by
> clicking on the X by it, and,
>
> • Select ***Image file***.
>
> • Also click on ***Disk File*** under ***Write classification results
> to:*** so that a disk file for later use will be created. Then click
> ***OK***. Also click ***Save*** to the dialog box that follows
> regarding a file name for the results.

It should take about 10 seconds[^3] to classify the 28,561 pixels in the
data set using all 7 bands. As soon as the classification is complete,
one will see results displayed in the text window and one may want to
scroll over the classified area to examine the results.

D. Obtaining a Hard Copy Printout

**Hard copy in Thematic Map form.** A hard copy output in Thematic Map
form may be obtained using an Apple LaserWriter[^4] by the following.

> • In the ***File*** menu, choose ***Open Image***,
>
> • In the resulting dialog box, select the file ***Untitled
> Project.maxlik_classif*** that was generated by the classifier, and
> click ***Open***. Click ***OK*** on the resulting dialog box.

One may change from the default color used for each class to more
appropriate ones by double-clicking in the legend on the color to be
changed, then clicking on the color desired in the color wheel
resulting. For example, one may change to green for the Vegetation
class. Note that colors of contrasting brightness should be chosen for
the two classes if the intent is to subsequently print out a black and
white version of the display as is the case here.

One may enlarge the resulting image as desired using the ***i*** zoom
box on the lower right. Then,

> • In the ***File*** menu, choose ***Print Image***, and ***OK*** on
> the resulting dialog box.

Figure 3 shows an example of the result in black and white form. Color
output is also available if one has a color printer.

Note also that one may copy the display to a word processor document by
choosing \'Select All\' or by dragging over the portion of the display
desired, then choosing \'Copy,' and then pasting the result into the
word processor document. Many Macintosh word processing programs are
capable of containing color images, Microsoft Word Version 4 and 5 are
examples.

![](media/image4.pct){width="5.819444444444445in"
height="4.736111111111111in"}

**Figure 3. A classification result in black and white thematic map
form.**

E. Quantitative Check of Accuracy

To assist in the evaluation of the analysis results, the LIST RESULTS
processor may be used. To do so, first,

> • Make certain that the Untitled Project.maxlik_classif window is
> active; (if it is not, click on any part of it showing or select it in
> the ***Windows*** menu),
>
> • From the ***Project*** menu, select ***Add Associated Image.***

The outlines and names of the training fields will immediately be shown
on the image. Next,

> • From the ***Processors*** menu, select ***List Results***.

A dialog box providing several options will appear. These options are
all described in the Reference Section. For now,

> • click ***OK***.

This will cause the system to generate in the text window two tables of
results for the accuracy of the training samples, similar to the
following.

  ------------------------ ----------------------- -----------------------
  TRAINING FIELD                                   
  PERFORMANCE                                      

  ------------------------ ----------------------- -----------------------

  -------------- -------------- -------------- -------------- --------------
  Project Number                                              
  of Samples in                                               
  Thematic Image                                              
  Class                                                       

  -------------- -------------- -------------- -------------- --------------

  ----------------- ---------- ---------- ---------- ---------- ----------
  Field             Class      Percent    Number     1          2

  ----------------- ---------- ---------- ---------- ---------- ----------

  ----------------- ---------- ---------- ---------- ---------- ----------
  Name              Number     Correct    Samples    Green      Other

  ----------------- ---------- ---------- ---------- ---------- ----------

  ----------------- ---------- ---------- ---------- ---------- ----------
  Field 1           1          100        384        384        0

  ----------------- ---------- ---------- ---------- ---------- ----------

  ----------------- ---------- ---------- ---------- ---------- ----------
  Field 2           2          100        375        0          375

  ----------------- ---------- ---------- ---------- ---------- ----------

  ----------------- ---------- ---------- ---------- ---------- ----------
  Field 3           2          100        138        0          138

  ----------------- ---------- ---------- ---------- ---------- ----------

  ----------------- ---------- ---------- ---------- ---------- ----------
  TOTAL                                   897        384        513

  ----------------- ---------- ---------- ---------- ---------- ----------

  ------------------------ ----------------------- -----------------------
                                                   

  ------------------------ ----------------------- -----------------------

  ------------------------ ----------------------- -----------------------
  TRAINING CLASS                                   
  PERFORMANCE                                      

  ------------------------ ----------------------- -----------------------

  -------------- -------------- -------------- -------------- --------------
  Project Number                                              
  of Samples in                                               
  Thematic Image                                              
  Class                                                       

  -------------- -------------- -------------- -------------- --------------

  ----------------- ---------- ---------- ---------- ---------- ----------
  Class             Class      Percent    Number     1          2

  ----------------- ---------- ---------- ---------- ---------- ----------

  ----------------- ---------- ---------- ---------- ---------- ----------
  Name              Number     Correct    Samples    Green      Other

  ----------------- ---------- ---------- ---------- ---------- ----------

  ----------------- ---------- ---------- ---------- ---------- ----------
  Green Veg.        1          100        384        384        0

  ----------------- ---------- ---------- ---------- ---------- ----------

  ----------------- ---------- ---------- ---------- ---------- ----------
  Other             2          100        513        0          513

  ----------------- ---------- ---------- ---------- ---------- ----------

  ----------------- ---------- ---------- ---------- ---------- ----------
  TOTAL                                   897        384        513

  ----------------- ---------- ---------- ---------- ---------- ----------

  ------------------ ----------------- ----------------- -----------------
  OVERALL                                                
  PERFORMANCE ( 897                                      
  / 897 ) = 100.0                                        

  ------------------ ----------------- ----------------- -----------------

The first table provides an accuracy assessment for the training fields.
Each line of the table contains the results for one of the training
fields. The second table combines the fields of each class to show the
overall training class results. If Test Fields had been defined, similar
tables could be calculated for these as well. A capability to Group
classes, i.e., combine classes that are actually subclasses of a more
general class, is described in the Reference section of this document,
under the Open Image command of the File menu. If such Grouping had been
done, tables as above could be determined for Groups as well.

F. Clustering Algorithms

Two Clustering Algorithms are contained in MultiSpec. They are useful in
the classifier training step in determining how many classes might be
separable in a given data set, and in finding the modes of data. One
algorithm implemented is a simple one-pass type. The second is of the
iterative type. More information on these algorithms is contained in the
Using MultiSpec and Reference sections of this document.

G. The Feature Selection Processor

A Feature Selection Processor is included to assist in choosing a best
subset of spectral features to be used for a specific classification.
For example, instead of using all seven TM bands in the above tutorial
example, it may have been better to choose the best three of the seven
bands for the particular pair of classes. This would certainly have
saved computation time, and in a more complex classification task, it
may have provided higher classification accuracy.

The Feature Selection Processor produces a table showing the statistical
distance between each of the class pairs for each of the possible
subsets of features. In a case

of three classes, the best three of seven features and the Bhattacharyya
statistical distance measure, the results that appear in the text window
are as follows:

> Feature Selection 2-7-1995 10:13
>
> Project = \'TIPJUL1Intro.Project\'
>
> Enhanced class statistics are used.
>
> Base image file = \'TIPJUL1.LAN\'
>
> List best 12 combinations
>
> Minimum value to be listed: 0
>
> Maximum value to be listed: 30000
>
> List separability table.
>
> 1 contiguous channels in each channel combination group
>
> All possible channel combinations will be searched
>
> Classes used: Symbol
>
> 1: Class 1 1
>
> 2: Class 2 2
>
> 3: Class 3 3
>
> Channels used:
>
> 1: 0.45-0.52 µm
>
> 2: 0.52-0.60 µm
>
> 3: 0.63-0.69 µm
>
> 4: 0.76-0.90 µm
>
> 5: 1.55-1.75 µm
>
> 6: 2.08 - 2.35 µm
>
> 7: 10.40 - 12.50 µm
>
> Start Bhattacharyya Feature Selection
>
> There are 3 class combinations.
>
> There are 35 channel combination(s) for 3 group(s) of 1 contiguous
> channel(s).
>
> class pair symbols \> 12 13 23
>
> weighting factor \> (10) (10) (10)
>
> Channels Min. Ave. Weighted Interclass Distance Measures
>
> 1\. 3 4 5 1.73 7.16 1.73 12.2 7.47
>
> 2\. 1 4 5 1.70 6.97 1.70 12.1 7.03
>
> 3\. 3 5 6 1.56 6.91 1.56 12.1 6.99
>
> 4\. 2 3 5 0.92 6.78 0.92 12.6 6.80
>
> 5\. 1 5 6 1.53 6.74 1.53 11.9 6.71
>
> 6\. 3 5 7 1.07 6.68 1.07 12.2 6.77
>
> 7\. 1 3 5 0.83 6.67 0.83 12.2 6.93
>
> 8\. 4 5 6 1.89 6.59 1.89 11.6 6.20
>
> 9\. 2 4 5 1.68 6.47 1.68 11.6 6.04
>
> 10\. 1 5 7 0.82 6.45 0.82 11.9 6.57
>
> 11\. 4 5 7 1.76 6.43 1.76 11.7 5.81
>
> 12\. 1 2 5 0.54 6.41 0.54 12.1 6.56
>
> 0 CPU seconds for feature selection.

By choosing the correct option, the subsets of channels have been listed
in descending order according to the average of the Weighted Interclass
Distance values. (The default option would have the subsets listed in
descending order according to the minimum of the Weighted Interclass
Distance values.) Note from the table, this algorithm suggests that
Channels 3, 4, and 5, would be the best three for discriminating among
these three classes. However, though the average interclass separability
for n-tuple 3, 4, 5 is the largest, the larger average in this case is
due primarily to the distance between class 1 and 3; on the other hand,
the separability between classes 1 and 2, at 1.73, is smaller and would
suggest a larger classification error is likely. Bands 4, 5, and 6, for
example, may prove to be a more satisfactory set due to the larger
minimum separability.

In general, in using this processor, one would want to scan both the
Average column and the Minimum column of the processor output, perhaps
in addition to reviewing the individual entries appearing in the table
of Weighted Interclass Distance Measures. Given the desirability of such
greater scrutiny in more complex cases, the Feature Selection Processor
output may either be copied and pasted to a spreadsheet, or saved on
disk as a text file and opened from a spreadsheet. Other example uses of
commercially available software are contained in the following section.

H. Example Uses of Other Software.

**Hard copy in alphanumeric form.** If a LaserWriter or other high
resolution printer is not available it is possible (though somewhat more
complicated) to obtain a hard copy print-out of the results in
alphanumeric form. We shall do this by copying and pasting the results
into a word processor and using the power of its formatting and printing
capabilities. Assuming the availability of Microsoft Word,[^5] do the
following. With the Text Output window active,

> • In the Text window, drag from the beginning of the first line
> classified to the beginning of the line after the last line
> classified, then from the ***Edit*** menu choose ***Copy***.

Then, return to the finder by using the small icon in the extreme upper
right corner of the screen. Next,

> • Open ***Microsoft Word*** [^6] and from its ***Edit*** menu choose
> ***Paste***.

Next some changes in the font and font size and the document format are
needed to make a convenient print-out.

> • To select the entire document, hold down the ***Command Key*** and
> click anywhere in the ***Selection Bar*** (the left eighth inch of the
> active portion of the document).
>
> • From the ***Format*** menu choose ***Character***, then choose
> ***Courier 7 Point*** font in the dialog box that appears. Courier is
> a font for which all letters occupy the same width, so that columns of
> alphanumeric figures will line up. The small point size is chosen to
> maximize the number of pixels that can occur across the page while
> still being readable. Click ***OK***.
>
> • From the ***File*** menu choose ***Page Setup***, and click the Wide
> ***Orientation*** button. Then click on the ***Document*** button and
> re-set the left margin to ***0.75*** and right margin to ***0.5***
> inch. Click ***OK***.[^7]
>
> • From the ***Format*** menu choose ***Section***, then in the line
> numbers section of the resulting dialog box, click ***Line
> Numbering*** and ***By Section***, and enter ***10*** in the ***Count
> by*** box. Click ***OK***.
>
> • Place the insertion point just before the first character of the
> first line of the classified data, and holding down the ***Command***
> key, press ***Enter*** to place a \"new section\" boundary just in
> front of the classified area. This will restart the line count at 1.
>
> • From the  menu select the Chooser, click on the desired type of
> printer, then select the specific printer desired. Then from the
> ***File*** menu choose ***Print*** and click ***OK*** to print.

Start maximum likelihood classification

Classification of Selected Area

1 10 20 30 40 50 60 70 80 90 100 110 120

\| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
\|

111111111111111111111111112222222222222222222222222222222222222222222222221111211222222222222222222222222222222222211112

222111121111111111111111112111111111111112222222222222222221111221112111222111222222222222222222222222222222222222221222

222222111111111111111111111111111111111112222222222222222111111111111111121111222222222222222222222222222222222222222222

222221111111111111111111111111111111111112222222222222222111111111111111111111222222222222222222222222222222222222222222

222222111111111111111111111111111111111111222222222222222111111111111111111111222222222222222222222222222222222222222222

221122111111111111111111111111111111111111222222222222222111111111111111111111222222222222222222222222222222222222222222

111112111111111111111111111111111111111111222222222222222111111111111111111111222222222222222222222222222222222222222222

111112111111111111111111111111111111111111222222222222222111111111111111111111222222222222222222222222222222222222222222

111111111111111111111111111111111111111111111222111121122111111111111111111111222222222222222222222222222222222222222222

111111111111111111111111111111111111111111111112111111122111111111111111111112222222222222222222222222222222222222222222

111111111111111111111111111111111111111121111111111111112111111111111111111111222222222222222222222222222222222222222222

111111112211122222221222212222212222222222111111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222111111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222111111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222111111111111112111111111111111111112222222222222222222222222222222222222222222

222222222222222222222222222222222222222222211111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222211111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222111111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222111111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222111111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222111111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222211111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222111111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222111111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222211111111111112111111111111111111111222222222222222222222222222222222222222222

222222222222222222222222222222222222222222211111111111112111111111111111111222222222222222222222222222222222222222222222

222222222222222222222222222222222222222222211111121111212212211122111121112222222222221221222222222222222222222222222222

222222222222222222222222222222222222112222222222222222222211111111111112212222222122111111122222222222222222222222222222

222222222222222211222222222221111111111221122222222222222211111111111111112222222111111111122222222222222222222222222222

111111112211111111222222222211111111111221122222222222222111111111111111111111112111111111112222222222222222222222222222

111111111111111111122222222211111111111121122222222222222111111111111111111111122212222111112222222222222222222222222222

111111111111111111222222222111111111111111122222222222222211111111111111111111112222222222222222222222222222222222222222

111111111111111111222222222211111111111111122222222222222211111111111111111111122222222222222222222222222222222222222222

111111111111111111222222222211111111111111122222222222222211111111111111111111122222222222222222222222222222222222222222

111111111111111111122222222211111111111111122222222222222111111111111111111111122222222222222222222222222222222222222222

111111111111111111122221222211111111111111122222222222222111111111111111111111122222222222222222222222222222222222222222

111111111111111111222222222211111111111111122222222222222111111111111111111111222222222222222222222222222222222222222222

111111111111111111222222222111111111111111122222222222222211111111111111111111222222222222222222222222222222222222222222

111111111111111111222222222111111111111111222222222222222211111111111111111111222112222222222222222222222222222222222222

111111111111111111122221222211111111111111122222222222222111111111111111111111122211222222222222222222222222222222222222

\| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \| \|
\|

1 10 20 30 40 50 60 70 80 90 100 110 120

> **Figure 4. Example printout of classification using Microsoft Word**

This procedure provides a classification map with every 10th line
numbered. Figure 4 shows a portion of the printout that will result,
after a column numbering scale has been added above and below the
printout area as well. Note that as a result of the row and column
numbering, it is easy to obtain the address (row and column number) of
each individual pixel.

We note in passing that if desired, one could use the \"find and
replace\" capability of the word processor to apply more revealing
symbols for each of the classes, e.g., v for vegetation and o for other.
Alternately, by use of the Symbols menu of the dialog box appearing just
after selecting the Classify command of the Processor menu, one may

set the class symbol as desired. This becomes more desirable as the
number of classes increases and it becomes more difficult to remember
classes by number.

The use of commercial applications such as Microsoft Word can be very
useful in extending the capabilities of MultiSpec, and indeed, such use
is an intention of the design of it. As another example, Figure 5 shows
a histogram of every fifth line and every fifth column of the data set
for bands 3 and 4. This figure was obtained by choosing the Histogram
Processor with the List Histogram option selected, and then copying the
result from the Text Output window and pasting it into a commercially
available graphing application program.

![](media/image5.pct){width="6.25in" height="4.791666666666667in"}

**Figure 5. Histogram of TIPJUL1.LAN in bands 3 and 4.**

III\. Using MultiSpec

A. Importing data

MultiSpec is able to read any data file in Binary or ASCII format
provided that the parameter values in the following dialog box are
known.

![](media/image6.pct){width="5.416666666666667in" height="3.375in"}

ASCII format refers to images represented by alphanumeric characters -
one character for each pixel. MultiSpec cannot interpret ASCII image
files represented by numbers separated by commas or spaces.

MultiSpec will attempt to determine these parameters from the header
portion of the selected data file. Currently MultiSpec recognizes ERDAS,
VICAR, Sun \"Screen Dump\", GAIA, MacSADIE, TARGA uncompressed, TIFF
uncompressed, LARSYS Multispectral Image Storage Tape (MIST) format and
MultiSpec ASCII classification formatted data files. If MultiSpec is
unable to determine the parameters for the file format, the above dialog
box will be displayed to allow one to specify the parameters.

Acceptable limits on several of these parameters are listed in Appendix
B. Band interleave formats which are acceptable are Band Interleaved by
Line (BIL), Band Sequential (BSQ), and Band Interleaved by Sample (BIS).
The data may have either one or two bytes per data value, and may have 4
to 16 bits per data value. In the case of two bytes per sample, the two
bytes may be in either order.

The file to be imported may or may not have a header or trailer, but if
it has either, the format of it does not need to be known, only the
number of bytes included. The image data file may have additional bytes
included before and/or after each line or channel; these bytes may be
for storage of information such as line numbers or calibration data, but
again only the number of bytes involved needs to be known. MultiSpec
will ignore

header, trailer, pre-line, post-line, pre-channel and post-channel bytes
when displaying the data.

An example format which uses several of these parameters is the LARSYS
MIST format. These files are BIL with a header of 800 bytes and 4
pre-line calibration bytes and 6 post-channel calibration bytes. The
pre-line bytes are at the beginning of each line of data and the
post-channel bytes are at the end of each channel of data. In other
words, there are a total on n channels times 6 bytes of post channel
bytes for each line of data.

If this image file is actually a subset of a larger image file and it is
desired to retain the line and column numbers from the original, the
above dialog box provides an opportunity to enter those data at the time
the data are first read by MultiSpec using the \"start line\" and
\"start column\" parameters.

Upon reading the file for the first time, each of these data values must
be entered or chosen, after which, if desired, MultiSpec can re-write
the data with a known header so that these items will not have to be
re-entered when this file is next displayed.

Then the steps needed to import new data are as follows. Store the data
file in either binary or ASCII format in a data volume accessible to
MultiSpec. Open MultiSpec and choose ***Open Image*** from the File
menu. The usual Macintosh dialog box will appear allowing you to choose
the data volume and data file containing the new data. Upon clicking
***OK*** the dialog box above will appear. Upon entering the correct
parameter values and clicking ***OK***, the image data will be read into
MultiSpec, and the \"Set Display Specifications\" dialog box will appear
(see Open Image under the File Menu in the Reference Section). The data
have thus been successfully imported.

If it is desired to have a standard header appended to the file, so that
the file parameters do not have to be re-entered the next time the file
is opened, after the above steps, choose ***Reformat\...*** from the
Processor menu, then select ***Insert Header*** and ***OK***. A dialog
box will be displayed to allow one to insert an ERDAS73, or ERDAS74
header. One can add additional header types by using the Reformat
Processor "Change Image File Format Command. (See Reference Section).

B. Analyzing Data

[Background and Procedure.]{.underline}

There are many approaches to analyzing multispectral image data, almost
as many as there are analysts. The steps used in any given analysis must
necessarily be based upon the scene, the information desired, and the
data analyst\'s initial assumptions about the data characteristics.

The basic requirement of an analysis process is,

> • To divide the entire multi-dimensional data space defined by the
> data set into an exhaustive set of non-overlapping regions in such a
> way that the regions delineated, or an appropriate subset of them,
> correspond as precisely as possible to data points belonging to the
> particular classes desired.

Experience has shown that, properly used, the assumption that each of
these data subsets may be modeled in terms of one or a combination of
Gaussian distributions is a quite practical and powerful way to proceed.
Among the advantages of using the Gaussian model is the mitigation of
need for large training sets to properly define the desired classes,
especially when the spectral dimensionality is large. However, use of
this assumption does impose upon the analysis process, some means for
identifying the various modes of each desired information class, and the
fitting of densities to each of these modes. [The analysis process then
consists of finding the parameters for a collection of Gaussian
distributions which fit the entire data set, and for which some subset
of the distributions correspond to the classes of interest.]{.underline}

With regard to dealing with confounding scene observation variables such
as the atmosphere, illumination and view angles, terrain relief, etc.,
one approach is to attempt to pre-adjust the data before analysis to
account for the variation introduced by each of these confounding
variables into spectral responses. However, as a practical matter, the
lack of adequately precise values for the parameters of such scene
variables, the complexity of the calculations required even if the
parameter values are known, and the noise and uncertainties introduced
by such calculations (which themselves can tend to reduce the amount of
information that could ultimately be obtained from the data) are
disadvantages of this approach.

A second approach is to use analysis techniques which are relatively
insensitive to such scene observation variables in the first place. The
various conditions in which a desired information class exists in the
data may be handled by defining additional subclasses for the desired
information classes. This is the approach in mind in the following, and
a minimum amount of pre-analysis adjustment to the data is assumed to
have been used.

The steps below, then, allow for accomplishing the analysis task
according to the above approach using MultiSpec.

1\. Familiarization with the data set.

> • Display the data in two or three color format using the Display
> Image processor to assess its general qualities[^8]. Compare the
> displayed image with any ground reference information about the site
> which may be available. Compose a tentative list of classes which is
> adequately (but not excessively) exhaustive for this data set.

2\. Preliminary selection of the classes and their training sets.

> • Using the Cluster processor, cluster the area from which training
> fields are to be selected, saving the results to disk file. Display
> the resulting thematic map for use in marking training areas.
>
> • Using either the display of the original data or that of the
> thematic cluster map (after adding it as an associated image), make a
> preliminary selection of training fields which adequately represent
> the selected classes.

3\. Verification of the class selection and training.

> • Use the Feature Selection processor to determine the degree of
> separability between the various classes. Check the modality of the
> classes by examining the cluster map or by clustering the training
> areas. Where multi-mode classes are found, it may be appropriate to
> define two or more sub-classes to accurately represent the entire
> class. It may be desirable to iterate between steps 2 and 3.
>
> • In low dimensional cases, it may be appropriate to examine the
> histograms of each class in a representative set of spectral bands to
> determine the need for subclasses. This is another means of
> identifying the need for subclasses.

4\. Selection of the spectral features to be used.

> • Once a reasonably final training set is arrived at, use the Feature
> Selection processor to choose the best subset of features for carrying
> out the classification for a given training set[^9].

5\. Preliminary Classification of the data.

> • Classify the training fields only, using the spectral bands you have
> selected to verify their purity and separability.

6\. Final Classification, Evaluation of the classification and
Extraction of the desired information.

> • Classify the entire data set using the features selected.
>
> • Mark as many fields as possible as Test Fields using the Statistics
> Processor. Use the List Results processor to determine the accuracy
> obtained on the training fields and to determine how well the
> classifier training generalizes beyond the training set. Make
> modifications to the training as required to obtain satisfactory
> results at this point.[^10]
>
> • Depending upon the results of these evaluations it may be necessary
> to repeat previous steps after modifying the class definitions and
> training. After becoming satisfied with the results, classify the
> entire data set, perhaps setting a modest threshold value, saving the
> classification results to a disk file, and creating a Probability
> Results file.
>
> • Use the Display Image processor to generate thematic map versions of
> the results and the probability results files for subjective
> evaluation purposes. The classification results file display is useful
> in determining that the classification results are appropriate and
> consistent from a spatial distribution standpoint. The portion of
> points thresholded in the results display, together with the
> Probability Results file helps to determine if any important modes in
> the data have been missed in the class definition process. Depending
> on the outcome, it may again be necessary to iterate using some of the
> above steps. The List Results processor can be used to provide a
> quantitative evaluation of the results based upon the accuracy figures
> of the training and test fields classification.

[Some Example Uses of System Capabilities.]{.underline}

In the following we shall sample several of the above steps to
demonstrate how MultiSpec may be used. We note that all of the features
of MultiSpec are cataloged in the Reference Section of this document;
our purpose here is merely to illustrate how some of them can be used in
the process of analyzing a data set. For this purpose, we will again use
***TIPJUL1.LAN***, the same data set as in Section II above.

Begin by ***Opening MultiSpec***, and displaying the ground truth file
***JTIPSUB1.GIS***, using ***Open Image*** from the ***File*** menu.
Also display the file ***TIPJUL1.LAN*** containing the multispectral
data. We will assume that our primary interest in this analysis is on
the classes Corn, Soybeans, and Alfalfa/Oats.

With the data image window active, choose ***Cluster***\... from the
***Processor*** menu. Choose the ***Isodata*** algorithm, and on the
resulting dialog box, choose the ***Use One-Pass Cluster***
initialization option. This initialization tends to cause the Isodata
algorithm to require fewer iterations to achieve a final clustering. If
the default choices under Other Options are used, it turns out that 15
or more clusters will be identified, and we desire a somewhat smaller
number in this case, since the number of classes desired is small. Thus
reset the ***Minimum Cluster Size*** to 100 and ***Distance 2*** to 75.
Click ***OK*** on this dialog box, and set the **Image Area** choice
under ***Cluster Classification Map Area(s)*** and the **Disk *File***
option on the remaining dialog box. Click ***OK*** to begin the
processing and ***Save*** to same the results to disk, using the default
name, ***Untitled.Project.cluster*** name.

After the clustering is complete, Open the
***Untitled.Project.cluster*** image, and carefully compare it with the
ground truth map, ***JTIPSUB1.GIS***. As can be seen, some of the fields
do belong uniquely to some of the desired information classes, some
fields are made up of mixtures of two or more clusters, and some
clusters appear to belong to two or more information classes, indicating
that spectral classes must be defined in such a way as to split these
clusters in the final classification. The task that remains then is to
define spectral classes which match the desired information classes, and
the cluster map can be a useful tool in this process.

Note, for example, that Cluster 1 corresponds to some of the Soybean
fields, and may, therefore, be suitable as one subclass of the
information class Soybeans. Similarly for Cluster 8 and Corn. It will
facilitate such a comparison to adjust the colors used for displaying
Soybeans and Corn in the cluster map to those used on the ground truth
image. To do this, make the ground truth image active and double-click
the Soybean entry in the Legend. A color wheel will appear. Note the
location of the dot on the color

wheel indicating the coordinates of the current color used for soybeans.
Click ***Cancel*** and make the cluster map image active. Double-click
on the Cluster 1 color in its legend to obtain the color wheel. Click on
the same location on the color wheel as that of the marker for soybeans
on the ground truth map. Click ***OK***, and note that the color is
changed as desired. You may wish to repeat these steps to change the
color used for Cluster 8 to that of the Corn class as well.

To explore possible additional tools for defining classes, at this point
choose ***Statistics*** from the ***Processor*** menu, which after
accepting the default options in the resulting dialog box, brings up the
Select Field window. By mousing down on the pop-up menu at the top of
the window to the right of *Class:* it is seen that the statistics for
the 9 cluster classes are contained in the current project file at this
point. They could be used, for example, with the Feature Selection
processor to determine the statistical distance between the various
clusters, and this can be helpful in deciding if there are clusters
which may be grouped together to form an information class of interest.
To illustrate this, choose ***Feature Selection*** from the
***Processor*** menu, set the Channel Combinations option to a subset of
7 and using the Symbols pop-up box, set the symbol for cluster 1 to S
(for soybeans) and cluster 8 to C (corn), then click ***OK***.

When the calculation is complete, make the Text Window active and copy
the lines listing the class pair symbols and their interclass distances.
Open a spreadsheet application[^11] and paste the clipboard data in
place. The class pairs may be sorted to find those separated by the
smallest distances by the following. Select the columns containing the
class pair distances (Columns E through AN in this case), choose
***Sort*** from the ***Data*** menu, Sort by Columns, and the First Key
should be \$E\$4. Click ***OK*** and the left portion of the resulting
table should look like the following.

![](media/image7.pct){width="6.027777777777778in"
height="0.9583333333333334in"}

From this it can be seen that clusters 4 and 7 are very near to one
another, and perhaps may be grouped together. Adjust the color of
cluster 7 to be the same as cluster 4 by the above technique and note
the relationship of the two on the cluster map. A convenient means for
assisting in this is as follows. With the cluster map window active and
the shift key depressed, move the cursor onto the color of cluster 4 in
the legend. Notice that the cursor turns into an eye. Now click the
mouse button and notice that all of the pixels of the image in that
cluster blink as you do so. (Holding down the command and the shift key
and clicking the mouse button causes all the pixels in the image not in
the cluster class to blink.)

A careful comparison of the cluster map with the ground truth map will
reveal that some of the pixels in the combined clusters 4 & 7 are
soybeans and some are in other classes, thus although they are near to
one another in 7-dimensional space, the classifier must split this
combined cluster appropriately. We can arrange for this by

using the cluster map to define training fields in two different
classes. We will illustrate this process next.

With the cluster map window active, select ***Add As Associated Image***
from the ***Project*** menu. This allows us to define training fields
for the current project from this cluster map. On the image below, we
show some training fields used to define \"new\" classes. For reference,
the field coordinates are given in the table below the image. Define
these fields as training areas in your project by designating them on
the cluster map. When you define each class, have \"New\" is showing in
the Class pop-up window at the top of the Select Field window, so that
you are defining new classes rather than adding to classes defined by
the clustering. For defining the small fields, you may want to increase
the magnification of the image.

![](media/image8.pct){width="6.375in" height="4.777777777777778in"}

![](media/image9.pct){width="1.8055555555555556in"
height="1.597222222222222e-2in"}

Training Fields for Four Preliminary Classes

  ----------------- ------------- ------------- ------------- --------------
  **Class/Field**   **1st Line**  **1st         **Last Line** **Last
                                  Column**                    Column**

  ----------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  Soybeans 1                                                 

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  10               14            2             26            40

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  11               5             87            24            125

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  12               159           90            168           111

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  Soybeans 2                                                 

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  13               58            3             70            28

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  14               58            144           69            162

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  Corn                                                       

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  15               31            3             53            18

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  16               30            60            52            72

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  17               101           97            133           111

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  Alfalfa/Oats                                               

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  18               36            24            54            28

  ---------------- ------------- ------------- ------------- --------------

  ---------------- ------------- ------------- ------------- --------------
  19               54            59            55            74

  ---------------- ------------- ------------- ------------- --------------

After you have defined all the fields, you can edit any particular set
of field coordinates by clicking on the \'class\' button in the
Statistics processor Select window, then double clicking on the name of
the field you wish to adjust. This will display the coordinates of the
field; to change them, click on the \'Edit Coordinate(s)\' button. Note
that as coordinates are being edited, the system checks to see that the
coordinates for the upper left corner are above and to the left of those
for the lower right before making the ***OK*** button active.

The \"old\" cluster classes may be deleted by making the Statistics
Processor \'Select Field\' window active, clicking on the Project
button, and one by one selecting the cluster classes 1 through 9 and
choosing Cut from the Edit menu. This leaves only the four new classes
defined. Next click on the ***Update P. Stats*** button on the
Statistics ***Project*** window, thus clearing out the statistics of the
clusters.

Next, one might view the histograms of the training classes to determine
that the classes appear to be reasonably unimodal. This can be done by
making the Statistics Processor \"Project\" window active, and mousing
down on the Hist. button and sliding to Hist\... This allows for several
options for the histogram to be set. A convenient one for this case is
to choose histograms by field and an output grouping of Fields/Classes.
Clicking ***OK*** causes the histograms to be accumulated and listed in
the text window. They can then be copied to a graphing program.
Following is one example, showing the bimodal nature of the soybeans
class discovered by the clustering process.

![](media/image10.pct){width="6.736111111111111in"
height="4.722222222222222in"}Assuming reasonable modality of the
training classes, one may next carry out a trial classification. Assume
we decide to use the best four of the seven bands for the
classification. Choose ***Feature Selection*** from the ***Processor***
menu, and set the Channel Combinations option to a subset of size 4. If
desired, you may set the Symbols to a user defined set, e. g.:
S-Soybeans1, s-Soybeans2, C-Corn, and A-Alfalfa/Oats, and set the Ss
class pair weight to 0. Click ***OK***.

The results displayed in the Text window indicate that bands 2,3,4, and
5 would be the best to use. Choose ***Classify*** from the
***Processor*** menu, set Channels to a subset of 2,3,4,&5 (first select
\"none\", then click on 2 and with the shift key down, click on 3,4, and
5), set Area to be Classified to the entire image area, and set the
Write Classification Results To Disk File and Create Probability Results
File and leave the Threshold check box unchecked. Then click ***OK***.

When the classification is complete Choose ***Open Image*** from the
***File*** menu. On the resulting dialog box, mouse down on the
***Display: Classes*** pop-up window and choose ***Information
Groups***. On the resulting dialog box, drag the Soybeans 2 class name
up to the Soybeans 1 class name. Select the Soybeans 1 Group name and
click on the ***Change Group Name*** button. Change it to just Soybeans.
Then click ***OK*** and again ***OK*** to cause the classification
results to be displayed. The resulting image is shown below, with the
ground truth image for comparison.

![](media/image11.pct){width="3.736111111111111in"
height="2.3472222222222223in"}
![](media/image12.pct){width="3.736111111111111in"
height="2.3472222222222223in"}

The List Results Processor is useful in quantitatively estimating the
accuracy of a classification. For example, in the case of this
classification, one can check the accuracy of classification of the
training samples by choosing ***List Results\...*** from the
***Processor*** menu. The results may be obtained for fields, classes,
and groups, based upon the options chosen on the resulting dialog box.
The results for the groups in this case are as follows.

> TRAINING GROUP PERFORMANCE

  -------------------------------------------------------------------- -- -- -- -- -- --
  Project Number of Samples in Thematic Image Group                                   

  -------------------------------------------------------------------- -- -- -- -- -- --

  ------------ -------- ---------- --------- --------- --------- ---------
  Group        Group    Percent    Number    1         2         3

  ------------ -------- ---------- --------- --------- --------- ---------

  ------------ -------- ---------- --------- --------- --------- ---------
  Name         Number   Correct    Samples   Soybea    Corn      Alfalf

  ------------ -------- ---------- --------- --------- --------- ---------

  ------------ -------- ---------- --------- --------- --------- ---------
  Soybean      1        99.7       2073      2067      1         5

  ------------ -------- ---------- --------- --------- --------- ---------

  ------------ -------- ---------- --------- --------- --------- ---------
  Corn         2        99.6       1162      1         1157      4

  ------------ -------- ---------- --------- --------- --------- ---------

  -------------- -------- ---------- --------- --------- --------- ---------
  Alfalfa/Oats   3        100.0      127       0         0         127

  -------------- -------- ---------- --------- --------- --------- ---------

  ------------ -------- ---------- --------- --------- --------- ---------
  TOTAL                            3362      2068      1158      136

  ------------ -------- ---------- --------- --------- --------- ---------

> OVERALL PERFORMANCE (3351 / 3362 ) = 99.7

Test fields, i.e. fields specified by either rectangular or polygonal
coordinates but not used as training samples could also be defined using
the Statistics Processor Select dialog box, and tabular result for these
fields could also be obtained using the List Results Processor.

It appears that the results are already reasonably good, but some
additional work is needed on the Alfalfa/Oats classes and other classes.
An additional tool to accomplish this is available by displaying the
Probability Results File created during the Classification process.
Display this file by selecting ***Display Image*** from the ***File***
menu. This image, shown below, shows the probability of class membership
in the most likely class. Light colors indicate high likelihood, and
dark low likelihood. Regions with low likelihood are candidates for the
definition of additional spectral classes. It is seen upon inspection of
this image that some of the clusters which we ignored above, need to be
used to define additional spectral classes.

![](media/image13.pct){width="2.3472222222222223in"
height="2.3472222222222223in"}

Note also from this Probability Results image that, in general, only the
training areas tend to be the ones with the highest likelihood values.
This indicates that the classifier does not generalize to non-training
data of the same class as well as it might. This can be made clear by
choosing ***Add as Associated Image*** from the ***Project*** menu while
the Probability Results image is active. The training areas are then
displayed on the Probability Results image, making the comparison easy.

One of the fundamental goals in analysis of such data is that the list
of classes must be exhaustive, i.e., there must be a logical class to
which to assign every pixel in the scene. The dark areas of the
Probability Results image shows that this goal has not yet been met.
Thus we shall select the following additional fields as classes, and let
us treat the classes as unknowns at this point.

  -------------- ------------- ------------- ------------- ---------------
  Class          1st Line      Last Line     1st Column    Last Column

  -------------- ------------- ------------- ------------- ---------------

  -------------- -------------- -------------- -------------- --------------
  Unknown1       57             70             31             57

  -------------- -------------- -------------- -------------- --------------

  -------------- -------------- -------------- -------------- --------------
  Unknown2       29             55             100            112

  -------------- -------------- -------------- -------------- --------------

  -------------- -------------- -------------- -------------- --------------
  Unknown3       72             83             59             79

  -------------- -------------- -------------- -------------- --------------

  -------------- -------------- -------------- -------------- --------------
  Unknown4       29             54             142            147

  -------------- -------------- -------------- -------------- --------------

  -------------- -------------- -------------- -------------- --------------
  Unknown5       79             84             32             55

  -------------- -------------- -------------- -------------- --------------

  -------------- -------------- -------------- -------------- --------------
  Unknown6       103            112            32             54

  -------------- -------------- -------------- -------------- --------------

  -------------- -------------- -------------- -------------- --------------
  Unknown7       130            141            7              25

  -------------- -------------- -------------- -------------- --------------

  -------------- -------------- -------------- -------------- --------------
  Unknown8       2              27             142            151

  -------------- -------------- -------------- -------------- --------------

Add these fields as classes to the project file using the
***Statistics*** processor of the ***Processor*** menu as before. Upon
carrying out the 12 class classification and displaying the results, by
adjusting the colors of the display to correspond with the ground truth,
it can be seen that all of the unknowns are soybeans except Unknown4
which is transportation. Though still some further refinement of the
class definitions would be possible, the classification now fairly
closely resembles the ground truth map. See the classification map shown
below. However, there is one more modification we can make to the
training statistics, improving another aspect of the training.

[Enhance Statistics.]{.underline}

Another tool in MultiSpec is a processor called Enhance Statistics. This
processor is based upon research results of recent
origin.[^12],[^13],[^14],[^15],[^16]. Fundamental signal processing
theory dictates that, for a classifier to be well trained,

> • The list of classes must be **exhaustive**, in the sense that there
> is a logical class to which to assign every pixel in the scene,
>
> • The classes must be **separable** using the available features, and
>
> • The classes must be **of informational value**, i.e. they must be
> classes of interest to the user.

An equivalent statement to this is that a well trained classifier must
have successfully modeled the distribution of the entire data set, but
it must be done in such a way that the different classes of interest to
the user are as distinct from one another as possible. What is desired
in mathematical terms is to have the probability density function of the
entire data set modeled as a mixture of class densities, i.e.,

p(**x**\|θ) = \\i\\su(i=1,m, αipi(**x**\|φi)) (1)

where **x** is the measured feature (vector) value, p is the probability
density function describing the entire data set to be analyzed, pi is
the density function of class i desired by the user, αi is the weighting
coefficient or probability of class i, and m is the number of classes.
The parameters θ and φi are to be discussed next in the context of what
limitations are appropriate to the form of these densities.

As is well known, the Gaussian assumption for class distributions is
very convenient, as the Gaussian density function has many convenient
properties and characteristics, both theoretically and practically.
However, one cannot always assume that classes will be Gaussianly
distributed, and a more flexible and general model is needed. On the
other hand, a purely nonparametric approach is frequently not tractable
in the remote sensing situation, as very large training sets are usually
required to provide precise enough estimates of nonparametric class
densities, while,

> • It is a characteristic of the remote sensing application of pattern
> recognition theory that there will be a paucity of training samples.

As it turns out, a very practical approach is to model each class
density by a linear combination of Gaussian densities. Thus, rather than
having a single component of equation (1) represent a user class, the
number of components in the combination can be increased, with different
subsets of them representing each class. In this way, a very general
capability can be provided, while still maintaining the convenient
properties of the Gaussian assumption. Indeed, theoretically, every
smooth density function can be approximated to within any accuracy by
such a mixture of Gaussian densities.

Thus for a well trained classifier, p(**x**\|θ), the probability density
function of the entire data set, can be modeled by a combination of m
Gaussian densities. Assume that there are J (user) classes in the
feature space denoted by S1\...,SJ, J ≤ m. Each class consists of a
different subset of the m Gaussian components, and indicate that
component i belongs to class Sj by i ∈ Sj. Thus in equation (1), φi =
(µi, Σi), the mean vector and covariance matrix, respectively, of
Gaussian component i, and θ = (α1, \... , αm, µ1, \... , µm, Σ1 \... ,
Σm). All of the conditions required above are met if θ can be determined
so that equation (1) is satisfied in such a way that the J classes are
adequately separable and correspond to user classes. Determining these m
components is what must be accomplished by the training phase.

How is this accomplished with MultiSpec? Returning to the three
fundamentals stated above,

> • The last of the three, i.e., classes must be of informational value,
> is serviced by the user defining the training samples accordingly.
>
> • The second one, classes must be separable, is supported by the use
> of a clustering algorithm in conjunction with the training process.
>
> • The first of the three is assisted by the use of the MultiSpec's
> Probability Results map of preliminary classifications, since this
> allows one to locate pixels in the data set that, while having been
> assigned to a class, the strength of the class association is very
> limited, as evidenced by the likelihood of the most likely class being
> very low.

However, to this point, none of these tools tends to guarantee that
equation (1) is indeed satisfied, i.e., the combination of class
conditional density functions defined in this process provide a good
model of the entire data set to be analyzed. It is this problem that the
Enhance Statistics processor is designed to solve.

From the application point of view, this process has several possible
benefits.

> \(1\) The process tends to make the training set more robust,
> providing an improved fit to the entire data set, thus providing
> improved generalization to data other than the training samples.
>
> \(2\) The process tends to mitigate the Hughes phenomena, i.e., the
> effect that, for a finite sized training set, as one adds more
> features, the accuracy increases for a while, then peaks and begins to
> decrease. This problem of declining accuracy for increasing numbers of
> features is especially of concern when either a) the training set size
> is small, or b) the number of features available is large or both.
> Enhancing the statistics by this scheme tends to move the peak
>
> accuracy vs. number of features to a higher value at a higher
> dimensionality, thus allowing one to obtain greater accuracy with a
> limited training set.
>
> \(3\) An estimate is obtained for the prior probabilities of the
> classes, as a result of the use of the unlabeled samples, something
> that cannot be done with the training samples alone.

**Example.** We will illustrate the use of this processor by continuing
the previous analysis example. Using the 12 class training set that was
created previously, choose the ***Enhance Statistics*** processor under
the ***Processor*** menu. It is desirable to have about as many
unlabeled samples used in the process as the labeled (training) samples,
so set the processor to use every 2nd sample of every 2nd line. This
will result in 7225 unlabeled samples being selected, compared to the
5361 training samples. The other default options are satisfactory, so
click ***OK***. The processor will then begin iterating through the more
than 10,000 samples modifying the class mean vectors, covariance
matrices and the prior probabilities until a fit is obtained for the
data in terms of the collection of classes defined. The iteration will
continue until the default boundary conditions are satisfied.[^17],[^18]
The details are contained in the references cited previously.

One of the results obtained from this process is an estimate of each
class prior probability for the data set, as follows:

> Enhanced statistics class weights.
>
> Classes used: Weight
>
> 1: Soybean 1 11.6
>
> 2: Soybean 2 5.6
>
> 3: Corn 30.4
>
> 4: Alfalfa/Oats 21.4
>
> 5: unknown1 1.2
>
> 6: unknown2 0.9
>
> 7: unknown3 2.4
>
> 8: unknown4 7.9
>
> 9: unknown5 0.6
>
> 10: unknown6 7.8
>
> 11: unknown7 1.6
>
> 12: unknown8 8.5

These weights predict how much of the flightline will be assigned to
each of the classes upon classification. They thus express the estimated
class prior probabilities in percent.

At the conclusion of the iterative process (or if you choose to
interrupt it before it finishes) the project file will contain two sets
of class statistics, the original class statistics and the enhanced set.
Either may be used subsequently in any of the processors that require
them, Feature extraction, Feature selection, Classify, Principal
Components, Create Image Statistics (class statistics only), and Check
Covariance. Which set is selected at any time is determined by togglable
items in the Projects menu. The one with the √ before it is the
currently selected set.

To see the effect of using the Enhanced Statistics compared to the
previously used Original set, repeat the last classification done, but
using all seven bands and with the other options the same as before,
with both the Original Statistics and the Enhanced Statistics set. The
results will appear as shown below. The ground truth display is also
presented for comparison, although the comparison is best done with
color versions of the results.

![](media/image14.pct){width="2.3472222222222223in"
height="2.3472222222222223in"}
![](media/image15.pct){width="2.3472222222222223in"
height="2.3472222222222223in"}

12 Class Classification

Classification Using Original Statistics Classification Using Enhanced
Statistics

![](media/image16.pct){width="4.430555555555555in"
height="2.3472222222222223in"}

The Ground Truth Map.

A careful comparison of the two classification results would show a
modest decrease in training sample accuracy and a perhaps more
appropriate treatment of minor classes. Indeed, it appears there still
may be one or more classes missing from the training set. However, a
substantial difference will be found in comparing the Probability
Results images shown below, indicating a perhaps substantial improvement
in the classifier's generalization capability.

![](media/image17.pct){width="2.3472222222222223in"
height="2.3472222222222223in"}
![](media/image18.pct){width="2.3472222222222223in"
height="2.3472222222222223in"}

12 Class Classification

Probability Results for the Original Statistics Probability Results for
Enhanced Statistics

A substantial improvement is noted in the degree of membership indicated
for each pixel, indicating the collection of class statistics now fit
the entire data set much more closely. Quantitatively, after
classification, the Average likelihood probability of 28.5% using the
Original statistics was increased to 49.1%.

An additional capability that may be useful at this point is that of
thresholding. In spite of having attempted to define an exhaustive list
of classes and having enhanced the statistics, there will still be some
pixels which have a low likelihood of being members of even the most
likely class. Though the Probability Results map will show where these
pixels are, the MultiSpec thresholding capability can provide
quantitative information about them. This capability is available after
having done the classification via the ***List Result*** selection under
the ***Processor*** menu. If one has the Probability Results map open
and the classification map open and active, a check box on the List
Results dialog box labeled Threshold Results will be available. Checking
it causes a dialog box to appear in which one can enter the level of the
threshold desired. For example, if a threshold of 2% is selected, the
threshold level will be calculated such that 2% of an ideal Gaussian
distribution with the same mean vector and covariance matrix will be
thresholded in each class. For example, choose ***List Results*** under
the ***Processor*** menu, for the last classification done above, and
both the no threshold and the 2% threshold cases, the following
comparative results will be obtained.

  ---------- ------- ---- ----- ----- ---- ---- ----- ----- ---- ---- ---- ----
  Enhanced   Total   1    2     3     4    5    6     7     8    9    10   11

  ---------- ------- ---- ----- ----- ---- ---- ----- ----- ---- ---- ---- ----

  ------------ --------- ------ ------ ---------- ------- ------- ------- ------- ------- ------- ------- -------
  Statistics   Samples   Soyb   Corn   Alfal/Oa   unkn1   unkn2   unkn3   unkn4   unkn5   unkn6   unkn7   unkn8

  ------------ --------- ------ ------ ---------- ------- ------- ------- ------- ------- ------- ------- -------

  ----------- ------- ------ ------ ------ ----- ----- ----- ------ ----- ------ ----- ------
  No          28561   4940   8235   6454   537   567   937   2125   368   2208   452   1738
  Threshold                                                                            

  ----------- ------- ------ ------ ------ ----- ----- ----- ------ ----- ------ ----- ------

  ----------- ------- ------ ------ ------ ----- ----- ----- ------ ----- ------ ----- ------
  2%          28561   4758   7846   6119   531   544   928   1848   359   2157   433   1679
  Threshold                                                                            

  ----------- ------- ------ ------ ------ ----- ----- ----- ------ ----- ------ ----- ------

  ------------- ------ ----- ----- ----- ---- ---- ----- ----- ---- ---- ---- ----
  \#            1359   182   389   335   6    23   9     277   9    51   19   59
  Thresholded                                                                 

  ------------- ------ ----- ----- ----- ---- ---- ----- ----- ---- ---- ---- ----

  ---------- ------- ------- ------- ------- ------- ------- ------- -------- ------- ------- ------- -------
  Per Cent   4.76%   3.68%   4.72%   5.19%   1.12%   4.06%   0.96%   13.04%   2.45%   2.31%   4.20%   3.39%

  ---------- ------- ------- ------- ------- ------- ------- ------- -------- ------- ------- ------- -------

The classification using the Original statistics yields the following
results.

  ---------- ------- ---- ---- ------ ---- ---- ----- ----- ---- ---- ---- ----
  Original   Total   1    2    3      4    5    6     7     8    9    10   11

  ---------- ------- ---- ---- ------ ---- ---- ----- ----- ---- ---- ---- ----

  ------------ --------- ------ ------ ---------- ------- ------- ------- ------- ------- ------- ------- -------
  Statistics   Samples   Soyb   Corn   Alfal/Oa   unkn1   unkn2   unkn3   unkn4   unkn5   unkn6   unkn7   unkn8

  ------------ --------- ------ ------ ---------- ------- ------- ------- ------- ------- ------- ------- -------

  ----------- ------- ------ ------ ------ ----- ------ ------ ------ ----- ------ ----- ------
  No          28561   7668   9420   2164   863   1134   1098   2057   339   1071   456   2291
  Threshold                                                                              

  ----------- ------- ------ ------ ------ ----- ------ ------ ------ ----- ------ ----- ------

  ----------- ------- ------ ------ ------ ----- ----- ------ ----- ----- ----- ----- ------
  2%          28561   5200   6910   726    674   894   1010   863   325   778   420   1658
  Threshold                                                                           

  ----------- ------- ------ ------ ------ ----- ----- ------ ----- ----- ----- ----- ------

  ------------- ------ ------ ------ ------ ----- ----- ----- ------ ---- ----- ---- -----
  \#            9103   2468   2510   1438   189   240   88    1194   14   293   36   633
  Thresholded                                                                        

  ------------- ------ ------ ------ ------ ----- ----- ----- ------ ---- ----- ---- -----

  ---------- ------- ------- ------- ------- ------- ------- ------ ------- ------ ------- ------ -------
  Per Cent   31.9%   32.2%   26.7%   66.4%   21.9%   21.2%   8.0%   58.1%   4.1%   27.4%   7.9%   27.6%

  ---------- ------- ------- ------- ------- ------- ------- ------ ------- ------ ------- ------ -------

These tables provide another quantitative indication of the improvement
of the class density fit to the entire data set. The fact that for the
Enhanced Statistics, the percent of pixels thresholded, 4.76%, much more
closely approximates the 2% which would be the case for ideal Gaussian
densities than does the 31.9% of the Original Statistics case clearly
indicates that the Enhanced Statistics has improved the fit.

One can also apply a threshold at the time of classification, in which
case the thresholded pixels will be designated in the classification
map.

[Feature Extraction.]{.underline}

Another addition to the MultiSpec system is a processor called
***Feature Extraction***. One of the key long-standing problems in the
use of pattern recognition methods is the selection/determination of the
best set of features to use in discriminating between sets of classes.
The methods discussed above regarding the ***Feature Selection***
processor are ones which have been in use for many years. They are well
understood and widely used, but it is well known that they are not
ideal. One of the key difficulties is that they rely on a metric of the
statistical distance between two classes as a surrogate for determining
the expected probability of error. It is well known that, while the
relationship between statistical distance and probability of error is
generally a proportional one, it is not one-to-one. Further, as may be
seen from the discussion of statistical distance use above, there is
still a good deal of art involved in finally determining which subset of
features to use for a given classification, especially as the number of
classes becomes larger. The method provides almost no information on how
many features should be used. Further, Feature Selection by those
methods is simply not possible when the number of features becomes
large.

Two additional methods, referred to here as Decision Boundary Feature
Extraction (DBFE) and Discrimiant Analysis Feature Extraction (DAFE)
form the ***Feature Extraction*** processor. The former is a quite
recent development[^19],[^20],[^21]. For this reason, its performance in
a wide variety of circumstances is not yet well known, and it should be
regarded as experimental at this stage. Nevertheless, tests to date
suggest that it has some advantages over traditional methods.

Both of these two new procedures proceed by finding an optimal linear
transformation. For DBFE the transformation is based directly upon the
training samples, while for DAFE it is based upon the mean vector and
covariance matrix defined by the training set. Once determined, this
transformation may be used directly, or it may be used to form a new
data set. In either case, the features are automatically in order of
their importance relative to discriminating between the defined classes.
The eigenvalues of the DBFE transformation provide the information as to
how many features to use in order to obtain essentially the same
accuracy as the full data set would provide. For example the following
graph and table compare the results of the DBFE method with

that of Bhattacharyya distance of the ***Feature Selection*** processor
for a 12 band data set with 9 classes each of which has a large number
of training samples.

![](media/image19.pct){width="7.083333333333333in"
height="4.291666666666667in"}

  ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
  Dimension     1    2    3    4    5    6    7    8    9    10   11   12

  ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----

  --------------- -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- --------
  Eigenvalues -   11.569   8.7917   8.0953   1.9662   1.7316   1.3462   0.4323   0.2004   0.1744   0.0829   0.0327   0.0164
  DBFE                                                                                                               

  --------------- -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- -------- --------

  ------------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------
  Tr Fld.       50.9   89.4   95.5   95.8   97.0   98.4   98.4   98.4   98.4   98.5   98.5   98.5
  %-DBFE                                                                                     

  ------------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------

  ------------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------
  Tr Fld. %-B.  36.2   72.9   93.5   94.8   97.2   97.8   98.0   98.2   98.3   98.4   98.4   98.5
  dist.                                                                                      

  ------------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------

  ------------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------
  Tr Fld.       64.1   87.4   96.0   97.4   97.8   98.1   98.4   98.4   98.5   98.5   98.5   98.5
  %-DAFE                                                                                     

  ------------- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------

Activation of the DBFE algorithm causes calculation of the data such as
that labeled Eigenvalues - DBFE in the above table. The relative size of
each eigenvalue is proportional to that feature's discrimination value.
Thus in this case, by comparing the size of these entries, one concludes
that the first three features should provide most of the available
separability, adding three more should provide a small amount in
addition, and the remaining ones should contribute very little. The line
of the table labeled Tr Fld. %-DBFE shows the results obtained by
classification verifying this. The line labeled Tr Fld. %-B. dist. shows
the corresponding results using the Bhattacharyya Distance option of the
***Feature Selection*** processor.

The final line of the table gives the corresponding classification
results for the DAFE procedure, showing very similar performance. These
data show that, not only do the DBFE and DAFE features equal or exceed
those of B-distance in accuracy, but they tend to provide better
separability at a lower dimensionality. Further, the eigenvalues
resulting from the DBFE show just how many features to use, while the
B-distance

method gives very little information on this point. Thus the guess-work
and art needed in effective feature selection is reduced.

The theoretical basis for the DBFE algorithm is to use the decision
boundary location of each class pair to determine "discriminately
informative" and "discriminately redundant" features. A brief outline of
the steps it follows are:

> 1\. Classify the training samples of the first class pair.
>
> 2\. For pixels of class 1 locate the nearest pixel of class 2, and
> from this locate a point on the decision boundary which is on the line
> segment between them. After this is done for all the training samples,
> the effective portion of the entire decision boundary is determined.
>
> 3\. From this, determine a "Decision Boundary Feature Matrix" which
> contains the essential information about how to form discriminately
> informative features.
>
> 4\. Repeat this process for all class pairs and form the (possibly
> weighted) sum of the resulting Decision Boundary Feature Matrices. A
> possible additional step can optimize the transformation by
> eliminating some redundancy, making it more efficient.

The DAFE algorithm is a more standard discriminant analysis algorithm
based on within-class and between-class scatter matrices. More details
about it are given in the Feature Extraction portion of the Reference
section of these notes.

The steps needed to use either of the new algorithms are as follows:

> 1\. After selecting the training set, choose either the ***Decision
> Boundary*** or the ***Discriminate Analysis*** option from the
> ***Feature Extraction*** menu. One may choose unequal class weighting
> and, for the DBFE case, unequal interclass weighting at this point if
> desired. For the DBFE case, there are also some "special options"
> available for users who become more familiar with the details of the
> algorithms via the references. For most uses, the default options
> should be satisfactory, and so simply click ***OK***.
>
> 2\. Upon completion of the calculation resulting from this processor,
> the necessary transformation data is presented in the text window and
> stored in memory. At this point, if desired, one may select the "Use
> Feature Transformation" check box near the Channels pop-up box and
> proceed normally with any of the four functions for which such
> statistics are used, i.e., Classify, Feature Selection, Create
> Statistics Image, Check Covariances. If DBFE is being used, use the
> first N features, where N may be selected from the list of eigenvalues
> as indicated above.
>
> 3\. If, repeated use of the transformed statistics are envisioned,
> then the transformed statistics may be saved via the ***Save
> Transformation as\...*** item on the ***File*** menu, or it may be
> desirable to create a new data file based upon the transformed data.
> To do so, choose the ***Change Image File Format*** from the
> ***Reformat*** processor, and click on the ***Transform data \...***
> check box in the ensuing dialog box. Select the ***New channels from
> Eigenvectors*** option in the resulting dialog box and note the
> recommended number of bits. After selecting ***OK***, set the number
> of bits per data value to at least the number recommended in order to
> ensure that adequate dynamic range will be
>
> available for the transformed data. The user may want to select a
> subset of features as desired in the new file, as this can reduce the
> size of the file significantly. Upon clicking ***OK*** the new data
> set will be created. Display the new image and select the ***Change
> Base Image File*** item from the Project menu to change the base image
> to the newly created transformed data. This data set may then be
> classified in the normal way, however, by examining the eigenvalues
> shown in the text window after step 1, one can choose which features
> to use, based upon the relationship of eigenvalue size to accuracy
> discussed with regard to the above table.

Although all of the characteristics of the DBFE algorithm are not yet
known, it is apparent that the amount of computation time involved in
step 1 above for the DBFE method is directly related to the number of
samples in the training set. Thus this calculation can take a
significant amount of time for a large training set. Since DAFE begins
with the estimated class mean vectors and covariance matrices, this
algorithm calculation of step 1 is very short. It may be expected that
the accuracy obtainable in the two cases will depend upon how well the
training samples characterize the classes desired, among other things,
thus under different circumstances, either may give the better
performance.

For users with an interest in the mathematical details, a more complete
development of the theory and some example test results for DBFE are
given in the references cited above[^22].

[BiPlot Of Data]{.underline}

One can make scatter plots of selected areas and pairs of channels of
data. One can create a biplot of training data, test data and selected
areas. This capability is available under the Utilities submenu under
the Processor Menu item. This processor also can draw the ellipses of
concentration representing the class statistics on the biplot graphs. An
example of these plots is given below showing the ellipse of
concentration of class 3 compared to the scatter plot of pixels from one
field of that class. The ellipse plots represent the ellipse for the
data projected onto the requested

![](media/image20.pct){width="4.888888888888889in"
height="2.3472222222222223in"}

plane. One can control the size of the ellipse by setting the desired
threshold level in percent. One can plot the data values and ellipses in
transformed space by selecting the \'Use Transformation\' check box in
the Biplot Dialog window. If a transformation is applied to the data,
\'Feature\' will be used as the abscissa label on the graphs; if the
original data is being plotted then \'Channel\' is used for the label.

[Spectral Graph.]{.underline}

One may display a graph showing how the gray level digital count values
vary from spectral band to spectral band for a given pixel. This
capability is activated by choosing ***New Selection Graph*** from the
***Options*** menu. This causes a window to be opened displaying the
graph. Selecting a single pixel results in its spectrum being graphed.
If the selection represents more than one pixel in multispectral image
windows, the average, plus and minus one standard deviation and the
minimum and maximum values are plotted in the selection graph. An
example of such a graph for a 210 band pixel is shown below. This graph
is useful in judging the relative signal level in the various bands.

  -------------------------- -----------------------------------------------------
  Graph windows cannot be    ![](media/image21.pct){width="3.9305555555555554in"
  printed directly, but they height="2.0972222222222223in"}
  can be copied to the       
  clipboard. A graph window  
  will be copied just as it  
  is on the screen. The      
  graph can then be copied   
  into another application   
  such as a word processor.  
  To copy a graph window,    
  make it the active window  
  and then use the           
  ***Edit*** menu item       
  ***Copy*** or              

  -------------------------- -----------------------------------------------------

COMMAND-C. If one is displaying graphs within the ListData processor
then one must use COMMAND-C to copy the graph window.

[Statistics Image Display.]{.underline}

One may also create a display showing both the first and second order
statistics of classes or fields.[^23] This form of display is most
useful in color, but black and white gray scale examples are printed
here for printing convenience. To illustrate, the two examples below
compare the statistics for two classes in 12 bands. The large square
consisting of 12 by 12 smaller squares in the upper portion of this
display depicts the correlation matrix of the classes. Each individual
small square shows the relative degree of correlation for one particular
band to another, on a scale from blue (≈ -1) to green (≈ 0) to red (≈
+1), as indicated by the color bar at the very bottom. Bands are
indicated by the row and column number. For example, the square in the
first column of the eleventh row shows the correlation between bands one
and eleven to be near zero. To the right and also below the square of
squares the wavelengths are indicated if this data has been entered into
the data file. The lower portion of the display shows a graph of the
variation of the mean value ±1σ versus the band number.

+---------------------------------------------+------------------------+
| Water                                       | Wheat                  |
|                                             |                        |
| ![](medi                                    | ![](media/image        |
| a/image22.pct){width="3.9305555555555554in" | 23.pct){width="1.75in" |
| height="3.4444444444444446in"}              | height="               |
|                                             | 3.4027777777777777in"} |
+---------------------------------------------+------------------------+

These Statistics Image plots are perhaps most useful for high
dimensional data, where visualization of the statistical variation
present in a class is more difficult to perceive. Shown below are
example displays for two classes of AVIRIS data containing 210 bands.

+---------------------------+--------------------+--------------------+
| The Statistics Image      | Class 1            | Class 2            |
| displays in this case     |                    |                    |
| graphically reveal that   | ![](media/image    | ![](media/image    |
| the two classes have very | 24.pct){width="1.7 | 25.pct){width="1.7 |
| different second order    | 083333333333333in" | 083333333333333in" |
| statistics, even in       | height="3.27       | height="3.27       |
| spectral ranges where the | 77777777777777in"} | 77777777777777in"} |
| first order statistics    |                    |                    |
| (the mean values) are     |                    |                    |
| similar, and thus the two |                    |                    |
| classes should be         |                    |                    |
| relatively separable.     |                    |                    |
|                           |                    |                    |
| Statistics Image displays |                    |                    |
| may be created by         |                    |                    |
| choosing ***Create        |                    |                    |
| Statistics Image*** from  |                    |                    |
| the ***Utilities*** item  |                    |                    |
| of the ***Processor***    |                    |                    |
| menu. A dialog box will   |                    |                    |
| then allow one to select  |                    |                    |
| several parameter values, |                    |                    |
| including which bands and |                    |                    |
| which classes             |                    |                    |
+---------------------------+--------------------+--------------------+

or fields one wishes to include, after which a new file is created
containing the Statistics Image in the same format as a Thematic image.
This file may be opened and displayed in the usual manner.

IV\. MultiSpec Reference

This section provides a detailed listing of the menu items with an
explanation of the function of each. The entries are listed in order of
their appearance in the menus. After the discussion of all the menu
items, some general characteristics of MultiSpec are given.

The Apple Menu

+---------------------------+------------------------------------------+
| !                         | [About MultiSpec]{.underline}            |
| [](media/image26.pct){wid |                                          |
| th="1.9861111111111112in" | The \"About MultiSpec\" command displays |
| heigh                     | the version number and date of the       |
| t="1.5694444444444444in"} | MultiSpec application being used. The    |
|                           | command also displays the Purdue         |
|                           | Research Foundation copyright statement. |
|                           |                                          |
|                           | Other choices present on the Apple Menu  |
|                           | vary with the particular Macintosh       |
|                           | installation and are not related to      |
|                           | MultiSpec.                               |
+---------------------------+------------------------------------------+

The File Menu

+---------------------------+------------------------------------------+
| !                         | [Open Image\...]{.underline}             |
| [](media/image27.pct){wid |                                          |
| th="2.4027777777777777in" | The \"Open Image\...\" command creates a |
| heigh                     | window in which an image may be          |
| t="2.4722222222222223in"} | displayed.                               |
|                           |                                          |
|                           | A dialog box is presented when the       |
|                           | \"Open Image\" command is chosen. The    |
|                           | dialog box contains a list of those      |
|                           | files on the current disk which may be   |
|                           | image files plus all folders within the  |
|                           | current folder. MultiSpec assumes that   |
|                           | all files with file types "TEXT",        |
|                           | "BINA", "????", "rIMG" (MacSADIE),       |
|                           | "TPIC" (TARGA uncompressed), TIFF (TIFF  |
|                           | uncompressed), and "Gcls" (GAIA)" are    |
|                           | candidate image files[^24]. The name of  |
|                           | the current disk is displayed above the  |
|                           | buttons. One can see a list of candidate |
|                           | image files on another disk, if another  |
|                           | is attached, by clicking on the *Drive*  |
|                           | button or striking the tab key.          |
|                           | Candidate TIFF images may                |
+---------------------------+------------------------------------------+

be 8 or 16 bits (not 1 bit) and the image must not be in a compressed
format. Those TIFF images with color tables are treated as Thematic type
images and those TIFF images with 1 or more layers (or channels) and no
color table are treated as Multispectral type images.

One can open an image file by either selecting the image file desired
and clicking the *Open* button or double-clicking the name of the image
file. Alternately, one can open an image by double clicking on a
MultiSpec document or dragging an image file over the MultiSpec
application icon. Another way to launch MultiSpec and open image files
is to select MultiSpec and the image file(s) in the finder and double
click on one of the selected items. MultiSpec will start up and
automatically open the selected image files. If one double clicks on a
file that ends in .STA or .TRL, the associated image file will be opened
if found within the same folder.

Also, if one selects "cancel" when the "Set Display Specification" box
is being displayed, a blank image display window will remain. This blank
window is a reminder that one still has access to that image for use by
processors that need it even though it is not actually displayed. This
feature can be

useful, e.g., for very large images which would take a significant
amount of time to display, but for which you have no need to view.

The dialog box also allows one to indicate how the image file is to be
treated - as a multispectral image or as a thematic image. Multispectral
type images are usually selected for multispectral scanner data for
which one wants to select the channels to be displayed as red, green, or
blue. Thematic type images are usually selected for classification
output images or other Geographic Information System (GIS) raster images
where specific colors in the image will be assigned to specific themes.
For the default case, MultiSpec will determine how the image file will
be treated by interpreting the header information in the file.

When an image file has been selected and opened, MultiSpec checks to see
if it is in a recognized format[^25]. If the file is not in a recognized
format, MultiSpec presents the \"Change Image Description\" dialog box.
See the \"Change Image Description\" command below for more information.
If the file is in a recognized format, MultiSpec reads the image format
description from the header record and opens either the Set Thematic
Display Specifications or the Set Display Specifications dialog box
shown below.

![](media/image28.pct){width="5.847222222222222in"
height="3.7083333333333335in"}

**Multispectral Images**. Upon selecting an image with the
\"multispectral\" option selected, the dialog box above is displayed. By
means of this dialog box any of the parameters shown can be changed.
Note that the \"Display type:\", \"Bits of color:,\" and
\"Enhancement:\" parameter selections are of the \"pop-up menu\" type as
indicated by the ![](media/image29.pct){width="0.1527777777777778in"
height="8.333333333333333e-2in"} symbol. \"Mousing down\" on them
results in a menu appearing allowing for the selection of allowed values
of those parameters. In the case of Display Type, options available are
B/W, one, two, or three channel color, and a Side by Side option which
displays a black and white version of each channel placed side by side.
The Bits of Color pop-up menu provides a choice between 1, 8, 16, and 24
bit displays. The 1-bit display is available for systems with B/W
monitors with only 1 bit depth. 8, 16, and 24 bit displays are available
for systems with monitors having more than 1-bit color.

  --------------------------------- ----------------------------------------------------
  Mousing down on the Enhancement   ![](media/image30.pct){width="3.263888888888889in"
  item provides a pop-up menu as    height="1.3472222222222223in"}
  shown at right. The upper two     
  choices control the fashion by    
  which gray scale intervals are    
  assigned. In the case of Linear   
  Stretch, gray scale intervals are 
  equally spaced over the range,    
  while the Equal Area Stretch      
  choice causes them to be set so   
  that each interval has equal area 
  under the histogram of the data.  
  Though nonlinear, this latter     
  means will provide maximum        
  contrast.                         

  --------------------------------- ----------------------------------------------------

Selection of the "Specify Min-Max\..." option causes the following "Set
Specifications for Display Enhancement" dialog box to be displayed. The
first choice in this dialog box allows for ignoring a specified
percentage of the tails of the histogram, so that a small number of
extreme outlier points on the histogram will not unduly influence the
grayscale display enhancement. This usually results in a display of the
data which has better contrast. The second selection causes the entire
data range of the histogram to be used in establishing the image
grayscale. The last choice of this dialog box allows the user to specify
the range to be used. Note that the opportunity to specify a
user-selected range is provided only after the image has been displayed
the first time. The user will then have the opportunity to enter his/her
choices in the dialog box below.

![](media/image31.pct){width="5.638888888888889in"
height="3.486111111111111in"}

In the lower portion of the Enhancement pop-up window are selections
allowing one to treat zeroes in the data as data, in which case they
will be displayed as black, or to treat them as background, in which
case they will be displayed as white.

The \"Channel descriptions\" item of the original dialog box is a
button; clicking on it will produce an additional dialog box displaying
the channel descriptions if this material has been stored with the image
file. Clicking on the Load New Histogram check box will cause a new
histogram to be computed for determining the enhancement of the
displayed image.

The "Set Display Specifications for '(file name)' dialog box, one can
select the channels to be displayed as Red, Green, and Blue by entering
the channel numbers in the boxes to the right of the color names. The
number of display levels indicates the number of gray scale levels that
the range of data for each channel will be converted to. The default
number of display levels is the maximum possible for the number of bits
of color. The value can be changed to a smaller value but not to a
larger value.

The default magnification value indicates the magnification that will be
used so that the entire image will fit within the monitor area. The
magnification can be changed to any value between 0.01 and 99.

One can select the area to be displayed using the line and column start,
end, and interval values. The default values are the entire image; if
memory is not available for the entire image then the default interval
value is adjusted so that the default selected image will fit. The icon
to the left of the line and column labels allows the user to quickly
change the line and column start and end values to that of the entire
image file by clicking on it.

![](media/image32.pct){width="7.402777777777778in" height="3.125in"}

Shown above is an example of image data displayed in an image window.
This display is of three spectral bands displayed side by side using the
\"Side by Side Channels\" Display Type.

The lower right edge of the image window contains three buttons in
addition to the grow box. The **o** - button allows one to zoom out in
the image window. The **i** - button allows one to zoom in. The grayed
button marked X1.0 above is called the magnification button. It displays
the current magnification or zoom status. It also allows one to go
directly to the non-magnified state, i.e., X 1.0, if not already there
by simply clicking on it. Clicking on the i button when the
magnification is 1.0 causes the magnification to change to 2.0, clicking
again will change the magnification to 3.0, and so on, thereby allowing
one to appear to be closer to the image. The center point of the zoom
may be controlled by selecting a point in the image, i.e. clicking on a
point. The zoom in will then be centered as near as possible to that
point. Zoom out changes the magnification from 2.0 to 1.0 to 0.5 (1/2)
to 0.33 (1/3), etc. One can zoom in or out at 0.1 magnification
increments by holding down the option key while clicking on the zoom in
or zoom out buttons.

One can scroll the image if it is larger than the window by using the
horizontal and vertical scroll bars along the window edge. One can also
scroll in two directions at the same time by positioning the cursor
within the image and holding down the option key; this changes the
cursor to a hand. Holding down the mouse button and moving the hand will
cause the image to be \"dragged\" along.

**Logically Linking Files.** One can logically link several
multispectral image files together as one image file, such as, a four
band image that is stored as four separate disk files. One can also link
multiple image files together that represent multitemporal data from the
same location, provided that line and column numbers for given pixel
ground locations in the separate image files from each of the times have
been made to correspond. (See below to see how to make a single file out
of several such separate files.)

To link disk files into one image window, open the first multispectral
image as one normally would using the \'Open Image\' command under the
File menu item. To link an additional image disk file to

the active image window, use the \'Open Image\' menu command again. This
time the \'Add to Active Image Window\' option is displayed in the lower
part of the dialog box. Check this box and select the image disk file to
be linked to the active image window. As long as the \'Add to Active
Image Window\' box is checked or Cancel is not selected, the open image
dialog box will automatically be displayed to allow the user to add
additional image disk files to the active image window. The title for
the open image dialog box will indicate the number of disk files that
will be linked with the selection to be made. Also the name of the image
window is prefaced with \'Ln-\' where n is the number of disk files that
are linked for that image window.

After linking the separate disk files together, one can run the Display
Image, Histogram, List Data, Principal Components, and Reformat
processors on the \"logically linked\" image. One can not use this
\"logically linked\" image as a base image for a Project.

**Combining Files into a Single New File.** Use the Reformat processor
to create a new disk file which contains all the channels included in
the \"logically linked\" image disk files. To do so, after having
logically linked the desired files, select the "Change Image File
Format" option of the Reformat Processor. On the "Image File Format
Change Options" dialog box that results, select "New File" for the
Output File selection. Choose other options as desired. The new file may
be named and will be created upon clicking on "OK." This new file can
then be used as a base image for a project or for any of the other image
file uses.

Some additional rules and limitations on Logically Linking are:

> • One can only link image disk files that are being used in
> Multispectral type image windows.
>
> • Image disk files that can be linked may contain a different number
> of data bytes, a different number of lines and columns, a different
> number of channels , and they can be a mixture of BIL and BSQ formats.
> (NOTE: BIS formats can not be used in logically linked image files.
> Change the BIS file to BIL or BSQ first.) The resulting linked image
> will contain the largest number of lines and columns that includes the
> union of those in the separate image disk files.
>
> • All image disk files will be overlaid by starting with the first
> line and first column in the disk file. No provision has been provided
> to overlay the image disk files using different line and column
> offsets.

+-----------------------------------+-----------------------------------+
| **Thematic Images**. This display | ![](media/image33                 |
| is intended for displaying the    | .pct){width="3.138888888888889in" |
| results of a classification, a    | height="2.5555555555555554in"}    |
| clustering, a statistics image,   |                                   |
| or a Probability Results file. An | (Original in color)               |
| example classification result is  |                                   |
| shown at right. The degree of     |                                   |
| magnification, and the            |                                   |
| capabilities to \"window around\" |                                   |
| over the display are the same     |                                   |
| here as for Multispectral Images. |                                   |
| One addition here, though is the  |                                   |
| \"split bar\" displayed as a wide |                                   |
| vertical bar in the bottom margin |                                   |
| of the widow. By dragging this    |                                   |
| bar, one can change the amount of |                                   |
| horizontal space available for    |                                   |
| the Legend. By dragging up or     |                                   |
| down within the Legend itself,    |                                   |
| one can also move the portion of  |                                   |
| the Legend which is displayed,    |                                   |
| for cases when the Legend is      |                                   |
| longer than the window.           |                                   |
|                                   |                                   |
| Upon selecting an image with the  |                                   |
| \"Thematic\" option selected, the |                                   |
| following dialog box appears.     |                                   |
+-----------------------------------+-----------------------------------+

![](media/image34.pct){width="4.986111111111111in"
height="2.8333333333333335in"}

The dialog box allows one to set the area to be displayed, using line
and column start, end, and interval values, described under
Multispectral Images, as well as the initial magnification. One can also
choose different color palettes using the pop-up menu shown. The Display
and Display classes/groups pop-up menus allow for combining classes into
groups, and are useful when subclasses are necessary to properly model a
(multi-modal) information class, for example, or when it is desired to
group classes together for display purposes. A group may be defined by
mousing down on the Display pop-up menu and sliding to Information
Groups, resulting in the dialog box shown and described below.

> ![](media/image35.pct){width="4.680555555555555in"
> height="3.013888888888889in"}

Groups of spectral classes may be defined for display and results
evaluation purposes using the above Set Group Specifications dialog box.
To move a class (the numbered items above) into another group (the
unnumbered items above), simply drag the class to the desired group,
e.g. drag 1-Alfalfa to 5-Red Clover. The Group \"Red Clover\" will then
have two members; it can be renamed by selecting the group name, then
clicking on the Edit Group Name button. As a shortcut to editing a Group
name, one can double-click on the Group name or a class within that
group to open the needed dialog box. After all Group definition and
naming is completed, click OK to return to the previous Set Thematic Map
Display Specifications dialog box.

One can choose to display only a subset of the classes or groups by
mousing down on the Display Classes/Groups pop-up menu on the Set
Thematic Map Display Specifications dialog box. Non-

selected classes or groups will be displayed as a background color. One
uses the \'Display classes/groups\' pop-up in the Thematic Display
dialog box to select the class or groups to be displayed.

One can also change the background color used in the display by clicking
on the Background Color button. The default color is white.

After having selected options in the above dialog boxes and clicking OK
to view the display, one can return to the above dialog box by selecting
Display Image from the Processor Menu.

One can also choose different colors for displaying a class or group, by
double-clicking on the color in the Legend of the display, then clicking
on the color desired on the color wheel which is displayed.

One can \'blink\' the class or group by placing the cursor over the
respective color chip in the Legend or over the respective color in the
image window and holding the shift key down. The cursor will change to
an eye. Clicking the mouse button down will change the color of the
class or group to the background color. Releasing the mouse button will
change the color back to the original. If one holds the command and
shift keys down while clicking the mouse over a legend or pixel color,
all colors but the one selected will blink. One can blink several
classes or groups at one time[^26]. If one holds down on the shift key
AND the option key, the color for all pixels for the selected
class/group plus all those with class/group numbers less than the
selected class/group will change to the background color.

[Open Project Image]{.underline}

This command causes the image for the current project to be opened. See
the Project Menu description below.

[Close Window]{.underline}

The \"Close Window\" command closes the active image window. The \"Close
Window\" command may be used when one no longer needs to use the image
file associated with the active image window. The image file is closed
and the window and all of its contents are disposed of, including the
memory associated with the windows. The window just below the active
image window becomes the new active window. One can determine the active
image window by looking at the Window Menu. The name of the active image
window is printed in outlined characters.

One can also close an image window by clicking its close box (small box
near the upper left corner of the window).

Note: One can not close the text output window; one can, however, hide
the text output window by choosing that item from the window menu.

[Change Image Description\...]{.underline}

The \"Change Image Description\" command changes the format description
of the image file. Its selection results in the following dialog box
appearing.

![](media/image6.pct){width="6.458333333333333in"
height="4.027777777777778in"}

One can thus use the \"Change Image Description\" command to change any
of the file format parameters in the above dialog box. In the \"Band
Interleave Format\" pop-up menu, BIL refers to band interleave by line,
BSQ refers to band sequential, and BIS refers to band interleave by
sample. Pop-up menus also allow a choice of Bytes Per Data Value and
Bits Per Data Value. A choice is also allowed whether to swap bytes in
the case of two bytes per data value. MultiSpec will read signed data,
if the check box is check, however, signed data cannot be used as the
base image for a project. The \'Change Image File Format\' option of the
Reformat\... selection on the Processor menu provides a corrective means
for this limitation.

[Load/Save Transformation Matrix]{.underline}

If a Principal Components or Feature Extraction transformation has been
previously calculated during this MultiSpec session, then "Save
Transformation Matrix" will be active and can be used to save this
transformation to a file. If such a transformation matrix does not
currently exist in memory, then "Load Transformation Matrix" will be
active and will allow one to load such a matrix from a file previously
saved on disk.

[Save Thematic Group Info]{.underline}

If group information for the thematic image has changed, then the \'Save
Thematic Group Info\' menu item in the file menu will be highlighted
when the respective image window is the active window. The information
is saved at the end of the Thematic Image file after the data. When the
thematic image file is opened for display, the group information is
automatically read in ready for use.

[Save Text Output As\...]{.underline}

This command is displayed when the Text Window is active and causes text
(or the selected portion of the text) in the text window to be saved as
a separate text file. It can then be used in other applications, such as
word processors.

[Save Image To TIFF As\...]{.underline}

This command is displayed when an image window is active and causes the
image being displayed (or the selection within the window) to be saved
as a TIFF formatted disk file. Note that only the bands of the image
being displayed, and not all bands of the data file, are saved in this
manner. Thematic images and 8-bit color multispectral images are saved
as TIFF Palette-color images, 1 channel multispectral images are saved
as TIFF Gray scale images and 16-24 bit color multispectral images are
saved as TIFF RGB Full Color images.

[Page Setup\...]{.underline}

This command results in the standard Macintosh dialog box for setting
parameters for printing.

[Print]{.underline}

*For Text Output Window.* This command causes text (or the selected
portion of the text) in the \'Text Output Window\' to be printed on a
printer that has been selected using the \"Chooser\" command under the
\"Apple\" menu.

*For Image Window.* This command causes the image (or the selected
portion of the image) in the active image window to be printed on a
printer that has been selected using the \"Chooser\" command under the
\"Apple\" menu. Best results will be obtained if the print driver being
used is version 6.0 or later. Starting with version 6.0 colors will be
automatically dithered to print gray scale images on B/W laser printers.
Version 6.0 also supports color printers. The image will be printed at
the magnification used in the image window, unless modified by the
\"Reduce or Enlarge\" parameter in the Page Setup dialog box.

[Quit]{.underline}

This command causes MultiSpec to quit. If there have been any changes in
the project since the last save, a dialog box will ask whether the
changes should be saved. One has the options to SAVE the changes, NOT
save the changes, or CANCEL the quit command. The user will not be
prompted to save the output text window.

The Edit Menu

+-----------------------------+----------------------------------------+
| ![](media/image36.pct){w    | [Undo]{.underline}                     |
| idth="2.5972222222222223in" |                                        |
| hei                         | The \"Undo\" command is only used when |
| ght="2.1944444444444446in"} | the Statistics window is active. One   |
|                             | can undo a \'Cut Field\' procedure.    |
|                             | This will put the field back into the  |
|                             | class that it was cut from. It will go |
|                             | to the end of the field list. In       |
|                             | addition to eliminating a field, this  |
|                             | provides a means for changing the      |
|                             | order in which fields are listed, if   |
|                             | desired. Similarly, one can undo a     |
|                             | \'Cut Class\' procedure. NOTE, one can |
|                             | only undo the last cut procedure done. |
|                             | One cannot undo a \'Paste Field\' or a |
|                             | Paste Class Fields\' procedure.        |
|                             |                                        |
|                             | [Cut]{.underline}                      |
|                             |                                        |
|                             | The \'Cut\' command allows one to cut  |
|                             | text, a project field and/or a project |
|                             | class depending on which window is     |
|                             | active.                                |
+-----------------------------+----------------------------------------+

*For Text Output Window.* The \'Cut\' command allows one to remove the
text in the output window that has been selected. Selected text is in
inverse video mode (for B/W displays) or color highlighted on screens
displaying color. The text that is cut from the output window is copied
to the clipboard and can be pasted into documents in other applications.

One can select text in the output window by positioning the I-bar cursor
at the start of the text desired, click down on the mouse button and
hold, and then drag over the text to be select. When all the desired
text is selected, release the mouse button. The selected text should now
be in inverse video mode. If all the text in the window is to be
selected, use the \'Select All\' command as a short cut.

*For Image Window.* This command is not implemented for image windows.

*For Statistics Window.* The \"Cut\" command allows one to remove a
field, "Cut Field", or a class, "Cut Class", from the project statistics
file. The "Cut Class" menu command is highlighted, if the Statistics
window is active and in the "Project" mode (i.e. the list of classes is
displayed in the window) and a class in the list is selected. One can
select a class in the list by positioning the arrow cursor over a class
and clicking the mouse button once. Executing the "Cut Class" command in
the Edit Menu will cause the selected class to be removed from the class
list. After the class is \'cut\', the \'Undo Class Cut\' command under
the Edit menu will be highlighted. (See "Undo" for discussion this
command).

"Cut Field" works similarly to "Cut Class". In this case, however, the
Statistics window must be active and be in the "Class" mode (i.e. the
list of fields for a given class must be displayed in the window). After
a field is "cut", the "Undo Cut Field" Edit Menu command will be
highlighted.

[Copy]{.underline}

The \"Copy\" command is implemented for the Text Output and Image
windows.

*For Text Output Window.* The \"Copy\" command copies the selected text
to the clipboard. One can then paste the copied text into documents in
other applications. See the discussion under \'Cut\' for Text Window
describing how to select text.

*For Image Window.* The \"Copy\" command copies the selected image to
the clipboard. One can then paste the copied image into documents in
other applications.

One can select the portion of the image desired to be copied to the
clipboard by positioning the cross cursor at the upper left corner of
the rectangle to be selected, holding the mouse button down, dragging to
the lower right corner of the rectangle to be selected; then letting up
on the mouse button. A box will be drawn around the selected area. If
one wants to select the entire image, use the \'Select All\' menu
command. For Thematic type images the legend will be copied to the
clipboard along with the selected portion of the image as long as the
legend is being displayed.

[Paste]{.underline}

The paste command is implemented for the Text Output window and the
Statistics window.

*For Text Output Window.* One can use this command to paste text that
has been cut or copied to the clipboard to the specified location in the
text output window.

*For Statistics Window.* One can use this command to paste (add) a
\'cut\' field or the fields in a \'cut\' class to another class in the
project statistics file. \'Paste Field\' will be highlighted after a
field is cut AND another class is selected in the Project Class List
mode of the Statistics window. \'Paste Class Fields\' is highlighted
after a class is cut AND another class is selected in the Project Class
List mode of the Statistics window.

[Clear]{.underline}

The \"Clear\" command is only implemented for the Text Output window.
The \"Clear\" command has the same effect as the \"Cut\" command except
that the \"Cleared\" text is not copied to the clipboard.

[Select All]{.underline}

The \"Select All\" command is implemented for the Text Output and Image
windows.

*For Text Output Window.* The \"Select All\" command selects all text in
the output window, i.e., after execution all the text in the window will
be selected and highlighted in inverse video.

*For Image Window.* The \"Select All\" command selects the entire image
in the image window. After execution there will be a dotted line around
the entire image.

[Clear Selection Rectangle]{.underline}

The command will be highlighted if an image is the active window and a
rectangle has been marked. It is used to clear a selection rectangle in
the displayed image. Striking the Delete key will have the same effect.

[Clear Transformation Matrix]{.underline}

The command is highlighted if a Principal Components or a Feature
Extraction transformation has been previously computed. It may be used
to clear the resulting transformation matrix from memory.

The Window Menu

+------------------+---------------------------------------------------+
| ![]              | [Hide Window]{.underline}                         |
| (media/image37.p |                                                   |
| ct){width="1.597 | The \"Hide Window\" command causes the active     |
| 2222222222223in" | window and all information in the window to be    |
| height="1.8611   | hidden.                                           |
| 111111111112in"} |                                                   |
|                  | Hiding windows makes the screen appear less       |
|                  | confusing. One can show a window again by         |
|                  | selecting the window name listed below the dotted |
|                  | line and bring it to the front, if it is          |
|                  | available (not shown in grayed form).             |
|                  |                                                   |
|                  | [Text Output]{.underline}                         |
|                  |                                                   |
|                  | The \"Text Output\" command shows the output text |
|                  | window if it is hidden and brings it to the front |
|                  | of the screen.                                    |
+------------------+---------------------------------------------------+

[Palette]{.underline}

The \"Palette\" command shows the Palette window if it is hidden and
brings it to the front of the screen.

[Statistics]{.underline}

The \"Statistics\" command shows the Statistics window if it is hidden
and brings it to the front of the screen.

[Coordinates]{.underline}

The "Coordinates" Command shows the Coordinates window and brings it to
the front of the screen, if one has been opened by the appropriate
command under the Options menu.

[\"image or graph\"]{.underline}

The \"image or graph window\" command shows the selected image or graph
window if it is hidden and brings it to the front of the screen.

Each open image and graph window is listed in the Window Menu. The
active image window is indicated by its name printed in outlined
characters. The active window is indicated by a check to the left of the
window name.

The Project Menu

+----------------------------+-----------------------------------------+
| ![](media/image38.pct){wi  | [New Project]{.underline}               |
| dth="2.5694444444444446in" |                                         |
| heig                       | This command causes a new project to be |
| ht="2.6944444444444446in"} | opened for the active image window.     |
|                            | There will be no visible changes on the |
|                            | screen. This command just allocates     |
|                            | memory and initializes variables that   |
|                            | will be used. Usually, the next step    |
|                            | will be to select the Statistics\... or |
|                            | Cluster\... menu items under the        |
|                            | Processor menu. In fact one can skip    |
|                            | selecting the \'New Project\' step and  |
|                            | instead select the Statistics\... or    |
|                            | Cluster\... menu items. If a project is |
|                            | not open, the action of selecting the   |
|                            | \'Statistics\...\' or \'Cluster\...\'   |
|                            | items will cause a new project to be    |
|                            | opened for the active image window.     |
|                            |                                         |
|                            | [Open Project\...]{.underline}          |
|                            |                                         |
|                            | This command causes a dialog box to be  |
|                            | presented with a list of those files in |
|                            | the current disk and folder which may   |
|                            | be project files plus all folders       |
|                            | within the current folder. MultiSpec    |
|                            | assumes that all \"TEXT\" files are     |
|                            | candidate project files.                |
+----------------------------+-----------------------------------------+

The name of the current disk is displayed above the buttons. One can see
a list of candidate project files on another disk, if another is
attached, by clicking on the *Drive* button. One can open a project file
by either selecting the project file desired and clicking the *Open*
button or double-clicking the name of the project file. If the selected
file is not a project file, notification will be provided and the list
of files will be presented again for another selection. (Note. One can
also start MultiSpec and open a project file by double clicking on the
project file in the desk top).

[Close Project]{.underline}

This command will cause the current project to be closed. If the project
has been changed since the last save, a dialog box will be presented
giving an opportunity to 1) Save the project, 2) Not save the project or
3) Cancel the \'Close Project\' operation.

[Save Project]{.underline}

This command will cause the current project to be saved to the same file
that was used to read the project from or the same file that was used
for the last save. If this is a new \'Untitled\' project, a dialog box
will be presented that requests entry of the file name desired. Note, a
default name is always given.

[Save Project As\...]{.underline}

This command will cause the current project to be saved to a file that
can be different than the file that was used to read the project from.
The dialog box that is presented allows entry of a new file name and
selection of the disk drive and folder where the project file to be
saved. If the name given duplicates the name of a file already in the
selected folder, an alert will be presented allowing one to write over
the file or cancel the operation. Notification will also be given if
there is not enough space on the disk for the file.

[Use Original Statistics or Use Enhanced Statistics]{.underline}

These two allow one to choose between the two possible sets of
statistics stored in the project, either the statistics as computed
directly from the training samples or those generated by the "Enhance
Statistics" processor if it has been run already. The current Choice is
the one with the √. One can toggle between the two by selecting the one
which does not currently have a √ in front of it.

[Clear Statistics]{.underline}

The \"Clear Statistics\" command clears the statistics that have been
stored for the currently loaded project. This action allows one to
select a different subset of channels, via the \"Statistics\" processor,
for the project statistics. This action may be useful for data sets with
large numbers of channels in which some of the channels may be bad and
therefore cause singular covariance matrices. Note, however, that
clearing statistics for classes defined by cluster statistics will cause
the classes to be deleted since the \"source\" of the pixels for these
classes is not saved in the project file.

[Change Base Image File\...]{.underline}

This command allows one to change the image associated with the project
file. The command causes a dialog box to be presented with a list of
those files in the current disk and folder which may be image files plus
all folders within the current folder, and allows for the selection of
the new base image.

Changing the base image file will cause the current class/field
statistics to be cleared. New statistics will be computed from the new
base image file when needed. This command is useful, for example, when
one wants to use the same fields/classes for a different date of image
data that has been registered to the original image data or for an image
file computed from the current image file, after calibration
calculations or a data transformation has been carried out.

[Base Image/Add as Associated Image/Remove as Associated
Image]{.underline}

This command allows one to associate non-base image windows to the
current project. If the active image window is from the base image file,
\"Base Image\" will be the menu item shown in an unhighlighted state. If
the active image window is not from the base image file for the current
project, the \"Add as Associated Image\" will be the name of this menu
item. If the active image window is associated with the current project,
then \"Remove as Associated Image\" will be the name of the menu item.
Associating an image such as a classification output image, to the
project causes the field boundaries to be displayed in the image window.
One can also select new fields/classes in the associated image window to
be added to the project. All field/class statistics, however, will be
computed from the base image file. Any differences in the start line and
columns and the line/column intervals between the base image file and
the associated image file are accounted for.

The Processor Menu

+----------------------------+-----------------------------------------+
| ![](media/image39.pct){wi  | The commands under the Processor menu   |
| dth="2.5833333333333335in" | allow one to control the processing to  |
| hei                        | be done on the active image file.       |
| ght="3.388888888888889in"} |                                         |
|                            | [Display Image]{.underline}             |
|                            |                                         |
|                            | The \"Display Image\" command displays  |
|                            | the selected portion of the data file   |
|                            | in the image window. Execution of this  |
|                            | command will cause a dialog box to be   |
|                            | presented to allow one to select        |
|                            | display options (see the description of |
|                            | the \"Open Image\" command under the    |
|                            | File Menu described above).             |
|                            |                                         |
|                            | [Histogram image]{.underline}           |
|                            |                                         |
|                            | The \"Histogram image\" command loads   |
|                            | and/or lists a histogram of the data    |
|                            | file into memory either by computing    |
|                            | from the data file, or reading from a   |
|                            | MultiSpec image statistics file.        |
|                            | Execution of this command will cause    |
|                            | the following dialog box to be          |
|                            | presented to allow one to select the    |
|                            | histogram options.                      |
+----------------------------+-----------------------------------------+

![](media/image40.pct){width="4.847222222222222in"
height="2.8055555555555554in"}

[Reformat]{.underline}

The \"Reformat\" command allows one to make changes in the disk file
associated with the active image file. Execution of this command will
cause the following dialog box to be presented to allow one to select
the reformatting options shown.

![](media/image41.pct){width="4.625in" height="3.138888888888889in"}

*Reformat - "Change Header" or "Write Header."* If the current active
image window is for a data file that is in MultiSpec format, \'Change
Header\' will be the first item. If the current active data file is not
in MultiSpec format, then \'Write Header\' will be the first item. The
\'Write Header\' command allows one to write an ERDAS73, or ERDAS74
header record at the beginning of the file or to write the file with no
header record. This header record tags the number of lines, columns,
channels, bits per data value, start line and start column to the image
file so that one does not need to enter this information each time the
image file is opened. The \'Change Header\' command allows one to change
this information. Both of these commands will cause a dialog to be
displayed which lists the current settings for the six parameters. The
pop-up menu in this dialog allows one to select the header record type
to be written. The dialog will ask whether the settings are correct or
not, (or one may cancel the operation). If the settings are not correct,
then the \'Change Image Description\' dialog box will be displayed to
allow changing the settings. If \'OK\' is clicked in the \'Are these
header parameters correct?\' dialog box then the cursor will change to a
watch while the header record is being written. This operation may take
awhile if the data file is large.

*Reformat - "Change Image File Format."* The \'Change Image File
Format\' command allows one to make a number of format changes,
including creating a new image file with a different format. Selecting
this option and clicking \'OK\' results in the following dialog box
being presented.

![](media/image42.pct){width="5.486111111111111in"
height="3.4583333333333335in"}

The parameters for the current file are listed at the top. The pop-up
menu after \'Output file\' allows one to select \'New file\', \'Append
to\', or \'Modify part\' as the operation to be carried out. When
appending one image file to another, one can specify after which line
number (for BIL and BIS image files) or which channel number (for BSQ
image files) to begin the appending process. The pop-up menu after
\'Channels\' allows for the selection of all or a subset of channels to
be used. By using the check box options, one can also create a file
which is inverted top to bottom and/or left to right. If the input data
consists of data of more than 8 bits per pixel, i.e. two bytes are
required for each data value, one can swap the bytes. If the output data
is in BIL format, one can write an ERDAS header record or a Matlab[^27]
header to the new file. If the Matlab format is selected then the
selected output image is written in Matlab file format. The file can be
read directly by Matlab. MultiSpec will not be able to read this file.
One can also write a GAIA header to this image file if a thematic image
is the active image window and a project file is opened. The GAIA header
requires statistics from the project file.

If the channel descriptions are included with the input data file, they
can be written to the output data file. The parameters for the output
data file can be changed in the bottom of the dialog. See the
description of \'Change Image Description..\' command under the \'File\'
menu for a discussion of the band interleave formats.

Clicking on the "Transform Data\..." check box causes the following
additional dialogue box to be presented.

![](media/image43.pct){width="5.069444444444445in"
height="3.138888888888889in"}

Selecting one of the four options causes additional options to be
displayed, as in the case of the third option above. Using these options
one can change the data values in selected channels for the output image
file with one of three methods. The fourth option is to use no
transformation.

The first method is to adjust data values in selected channels by
linearly scaling and/or offsetting the current data values. For example,
one can use this method to change signed data to unsigned data or vice
versa. One could also use this method to reduce the number of bits/bytes
in the data.

The second and third methods allow one to create new channels from
combinations of the original channels represented by the image in the
active image window. The second method allows the user to create these
new channels using the eigenvectors that were created either using the
Principal Component or Feature Extraction processors. See Principal
Component Analysis under the Utilities menu and Feature Extraction under
the Processor menu respectively. To create new channels from the Feature
Extraction or the Principal Components eigenvectors, the respective
processor must have been previously run. For the Principal Component
processor, use the option to save the eigenvectors so that they will be
available for the Reformat processor. The eigenvectors from Feature
Extraction are always saved. One can select a subset of the eigenvalue
images to be created. Also the minimum recommended number of bits for
the eigenvalue image is displayed. One line is for eigenvalue image 1
(maximum variation) and one line is for the maximum selected eigenvalue
image. The minimum recommended number of bits is the number of bits to
represent 6 times the square root of the associated eigenvalue plus 1.
This allows a range of plus/or minus 3 standard deviations around the
mean. One can change the number of bits for the output image file using
the \'Bits per data value\' pop-up menu item.

The third method allows one to use a General Algebraic Transformation of
the original channels to create one new channel. The transformation is
in the form of = offset + (a0 + a1C1 + a2C2 + \...)/(b0 + b1C1 + b2C2 +
\...) \* factor; where offset, factor, a0, a1, b0, b1, \... are real
constants which can be positive or negative and C1, C2, \...Cn represent
the channel number to be used[^28]. Both \'c\' or \'C\' can be used. The
number of constant\*Channel value (e.g. a1C1) combinations in either the
numerator or the denominator is limited to the number of channels in the
active image file plus 1. Also the number of characters in the numerator
and denominator is limited to 255. Note that this option currently only
allows one to create one new channel at a time.

For these three transformation options, the minimum and maximum computed
values are listed in the text output window along with the number of
pixels that were clipped at the lower and upper

limits to help one in determining what factors should be used to include
the maximum dynamic range possible.

*Reformat - "Mosaic Images."* This utility will allow one to \'mosaic\'
or join two selected images side to side. Upon its selection, a dialog
box is presented. The active image window is defined to be the left
portion of the new image. The user can select the right portion of the
image from a pop-up menu of the image windows in the mosaic dialog box.
Note that this is a list of the open image windows within MultiSpec not
the available data files on disk. The user can select the portion (lines
and columns) of the left image to be used and the start line and the
columns of the right image to be used. The number of selected lines in
the left and right images will be forced to be equal.

The user can elect to ignore background values when combining the
images. This allows one to combine different TM quads. The default
background value is 0, although the user can set a different background
value if needed.

The user may also select the header to be included with the output file
and whether the channel description information should be included.

NOTE: Any combination of band interleave for BSQ and BIL may be
combined; the output file will have a band interleave of BIL. If either
of the left or right image has a band interleave of BIS, then both must
have a band interleave of BIS. The output band interleave format in this
case will be BIS. The number of channels in the left and right images
must be the same and the number of bytes per data value in the left and
right images must be the same. Only those images which fit the above
limitations are highlighted in the right image list in the Mosaic Dialog
box. The left image defines what format specifications are allowed for
the right image.

*Reformat - "Convert Project Fields to Thematic Image File."* The
\'Convert Project Fields to Thematic Image File\' allows one to create a
thematic image showing the training and test fields. Pixels outside of
the training or test fields will be represented by the background class.

*Reformat - "Rectify Image."* One can rectify (change the geometry) of
one or more selected channels with respect to other channels. Upon
selection of this option, one can shift selected channels by a specified
number of lines and columns, change the line and/or column scale of the
selected channels, and rotate the selected channels by a specified
number of degrees. One can also select the header format of the output,
select the background value and set the non-selected pixels to the
background value, as desired. Nearest neighbor interpolation is used for
the output file.

*Reformat - "Modify Channel Descriptions."* The "Modify Channel
Descriptions:" command of the original Reformat dialog box allows one to
add a description of up to 16 characters for each channel in the image
file. This is useful in annotating the wavelength range for each
channel. One can add, change or delete the descriptions. Upon selection
of this option, a pop-up menu is presented allowing one to select the
input source as from the keyboard, from a text file[^29], or to delete
the current Channel Description data. Clicking OK in the Reformatting
Utilities dialog box with this option selected will cause a dialog box
to be presented which allows entry of the data for the first channel to
be entered. A value (e.g. the band number) and a description (e.g. the
wavelength limits of the band) can be entered. \'Cancel\' will cause one
to quit the operation.

*Reformat- "Convert Multispectral Image to Thematic Image. One* can
convert the active multispectral image window to a thematic type of
image. The user can specify how many colors that is desired to be in the
output thematic image, the approach to be used to create these colors
and whether the resulting color table should be listed in the output
text window. This capability is only available when MultiSpec is run
under the System 7.0 or later operating system. This capability can be
used to generate an image file of multiple channels that can be
displayed using IMDISP on IBM compatible computers.

A additional output format allows one to create a GAIA formatted image.
This processor uses tools which are available within the Macintosh
operating system to determine the \'best\' palette of \'n\' colors to
represent all the colors available in the active multispectral image.
This could be used as a quick

way to \'cluster\' a multispectral image into a user selected number of
classes using the 3 displayed channels of data. Note that this processor
will only use up to 3 channels of data for clustering. If an image has
many more than 3 channels then, this technique would not be a good one.

[List Data]{.underline}

This command allows one to list in the text window data from a given
area and given subset of channels. This is useful, for example, if one
desires to extract a portion of the data set for processing external to
MultiSpec. Upon selection of this command, the following dialog box
appears.

![](media/image44.pct){width="4.027777777777778in"
height="2.4444444444444446in"}

From this dialog box one can specify that data belonging to one or more
of the classes of training and/or test areas and/or data contained in a
designated rectangular area of the image can be listed in the text
window or stored in a disk file. The classes to be used are selectable
via the pop-up menu labeled All next to the Classes button in the above
dialog box. Other check boxes allow for including the line and column
values when the data is listed out, and including class and field
identification codes. The final check box allows for the graphing of the
data values for each pixel included in the data to be listed. To go to
the next pixel, click in the close window box. After the last pixel has
been plotted, the List Data processor is closed with the graphics window
still open. The graphics window may then be deleted by clicking on the
close window box.

[Cluster]{.underline}

The \"Cluster\" command allows one to run either of two clustering
algorithms, a simple one-pass cluster algorithm or an Isodata type
iterative algorithm, on the selected image data. Selection of this
command results in the dialog box shown below. One can select the
algorithm, the areas, and the channels to use in the cluster analysis as
well as the cluster parameters. The cluster map can be presented in the
output text window and/or saved to a disk file. The statistics of the
clusters may be added to the current project file as additional classes
or they may be saved to a new project file.

![](media/image45.pct){width="4.541666666666667in"
height="2.8055555555555554in"}

If the cluster classification has been requested, each pixel in the
selected classification area(s) are compared to the remaining cluster
centers using the Euclidean distance. The pixel is assigned to the
nearest cluster unless it is too far away. A pixel is determined to be
too far away if the Euclidean distance squared is more than \"number of
channels \* classification threshold squared\". If the cluster
classification map is saved to a disk file, the classification map can
be displayed using the \"Thematic\" option of Open Image under the File
menu (see above).

One can save the statistics for the clusters to the current project file
or to a new project file. If one saves the statistics to a new project
file and a project file is already open, then the current project will
be closed. The user is given a chance to save the current project if it
has changed since the last save. If one saves the cluster statistics to
the current project, the channels used will match those being used in
the current project. In other words one can cluster with a different set
of channels than one saves the statistics for. If the cluster statistics
are being saved to a new project, the channels for the saved cluster
statistics will be those used for the clustering. Note that if one
desires to cluster with a subset of channels and save the statistics for
all the channels in a new project, then a new project should be created,
using the \'New Project\' Project menu item before selecting the
\'Cluster\' processor. Then in the cluster processor select \'Append to
Project\'.

**Single Pass Algorithm**[^30]**.** Upon selection of this algorithm by
clicking on the appropriate button, a dialog box is presented allowing
for the selection of the following parameters:

> • The critical distance1 (in data value units) to use during the
> clustering of the first line of each cluster area.
>
> • The critical distance2 (in data value units) to use during the
> clustering of the rest of the lines of each cluster area.
>
> • The minimum number of pixels that are needed for a \"usable\"
> cluster.
>
> • The area to be used for clustering the \"rest of the lines.\" Either
> the training area or an image area may be selected and in the latter
> case one may set the first line and column, last line and column, and
> the line and column intervals to be used.

A brief description of the algorithm is as follows. The first sample in
the first row of the first cluster area defines the center of the first
cluster. For each remaining pixel, the closest cluster is found using a
standard Euclidean distance measure. Next the data value for each
selected channel for the pixel is compared against the closest cluster
center value for that channel. If the data value for any channel is more
than \"critical distance1\" units away, then that sample is used as the
center of a new cluster.

Once all the samples in the first row of all the cluster area(s) have
been evaluated, a user specified subset of the remaining samples in the
cluster area(s) are used to add to the current clusters or create new
clusters. The pixels are compared to the current clusters as described
above for the first line. The only difference is that \"critical
distance2\" is used to determine when to start a new cluster. During the
clustering of the \"rest of the lines\", the user specified column and
line intervals are used. Note that the column interval as implemented
continues from the end of one line to the beginning of the next selected
line. In other words, if the last sample used for clustering in a line
of 169 pixels is 166 using a column interval of 5, then the first sample
to be used from the next line will be pixel 2. This allows a user the
opportunity to use samples from all columns even when a subset is being
used.

After all the selected area(s) have been clustered, those clusters with
fewer pixels than \"minimum cluster size\" are deleted. Classification
then proceeds as described above, assuming that option was selected.

**The ISODATA Iterative Clustering Algorithm**[^31]**.** Upon selection
of this algorithm by clicking on the appropriate button, a dialog box is
presented allowing for the selection of the following parameters:

> • The initial cluster center options,
>
> • N, the number of initial clusters desired.
>
> • P, the convergence per cent.
>
> • M, the minimum number of pixels that are needed for a \"usable\"
> cluster.
>
> • The image area to be used for clustering. Either the training areas
> or a rectangular image area may be selected, and in the latter case
> one may set the first line and column, last line and column, and the
> line and column intervals to be used.

There are four options to choose from for locating the initial cluster
centers,

> • Along first covariance eigenvector,
>
> • Along first correlation eigenvector,
>
> • Within eigenvector volume,
>
> • Use one-pass cluster centers.

The first three options cause calculation of the principal components of
the data set, either based upon the covariance matrix of the data (first
option) or the correlation matrix (options 2 & 3). For options 1 & 2,
the N initial cluster centers are placed equally spaced along the first
principal component. For the third option, the points are scattered over
the volume defined by the first three principal components. For the
fourth option, the one-pass clustering algorithm is run first, then the
cluster centers determined by it are used to initiate the Isodata
clustering.

After determining the initial cluster centers, the algorithm proceeds to
associate each pixel with the cluster center the smallest Euclidean
distance from it; one complete iteration is done after all pixels have
been so assigned, and a test for stopping is carried out, as follows. If
during that iteration at least P percent of the pixels did not change
the cluster center to which they were associated during the previous
iteration, the clustering is declared complete. If not, the mean values
of all clusters are calculated. These become the new cluster centers,
and the clustering process is repeated through another iteration. The
clustering stops when the convergence percent has been met. Clustering
can also be stopped by entering \"Command-.\", hold Command key and the
period key down at the same time, at the keyboard. If \"Command-.\" is
entered, the clustering for the current pass will go until completion.

After clustering has stopped, each cluster is examined to determine if
it contains at least M pixels. If it does not, then that cluster center
is not listed and/or saved in the project statistics. Classification
then proceeds as described above, assuming that option was selected.

[Statistics]{.underline}

The \"Statistics\" command allows one to define training and test fields
and associate them with classes. Execution of this command will cause a
dialog box to be presented to allow one to select the statistics options
as follows.

![](media/image46.pct){width="4.486111111111111in"
height="2.763888888888889in"}

The portion of the dialog box marked Project Changes provides a pop-up
menu; by mousing down on it and then dragging to the appropriate menu
item, one may clear the project statistics or establish a new project.
The area labeled "All" is also a pop-up menu allowing the selection of a
subset of the available channels to be selected and used. Clicking on
the "Project Statistics Options\..." button results in the following
dialog box.

+------------------------+---------------------------------------------+
| From it one has the    | ![](med                                     |
| option to specify      | ia/image47.pct){width="4.180555555555555in" |
| whether the means,     | height="2.75in"}                            |
| standard deviations,   |                                             |
| and covariances are    |                                             |
| computed, or only the  |                                             |
| means and standard     |                                             |
| deviations. If only    |                                             |
| means and standard     |                                             |
| deviations are         |                                             |
| computed then one does |                                             |
| not have access to     |                                             |
| several processors     |                                             |
| such as Feature        |                                             |
| Selection, Statistics  |                                             |
| Image, and the Maximum |                                             |
| Likelihood and ECHO    |                                             |
| Classifiers. The       |                                             |
| option was made        |                                             |
| available for those    |                                             |
| cases when memory is   |                                             |
| short and 2nd order    |                                             |
| statistics are not     |                                             |
| needed - for example   |                                             |
| 210 channel data sets. |                                             |
|                        |                                             |
| Via the next check     |                                             |
| box, the user          |                                             |
+------------------------+---------------------------------------------+

has the capability to keep only the project class statistics in memory
instead of the field statistics. The default is to keep the field
statistics in memory. This capability was added so that one could use
projects that contained many fields of high dimensionality (such as 200
channels) for relatively few classes. There are some drawbacks to
keeping only the class statistics. If one cuts a field from a class then
the statistics for the class will need to be computed by rereading from
the base image disk file. If one keeps the field statistics then the
class statistics can be easily computed by summing the field statistics
stored in memory. Also it will not be possible to update the statistics
for a class if it is defined by cluster fields and one of the fields are
cut.

The next check box allows one to use class statistics which have zero
variance in algorithms which require the second order statistics. In
these cases, one can not invert the covariance matrix. This situation
occurs many times when one has a border around the area of interest
which has a constant value such as \'0\' and one would like to treat
this border as a class. This option allows one to reset any \'0\'
variances to a small specified value. The default value is 0.01.

The final check box in this dialog box allows one to choose use of
either the enhanced statistics created by the Enhance Statistics
processor, or the original statistics determined from the training
fields alone.

Returning to the "Set Project Options" dialog box, the check boxes below
the "Project Statistics Options\..." button allow selection of either
Correlation Matrices or Covariance Matrices or both to be listed in the
Text Window each time statistics are to be listed. The check boxes under
Outline Selected Areas allows the Training Field or Test Field
boundaries or both to be shown in the project image window, and the Show
Field Names check box causes the field name to be shown next to the
outlined area. The check boxes under "'List Stat' includes mean,
standard deviation and:" controls the amount of statistics detail that
will be listed in the Text Window.

If the \"Statistics\" command is executed and no project is active, a
new project will be activated automatically. If work with a previous
project is desired, use the \"Open Project\" command under the File menu
first to select the project desired and load it into memory.

After selecting the desired options and clicking OK, the window as shown
on the left below appears. This window allows for the selection of
training and test fields and the defining of classes. This window
changes its form, depending on the state one is at in the field and
class definition process. The four possible forms are shown below, and
the group of buttons near the center of the box labeled Project, Class,
Field, and Select allow one to move from one mode to another.

When in the **Select Field** mode (see label at the top of the window),
dragging diagonally across an area in the project image, causes the area
to be outlined in the image, the coordinates to appear in the window
just below Coordinates (L,C) (for Line & Column), and the Add To List
button to be activated. The area after Class in the Select Field dialog
box is a pop-up menu allowing one to select the class to which the
selected field is to be assigned. Clicking on the Add To List button
will cause a dialog box to be presented allowing for the area selected,
referred to as a field, to be named, and associated with the class
listed after Class at the top of the Select Field dialog box. If the
current class name is New, the dialog box will also allow entering a
class name. If a selection has been made, either a rectangle or polygon,
and the Statistics window is in the \'Select Field\' mode, striking the
\'Return\' or \'Enter\' key will cause the selection to be added to the
project. This is the same action as striking the \"Add to List\" button
in the Select New Field-Statistics window. This action will work even if
the image is the active window.

If a selection exists in the active image window, striking the delete
key will cause the selection rectangle to be removed. This is the same
as selecting the \'Clear Selection Rectangle\' in the Options menu. If
one drags to the edge of the window during a rectangle selection, the
image will automatically scroll to show a new portion of the image
window if it is not currently at the edge of the image. One can also
cause a selection in one image window to be applied to all open image
windows. To do this hold the command key down while making the
selection. The temporary selection will be drawn (and redrawn) in the
active image window. When the mouse button is released, that selection
will be converted to a permanent selection (dashed lines) in all image
windows. Note that the command key needs to be down when the mouse
button is released to cause the above to happen. The start line and
columns of each of the image windows and image files are taken into
account.

In the **Project mode** any classes already defined for this project
will be listed in the area of the window just below Classes. If the
number of classes is too large for the space, one may use the elevator
and arrows at right to window over the list. Click on a class name, and
then \"-\>Class\", to move to the Class mode.

In the **Class mode**, click on a field name, and then \"-\>Field\" to
move to the **Field mode**. This causes the coordinates of that field to
be listed.

  ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- -----------------------------------------------------
  ![](media/image48.pct){width="1.3333333333333333in"   ![](media/image49.pct){width="1.3194444444444444in"   ![](media/image50.pct){width="1.3194444444444444in"   ![](media/image51.pct){width="1.3194444444444444in"
  height="3.5694444444444446in"}                        height="3.5694444444444446in"}                        height="3.5694444444444446in"}                        height="3.5694444444444446in"}

  ----------------------------------------------------- ----------------------------------------------------- ----------------------------------------------------- -----------------------------------------------------

Other buttons in the appropriate mode allow for Editing the field
coordinates, field name, or class name; listing histogram data for
fields or classes in the text window; or updating field, class, or
project statistics.

A field or a class can be cut and pasted into another class. Also by
cutting and repasting, the order of the classes can be changed, since a
repasted field or class is always added to the end of the current list.

A button in the Select Field mode labeled Polygon Enter allows for the
selection of polygonally shaped areas instead of only rectangular ones.
In this case, fields are selected by clicking on the corners of the
desired polygons, instead of dragging[^32]. One completes the polygon
selection by double clicking on the last point to be selected. While the
polygon selection has not been completed, one can delete the last
selected point by striking the delete key.

[Enhance Statistics]{.underline}

This processor computes class statistics in a combined
supervised-unsupervised mode by using "non-labeled" samples to modify or
enhance the statistics for the labeled samples. This processor is

based upon research results of recent
origin.[^33],[^34],[^35],[^36],[^37] The processor is based upon
modeling the entire data set by a linear combination of weighted
Gaussian density functions. It uses an iterative process to achieve a
best fit of this model to the combination of the training samples and
the designated unlabeled samples, by sequentially adjusting the class
mean vectors, class covariance matrices and the class weights (which in
this case become estimates of the *a posteriori* class probabilities).
The adjustment is made using a process known as "expectation
maximization." Provision is made to ignore outlier pixels, i.e., pixels
whose likelihood value for any of the classes is below a user-selected
threshold. Part III, Using MultiSpec provides an example of using this
processor and illustrates some of the potential benefits this process
can provide.

Upon selection of this Processor, the following dialog box will be
presented.

![](media/image52.pct){width="4.972222222222222in" height="3.0in"}

Using this dialog box, the user can select the subset of the image for
unlabeled samples, a subset of the classes to be modified, and classes
can be given unequal weighting. In the Options portion of the dialog
box, one can set the outlier threshold either in terms of a log
likelihood value or as a percentage of an equivalent Gaussian
distribution. By checking the Weight Labeled Samples check box, one can
change the weighting of the labeled samples relative to the unlabeled
samples. The last check box under options allows one to begin the
iterative process with the enhanced statistics as they existed when a
previous enhancement process stopped.

During the iteration, one can stop the iteration before the stopping
conditions have been achieved, in which case the iterative process will
proceed to the end of the current iteration. The statistics at that
point will be saved in memory or on disk when the Project is saved, and
would be available to use as the starting point for further iterations.

Parameters in the lower right of the dialog box allow one to set the
stopping conditions. One can set the maximum allowable number of
iterations, and the log likelihood change as a percentage over the last
N iterations, as set by the Iteration length parameter.

The outputs of this processor are enhanced class statistics (means and
covariances) and prior probabilities. These modified class statistics
are stored as a part of the project file and may then be used in the
Feature extraction, Feature selection, Classify, Principal Components,
Create Image Statistics (class statistics only), and Check Covariance
processors. The resulting statistics provide a better model to the
entire data set to be analyzed, thus improving the generalization from
training samples to others and also mitigating the Hughes phenomenon
allowing for more effective use of high dimensionality.

[Feature Extraction]{.underline}

A processor containing two algorithms, referred to here as Decision
Boundary Feature Extraction (DBFE) and Discrimiant Analysis Feature
Extraction (DAFE) form the Feature Extraction processor. The former is a
recent development[^38],[^39],[^40]. For this reason, its performance in
a wide variety of circumstances is not yet well known, and it should be
regarded as experimental at this stage.

Both of these two calculations proceed by finding an optimal linear
transformation of the spectral features. For DBFE the transformation is
based directly upon the training samples, while for DAFE it is based
upon the mean vector and covariance matrices defined by the training
set. Once determined, this transformation may then be used to form a
transformed data set, the features of which are optimally separable and
are automatically in order of their importance relative to
discriminating between the defined classes. The eigenvalues of the DBFE
transformation provide the information as to how many features to use in
order to obtain essentially the same accuracy as the full data set would
provide.

The details of the DBFE algorithm are given in the references cited
above. The DAFE algorithm is a more standard discriminant analysis
algorithm based on within-class and between-class scatter matrices as
follows. Let Σi be the covariance matrix of class i, Pi be the a priori
probability of class i, and µi be the mean of class i.

Sw = P1\*Σ1 + P2\*Σ2 + \.... is the within class scatter matrix.

Sb = P1\*(µ1-µ0)\*(µ1-µ0)\' + P2\*(µ2-µ0)\*(µ2-µ0)\' + \... is between
class scatter matrix and \' denotes transpose.

µ0 = P1\*µ1 + P2\*µ2 + \...

Then for DAFE, the transformation is determined by the eigenvalues and
eigenvectors of the matrix

Sw-1\*Sb. There will always be N -1 non-zero eigenvalues where N is the
number of classes because rank(Sb ) = rank( Sw-1\*Sb ) = N - 1, thus
only the first N--1 features derived in this way are reliable.

Upon choosing the ***Feature Extraction\...*** option of the
***Processor*** menu, the following dialog box appears:

![](media/image53.pct){width="4.277777777777778in"
height="3.3194444444444446in"}

Select which of the two algorithms, DBFE or DAFE, is desired. Also, if
desired, apply unequal weighting to the classes, e.g. the class prior
probabilities, or to any of the interclass pairs, e.g. to eliminate from
consideration subclasses of a given class for which separation is not
necessarily desired. The transformation matrix will not be listed in the
text window unless the check box for it is checked.

Selection of the special options check box when the DBFE algorithm is
selected will produce additional options within this dialog box. These
additional options allow one to change a) the default settings for the
within and between class thresholds, b) the minimum threshold number, c)
whether optimization (deletion of redundant features) is desired, and if
so to what percent of all feature accuracy, and d) the maximum number of
training pixels per class to use. An explanation of these special
options is contained in the references; they are intended for those who
wish to experiment with these additional parameters of the algorithms
after having become familiar with the material in the references cited.
Ordinarily the default values should produce satisfactory results, and
one need not be concerned with the 'special options.'

Upon clicking "OK" the processor proceeds to calculate the eigenvalues
and eigenvectors for the desired linear transformation, stores them in
memory, and writes them in the Text Output Window. See the section on
the Feature Extraction processor in the "Using MultiSpec" section above
for more information for the steps which the two algorithms follow. One
can then use the transformed features instead of the original ones in
the Classify, Feature Selection, Create Statistics Image, or Check
Covariances processors by selecting the appropriate check box when
beginning the calculation of one of these four.

Alternatively, one can use the Reformat processor to cause a new file
with these transformed features instead of the original bands to be
formed. See the 'Change Image File Format' of the Reformat processor
above. After completing this operation, if, for example, one wishes to
classify the data, choose 'Change Base Image' under the Project menu to
make the new file the base image, and choose the Classify processor.
Choose the first N features where N is selected based upon the size of
the DBFE eigenvalues of significant size or by other means and classify.

[Feature Selection]{.underline}

The Feature Selection command causes calculations to be performed which
assist in determining the best subset of features to be used for a given
training set. It can also be used to determine the relative degree of
separability of tentatively defined classes during the early stage of
the training process. This processor calculates the statistical distance
between all class pairs for each of the

subsets of channel combinations chosen. The results of the calculations
are listed in rank ordered, tabular form in the Text Output window,
where they may be viewed and a selection made. Or, alternatively, they
may be copied to a spreadsheet and further sorting and calculation done
on them. For example, if one wished to find the best 3 channels out of 7
available, the processor would calculate and add up the statistical
distances between all class pairs for each possible 3 channel subset.
The table would then show on each line, the distances between all the
class pairs for a given subset and the subsets would be listed in the
table in sorted order, for example, in order of decreasing average
interclass distance.

Upon choosing the \"Feature Selection\" command, a dialog window appears
as follows.

![](media/image54.pct){width="5.055555555555555in"
height="3.0833333333333335in"}

There are a number of options which may be selected from this dialog
box. First, by mousing down on the Distance measure pop-up box, one may
select which distance measure, Bhattacharyya, Divergence, Transformed
Divergence, Non-Covariance Bhattacharyya or Error-function
Bhattacharyya, is to be used. The definition of the Bhattacharyya
distance is as follows.

B = \\f(1,8) \[**µ**f-**µ**g\]T\[\\f(Σf+Σg,2)\]-1\[**µ**f-**µ**g\] +
\\f(1,2) Ln \\f(\| \\f(1,2)\[Σf+Σg\] \|,\\r(\|Σf\| \|Σg\|))

where **µ**x is a mean vector and Σx is a covariance matrix. It may be
noted that the first term accounts for the separation due to the class
means (normalized with respect to the class covariances), while the
second term accounts for the separation due to the class covariances. In
the case of the Non-Covariance Bhattacharyya, only the first term is
used, and the off-diagonal terms of Σf and Σg are set to zero. In the
case of the Error function Bhattacharyya, the Bhattacharyya distance is
mapped through the Gaussian error function, so that the results are more
nearly linearly related to probability of error and thus more nearly
project what the classification error rate a given value of
Bhattacharyya distance implies. Divergence and Transformed
Divergence[^41] are other alternatives which are usually not as
effective as those based upon Bhattacharyya distance and are included
for historical reasons.

The check box labeled Use Feature Transformation appears if one has
previously run the Principal Components or Feature Extraction processes,
and allows for selecting these features as the features to be used in
the calculation to follow. The Channels box is also a pop-up window
allowing for the use of all channels or the exclusion of some from
consideration. The boxes after Channel Combinations, are pop-up windows
providing additional parameter setting capabilities. For example,

upon mousing-down on the \"Subset\...\" box after Channel Combinations
and releasing, the following dialog window appears.

+--------------------------------+-------------------------------------+
| Then, by selecting the 3 in    | ![](media/image5                    |
| the Number of Channel Groups   | 5.pct){width="3.4722222222222223in" |
| to Use list, one would cause a | height="2.888888888888889in"}       |
| search for the best 3 of the   |                                     |
| 12 available channels. The All |                                     |
| and None buttons respectively  |                                     |
| select all or unselect all     |                                     |
| numbers of channels. As an aid |                                     |
| to selecting the numbers of    |                                     |
| channels to use in cases of    |                                     |
| large numbers of channels, the |                                     |
| areas labeled First, Last, and |                                     |
| Interval, and the button       |                                     |
| labeled Enter New Range may be |                                     |
| used. For example, in this     |                                     |
| case of 12 available bands, if |                                     |
| one desired to select every    |                                     |
| other number of bands, set     |                                     |
| First to 1, Last to 12,        |                                     |
| Interval to 2, then click on   |                                     |
| Enter New Range.               |                                     |
|                                |                                     |
| With the 'Contiguous channels  |                                     |
| per group' selection, one can  |                                     |
| request \'n\' groups of        |                                     |
| channels with \'m\' contiguous |                                     |
| channels in each group. This   |                                     |
| feature is particularly        |                                     |
| helpful                        |                                     |
+--------------------------------+-------------------------------------+

when one has a large number of channels of data, and spectral classes
which, for example, have unique absorption features expressed in 'm'
contiguous channels. This option can reduce the number of channel
combinations to be searched substantially while focusing on diagnostic
features which occur across a small number of adjacent channels. The
more conventional selection of optimal channel combinations can be used
by setting the number of contiguous channels to 1.

Returning to the previous dialog box, selection of the 'Use Step
Procedure' is also intended for the case of large numbers of bands. The
step-wise search technique consists of first finding the best single
group of m (m≥1) contiguous channels. Then using the best single group,
find the best 2 groups of m channels, then the best 3 groups, etc. up to
the number of groups of channels specified by the user. This technique
is a sub-optimum search since one is not guaranteed of finding the best
set of all possible combinations. However, it does allow one to at least
examine a reasonable number of the channel combinations in a high
dimensional data set. The number of channel combinations to be searched
can be reduced considerably in this way. For example the best 4 out of
210 channels includes millions of combinations. Using the step
procedure, the number of combinations to be searched is reduced to a few
thousand. Note however that the number of combinations to be searched
when one is choosing n-1 of n or n of n channels will be higher for the
step search than for the exhaustive search technique.

Below the Use Step Procedure box will be listed the number of
combinations which will be searched for the current settings. One then
can set for listing in the text window, the results for how many of
these combinations (after ranking) one wishes to have listed. For
example, if there are 12 channels available, there are 495 possible
combinations of 4 channels out of the 12. In the above dialog box, the
processor has been set to list only the best 30 of these 495 possible
combinations.

The boxes after Classes, Weights, and Symbols in the previous dialog box
labeled Set Feature Selection Specifications provides similar dialog
boxes with opportunities to set their respective parameters.

Clicking on the List Options\... button at the mid-lower right results
in the following dialog window being displayed.

![](media/image56.pct){width="4.569444444444445in"
height="2.736111111111111in"}

From this dialog box, one may also choose how many of the feature
subsets to list out in the text window. One can set a maximum and a
minimum distance value to be considered in establishing the rank
ordering of the table. Further, one can have the rank ordering done
based upon the average distance between class pairs, the minimum
distance between class pairs, or merely listed in the order computed.
And finally, one can either have all the class pair distances listed in
the text window, or have only the average or minimum distance listed,
making a much smaller table.

The results are listed into the output window and/or a disk file. The
columns of numbers are separated by tabs so that they can be copied into
a spreadsheet program for further analysis. The program will not allow
one to run a feature selection analysis of the best m channels out of n
total channels if the number of combinations is greater than
2,147,483,647; of course one probably does not want to come close to
this number anyway!

[Classify]{.underline}

The \"Classify\" command allows one to classify selected portions of the
Target image file using the project statistics. Execution of this
command will cause the following dialog box to be presented to allow
selection of the classify options.

![](media/image57.pct){width="5.263888888888889in"
height="3.2083333333333335in"}

By mousing down on the Procedure box, now containing "Maximum
Likelihood", one may select classification to be based upon Gaussian
Maximum Likelihood-per point values, a Minimum L1 Distance, a Minimum L2
(Euclidean) Distance, or the ECHO classifier. The dialog box also allows
using the transformed features (from the Principal Components or Feature
Extraction processors) by clicking on the "Use feature transformation"
check box. If one mouses down on the Channels box now labeled "All
Available," one can select a subset of channels to be used. The dialog
box also lists the Target data set, i.e. the one to be classified. If
there are more than one image data file open with the same number of
features and the same number of bytes per data value, this item becomes
a pop-up menu allowing one to select which file is to be classified.

For the case of each classification algorithm, the Training Fields, the
Test Fields, and a rectangular area of the image file designated by
start, end, and intervals may be chosen for classification. One can
classify a subset of the training and/or test area classes. This is done
using a pop-up menu item to the right of \'training areas\' and \'test
areas\' in the classify dialog box. The boxes in the dialog box labeled
All, Equal, All Available, and Default Set on the upper right are pop-up
menus. With these menus one may select all or only certain of the
classes defined in the training statistics to be used in the
classification, one may set different weights (i.e., *a priori
probabilities*) for each of the classes, and one may specify what symbol
is to be used to designate each of the classes in the alphanumeric
classification which is generated.

One may specify whether the classification results are to be written in
the project text window as an alphanumeric map, and/or whether they are
to be written to a disk file. If written to a disk file the results may
then be displayed as a color coded thematic map by opening an image
window in thematic format. A pop-up window results when the Disk File
check box is selected, allowing a choice of output format as ASCII,
ERDAS.GIS, or GAIA.

For the Maximum Likelihood and ECHO classifiers, one may also apply a
threshold value such that points whose largest likelihood value is below
the threshold are assigned to a \"classification declined\" class. If
this option is selected, an additional dialog area will appear allowing
the threshold level to be set to a certain percentage value equal to the
proportion of an ideal Gaussian distribution which would be thresholded.

For the Maximum Likelihood and ECHO classifiers, one may also designate
the creation of a Probability Results File. In this case, instead of
each pixel being assigned to a certain class, the likelihood value of
the most likely class is stored for each pixel. This file can then be
displayed in color coded thematic form to illustrate the degree of
membership of each pixel to its assigned class. The average probability
of correct classification is computed for Maximum Likelihood and ECHO
classification results and listed in the Text Output window as the
classification is completed.

If one has created both a Probability Results map and a thematic map
(disk file) of the classification results, then one can apply a
threshold to the results after the classification has been completed.
See below in the "List Results" processor section.

ECHO Details[^42]

Echo ([E]{.underline}xtraction and [C]{.underline}lassification of
[H]{.underline}omogeneous [O]{.underline}bjects) is a spatial-spectral
classifier, i.e. one that incorporates not only spectral variations but
spatial ones as well into the decision-making process. It uses a two
stage process, first segmenting the scene into statistically homogeneous
regions, then classifying the data based upon a maximum likelihood
object classification scheme. It uses exactly the same training
procedures and statistics as a conventional maximum likelihood pixel
classifier, however there are three selectable parameters which the user
may set to vary the degree and character of the spatial relationship
used in the classification. These parameters enable one to vary the
spatial characteristics used from little or none to those incorporating
image texture over a block area surrounding each pixel.

The segmentation stage of the classifier, itself, is carried out in two
stages. In the first stage cells, consisting of contiguous n x n regions
(cell size n is set by the user) are checked with a mild test for
statistical homogeneity. The threshold used in the test is set by the
user. Cells failing this test are said to be singular, and the pixels
contained will ultimately be classified by a maximum likelihood pixel
classifier. This allows for the proper classification of isolated cells
within otherwise homogenous objects. After the cell selection test, next
neighboring non-singular cells are compared with a statistical
homogeneity test. Those passing the test are "annexed" thus growing
regions. The threshold used in this test is, again, set by the user.
After all annexation tests are complete, the homogeneous regions thus
identified are classified using a maximum likelihood object
classification scheme. With a proper choice of parameter values, ECHO
usually provides higher accuracy than a pixel classifier and frequently
requires less computation time for a given classification task.

In addition to the thematic classified result, when instructed to write
the results to disk, the ECHO processor may be requested to write files
giving the homogeneous fields or objects found (\_echoField suffix) and
those fields combined into classes (\_echoClasses suffix). Thus it can
serve as a scene segmenter without classification; however, in order to
obtain good results, training statistics for each class occurring in the
scene should be provided. Note that cells which do not meet the
statistical homogeneity test are thresholded in the \_echoField and
\_echoClasses files. A large number of thresholded pixels in these files
indicates that either classes exist which are not represented in the
training set, the size of the homogeneous areas are smaller than the
cell size, or the homogeneous threshold was set at too stringent of a
level.

Upon choosing the ECHO algorithm, an additional dialog box as follows is
presented, allowing for the three additional parameters which are unique
to ECHO to be chosen.

+--------------------------------------------+-------------------------+
| ![](media                                  | Parameter Ranges        |
| /image58.pct){width="3.9305555555555554in" |                         |
| height="2.8055555555555554in"}             | Cell Size: 1 - 100      |
|                                            |                         |
|                                            | Homo. Cell Thresh.      |
|                                            |                         |
|                                            | Percent 0 - 100         |
|                                            |                         |
|                                            | Likelih. 0 - 1,000,000  |
|                                            |                         |
|                                            | Annex Thres. 0 - 100    |
+--------------------------------------------+-------------------------+

The cell size parameter allows one to control the size of the area to be
treated as a cell for homogeneity testing. The larger the value the
blockier the classification will be but the classification may go more
quickly as long as there are not too many cells that are thresholded.
The homogeneous cell threshold may be set in either of two ways - as a
percent probability or as the actual likelihood value for thresholding.
The percent probability will represent that portion of the tail of the
Gaussian density function to thresholded. The percent probability value
is converted to a likelihood value which is unique for each class. If
the highest class likelihood value for a cell is less than this
homogeneous likelihood value then the cell is thresholded. The higher
the homogeneous value, the higher the number of cells that will be
thresholded. The annexation threshold value determines which cells are
to be combined into fields. If the annexation value for a cell to a
field or a field to a field is less than this value then the two are
treated as separate fields. The higher the annexation value, the lower
the number of homogeneous fields for a given homogeneous cell threshold.
The \'Merge Like Fields\' check box allows control over whether to annex
(combine) like fields. If this box is not checked then only cells are
combined with fields, not fields to fields. The last check box, labeled
"Create Files for Homogeneous Fields & Classes," if checked, will cause
additional

files showing the boundaries of homogeneous fields and classes to be
created. These can be used to form scene segmentation maps of the data.

[List Results]{.underline}

This command becomes available whenever a thematic image is the active
window. It is used to provide tables showing the assignment of pixels in
the active window to the classes defined. An example table is as shown
below.

  ------------- ------- ------- ------- ------- ------- ------- ------- -------
  TEST GROUP                                                            
  PERFORMANCE                                                           

  ------------- ------- ------- ------- ------- ------- ------- ------- -------

  ------------ ------- ------- ------- ------- ------- ------- ------- -------
  Project                                                              
  Number of                                                            
  Samples in                                                           
  Thematic                                                             
  Image Group                                                          

  ------------ ------- ------- ------- ------- ------- ------- ------- -------

  ----------- ------- --------- -------- ------- ------- ------- ------- -------
  Group       Group   Percent   Number   1       2       3       4       5

  ----------- ------- --------- -------- ------- ------- ------- ------- -------

  ----------- -------- --------- --------- -------- ------- ------- -------- -------
  Name        Number   Correct   Samples   Soybea   Corn    Small   Forage   Br Soi

  ----------- -------- --------- --------- -------- ------- ------- -------- -------

  ----------- ------- ------- -------- ------- ------- ------- ------- -------
  Soybeans    1       93.8    25174    23609   795     714     18      38

  ----------- ------- ------- -------- ------- ------- ------- ------- -------

  ----------- ------- ------- -------- ------- ------- ------- ------- -------
  Corn        2       81.2    10625    715     8625    458     827     0

  ----------- ------- ------- -------- ------- ------- ------- ------- -------

  ----------- ------- ------- -------- ------- ------- ------- ------- -------
  Small       3       96.5    18084    66      182     17459   377     0
  Grains                                                               

  ----------- ------- ------- -------- ------- ------- ------- ------- -------

  ----------- ------- ------- -------- ------- ------- ------- ------- -------
  Forage      4       95.0    15522    59      342     379     14742   0

  ----------- ------- ------- -------- ------- ------- ------- ------- -------

  ----------- ------- ------- -------- ------- ------- ------- ------- -------
  Br Soil     5       99.3    1230     5       1       2       0       1222

  ----------- ------- ------- -------- ------- ------- ------- ------- -------

  ------------ ------- ------- ------- ------- ------- ------- ------- -------
                                                                       

  ------------ ------- ------- ------- ------- ------- ------- ------- -------

  ------------ ------- ------- ------- ------- ------- ------- ------- -------
                       TOTAL   70635   24454   9945    19012   15964   1260

  ------------ ------- ------- ------- ------- ------- ------- ------- -------

  ------------ ------- ------- ------- ------- ------- ------- ------- -------
                                                                       

  ------------ ------- ------- ------- ------- ------- ------- ------- -------

  ------------- ------- ------- ------- ------- ------- ------- ------- -------
  OVERALL                                                               
  PERFORMANCE (                                                         
  65657 / 70635                                                         
  ) = 93.0                                                              

  ------------- ------- ------- ------- ------- ------- ------- ------- -------

Upon selection of the List Results command, the dialog box shown below
is presented.

![](media/image59.pct){width="4.638888888888889in"
height="3.5555555555555554in"}

From this dialog box, one may choose the following options:

AREA TO USE: Training areas, test areas, and/or selected image area. To
use training areas one must have a project open. To use test areas, one
must have a project open which has test areas defined.

SUMMARY TYPE: Fields, Classes, and/or Groups. This option only applies
to training and testing areas. The fields, classes and/or groups will be
listed in rows, respectively. To obtain a grouping summary, one must
have done the grouping in the \'Display Image\' processor dialog box.

TABLE TYPE: Class or group. The columns represent the classes or groups
in the thematic image file respectively.

TABLE UNITS: The units for the table may be samples, percent of samples,
or area. If \'area units\' is selected, one must specify an area
conversion factor to be used, e.g. hectares per pixel. The limit for the
conversion factor is 3 places to the left and right of the decimal
point.

THRESHOLD RESULTS: If one has both the thematic file and the Probability
Results file for a classification open and the thematic file active,
then one can threshold the results. Selecting the "Threshold Result"
check box will cause a box to appear in which the desired threshold
level can be indicated.

The Table(s) may be presented in the Text Window and/or they may be
stored in a disk file by \'checking\' the \'Disk File\' box.

[Utilities]{.underline}

  -------------------------- -----------------------------------------------------
  Upon mousing down on the   ![](media/image60.pct){width="3.8055555555555554in"
  Utilities selection, the   height="1.0416666666666667in"}
  submenu at right appears.  
  Items in the submenu may   
  be selected by dragging    
  over to the desired        
  selection.                 

  -------------------------- -----------------------------------------------------

*Principal Component Analysis\...* One can run a principal component
analysis on selected project classes for training or test areas, or for
a selected area of a multispectral image file. One can also select the
channels to be used. The options include the ability to list the
eigenvectors (the eigenvalues are always listed). One can also request
that the analysis be done on the covariance matrix or the correlation
matrix (equalized variances). If the "Save Eigenvalues/Eigenvectors"
option is chosen, then upon completion of the calculation, one can
immediately use the transformed features in the Classify, Feature
Selection, Create Statistics Image, or Check Covariances processors, by
using the check appropriate check box on the opening dialog box of each
processor. One can also store the transformation by using the "Save
Transformation as\..." selection of the File menu. One can also use the
Reformat processor to create a principal component file and from it,
e.g., principal component images. (See Reformat \... processor
previously described.)

*Create Statistics Image\...* This command allows one to generate an
image file which displays the correlation matrix of classes or fields as
color images. This may be done using either the original statistics or
those created with the Principal Components or the Feature Extraction
Processor via a check box in the dialog box. The image file is in
Thematic Map format. After creation, the Statistics Image file may be
displayed by opening the file in the usual way. A more complete
discussion of this image is provided in the \'Using MultiSpec\' section.

*BiPlots of Data\....* With this selection, on may plot the data of one
channel vs. that of another, as seen in the example below left. One may
also show the ellipses of concentration of training classes or test
classes as is shown below right. In this case the ellipse of
concentration of class 3 is compared to that of class 4 in channels 5
vs. 2.

![](media/image61.pct){width="3.4722222222222223in"
height="1.6111111111111112in"}![](media/image62.pct){width="3.4444444444444446in"
height="1.6111111111111112in"}

  --------------------- ----------------------------------------------------
  Upon choosing this    ![](media/image63.pct){width="4.486111111111111in"
  option, the dialog    height="2.7222222222222223in"}
  box at right is       
  presented. This       
  allows for the        
  selection of which    
  channels to show on   
  the horizontal and    
  vertical axes, and    
  whether the           
  presentation is to be 
  in the feature        
  original space or the 
  transformed space.    
  One may select all or 
  a subset of training  
  or test classes, the  
  choice of displaying  
  the actual pixel      
  locations from a      
  specifiable area,     
  and/or the ellipses   
  of concentration of   
  the pixels and        
  classes, and what     
  threshold level to    
  use for the ellipses. 
  One can also select   
  the symbols to be     
  used.                 

  --------------------- ----------------------------------------------------

*List Image Description* This command causes a table to be listed in the
output text window which describes the characteristics of the image
file(s) used for the active image window.

*Check Covariances \...* This command allows one to check if the class
covariance statistics are singular. This may be done using either the
original statistics or those created with the Principal Components or
the Feature Extraction Processor via a check box in the dialog box. The
command also allows one to examine the \"quality\" of the covariance
inversion. For each class covariance matrix: the covariance matrix is
listed in the output text window; the inverted covariance matrix is
listed with the determinant, rank, and CPU time for inversion (to the
nearest second); the result of the multiplication of the original and
inverted matrix is listed along with the \'total error\' difference
between the multiplied matrices and the identity matrix. The \'total
error\' is the sum of absolute difference between all elements in the
multiplied matrix and the identity matrix. Lastly, the inverted -
inverted covariance matrix is listed. All computations in the MultiSpec
application are done with 19 digit precision for 680x0 based machines
and 15 digit precision for PowerPC based machines. The inverted -
inverted covariance matrix should give the original covariance matrix as
long as the covariance matrix is not singular.

*Check Transformation Matrix* This command results in a dialog box being
presented to allow one to do one or more of several actions - list the
eigenvalues, list the transformation matrix (eigenvectors), check the
transformation matrix by multiplying the transposed matrix times the
matrix and comparing with the identity matrix, and/or listing the
resulting multiplied matrix.

The Palette Menu

+---------------------------+------------------------------------------+
| !                         | The commands under this menu allow one   |
| [](media/image64.pct){wid | to view the current palette used in      |
| th="2.4305555555555554in" | displaying the data in the active image  |
| heigh                     | window and to have some control over the |
| t="2.0555555555555554in"} | way the image in the active image window |
|                           | is to be displayed.                      |
|                           |                                          |
|                           | Notice that these commands are in groups |
|                           | separated by dashed lines. The command   |
|                           | in each group that is set for the active |
|                           | image window has a √ to the left of it.  |
|                           |                                          |
|                           | [Show Classes]{.underline}               |
|                           |                                          |
|                           | This command is used for thematic type   |
|                           | image windows. The command will force    |
|                           | the individual classes to be displayed   |
|                           | in the active image window using the     |
|                           | most recent color palette defined for    |
|                           | those classes.                           |
+---------------------------+------------------------------------------+

[Show Information Groups]{.underline}

This command is used for thematic type image windows. The command will
force the currently defined information groups for the image window to
be displayed using the most recent color palette defined for the groups.

[Invert Palette]{.underline}

This command is used for multispectral type image windows. The \"Invert
Palette\" command is used to reverse the order of the colors or patterns
relative to low and high data values. Normally black or dark colors
indicate low data values and white or light colors indicated high data
values. If the palette is inverted, a check will be placed to the left
of the \"Invert Palette\" command. One can put the palette in normal
mode by executing this command again. The check will be removed.

[Show Palette Window]{.underline}

The \"Show Palette Window\" command will cause a window to be presented
along the right edge of the screen which contains the colors or patterns
that are being used to display the image in the active image window. If
the palette window is being displayed, then this command will change to
"Close Palette Window".

[Blink Procedure 1/Blink Procedure 2]{.underline}

For circumstances where blinking of screen elements is implemented, e.g.
blinking of colors in thematic display of clustering and classification
results, two blinking procedures have been implemented. Blink procedure
2 is the fastest; however this procedure only works if 32-bit quickdraw
is available in the Macintosh operating system and the monitor being
used is in 8-bit color mode. The speed of the blinking is dependent upon
the size of the thematic map and the zoom magnitude. If, for a given set
of circumstances, the blinking speed is unsatisfactory or the blinking
operation does not seem to work, one should try choosing the alternate
blinking procedure.

The Options Menu

+-------------------------------+--------------------------------------+
| ![](media/image65.pct)        | [Show Selection                      |
| {width="2.8472222222222223in" | Coordinates]{.underline}             |
| h                             |                                      |
| eight="1.2916666666666667in"} | This command causes a small window   |
|                               | to be displayed in the upper right   |
|                               | of the screen which displays the     |
|                               | line and column numbers for the      |
|                               | selected area in the active image    |
|                               | window. Two sets of values are       |
|                               | presented, the line-column numbers   |
|                               | for the upper left corner of the     |
|                               | rectangle and the line-column        |
|                               | numbers for the lower right corner   |
|                               | of the rectangle. The location of    |
|                               | the cursor, in line and column       |
|                               | values, is also shown in the         |
|                               | coordinate window.                   |
+-------------------------------+--------------------------------------+

If one wants to also display the latitude and longitude of the cursor
for those images in Lambert Azimuthal Equal Area projection (e.g., AVHRR
images), then one should hold the option key down when the \'Show
Selection Coordinates\' menu item is selected under the \'Options\'
menu. This causes the following dialog box to be displayed, with which
the needed parameters for the current data set can be entered.

![](media/image66.pct){width="4.472222222222222in"
height="2.8055555555555554in"}

[Show /Keep Selection Graph]{.underline}

Selection of the Show Selection Graph command causes a Selection Graph
Window to be opened. When one makes a selection within the image, the
average, plus and minus one standard deviation and the minimum and
maximum values are plotted in the selection graph as a response vs.
channel number. If the selection represents only one pixel, only the
values for that pixel are plotted. If the selection is for a thematic
image window, the data value for the upper left pixel in the selection
is plotted. The Selection Graph Window may be re-sized and moved on the
screen in the usual manner. An example graph from this option is given
in the Using MultiSpec section.

One can \'keep\' selection graphs. Once a selection graph window is
displayed, the \'Show Selection Graph\' menu item under Options changes
to \'Keep Selection Graph\'. If this menu item is selected, the contents
of the current graph selection window is fixed and a new selection graph
window is created. One can have up to 15 selection graph windows opened
at any one time. Use the close box in the graph selection window to
close the window. Graph windows cannot be printed directly, however,
they can be copied to the clipboard. A graph window will be copied just
as it is on the screen. The graph can then be copied into another
application such as a word processor. To copy a graph window, make it
the active window, and then use the edit menu item COPY or COMMAND-C. If
one is displaying graphs within the List Data processor then one must
use COMMAND-C to copy the graph window.

[Selection Graph Options]{.underline}

This feature has not yet been implemented.

[Memory Status]{.underline}

This command causes a dialog to be presented that indicates how much
memory is free for the application. Click on the \"Continue\" button to
remove the dialog box from the window.

General Characteristics Of MultiSpec

MultiSpec supports the high level Apple Events. The Apple Events that
MultiSpec currently supports are the four required events: open
application, open document, print document, and quit application.
Eventually it is planned to have MultiSpec fully scriptable, e.g., to
have the capability to have a client application use MultiSpec to obtain
the project statistics and image data to be used for another type of
classifier being developed.

Apple\'s Balloon Help capability for System 7 has been implemented for
the menu items.

One can now put MultiSpec in the background when one is displaying an
image. Both the short status dialogs (as used in the Reformat processor)
and the long status dialogs (as used in the Classify processor) are
moveable if MultiSpec is being run under the Macintosh Operating System
7. If a status dialog box is being displayed the user has access to the
application menu to place MultiSpec in the background. Also the \'Use
command-period to cancel line\' has been replaced by a \'Cancel\'
button. Generally speaking the cancel button is checked every 1-2
seconds so that there may be some delay in the actual cancel operation.

Alias files will always be referenced back to the target file. In
previous MultiSpec versions, the alias files themselves would sometimes
be used as the image file not the original target file.

**Appendix A. Project File Format**

Versions 890105, 900508, 911106, 920226, 930226, 940105.

Descriptions of the format of each line in the project files follow. The
item given between the single quotes are exact descriptions of what is
in the field or parameter. \'\\t\' refers to a tab and \'\\r\' refers to
a carriage return. The information between () to the right of each
parameter is the \'C\' format that was used to write the value to the
project file.

Project format description line.

MultiSpec project format file identifier.

\'PROJECT FORMAT VERSION\'

Project format version identifier.

\' 890105\' or \'900508\' or \'911106\' or \'920226\' or \'930226\' or
\'940105\'

Filler

\' 1\\r\' or \'0\\r\' or \'0\\r\' or \'0\\r\' or \'0\\r\' or \'0\\r\'

Project information lines.

P1 line.

\'P1 PROJECT NAME\\t\'

number of characters in project name, \'\\t\' - (%d)

project name, \'\\t\' - (%s)

number of characters in base image file name, \'\\t\' - (%d)

base image file name, \'\\r\' - (%s)

P2 line

> \'P2\\t\'
>
> number of lines in base image file, \'\\t\' - (%ld)
>
> number of columns in base image file, \'\\t\' - (%ld)
>
> number of channels in base image file, \'\\t\' - (%d)
>
> number of bytes in data values in base image file, \'\\t\' - (%d)
>
> start line of base image file, \'\\t - (%ld) (900508 and later
> versions)
>
> start column of base image file, \'\\t - (%ld) (900508 and later
> versions)
>
> number of bits per data value in base image file, \'\\t\'-(%d) (911106
> and later versions)
>
> swap bytes flag, \'\\t\'-(%d). 0=no, 1=yes. (911106 and later
> versions)
>
> band interleave code, \'\\t\'-(%d). 1=BIL, 2=BSQ, 3=BIS. (911106 and
> later versions)
>
> number of header bytes, \'\\t\'-(%ld) (911106 and later versions)
>
> number of trailer bytes, \'\\t\'-(%ld) (911106 and later versions)
>
> number of preline bytes, \'\\t\'-(%ld) (911106 and later versions)
>
> number of postline bytes, \'\\t\'-(%ld) (911106 and later versions)
>
> number of classes, \'\\t\' - (%d)
>
> number of classes with training field, \'\\t\' - (%d)
>
> number of fields, \'\\t\' - (%d)
>
> number of training fields, \'\\t\' - (%d)
>
> number of test fields, \'\\t\' - (%d)
>
> number of coordinates that define the fields, \'\\t\' - (%d)
>
> number of statistics channels, \'\\t\' - (%d)
>
> flag indicating whether computed statistics for the project are
> up-to-date, \'\\t\' - (%d).
>
> 0 = no, 1 = yes.
>
> code indicating the type of statistics computed for the project,
> \'\\t\' - (%d).
>
> 1 = mean & standard deviation only. 2 = mean, standard deviation, and
> covariance. (920226 and later versions)
>
> flag indicating whether only the class statistics are saved instead of
> the field
>
> statistics, \'\\t\' - (%d) - \'\\r\'. 0 = no, 1 = yes. (930226 and
> later versions)

P3 line

> \'P3\\t\'
>
> channel numbers separated by tabs, \'\\t\', and ending with a carriage
> return, \'\\r\' - (%d).

Line indicating start of training statistics.

\'Training Statistics\\r\'

Class information. There will be one set of the following information
for each class in the project. Note that beginning with the 920226
version, the class statistics will be computed by summing the field
statistics if the class statistics lines are not present. This was done
to reduce the size of the project. If the statistics for a field have
not been computed, then the FS and FSS lines are not required.

C1 - required.

CM - optional for 920226 and later versions.

CS - optional for 920226 and later versions.

CCV - optional for 920226 and later versions.

CSS - optional for 920226 and later versions.

CEM - optional for 940105 and later versions.

CEC - optional for 940105 and later versions.

F1 - required. One for each field in the class.

FS - required if computed. One for each field in the class.

FSS - required if computed. One for each field in the class.

FM - required if computed. One for each field in the class.

FN - required if computed. One for each field in the class.

FCV - optional for 920226 and later versions.

FX - optional for 920226 and later versions.

V1- required. One set for each field in the class.

C1 line.

> \'C1\\t\'
>
> number of characters in the class name, \'\\t\' - (%d)
>
> class name, \'\\t\' - (%s)
>
> number of fields in the class, \'\\t\' - (%d)
>
> number of training fields in the class, \'\\t\' - (%d)
>
> number of test fields in the class, \'\\t\' - (%d)
>
> total number of training pixels in the class, \'\\t\' - (%d)
>
> flag indicating whether the computed statistics for the class are
> up-to-date, \'\\t\' - (%d)
>
> 0 = no, 1 = yes.
>
> flag indicating if enhanced statistics exist for the class, \'\\t\' -
> (%d)
>
> 0 = no, 1 = yes. (940105 and later versions)
>
> prior weighting for original statistics, \'\\t\' - (%f) (940105 and
> later versions)
>
> prior weighting for enhanced statistics, \'\\t\' - (%f) - \'\\r\'
> (940105 and later versions).
>
> CM line - Channel means for the class.
>
> \'CM\\t\'
>
> channel means separated by tabs,\'\\t\'. The last channel mean is
> followed by a carriage return,\'\\r\'. - (%.9g)
>
> CS line. Sums of the data values for each channel in the class.

\'CS\\t\'

> channel sums separated by tabs,\'\\t\'. The last channel sum is
> followed by a carriage return,\'\\r\'. - (%.0f)
>
> CCV lines. The covariance matrix for the class is written in lower
> triangular form.

\'CCV\\t\'

> covariance values separated by tabs,\'\\t\'. The last covariance value
> for each line in the lower triangular matrix is followed by a carriage
> return,\'\\r\'. - (%.9g)
>
> CSS lines. A matrix of the sum of the squares of the data values for
> the class is written in lower triangular form.
>
> \'CSS\\t\'
>
> sum of square values separated by tabs,\'\\t\'. The last value for
> each line in the lower triangular matrix is followed by a carriage
> return,\'\\r\'. - (%.0f)
>
> CEM line - Enhanced channel means for the class.
>
> \'CEM\\t\'
>
> The enhanced channel means are written in 12-byte (MC68881 Extended)
> binary form. The last channel mean is followed by a carriage
> return,\'\\r\'.
>
> CEC lines - The enhanced covariance matrix for the class is written in
> lower triangular form.
>
> \'CEC\\t\'
>
> The enhanced values are written in 12-byte (MC68881 Extended) binary
> form. The last enhanced value for each line in the lower triangular
> matrix is followed by a carriage return,\'\\r\'.

Field information. There will be one set of the following information
for each training field in the class - lines F1, FM, FS, FCV, FSS, and
V1.

F1 line

> \'F1\\t\'
>
> number of characters in the field name, \'\\t\' - (%d)
>
> field name, \'\\t\' - (%s)
>
> number of coordinate points that describe the field , \'\\t\' - (%d)
>
> class number that the field belongs to, \'\\t\' - (%d)
>
> code for the field type, \'\\t\' - (%d). 1=training, 2=testing.
>
> code for the coordinate type, \'\\t\' - (%d). 1=rectangular,
> 2=polygonal, 3=cluster
>
> total number of pixels in the field, \'\\t\' - (%d)
>
> flag indicating whether the statistics for this field have been loaded
> into the class statistics, \'\\t\' - (%d)
>
> flag indicating whether the computed statistics for the field are
> up-to-date, \'\\r\' - (%d)
>
> FM line - Channel means for the field. If the statistics have not been
> computed for the field yet, this line will not be included.
>
> \'FM\\t\'
>
> channel means separated by tabs, \'\\t\'. The last channel mean is
> followed by a carriage return, \'\\r\'. - (%.9g)
>
> FN line - Channel minimums for the field. If the statistics have not
> been computed for the field yet, this line will not be included.
>
> \'FN\\t\'
>
> channel means separated by tabs, \'\\t\'. The last channel mean is
> followed by a carriage return, \'\\r\'. - (%d)
>
> FS line. Sums of the data values for each channel in the field. If the
> statistics have not been computed for the field yet, this line will
> not be included.
>
> \'FS\\t\'
>
> channel sums separated by tabs, \'\\t\'. The last channel sum is
> followed by a carriage return, \'\\r\'. - (%.0f)
>
> FCV lines. The covariance matrix for the field is written in lower
> triangular form. If the statistics have not been computed for the
> field yet, this line will not be included.
>
> \'FCV\\t\'
>
> covariance values separated by tabs, \'\\t\'. The last covariance
> value for each line in the lower triangular matrix is followed by a
> carriage return, \'\\r\'. - (%.9g)
>
> FSS lines. A matrix of the sum of the squares of the data values for
> the field is written in lower triangular form. If the statistics have
> not been computed for the class yet, this line will not be included.
>
> \'FSS\\t\'
>
> sum of square values separated by tabs, \'\\t\'. The last value for
> each line in the lower triangular matrix is followed by a carriage
> return,\'\\r\'. - (%.0f)
>
> FX line - Channel maximums for the field. If the statistics have not
> been computed for the field yet, this line will not be included.
>
> \'FX\\t\'
>
> channel means separated by tabs, \'\\t\'. The last channel mean is
> followed by a carriage return, \'\\r\'. - (%d)

Coordinate description of the field.

> V1 lines. There will be one \'V1\' line for each one of the coordinate
> points that describe the field. If the point type is \'rectangular\',
> point type = 1, then two coordinate points are given - the upper left
> corner and the lower right corner. If the point type is \'polygonal\',
> point type = 2, then a coordinate point is given for each vertex of
> the polygon.

\'V1\\t\'

line number of coordinate, \'\\t\' - (%d)

column number of coordinate, \'\\r\' - (%d)

\"Sets of information for rest of training fields for the class\"

.

.

\"Sets of information for rest of classes in the project\"

.

.

.

Line indicating start of test field information.

\'Test Fields\\r\'

Test field information. There will be one set of the following
information for each test field in each of the classes - lines F1 and
V1.

F1 line - See description for \'F1\' line above.

V1 lines - See description for \'V1\' lines above.

**Appendix B. MultiSpec Limits**

Some of the limits for MultiSpec are described below. In most cases the
limits are high enough so that the real limits are memory, disk space
and time.

**Image File Description Maximums**

number of lines - 99,999

number of columns - 99,999

number of channels - 8,192 (Multispectral)

number of unique classes numbers - 32,767 (Thematic)

start line - 2,147,483,647

start column - 2,147,483,647

header bytes - 2,147,483,647

trailer bytes - 2,147,483,647

pre-line bytes - 2,147,483,647

post-line bytes - 2,147,483,647

pre-channel bytes - 2,147,483,647

post-channel bytes - 2,147,483,647

maximum file size (bytes) - 2,147,483,647

maximum number of data value bytes - 2

maximum number of data value bits - 16

minimum data value - --32768

maximum data value - 65535

**Displayable Limits**

number of lines - 32,767

number of columns (B/W pattern, 8-bit color) - 16,376

number of columns (24-bit color) - 4,094

maximum magnification - 99

minimum magnification - 0.01

number of classes (Thematic display) - 32,767

**Project Maximums**

number of statistics channels - 8192

number of classes - 256

total number of fields - 32,767

number of fields per class - 512

total number of points to describe fields - 32,767

Appendix C. What's New in this version

**Standard Version**

Previously MultiSpec was issued in either of two versions, the standard
one for 680x0 based Macintoshes with a math coprocessor or a special one
for 680x0 based Macintoshes without a math coprocessor. To accommodate
the coming of the PowerPC Macintoshes, the standard version is now a
so-called fat binary version which will run in native mode on PowerPC
machines and on 680x0 based Macintoshes with a math coprocessor. The
size of this version is thus significantly larger that the previous
standard version. There will continue to be a special version for 680x0
based machines without a math coprocessor.

**BiPlot Of Data**

This is a new processor under the Utilities submenu under the Processor
Menu item. This processor allows the user to make scatter plots of
selected areas and pairs of channels of data. One can create a biplot of
training data, test data and selected areas. This processor also allows
one to draw the ellipses of concentration representing the class
statistics on the biplot graphs. The ellipse plots represent the ellipse
for the data projected onto the requested plane. One can control the
size of the ellipse by setting the desired threshold level in percent.
One can plot the data values and ellipses in transformed space by
selecting the \'Use Transformation\' check box in the Biplot Dialog
window. If a transformation is applied to the data, \'Feature\' will be
used as the abscissa label on the graphs; if the original data is being
plotted then \'Channel\' is used for the label.

**Save Image As\...**

This version allows the user to save the active image window (or the
selection within the window) to a TIFF formatted disk file. Thematic
images and 8-bit color multispectral images are saved as TIFF
Palette-color images, 1 channel multispectral images are saved as TIFF
Gray scale images and 16-24 bit color multispectral images are saved as
TIFF RGB Full Color images.

**Open Image/Display Image**

This version will recognize and open some TIFF formatted images. The
TIFF image may be 8 or 16 bits (not 1 bit) and the image must not be in
a compressed format. Those TIFF images with color tables are treated as
a Thematic type image and those TIFF images with 1 or more layers (or
channels) and no color table are treated as Multispectral type images.

**Thematic Image Window**

A user can now hold the shift key and command key down when the cursor
is over the legend color chip or a pixel in the image to flash all other
classes to the background when clicking the mouse button. If one just
holds the shift key down, the reverse happens; the selected class
flashes.

**Reformat-Change Image File Format**

The \'Entire Image/Selected Area\' icon has been added to the dialog
box. Also one can enter the line and column values in any order without
causing an error beep to occur when the end line or column is less than
the start line or column. This error condition is checked after the OK
button is selected and an error beep is given at this time as a warning
to the user.

**Reformat-Change Image File Format-Create Principal Component Images.**

A change was made so that transformed data would be in the middle of the
requested range of the data when a scale factor other than \'1\' is
used.

**Reformat-Change Image File Format**

Also changes were made in the dialog box so that the user knows that the
principal component images can not be created in a band sequential (BSQ)
output format .

**Classify - Echo**

A new option has been added to the Echo Parameter dialog box. The user
now has the option of whether to create the \'extra\' homogeneous fields
and classes image disk files. The default is for no homogeneous fields
and classes files.

**Classify**

The default variance to be used as a replacement for zero variance
classes was changed from 0.0001 to 0.01.

**Feature Extraction**

A new option has been added to allow the user a choice in whether the
resulting transformation matrix will be listed in the output text
window. This was added particularly for those cases when 100 or more
channels are being used.

**Evaluate Transformation Matrix**

This Utility menu item action was changed so that a dialog box is now
presented to the user to allow one to do one or more of several
actions - list the eigenvalues, list the transformation matrix
(eigenvectors), check the transformation matrix by multiplying the
transposed matrix time the matrix and comparing with the identity
matrix, and/or listing the resulting multiplied matrix.

**General**

The labels on the buttons for the alert dialogs have been changed from
Yes-No to Open-Don\'t Open, Save-Don\'t Save, Finish-Don\'t Finish
whichever is appropriate. This was done to comply with the Apple User
Interface Guidelines.

[^1]: Different versions are required for PowerPC Macintoshes and 680x0
    based machines with a math coprocessor than with 680x0 based
    machines without a math coprocessor.

[^2]: Assuming an 8 bit display is being used, setting two colors to the
    same band results in a larger number of \"gray\" values per color.
    This usually results in a better appearing display. If a 24 bit
    color display is being used then each color is assigned to a
    different band, providing a display of full quality.

[^3]: For a Macintosh Quadra 840av. Times will vary depending on the
    Macintosh model.

[^4]: Apple LaserWriter driver version 6.0 or later is required to
    obtain a dithered gray scale printout from a LaserWriter. Earlier
    versions will not produce gray scale images.

[^5]: Other word processor software may prove just as satisfactory.

[^6]: The following instructions refer to Version 4 or 5 of Microsoft
    Word.

[^7]: If you are testing this procedure using a LaserWriter, you may
    also need to click the **Options** button and set the **Larger Print
    Area** option in order for the line numbers to occur in the
    printable area of the LaserWriter.

[^8]: It may also be useful to display the data in side-by-side format
    to see that all bands of data are present and of reasonable quality
    at least in terms of subjective appearance.

[^9]: The Feature Extraction processor is also now available for this
    task. See the discussion on this processor later in this section.

[^10]: The Enhance Statistics processor may be used to improve the
    extent to which the classifier successfully generalizes from the
    training to the other samples of the data set. See the discussion on
    this new processor later in this section.

[^11]: We will indicate the commands to be used if Microsoft Excel is
    the spreadsheet being used, but any other spreadsheet could be used
    as well.

[^12]: Behzad M. Shahshahani and David A. Landgrebe, \"Using Partially
    Labeled Data For Normal Mixture Identification With Application To
    Class Definition,\" Proceedings of the International Geoscience and
    Remote Sensing Symposium (IGARSS\'92), Houston, TX, pp. 1603-5 May
    26-29, 1992.

[^13]: B.M. Shahshahani, D.A. Landgrebe, \"On the Asymptotic Improvement
    of Supervised Learning by Utilizing Additional Unlabeled Samples;
    Normal Mixture Density Case,\" SPIE Int. Conf. Neural and Stochastic
    Methods in Image and Signal Processing, San Diego, CA, July 19-24,
    1992.

[^14]: Behzad M. Shahshahani and David A. Landgrebe, "Use Of Unlabeled
    Samples For Mitigating The Hughes Phenomenon" Proceedings of the
    International Geoscience and Remote Sensing Symposium (IGARSS\'93),
    Tokyo, pp. 1535-7, August 1993.

[^15]: Behzad M. Shahshahani and David A. Landgrebe, "Classification of
    Multi-Spectral Data By Joint Supervised-Unsupervised Learning," PhD
    thesis, School of Electrical Engineering, Purdue University,
    December 1993, School of Electrical Engineering Technical Report
    TR-EE-94-1, January, 1994.

[^16]: Behzad M. Shahshahani and David A. Landgrebe, "The Effect of
    Unlabeled Samples in Reducing the Small Sample Size Problem and
    Mitigating the Hughes Phenomenon," *IEEE Transactions on Geoscience
    and Remote Sensing*, Vol. 32, No. 5, pp 1087-1095, September 1994.

[^17]: This is a fairly lengthy calculation for as many as 10,000+
    samples in 7 bands. It will go through 28 iterations and used 600
    seconds on a Macintosh Quadra 840AV.

[^18]: The form implemented in MultiSpec actually assumes one component
    per class. Thus each subclass is treated as if it were a class.

[^19]: Lee, Chulhee and David A. Landgrebe, \"Feature Selection Based On
    Decision Boundaries,\" 1991 International Geoscience and Remote
    Sensing Symposium, Espoo, Finland, Jun-91.

[^20]: Chulhee Lee and David A. Landgrebe, \"Feature Extraction Based On
    Decision Boundaries,\" IEEE Transactions on Pattern Analysis and
    Machine Intelligence, IEEE Transactions on Pattern Analysis and
    Machine Intelligence, Vol. 15, No. 4, April 1993, pp 388-400.

[^21]: Chulhee Lee and David A. Landgrebe, "Feature Extraction And
    Classification Algorithms For High Dimensional Data," PhD Thesis,
    Purdue University, December 1992, and School of Electrical
    Engineering Technical Report TR-EE 93-1, January 1993.

[^22]: We note in passing that though the DBFE algorithm has been used
    here only in its parametric form, it has been generalized to
    nonparametric classifiers as well. See:

    > -Chulhee Lee and David A. Landgrebe, \"Decision Boundary Feature
    > Extraction for Non-Parametric Classification,\" IEEE Transactions
    > on System, Man, and Cybernetics, Vol. 23, No. 2, March/April,
    > 1993, and,
    >
    > -Chulhee Lee and David A. Landgrebe, "Decision Boundary Feature
    > Extraction for Neural Networks," IEEE International Conference on
    > Systems Man and Cybernetics, Chicago, Ill., October 18-21, 1992.

[^23]: Chulhee Lee and David A. Landgrebe, \"Analyzing High Dimensional
    Multispectral Data, IEEE Transactions on Geoscience and Remote
    Sensing, Volume 31, No. 4, pp 792-800, July 1993.

[^24]: If one holds down the option key while selecting the \'Open
    Image\' menu item under the File menu, files of all types will be
    displayed in the dialog box.

[^25]: The currently recognized formats are ERDAS, VICAR, Sun \"Screen
    Dump\", GAIA, MacSADIE, TARGA uncompressed, TIFF uncompressed,
    LARSYS Multispectral Image Storage Tape (MIST), and MULTISPEC ASCII
    classification formats.

[^26]: This capability was really implemented for Probability Images.
    See the section on the Classify selection of the Processor menu.

[^27]: Matlab is a numeric computation and visualization software system
    by The Math Works, Inc., 24 Prime Park Way, Natick, MA 01760-1520.

[^28]: With MultiSpec, one can copy text from another application and
    then paste it into any dialog edit field. This may be a convenient
    method to use here if the General Algebraic Transformation equation
    is long.

[^29]: The ability to input channel descriptions from an external text
    file has not yet been implemented.

[^30]: See John A Richards, *Remote Sensing Digital Image Analysis*,
    First Edition, Springer-Verlag, 1986, pages 197-199, or Second
    Editon,1993, pages 236-7.

[^31]: The algorithm implemented here is similar to that originally
    described by Ball and Hall (1965). See John A Richards, *Remote
    Sensing Digital Image Analysis*, First Edition, Springer-Verlag,
    1986, pages 192-194 or Second Edition, 1993, pages 231-3 for a
    description.

[^32]: NOTE, a problem has been found with polygonal fields. The right
    most column and bottom most line will not be included in a polygonal
    field as one might expect. An example to illustrate the problem is
    to select a rectangular field and a polygonal field of the same
    area. The polygonal field will not include the right most column or
    the bottom most line as are included in the rectangular field of the
    same specifications. This should be taken into account when
    selecting polygonal fields. A fix for this problem is not known at
    this time.

[^33]: Behzad M. Shahshahani and David A. Landgrebe, \"Using Partially
    Labeled Data For Normal Mixture Identification With Application To
    Class Definition,\" Proceedings of the International Geoscience and
    Remote Sensing Symposium (IGARSS\'92), Houston, TX, pp 1603-5 May
    26-29, 1992.

[^34]: B.M. Shahshahani, D.A. Landgrebe, \"On the Asymptotic Improvement
    of Supervised Learning by Utilizing Additional Unlabeled Samples;
    Normal Mixture Density Case,\" SPIE Int. Conf. Neural and Stochastic
    Methods in Image and Signal Processing, San Diego, CA, July 19-24,
    1992.

[^35]: Behzad M. Shahshahani and David A. Landgrebe, "Use Of Unlabeled
    Samples For Mitigating The Hughes Phenomenon" Proceedings of the
    International Geoscience and Remote Sensing Symposium (IGARSS\'93),
    Tokyo, pp 1535-7, August 1993.

[^36]: Behzad M. Shahshahani and David A. Landgrebe, "Classification of
    Multi-Spectral Data By Joint Supervised-Unsupervised Learning," PhD
    thesis, School of Electrical Engineering, Purdue University,
    December 1993, School of Electrical Engineering Technical Report
    TR-EE-94-1, January, 1994.

[^37]: Behzad M. Shahshahani and David A. Landgrebe, "The Effect of
    Unlabeled Samples in Reducing the Small Sample Size Problem and
    Mitigating the Hughes Phenomenon," *IEEE Transactions on Geoscience
    and Remote Sensing*, Vol. 32, No. 5, pp 1087-1095, September 1994.

[^38]: Lee, Chulhee and David A. Landgrebe, \"Feature Selection Based On
    Decision Boundaries,\" 1991 International Geoscience and Remote
    Sensing Symposium, Espoo, Finland, Jun-91.

[^39]: Chulhee Lee and David A. Landgrebe, \"Feature Extraction Based On
    Decision Boundaries,\" IEEE Transactions on Pattern Analysis and
    Machine Intelligence, IEEE Transactions on Pattern Analysis and
    Machine Intelligence, Vol. 15, No. 4, April 1993, pp 388-400.

[^40]: Chulhee Lee and David A. Landgrebe, "Feature Extraction And
    Classification Algorithms For High Dimensional Data," PhD Thesis,
    Purdue University, December 1992, and School of Electrical
    Engineering Technical Report TR-EE 93-1, January 1993.

[^41]: See John A Richards, *Remote Sensing Digital Image Analysis*,
    First Edition, Springer-Verlag, 1986, pages 207-214, or Second
    Editon,1993, pages 246-253 for a detailed discussion of Divergence
    and Transformed Divergence.

[^42]: R. L. Kettig and D. A. Landgrebe, \"Computer Classification of
    Remotely Sensed Multispectral Image Data by Extraction and
    Classification of Homogeneous Objects,\" *IEEE Transactions on
    Geoscience Electronics*, Volume GE-14, No. 1, pp. 19-26, January
    1976.

    D.A. Landgrebe, \"The Development of a Spectral-Spatial Classifier
    for Earth Observational Data,\" *Pattern Recognition*, Vol. 12, No.
    3, pp. 165-175,1980.