Maximum likelihood classification assumes that the statistics for each class in each band are normally distributed and calculates the probability that a given pixel belongs to a specific class. Unless you select a probability threshold, all pixels are classified. Each pixel is assigned to the class that has the highest probability (that is, the maximum likelihood). If the highest probability is smaller than a threshold you specify, the pixel remains unclassified.

ENVI implements maximum likelihood classification by calculating the following discriminant functions for each pixel in the image (Richards, 1999):

Where:

i = class

x = n-dimensional data (where n is the number of bands)

pi) = probability that class ωi occurs in the image and is assumed the same for all classes

i| = determinant of the covariance matrix of the data in class ωi

Σi-1 = its inverse matrix

mi = mean vector

Reference

Richards, J. Remote Sensing Digital Image Analysis, Berlin: Springer-Verlag (1999), 240 pp.

You can also write a script to perform Maximum Likelihood classification using the MaximumLikelihoodClassification task.

  1. From the Toolbox, select Classification > Supervised Classification > Maximum Likelihood Classification. The Maximum Likelihood Classification dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting, and/or masking.
  3. Select the Input ROIs file that represents the classes. Statistics from the ROIs are used as input to the Maximum Likelihood calculation.
  4. In the Threshold Probability field, enter a scalar value for all classes or array of values, one per class, from 0 to and 1. For arrays, the number of elements must equal the number of classes. Pixels with a value lower than the threshold will not be classified. The default value is 0.00000000. The threshold is a probability minimum for inclusion in a class. For example, a value of 0.9 will include fewer pixels in a class than a value of 0.5 because a 90 percent probability requirement is more strict than allowing a pixel in a class based on a chance of 50 percent.
  5. Specify a filename and location for the Output Rule Raster. A rule raster is a greyscale image that shows intermediate classification results, where each band represents a rule raster for each class. With Maximum Likelihood classification, pixel values contain a maximum likelihood discriminant function with a modified Chi Squared probability distribution. Higher rule image values indicate higher probabilities.
  6. Enable the Display result check box to display the output in the view when processing is complete. Otherwise, if the check box is disabled, the result can be loaded from the Data Manager.

  7. Specify a filename and location for the Output Raster (the classification raster).
  8. Enable the Display result check box to display the output in the view when processing is complete. Otherwise, if the check box is disabled, the result can be loaded from the Data Manager.

  9. Enable the Preview check box to see a preview of the settings before you click OK to process the data. The preview is calculated only on the area in the view and uses the resolution level at which you are viewing the image. See Preview for details on the results. To preview a different area in your image, pan and zoom to the area of interest and re-enable the Preview option.
  10. To see a model-based version of this tool that shows how the tool is constructed from individual tasks, click Open in Modeler.

  11. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow next to the OK button and select Save Parameter Values, then specify the location and filename to save to. Note that some parameter types, such as rasters, vectors, and ROIs, will not be saved with the file. To apply the saved task settings, click the down arrow and select Restore Parameter Values, then select the file where you previously stored your settings.

  12. To run the process in the background, click the down arrow next to the OK button and select Run Task in the Background. If an ENVI Server has been set up on the network, the Run Task on remote ENVI Server name is also available. The ENVI Server Job Console will show the progress of the job and will provide a link to display the result when processing is complete. See ENVI Servers for more information.

  13. Click OK.