User's Guide

SEARCH

Performs unsupervised training site selection

Function:

SEARCH performs unsupervised training site selection and creates a statistics file for use in a subsequent classification. An input image is processed as a collection of blocks. A block is accepted as a training site only if the standard deviations in all bands fall within specified bounds. After 50 training sites have been saved, the two having the smallest separability measure are merged and the process is continued.

Parameters:

IN
Input image. It may be a single or multi-band BYTE, INTEGER*2, INTEGER*4 or REAL*4 image. SEARCH processes the input image in 6 X 6 blocks. If the image dimensions are not multiples of 6, any excess will not be processed. For example, if the size of IN is 256 X 256, then only a 252 X 252 area will be processed.

OUTSTAT(--)
Output statistics file. A unique file name should be entered for the statistics file. If a statistics file with the same name already exists, SEARCH aborts the processing to prevent the existing one from being overwritten. If defaulted, no statistics file is produced.

SELMETH(0)
Site selection method. Size of the pixel blocks and the type of interclass distance measure that is to be used. It should be pointed out that even when 3 by 3 blocks have been selected, SEARCH tests the standard deviations computed for the 6 by 6 blocks and uses them if they fall within bounds. The 3 by 3 blocks are only used if the standard deviations computed for the larger blocks are out of bounds and SELMETH = 1.


  = 0: 6 x 6 using divergence
  = 1: 3 x 3 using scaled distance
  = 2: 6 x 6 using scaled distance

MERGETHR(0.0)
Maximum desired separability for merger. It is a threshold value for the merging process. When more than 50 sets of statistics have been saved, the pair having the smallest separation below MERGETHR is merged. If all inter-class separations are greater than MERGETHR, SEARCH attempts to delete classes which have only one field (36 samples) and which also have separation less than 4.5*MERGETHR. If no classes are deleted by this action, SEARCH will increase the value of MERGETHR and continue.

Note: MERGETHR defaults to 5.0 when SELMETH=0 and 2.4 when SELMETH=1 or 2. If MERGETHR is defaulted (0.0), the value of SELMETH will be used to compute another value for MERGETHR that will then be used by SEARCH.

STDEVLIM(0.01,3.0)
Standard deviation lower and upper bounds.


  STDEVLIM(1): standard deviation lower bound
  STDEVLIM(2): standard deviation upper bound

If STDEVLIM(1) is greater than 0.0, pixel blocks having uniform pixel values are rejected. Each 6 by 6 pixel block is used for a training sample if the standard deviations in each band fall within the bounds :

               
  SD(i) > STDEVLIM(1)
  SD(i) < MAX(STDEVLIM(2), COEFVAR*MEAN(i) )
              
where MEAN(i) = mean for band i

COEFVAR(0.055)
Coefficient of variation / 100. It is used in determining the upper bound of acceptability for testing standard deviations, and in the scaled distance computation.

PRINT(--)
Option for printed output of statistical summary. If the option is LP, the summary will go directly to the line printer. If a file name is entered, the summary will be written to the file.


  = --:   No report 
  = TERM: write to the 
          terminal
  = LP:   write to the line
          printer
  = FILENAME: write to the
        user supplied file

Examples:

  1. LAS> search in=sample.img selmeth=1 stdevlim(1)=0.0 print=lp

    SEARCH inputs the image SAMPLE.IMG. Scaled distance is used as the separability criterion. Window size is 3 x 3 (however, the program first processes a 6 x 6 pixel block and, if the standard deviations computed for the 6 x 6 block fall within user-specified bounds, the larger block is used). The lower bound is set to 0.0 for the test on standard deviation. Since OUTSTAT is not specified, statistics file is not generated. A statistical summary is written to the line printer.

  2. LAS> search in=sample.img outstat=sampstat selmeth=0

    SEARCH inputs the multiband image SAMPLE.IMG. A 6 x 6 pixel window is used, and interclass pairwise divergence is used as a separability measure. The statistics are written to the file SAMPSTAT.STAT. The statistical summary is not generated.

Description/Algorithm:

Means and standard deviations are computed for each band for each 6 x 6 pixel block. The block is used for a training sample if the standard deviations in each band fall within the bounds of:


       SD(i) > STDEVLIM(1)
       SD(i) < MAX (STDEVLIM(2), COEFVAR*MEAN(i))

where

       SD(i)   = standard deviation for band i
       MEAN(i) = mean for band i

and STDEVLIM(1), STDEVLIM(2), and COEFVAR are user-specified standard deviation lower and upper bounds and coefficient of variation, respectively. If the standard deviation of any band falls out of bounds, the 6 x 6 block is not processed further unless SELMETH = 1. If SELMETH = 1, 3 x 3 blocks within the larger block are analyzed as above. Once a block is accepted, the mean vector and covariance matrix for the block are computed and saved.

When 50 sets of statistics have been saved, the two having the smallest separation below MERGETHR are merged. If all interclass separations are greater than MERGETHR, SEARCH attempts to delete classes that have only one block (36 samples) and that also have separation less than 4.5*MERGETHR. If no classes are deleted by this action, SEARCH increases the value of MERGETHR by 1 and continues the merging process.

As a final processing step, SEARCH merges all sets of statistics having a separability measure less than the new MERGETHR. Also, to avoid classifying many small and often insignificant clusters, SEARCH deletes all the sets of statistics derived from 4, 3, 2, or 1 field(s) not having a separability measure of 1.5, 2.5, 3.5, or 4.5 times the new MERGETHR, respectively.

Nonfatal Error Messages:

    None.

Fatal Error Messages:

  1. [search-getnam] Cannot access the statistics file

    The statistics file name already exists. Restart the program with a different name.

  2. [search-matinv] Cannot invert a singular matrix

    A singular or near-singular matrix was encountered and thereby renders the application incapable of calculating class statistical information.

  3. [search-noclass] Processing completed with no classes found

    The user supplied standard deviation range is probably too small.

  4. [search-stat] No new data written to the statistics file

    Writing to the statistics file failed.

User Notes:

    None.