Performs unsupervised training site selection
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.
- 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 boundIf 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
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.
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.
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 iand 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.
The statistics file name already exists. Restart the program with a different name.
A singular or near-singular matrix was encountered and thereby renders the application incapable of calculating class statistical information.
The user supplied standard deviation range is probably too small.
Writing to the statistics file failed.