Despeckle - Despeckle

Perform speckle noise reduction on SAR image.

Detailed description

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.


This section describes in details the parameters available for this application. Table [1] presents a summary of these parameters and the parameters keys to be used in command-line and programming languages. Application key is Despeckle .

[1]Table: Parameters table for Despeckle.
Parameter Key Parameter Name Parameter Type
in Input Image Input image
out Output Image Output image
ram Available RAM (Mb) Int
filter Speckle filtering method Choices
filter lee Lee Choice
filter frost Frost Choice
filter gammamap GammaMap Choice
filter kuan Kuan Choice
filter.lee.rad Radius Int
filter.lee.nblooks Number of looks Float
filter.frost.rad Radius Int
filter.frost.deramp Deramp factor Float
filter.gammamap.rad Radius Int
filter.gammamap.nblooks Number of looks Float
filter.kuan.rad Radius Int
filter.kuan.nblooks Number of looks Float
inxml Load otb application from xml file XML input parameters file
outxml Save otb application to xml file XML output parameters file

Input Image: Input image.

Output Image: Output image.

Available RAM (Mb): Available memory for processing (in MB).

Speckle filtering method Available choices are:

  • Lee: Lee filter.
  • Radius: Radius in pixel.
  • Number of looks: Number of looks in the input image.
  • Frost: Frost filter.
  • Radius: Radius in pixel.
  • Deramp factor: 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: GammaMap filter.
  • Radius: Radius in pixel.
  • Number of looks: Number of looks in the input image.
  • Kuan: Kuan filter.
  • Radius: Radius in pixel.
  • Number of looks: Number of looks in the input image.

Load otb application from xml file: Load otb application from xml file.

Save otb application to xml file: Save otb application to xml file.


To run this example in command-line, use the following:

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

To run this example from Python, use the following code snippet:


# Import the otb applications package
import otbApplication

# The following line creates an instance of the Despeckle application
Despeckle = otbApplication.Registry.CreateApplication("Despeckle")

# The following lines set all the application parameters:
Despeckle.SetParameterString("in", "sar.tif")


Despeckle.SetParameterInt("filter.lee.rad", 5)

Despeckle.SetParameterString("out", "despeckle.tif")

# The following line execute the application


The application does not handle complex image as input.


This application has been written by OTB-Team.

See Also

These additional resources can be useful for further information:
[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.