Despeckle¶
Perform speckle noise reduction on SAR image.
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 application has several output images and supports “multi-writing”. Instead of computing and writing each image independently, the streamed image blocks are written in a synchronous way for each output. The output images will be computed strip by strip, using the available RAM to compute the strip size, and a user defined streaming mode can be specified using the streaming extended filenames (type, mode and value). Note that multi-writing can be disabled using the multi-write extended filename option: &multiwrite=false, in this case the output images will be written one by one. Note that multi-writing is not supported for MPI writers.
Parameters¶
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).
Examples¶
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.SetParameterString("filter","lee")
app.SetParameterInt("filter.lee.rad", 5)
app.SetParameterString("out", "despeckle.tif")
app.ExecuteAndWriteOutput()
Limitations¶
The application does not handle complex image as input.