Speckle is the high-frequency noise on a radar data. The images generated by synthetic aperture radar (SAR) systems are highly subject to speckling effects due to the processing of scattered signals and interference of electromagnetic waves scattered from surfaces or objects. This Speckle function filters the speckled radar dataset and smooths out the noise while retaining the edges or sharp features in the image.
Smoothing algorithms in this function effectively remove speckles on the basis of a noise model. The speckle reduction filtering techniques used in this function are as follows:
- Lee
- Enhanced Lee
- Frost
- Kuan
These filters in the Speckle function preserve the edges and details while efficiently reducing noise speckle in the image. All these filters have parameters that you can adjust to optimize the results.
The main inputs for the Speckle function are the following:
- Input Raster
- Filter Type—Lee, Enhanced Lee, Frost, and Kuan
- Filter Size—3 x 3, 5 x 5, 7 x 7, 9 x 9, 11 x 11
Lee
The Lee filter reduces the speckle noise by applying a spatial filter to each pixel in an image, which filters the data based on local statistics calculated within a square window. The value of the center pixel is replaced by a value calculated using the neighboring pixels.
Inputs
The Lee filter is applied depending on the following three noise models that are exhibited by the input raster:
- Additive
- Multiplicative
- Additive and Multiplicative
Basically, speckles have the nature of multiplicative noise.
The following inputs depend on the noise model selected:
Noise model | Parameter | Description | Default value |
---|---|---|---|
Additive | Noise Variance | This is the noise variance of the image in case of additive noise as well as additive and multiplicative noise. | 0.25 |
Multiplicative (default) | Multiplicative Noise Mean | Mean value of multiplicative noise. | 1 |
Number of Looks | Specifies the number of looks of the image. This is used to calculate the noise variance in case of multiplicative noise. | 1 | |
Additive and Multiplicative | Noise Variance | This is the noise variance of the image in case of additive noise as well as additive and multiplicative noise. | 0.25 |
Additive Noise Mean | Mean value of additive noise. | 0 | |
Multiplicative Noise Mean | Mean value of multiplicative noise. | 1 |
Algorithms
The algorithms used in the implementation of the Lee filter are as follows:
Noise model | Algorithm |
---|---|
Additive | Value of filtered pixel = LM + K * (PC - LM) where K (weight function) = LV / (LV + AV) |
Multiplicative | Value of filtered pixel = LM + K * (PC - M * LM) where K (weight function) = M * LV / ((LM * LM * MV) + (M * M * LV)) where MV = 1 / NLooks |
Additive and Multiplicative | Value of filtered pixel = LM+ K * (PC - M * LM - A) where K (weight function) = M * LV / ((LM* LM * MV) + (M * M * LV) + AV) where MV = (SD / LM)2 |
where
PC—Center pixel value of window
LM—Local mean of filter window
LV—Local variance of filter window
M—Multiplicative noise mean (input parameter)
A—Additive noise mean (input parameter)
AV—Additive noise variance (input parameter)
MV—Multiplicative noise variance (input parameter)
SD—Standard deviation of filter window
NLooks—Number of looks (input parameter)
Enhanced Lee
The enhanced Lee filter is an altered version of the Lee filter reducing the speckle noise effectively by preserving image sharpness and detail. It requires a damping factor and number of looks.
The Number of Looks parameter controls image smoothing and estimates noise variance. The smaller the value is, the better the smoothing effect and filter performance. A larger value retains more image features.
The Damping Factor value defines the extent of exponential damping. A larger value leads to increased smoothing ability.
Inputs
The inputs for the enhanced Lee filter are as follows:
Parameter | Description | Default value |
---|---|---|
Number of Looks | Specifies the number of looks of the image | 1 |
Damping Factor | Specifies the damping factor to define the extent of smoothing | 1.0 |
Algorithm
The algorithm used in the implementation of the enhanced Lee filter is as follows:
Value of smoothed center pixel:
LM for CI <= CU
LM * K + PC * (1 - K) for CU < CI < Cmax
PC for CI >= Cmax
where
PC—Center pixel value of window
LM—Local mean of filter window
SD—Standard deviation in filter window
NLooks—Number of looks (input parameter)
D—Damping factor (input parameter)
CU = 1 / square root (NLooks) (Noise variation coefficient)
Cmax = square root (1 + 2 / NLooks) (Maximum noise variation coefficient)
CI = SD / LM(Image variation coefficient)
K = e(- D (Ci - CU) / (Cmax - CI))
Frost
The Frost filter reduces speckle noise and preserves important image features at the edges with an exponentially damped circularly symmetric filter that uses local statistics within individual filter windows.
Scene reflectivity is an important factor that differentiates the Frost filter from the Lee and Kuan filters, which is calculated by combining the observed image with the impulse response of the SAR system.
The Frost filter requires a damping factor. The Damping Factor value defines the extent of exponential damping. The smaller the value is, the better the smoothing ability and filter performance.
After application of the Frost filter, the denoised images show better sharpness at the edges.
Input
The input for the Frost filter is as follows:
Parameter | Description | Default value |
---|---|---|
Damping Factor | Specifies the damping factor to define the extent of smoothing | 1.0 |
Algorithm
The implementation of this filter consists of defining a circularly symmetric filter with a set of weighting values M for each pixel. The algorithm used in the implementation of the Frost filter is as follows:
K = e (- B * S)
where
B = D * (LV / LM * LM)
S—Absolute value of the pixel distance from the center pixel to its neighbors in the filter window
D—Exponential damping factor (input parameter)
LM—Local mean of filter window
LV—Local variance of filter window
The resulting gray-level value of the filtered pixel is
R = (P1 * K1 + P2 * K2 + ... + Pn * Kn) / (K1 + K2 + ... + Kn)
where
P1,P2,...Pn are gray levels of each pixel in the filter window
K1,K2,...Kn are weights (as defined above) for each pixel
Kuan
The Kuan filter follows a similar filtering process to the Lee filter in reducing speckle noise. This filter also applies a spatial filter to each pixel in an image, filtering the data based on local statistics of the centered pixel value that is calculated using the neighboring pixels.
The Number of Looks parameter controls image smoothing and estimates noise variance; these estimates are used in various ways to control the filter process. The smaller the value is, the better the smoothing effect and filter performance. A larger Number of Looks value retains more image features.
Inputs
The input for the Kuan filter is as follows:
Parameter | Description | Default value |
---|---|---|
Number of Looks | Specifies the number of looks of the image | 1 |
Algorithm
The algorithm for implementation of the Kuan filter is as follows:
The resulting filtered pixel value is:
R = PC * K + LM * (1 - K)
where
CU = 1 / sqrt (NLooks)—Noise variation coefficient
CI = sqrt (LV) / LM—Image variation coefficient
K = (1 - ((CU * CU) / (CI * CI))) / (1 + (CU * CU))
PC—Center pixel value of window
LM—Local mean of filter window
LV—Local variance of filter window
NLooks—Number of looks
For optimal speckle reduction, you can try the following: Different filter sizes greatly affect the quality of processed images. A 7 x 7 filter usually gives the best results. The number of looks is used to estimate noise variance, and it effectively controls the amount of smoothing applied to the image by the filter. A smaller Number of Looks value leads to more smoothing; a larger Number of Looks value preserves more image features.
It is recommended that you apply a histogram stretch to adjust the image's contrast or brightness to help pull out features for optimal display results.