Constrained Energy Minimization (CEM) Classification is similar to Matched Filtering in that the only required knowledge is the target spectra to be detected. Using a specific constraint, CEM uses a finite impulse response (FIR) filter to pass through the desired target while minimizing its output energy resulting from a background other than the desired targets. A correlation or covariance matrix is used to characterize the composite unknown background. In a mathematical sense, MF is a mean-centered version of CEM, where the data mean is subtracted from all pixel vectors.

You can also write a script to perform CEM classification using the ConstrainedEnergyMinimization task.

  1. From the Toolbox, select Classification > Supervised Classification > Constrained Energy Minimization Classification. The Constrained Energy Minimization 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 Adaptive Coherence Estimator calculation.
  4. To remove anomalous pixels before calculating background statistics, select Yes for Use Subspace Background.
  5. Specify the fraction of the background in the anomalous image to use for calculating the subspace background statistics in the Background Threshold field. The threshold range is 0.500 to 1.000 (the entire image). The default is 0.9.
  6. Specify a filename and location for the Output Raster (the classification raster).
  7. Enable the Preview check box to preview the settings before processing 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. To preview a different area in your image, pan and zoom to the area of interest and re-enable the Preview option. Depending on the algorithm being used by the tool, the preview result might be different from the final result of processing on the full extent, full resolution of the input image in the following scenarios: 1) If you zoomed out of the input raster in the view by 50%, or a percentage less than 50%, ENVI uses a downsampled image at the closest resolution level to calculate the preview, or 2) If the entire image is not visible in the view, ENVI uses the subset in the viewable area of the input image to calculate the preview.
  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. To see an ENVI Modeler version of this tool that shows how it is constructed from individual tasks, click Open in Modeler.

  10. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow next to the OK button , select Save Parameter Values, then specify the path 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 saved your settings.

  11. You can run the process in the background on your computer or in the background on an ENVI Server (if available). Click the down arrow next to the OK button and select one of the following:

    • Run Task in the Background: Runs the process on your computer. This method does not use an ENVI Server. The job progress will show in the ENVI Job Console's Background Jobs tab.
    • Run Task on envi_server_name. Runs the process on the selected ENVI Server. The job progress will show in the ENVI Job Console's envi_server_name tab.

    See ENVI Job Console for details on monitoring ENVI Server jobs and viewing results. See ENVI Servers for details on configuring and using an ENVI Server.

  12. To see an ENVI Modeler version of this tool that shows how it is constructed from individual tasks, click Open in Modeler.

  13. Click OK.