>  Docs Center  >  Using ENVI  >  ISODATA



ISODATA unsupervised classification calculates class means evenly distributed in the data space then iteratively clusters the remaining pixels using minimum distance techniques. Each iteration recalculates means and reclassifies pixels with respect to the new means. Iterative class splitting, merging, and deleting is done based on input threshold parameters. All pixels are classified to the nearest class unless a standard deviation or distance threshold is specified, in which case some pixels may be unclassified if they do not meet the selected criteria. This process continues until the number of pixels in each class changes by less than the selected pixel change threshold or the maximum number of iterations is reached.


Tou, J. T. and R. C. Gonzalez, 1974. Pattern Recognition Principles, Addison-Wesley Publishing Company, Reading, Massachusetts.

  1. From the Toolbox, select Classification > Unsupervised Classification > IsoData Classification. The Classification Input File dialog appears.
  2. Select an input file and perform optional spatial and spectral subsetting, then click OK. The ISODATA Parameters dialog appears.
  3. Enter the minimum and maximum Number Of Classes to define. ENVI uses a range for the number of classes because the ISODATA algorithm splits and merges classes based on input thresholds and does not keep a fixed number of classes.
  4. Enter the maximum number of iterations in the Maximum Iterations field and a change threshold (0-100%) in the Change Threshold % field. ENVI uses the change threshold to end the iterative process when the number of pixels in each class changes by less than the threshold. The classification ends when either this threshold is met or the maximum number of iterations is reached.
  5. Enter the minimum number of pixels needed to form a class in the Minimum # Pixels in Class field. If there are fewer than the minimum number of pixels in a class then ENVI deletes that class and the pixels placed in the class(es) nearest to them.
  6. Enter the maximum class standard deviation (in DN) in the Maximum Class Stdv field. If the standard deviation of a class is larger than this threshold then the class is split into two classes.
  7. Enter the minimum distance (in DN) between class means and the maximum number of merge pairs in the fields provided.
  8. If the distance between class means is less than the minimum value entered, then ENVI merges the classes. The maximum number of class pairs to merge is set by the maximum number of merge pairs parameter.

    To set the optional standard deviation to use around the class mean and/or the maximum allowable distance error (in DN), enter the values in the Maximum Stdev From Mean or Maximum Distance Error fields, respectively.

    If you enter values for both of these optional parameters, the classification uses the smaller of the two to determine which pixels to classify. If you do not enter a value for either parameter, then all pixels are classified.

  9. Select output to File or Memory.
  10. Click OK. The status bar cycles from 0 to 100% for each iteration of the classifier. ENVI adds the resulting output to the Layer Manager. ENVI computes the statistics for the initial class seeds with a skip factor of 2.5 for both the sample and line directions.

© 2020 Harris Geospatial Solutions, Inc. |  Legal
My Account    |    Store    |    Contact Us