Enhanced Lee adaptive filter

EnvironmentsPYTHON :: EASI :: MODELER
Quick linksDescription :: Parameters :: Parameter descriptions :: Details :: Example :: Algorithm :: References :: Related

Back to top


FELEE performs enhanced Lee adaptive filtering on image data. The enhanced Lee filter is primarily used on SAR data to remove high-frequency noise (speckle) while preserving high-frequency features (edges).
Back to top


Name Type Caption Length Value range
FILE* String Input detected SAR image 1 - 192  
DBIC* Integer Input raster channel 1 - 1  
DBOC* Integer Output filtered image 1 - 1  
FLSZ Integer Filter size (pixels, lines) 0 - 2 1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 | 27 | 29 | 31 | 33
Default: 7,7
MASK Integer Area mask 0 - 4  
NLOOK Float Number of looks 0 - 1 1 - 100
Default: 1
DAMP Float Damping factor 0 - 1 0 -
Default: 1.0
IMAGEFMT String Image units 0 - 9 Amplitude | Power
Default: Amplitude
MONITOR String Monitor mode 0 - 3 ON, OFF
Default: ON

* Required parameter
Back to top

Parameter descriptions


Specifies the name of the file that contains the image data to be filtered and to receive the output.


Specifies the channel in the input detected SAR image to be processed.


Specifies the output channel to receive the filtered results. This channel must already exist within the input file (FILE). If this parameter specifies the same channel as the one defined as the input (DBIC), DBOC overwrites the input channel.


Optionally specifies the horizontal and vertical dimensions of the filter, in pixel units. Acceptable values are odd integers from 1 to 33, inclusively. The filter need not be square. Minimum filter sizes are 1x3 or 3x1; the default size is 7x7.


Optionally specifies the window or bitmap that defines the area to be processed within the input raster. If this parameter is not specified, the entire channel is processed.

A window mask is specified as follows:

            MASK=Xoffset, Yoffset, Xsize, Ysize 

Xoffset, Yoffset define the upper-left starting pixel coordinates of the window. Xsize is the number of pixels that define the window width. Ysize is the number of lines that define the window height.

For a bitmap mask, you can specify the bitmap segment number from the input file (FILE) that you want to use. All the pixels within the specified segment, having a pixel value of 1, define the area to be processed.

Only the area under the mask is written to the output.


Optionally specifies the effective number of looks of the SAR image. This is used to derive noise variance. Over homogeneous areas, the effective number of looks can be computed as the mean value squared divided by the variance (for amplitude data) or the mean divided by the standard deviation (for power data). By adjusting this parameter value, you can control the amount of smoothing applied to the image.

Acceptable values are 1 to 100. The default value of 1 is appropriate for single-look data and specifies maximum smoothing correction to the image.

Instead of 1, the default value of this parameter will be the file level metadata value for 'NumLooks' if this metadata exists.


Optionally specifies the damping constant for the adaptive filter. This constant specifies the extent of the damping effect of the filtering. The default value of 1.0 is sufficient for most SAR images.

Note: The use of large values for the damping factor allows for better preservation of sharp edges, but reduces the smoothing effect. The use of small values increases the smoothing effect, but does not preserve sharp edges well. If this parameter is set to 0, the results are identical to those of an average filter, where the weights of each pixel in the filter window are equal.


Optionally specifies the image format of the SAR image, which defines how the correction factor should be computed. By default, the image is assumed to be in amplitude units.

Image units can be "Amplitude" (or equivalently "AMP") or "Power" (or equivalently "POW").


The program progress can be monitored by printing the percentage of processing completed. A system parameter, MONITOR, controls this activity.

Available options are:

Back to top


FELEE is used primarily to filter speckled radar data. The enhanced Lee filter smoothes the image data, without removing edges or sharp features in the images.

The enhanced Lee filter divides an image into areas of three classes. The first class corresponds to the homogeneous areas in which the speckles may be eliminated simply by applying a low pass filter (or equivalently, averaging, multi-look processing). The second class corresponds to the heterogeneous areas in which the speckles are to be reduced while preserving texture. The third class includes areas containing isolated point targets, in which the filter should preserve the observed value.

If the filter is too small, the noise filtering algorithm is not effective. If the filter is too large, subtle details of the image will be lost in the filtering process.

Back to top


Remove the noise from a subarea of the radar image gatineau.pix with an NLOOK value of 1. Filter size is 7x7.

        EASI>FILE	=	"gatineau.pix"
        EASI>DBIC	=	1	! channel to be filtered
        EASI>DBOC	=	2	! store results in channel 2
        EASI>FLSZ	=	7,7	! 7x7 filter size
        EASI>MASK	=	512,512,2048,2048	! area to filter
        EASI>NLOOK	=	1	! number of looks
        EASI>DAMP	=	1	! damping factor
        EASI>IMAGEFMT	=	""	! amplitude format

        EASI>run FELEE
Back to top


FELEE performs spatial filtering on each individual pixel in an image using the gray-level values in a square window surrounding each pixel. The dimensions of the filter must be odd, and can be from 3x3 to 11x11 pixels. All pixels are filtered. To filter pixels located near edges of the image, edge-pixels are replicated to give sufficient data.

        | a1 a2 a3 |
        | a4 a5 a6 |     <---  Filter window 3 X 3
        | a7 a8 a9 |

The resulting gray-level value R for the smoothed pixel is:

        R = I                 for Ci less than or equal to Cu
        R = I*W + CP*(1-W)    for Cu < Ci < Cmax
        R = CP                for Ci greater than or equal to Cmax

For amplitude images, each gray level will be squared and the square root will be applied to the final result.

All pixels are filtered. To filter pixels located near the edges of the image, edge-pixel values are replicated to provide sufficient data.

To compare different radar filtering methods, refer to the second paper listed in References.

Back to top


A. Lopes, R. Touzi and E. Nezry, "Adaptive speckle filters and Scene heterogeneity", IEEE Transaction on Geoscience and Remote Sensing, Vol. 28, No. 6, pp. 992-1000, Nov. 1990.

Zhenghao Shi and Ko B. Fung, 1994, "A Comparison of Digital Speckle Filters", Proceedings of IGARSS 94, August 8-12, 1994.

© PCI Geomatics Enterprises, Inc.®, 2024. All rights reserved.