Adaptive filtering uses the standard deviation of those pixels within a local box surrounding each pixel to calculate a new pixel value. Typically, the original pixel value is replaced with a new value calculated based on the surrounding valid pixels (those that satisfy the standard deviation criteria). Unlike a typical low-pass smoothing filter, the adaptive filters preserve image sharpness and detail while suppressing noise.

See the following sections:

Bit Error Filters


Use Bit Error filters to remove bit-error noise, which is usually the result of spikes in the data caused by isolated pixels that have extreme values unrelated to the image scene. The noise typically gives the image a speckled appearance. Bit-error removal in ENVI uses an adaptive algorithm to replace spike pixels with the average of neighboring pixels. The local statistics (mean and standard deviation) within the filter box are used to set a threshold for valid pixels.

Reference: Eliason, E., and A. McEwen. "Adaptive Box Filters for Removal of Random Noise from Digital Images.” Photogrammetric Engineering & Remote Sensing 56, No. 4 (1990): 453.

You can also write a script to apply bit error filters using the BitErrorAdaptiveFilter task.

  1. From the Toolbox, select Filter > Bit Errors Filter. The Bit Error Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: Specify a Noise Standard Deviation value. The default value is 1.
  5. Optional: Specify a maximum standard deviation Tolerance value. The default value is 5. The bad pixels will be replaced by the average of surrounding valid pixels by default.
  6. Optional: In the Valid Minimum field, enter the minimum value to consider for valid data.
  7. Optional: In the Valid Maximum field, enter the maximum value to consider for valid data.
  8. Set the Replace Bit Errors option to Yes to replace bit errors with the local average. Set it to No (the default) to set bad pixels to zero.
  9. Specify a filename and location for the Output Raster.
  10. 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.
  11. 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.

  12. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  13. To run the process in the background, click the down arrow 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.

  14. Click OK.

Enhanced Frost Filters


Use Enhanced Frost filters to reduce speckle in radar imagery while simultaneously preserving texture information. The Enhanced Frost filter is an adaptation of the Frost filter and similarly uses local statistics (coefficient of variation) within individual filter windows. Each pixel is put into one of three classes, which are treated as follows:

  • Homogeneous: The pixel value is replaced by the average of the filter window.
  • Heterogeneous: An impulse response is used as a convolution kernel to determine the pixel value.
  • Point target: The pixel value is not changed.

Reference: Lopes, A., R. Touzi, and E. Nezry. "Adaptive Speckle Filters and Scene Heterogeneity." IEEE Transactions on Geoscience and Remote Sensing 28, No. 6 (1990): 992-1000.

You can also write a script to apply an enhanced Frost filter using the EnhancedFrostAdaptiveFilter task.

  1. From the Toolbox, select Filter > Enhanced Frost Filter. The Enhanced Frost Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: Enter a Damping Factor that inversely defines the extent of the exponential damping in the weighted average for the heterogeneous class. A larger damping factor produces less averaging. The default value is 1.
  5. Optional: In the Homogenous Cutoff field, enter a floating-point value that represents the coefficient of variation cutoff for homogeneous areas. The default value is 0.523.
  6. Optional: In the Heterogeneous Cutoff field, enter a floating-point value that represents the coefficient of variation cutoff for heterogeneous areas. The default value is 1.732.
  7. Specify a filename and location for the Output Raster.
  8. 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.
  9. 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.
  10. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  11. To run the process in the background, click the down arrow 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.

  12. Click OK.

Enhanced Lee Filters


Use Enhanced Lee filters to reduce speckle in radar imagery while simultaneously preserving texture information. The enhanced Lee filter is an adaptation of the Lee filter and similarly uses local statistics (coefficient of variation) within individual filter windows. Each pixel is put into one of three classes, which are treated as follows:

  • Homogeneous: The pixel value is replaced by the average of the filter window.
  • Heterogeneous: The pixel value is replaced by a weighted average.
  • Point target: The pixel value is not changed.

You can also write a script to apply an enhanced Lee filter using the EnhancedLeeAdaptiveFilter task.

Reference: Lopes, A., R. Touzi, and E. Nezry. "Adaptive Speckle Filters and Scene Heterogeneity." IEEE Transactions on Geoscience and Remote Sensing 28, No. 6 (1990): 992-1000.

  1. From the Toolbox, select Filter > Enhanced Lee Filter. The Enhanced Lee Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: In the Homogenous Cutoff field, enter a floating-point value that represents the coefficient of variation cutoff for homogeneous areas. The default value is 0.523.
  5. Optional: In the Heterogeneous Cutoff field, enter a floating-point value that represents the coefficient of variation cutoff for heterogeneous areas. The default value is 1.732.
  6. Enter a Damping Factor that inversely defines the extent of the exponential damping in the weighted average for the heterogeneous class. A larger damping factor produces less averaging. The default value is 1.
  7. Specify a filename and location for the Output Raster.
  8. 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.
  9. 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.
  10. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  11. To run the process in the background, click the down arrow 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.

  12. Click OK.

Frost Filters


Use Frost filters to reduce speckle while preserving edges in radar images. The Frost filter is an exponentially damped circularly symmetric filter that uses local statistics. The pixel being filtered is replaced with a value calculated based on the distance from the filter center, the damping factor, and the local variance.

You can write a script to apply a Frost filter using the FrostAdaptiveFilter task.

Reference: Shi, Z., and K. B. Fung. "A Comparison of Digital Speckle Filters." Proceedings of IGARSS 94, August 8-12, 1994, pp. 2129-2133.

  1. From the Toolbox, select Filter > Frost Filter. The Frost Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: Enter a Damping Factor value. The damping factor determines the amount of exponential damping. The default value of 1 is sufficient for most radar images. Larger damping values preserve edges better but smooth less, and smaller values smooth more. A damping value of 0 results in the same output as a low pass filter.
  5. Specify a filename and location for the Output Raster.
  6. 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.
  7. 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.
  8. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  9. To run the process in the background, click the down arrow 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.

  10. Click OK.

Gamma Filters


Use Gamma filters to reduce speckle while preserving edges in radar images. The gamma filter is similar to the Kuan filter but assumes that the data is gamma distributed. The pixel being filtered is replaced with a value calculated based on the local statistics.

Reference: Shi, Z., and K. B. Fung. "A Comparison of Digital Speckle Filters." Proceedings of IGARSS 94, August 8-12, 1994, pp. 2129-2133.

You can also write a script to perform gamma adaptive filtering using the GammaAdaptiveFilter task.

  1. From the Toolbox, select Filter > Gamma Filter. The Gamma Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: Enter the Number of Looks. ENVI uses this value to calculate the noise variance by 1/(number of looks).
  5. Specify a filename and location for the Output Raster.
  6. 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.
  7. 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.
  8. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  9. To run the process in the background, click the down arrow 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.

  10. Click OK.

Kuan Filters


Use Kuan filters to reduce speckle while preserving edges in radar images. It transforms the multiplicative noise model into an additive noise model. This filter is similar to the Lee filter but uses a different weighting function. The pixel being filtered is replaced with a value calculated based on the local statistics.

Reference: Shi, Z., and K. B. Fung. "A Comparison of Digital Speckle Filters." Proceedings of IGARSS 94, August 8-12, 1994, pp. 2129-2133.

You can also write a script to apply Kuan filters using the KuanAdaptiveFilter task.

  1. From the Toolbox, select Filter > Kuan Filter. The Kuan Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: Enter the Number of Looks. ENVI uses this value to calculate the noise variance by 1/(number of looks).
  5. Specify a filename and location for the Output Raster.
  6. 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.
  7. 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.
  8. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  9. To run the process in the background, click the down arrow 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.

  10. Click OK.

Lee Filters (Additive)


This tool applies a Lee adaptive filter to smooth noisy data that has an additive component.

Lee filtering is a standard deviation-based (sigma) filter that filters data based on statistics calculated within individual filter windows. Unlike a typical low-pass smoothing filter, the Lee filter and other similar sigma filters preserve image sharpness and detail while suppressing noise. The filtered pixel is replaced by a value calculated using the surrounding pixels.

You can also write a script to apply an additive Lee filter, using the AdditiveLeeAdaptiveFilter task.

Reference: Lee, J-S. "Digital Image Enhancement and Noise Filtering by Use of Local Statistics." IEEE Transactions on Pattern Analysis and Machine Intelligence PAMI-2, No.2 (1980): 165-168.

  1. From the Toolbox, select Filter > Lee Filter (Additive). The Additive Lee Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: Enter a Noise Standard Deviation value. The default value is 0.25.
  5. Specify a filename and location for the Output Raster.
  6. 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.
  7. 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.
  8. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  9. To run the process in the background, click the down arrow 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.

  10. Click OK.

Lee Filters (Multiplicative)


This tool applies a Lee adaptive filter to smooth noisy data that has a multiplicative component.

Lee filtering is a standard deviation-based (sigma) filter that filters data based on statistics calculated within individual filter windows. Unlike a typical low-pass smoothing filter, the Lee filter and other similar sigma filters preserve image sharpness and detail while suppressing noise. The filtered pixel is replaced by a value calculated using the surrounding pixels.

You can also write a script to apply a multiplicative Lee filter, using the MultiplicativeLeeAdaptiveFilter task.

Reference: Lee, J-S. "Digital Image Enhancement and Noise Filtering by Use of Local Statistics." IEEE Transactions on Pattern Analysis and Machine Intelligence PAMI-2, No.2 (1980): 165-168.

  1. From the Toolbox, select Filter > Lee Filter (Multiplicative). The Multiplicative Lee Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: Enter a Noise Standard Deviation value. The default value is 0.25.
  5. Optional: Enter a multiplicative Noise Mean value. The default value is 1. Larger values will produce less smoothing.
  6. Specify a filename and location for the Output Raster.
  7. 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.
  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 reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  10. To run the process in the background, click the down arrow 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.

  11. Click OK.

Lee Filters (Additive-Multiplicative)


This tool applies a Lee adaptive filter to smooth noisy data that has both an additive and a multiplicative component.

Lee filtering is a standard deviation-based (sigma) filter that filters data based on statistics calculated within individual filter windows. Unlike a typical low-pass smoothing filter, the Lee filter and other similar sigma filters preserve image sharpness and detail while suppressing noise. The filtered pixel is replaced by a value calculated using the surrounding pixels.

You can also write a script to apply this type of Lee filter, using the AdditiveMultiplicativeLeeAdaptiveFilter task.

Reference: Lee, J-S. "Digital Image Enhancement and Noise Filtering by Use of Local Statistics." IEEE Transactions on Pattern Analysis and Machine Intelligence PAMI-2, No.2 (1980): 165-168.

  1. From the Toolbox, select Filter > Lee Filter (Additive-Multiplicative). The Additive Multiplicative Lee Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: Enter a Noise Standard Deviation value. The default value is 0.25.
  5. Optional: Enter an Additive Noise Mean value. The default value is 0.
  6. Optional: Enter a Multiplicative Noise Mean value. The default value is 1.
  7. Specify a filename and location for the Output Raster.
  8. 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.
  9. 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.
  10. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  11. To run the process in the background, click the down arrow 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.

  12. Click OK.

Local Sigma Filters


Use Local Sigma filters to preserve fine detail (even in low contrast areas) and to reduce speckle significantly. The Local Sigma filter uses the local standard deviation computed for the filter box to determine valid pixels within the filter window. It replaces the pixel being filtered with the mean calculated using only the valid pixels within the filter box.

Reference: Eliason, E., and A. McEwen. "Adaptive Box Filters for Removal of Random Noise from Digital Images." Photogrammetric Engineering & Remote Sensing 56, No. 4 (1990): 453.

You can also write a script to apply Local Sigma filters using the LocalSigmaAdaptiveFilter task.

  1. From the Toolbox, select Filter > Local Sigma Filter. The Local Sigma Adaptive Filter dialog appears.
  2. Select an Input Raster and perform optional spatial and spectral subsetting.
  3. Optional: Specify a square filtering Window Size, in pixels. The default value is 3.
  4. Optional: Enter a Noise Standard Deviation value. The default value is 1.
  5. Specify a filename and location for the Output Raster.
  6. 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.
  7. 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.
  8. To reuse these task settings in future ENVI sessions, save them to a file. Click the down arrow 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.

  9. To run the process in the background, click the down arrow 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.

  10. Click OK.

See Also


Convolution and Morphology Filters, Frequency Filters, Texture Filters