Perform speckle noise reduction on SAR image.


SAR images are affected by speckle noise that inherently exists in and which degrades the image quality. It is caused by the coherent nature of back-scattered waves from multiple distributed targets. It is locally strong and it increases the mean Grey level of a local area.

Reducing the speckle noise enhances radiometric resolution but tend to decrease the spatial resolution.Several different methods are used to eliminate speckle noise, based upon different mathematical models of the phenomenon. The application includes four methods: Lee [1], Frost [2], GammaMAP [3] and Kuan [4].

We sum up below the basic principle of this four methods:

  • Lee: Estimate the signal by mean square error minimization (MMSE) on a sliding window.

  • Frost: Also derived from the MMSE criteria with a weighted sum of the values within the window. The weighting factors decrease with distance from the pixel of interest.

  • GammaMAP: Derived under the assumption of the image follows a Gamma distribution.

  • Kuan: Also derived from the MMSE criteria under the assumption of non stationary mean and variance. It is quite similar to Lee filter in form.


Input Image -in image Mandatory
Input image.

Output Image -out image [dtype] Mandatory
Output image.

Speckle filtering method -filter [lee|frost|gammamap|kuan] Default value: lee

  • Lee
    Lee filter

  • Frost
    Frost filter

  • GammaMap
    GammaMap filter

  • Kuan
    Kuan filter

Lee options

Radius -filter.lee.rad int Default value: 1
Radius in pixel

Number of looks -filter.lee.nblooks float Default value: 1
Number of looks in the input image.

Frost options

Radius -filter.frost.rad int Default value: 1
Radius in pixel.

Deramp factor -filter.frost.deramp float Default value: 0.1
factor use to control the exponential function used to weight effect of the distance between the central pixel and its neighborhood. Increasing the deramp parameter will lead to take more into account pixels farther from the center and therefore increase the smoothing effects.

GammaMap options

Radius -filter.gammamap.rad int Default value: 1
Radius in pixel.

Number of looks -filter.gammamap.nblooks float Default value: 1
Number of looks in the input image.

Kuan options

Radius -filter.kuan.rad int Mandatory
Radius in pixel.

Number of looks -filter.kuan.nblooks float Mandatory
Number of looks in the input image.

Available RAM (MB) -ram int Default value: 256
Available memory for processing (in MB).


From the command-line:

otbcli_Despeckle -in sar.tif -filter lee -filter.lee.rad 5 -out despeckle.tif

From Python:

import otbApplication

app = otbApplication.Registry.CreateApplication("Despeckle")

app.SetParameterString("in", "sar.tif")
app.SetParameterInt("filter.lee.rad", 5)
app.SetParameterString("out", "despeckle.tif")



The application does not handle complex image as input.

See also

[1] J. Lee. Digital image enhancement and noise filtering byuse of local statistics. IEEE Transactions on Pattern Analysis and MachineIntelligence, 2:165–168, 1980.
[2] V. S. Frost, et al., A Model for Radar Images and ItsApplication to Adaptive Digital Filtering of MultiplicativeNoise, IEEE Trans. Pattern Anal., Machine Intell., vol. 4,no. 2, pp. 157-166, Mar. 1982.
[3] A. Lopes, E. Nezry, R. Touzi and H. Laur, Maximum APosteriori Speckle Filtering And First Order Texture ModelsIn Sar Images, 10thAnnual International Symposium onGeoscience and Remote Sensing, 1990,pp. 2409-2412. doi:10.1109/IGARSS.1990.689026
[4] Kuan, D. T., Sawchuk, A. A., Strand, T. C, and Chavel,P., 1987. Adaptive restoration of image with speckle. IEEETrans on Acoustic Speech and Signal Processing, 35,pp. 373-383.