| Environments | PYTHON :: EASI :: MODELER |
| Batch Mode | Yes |
| Quick links | Description :: Parameters :: Parameter descriptions :: Details :: Algorithm :: References :: Related |
| Back to top |
| Back to top |
| Name | Type | Length | Value range |
|---|---|---|---|
| Number of Best Channels * | Integer | 1 - 1 | |
| Input Layers: Input image channel(s) | Raster port | 0 - 16 | |
| Algorithm * | String | 3 - 1 | |
| InputSIG: Input class signature segment * | SIG port | 2 - 256 | -256 - |
| Trace Term | String | 0 - 1 | ON | OFF Default: OFF |
| Optimization Level * | Integer | 1 - 1 | |
| Output: Best Layer(s): Best image channels for classification | Raster port | 0 - 15 | |
| Report | String | 0 - 192 | See parameter description |
| Back to top |
Number of Best Channels
Specifies the number of best channels to select for future classification.
The value of this parameter must be smaller than the number of input channels used to create the signature segments in CSG.
Input Layers: Input image channel(s)
Optionally specifies the input image channel(s), selected from the set of channels used to create the signature segments, from which to select an optimum subset.
Duplicate channels are not allowed.
Algorithm
Specifies the divergence algorithm to use when selecting the best channels.
InputSIG: Input class signature segment
Specifies the input signature segment for which an optimum discriminatory channel subset will be selected.
Duplicate segments are not allowed.
All signatures must have been collected from the same set of input channels.
Trace Term
Specifies whether the trace term is included in the calculation.
For more information, see the "Details" section.
Optimization Level
Specifies the level of optimization required.
For more information, see the "Details" section.
Output: Best Layer(s): Best image channels for classification
BEST is an output parameter. Upon completion, CHNSEL writes a list of the optimum image channels to use for classification to this parameter. This value may be used as input for other functions.
Report
Specifies where to direct the generated report.
Available options are:
| Back to top |
CHNSEL reads a defined set of image channels and selects the best image channel combination to use for classification, based on the divergence of the signature segments (created by CSG or another function) being discriminated. This reduces the number of channels required for classification.
Before running CHNSEL, run CSG to create signature segments based on a subset of image channels from the input file (FILE). CHNSEL selects the best set of channels from this subset, based on the divergence of the input class signatures (DSIG). This reduces the amount of time required to classify a data set that consists of a large number of multispectral channels, without reducing the accuracy of the classification results.
The criteria used to determine the optimum channels for discriminating between a set of classes are based on the divergence between the classes. Divergence is a measure of the dissimilarity between two signature classes, which is calculated from the class sample means and the class covariance matrices. It extends to all of the classes by applying a decision rule over all signature segment class pairs.
The first two decision rules always yield the same result for BEST channels; the second rule (average transformed divergence) is computationally more complex and is, therefore, more time-consuming. As a result, the second decision rule is redundant; using either the first (average interclass divergence) or third (minimum pairwise divergence) decision rules is recommended.
The accuracy and speed of CHNSEL for a specific data set is influenced primarily by the trace term (TFLAG) and optimization level (OPT) parameters.
The trace term (TFLAG) may be included (ON) or excluded (OFF) in the divergence equation. The trace term considers the inverse class covariance matrix relationship. Using this term in the divergence equation may increase the accuracy of the results, but it also increases the computational time required to achieve the results. In many cases, most of the discriminating divergence information is contained in the quadratic term; the trace term is unimportant and may be omitted. By default, the trace term is excluded from the equation.
The optimization level (OPT) parameter specifies the branch and bound algorithm optimization level. Valid values range from 0 to (DBIC-NCHAN-1). An optimization level of (DBIC-NCHAN-1) guarantees that the obtained channel subset is globally optimal. An optimization level between 0 and (DBIC-NCHAN-1) enumerates fewer nodes in the branch and bound algorithm and is, therefore, more efficient; however, there is no guarantee that the obtained subset is globally optimal. If OPT = 0, a backward selection scheme is applied to the data. The larger the value of this parameter, the more execution time is required to achieve results.
CHNSEL can analyze as many as 16 image channels using a maximum of 256 signature segments (128 for Windows). Use the DBIC (Input Layers) parameter to specify a subset of the selected image channels. Upon completion, CHNSEL updates the BEST (Best Layers) output parameter with a list of the optimum channels.
| Back to top |
CHNSEL uses a branch and bound algorithm to select the optimum channel combination.
To determine the optimum channel set for class discrimination from a given set of channels, some criteria must be established based on divergence (dissimilarity between two classes). This is calculated from the class sample means and the class covariance matrices:
D(i,j) = 0.5 * T[M(i)-M(j)] * (InvS(i) + InvS(j)) * (M(i)-M(j))
+ 0.5 * Trace[ InvS(i)*S(j) + InvS(j)*S(i) - 2*I ]
The divergence is extended to all classes, NCLASS > 2, by applying a decision rule over all NCLASS*(NCLASS-1) pairs.
IDV: The average interclass divergence is the average of all pairs of the divergence for each pair. This measure considers all classes to be equally important.
IDV = (1/(NCLASS*(NCLASS-1))*SUM [D(i,j)]
TDV: The average transformed divergence is based on the exponential of the divergence (Mahalanobis distance) and reduces the dominance of classes that have the highest divergence.
TDV = (1/(NCLASS*(NCLASS-1)*SUM [2*(1-EXP(-D(i,j)/8)]
PDV: The minimum pairwise divergence is the smallest divergence for all pairs in a set. This criteria maximizes the classification accuracies for the worst case; that is, the resultant subset is optimal for the classification of the two classes with the most confusion between them.
PDV = Min (D(i,j)) with i<j.
The divergence criteria is all monotonic in M, the number of required optimum channels; that is, the criteria is never improved by removing a channel from a set of optimum channels. This monotonic characteristic allows a branch and bound selection algorithm to determine the optimum set of M channels.
The algorithm works as follows:
The algorithm starts with a complete set of N channels and systematically evaluates channel subsets of a size greater than or equal to the number of optimum channels (NCHAN). The lower bound, B, is the current optimum value of the criteria for an optimal channel subset (NCHAN). If any larger set is worse than B, all channel subsets of this set are eliminated. The algorithm performs all necessary bookkeeping to keep track of the enumeration, and ensures that all channel sets are either implicitly rejected by the branch and bound test or are explicitly evaluated. Finally, an optimum channel set is chosen.
The algorithm used by CHNSEL is based on the FEATUR program, which is part of LDIAS (LANDSAT Digital Image Analysis System), developed by CCRS (Canada Centre for Remote Sensing) in Ottawa, Canada.
| Back to top |
Narendra, P.M. and K. Fukunaga. "A Branch and Bound Algorithm for Feature Subset Selection", IEEE Transactions in Computers, c.26, no. 9 (1977): 914-922.
© PCI Geomatics Enterprises, Inc.®, 2026. All rights reserved.