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 |

##### Note:

Additive Noise Mean is usually 0. Multiplicative Noise Mean is usually 1.

### Algorithms

The algorithms used in the implementation of the Lee filter are as follows:

Noise model | Algorithm |
---|---|

Additive | Value of filtered pixel = L where K (weight function) = L |

Multiplicative | Value of filtered pixel = L where K (weight function) = M * L where MV = 1 / NLooks |

Additive and Multiplicative | Value of filtered pixel = L where K (weight function) = M * L where MV = (SD / L |

where

P_{C}—Center pixel value of
window

L_{M}—Local mean of filter
window

L_{V}—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:

L_{M} for C_{I} <= C_{U}

L_{M} * K + P_{C} * (1 - K) for C_{U} < C_{I} < C_{max}

P_{C} for C_{I} >= C_{max}

where

P_{C}—Center pixel value of
window

L_{M}—Local mean of filter
window

SD—Standard deviation in filter window

NLooks—Number of looks (input parameter)

D—Damping factor (input parameter)

C_{U} = 1 / square root (NLooks) (Noise variation coefficient)

C_{max} = square root (1 + 2 / NLooks) (Maximum noise variation
coefficient)

C_{I} = SD / L_{M}(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 * (L_{V} / L_{M} * L_{M})

S—Absolute value of the pixel distance from the center pixel to its neighbors in the filter window

D—Exponential damping factor (input parameter)

L_{M}—Local mean of filter
window

L_{V}—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 = P_{C} * K + L_{M} * (1 - K)

where

C_{U} = 1 / sqrt (NLooks)—Noise variation coefficient

C_{I} = sqrt (L_{V}) / L_{M}—Image variation coefficient

K = (1 - ((C_{U} * C_{U}) / (C_{I} * C_{I}))) / (1 + (C_{U} * C_{U}))

P_{C}—Center pixel value of
window

L_{M}—Local mean of filter
window

L_{V}—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.