# Smoothing filter

Filters are simple mathematical operators which, when convolved with well logs or seismic or interpretation data, emphasize some aspect of the data, and de-emphasize others. For example, a common step in seismic horizon interpretation is to apply a filter that reduces the high spatial frequencies in the data, which are mostly attributable to noise, and emphasizes the lower frequencies. This is a **smoothing filter**.

This article describes the general method, and gives some specific examples of smoothing filters and their results.

## Linear filters

On any digital image or seismic horizon, linear filters work by convolution with a moving window called a kernel. The input pixel is at the centre of the kernel. The non-zero part of the kernel is called the support of the filter. Most filters have a square support, though some are rectangular or circular. Some examples of kernels are shown here.

Linear filters operate in the same way on every input pixel, applying the same weights to the same pixels in the support. They are consequently very fast, but not sensitive to the character of the data, smoothing everything equally. This is their biggest weakness for geophysical applications, since faults and channel margins, say, are smoothed along with noise and picking artifacts.

Examples include the mean and Gaussian filters.

## Non-linear filters

Edges are important in human perception, and it is usually desirable to preserve their sharpness. Many non-linear filters are edge-preserving, hence their importance in image processing. I think they are relatively under-utilized by interpreters.

Non-linear filters preserve edges because they are adaptive. Not every pixel in the support contributes to the output. The pixels that do contribute are selected by some statistical criterion, usually something to do with how similar the pixels are either to each other or to the input pixel. The advantage of this is that noisy pixels contribute less to the output pixel, and edges are preserved or even enhanced.

Examples include:

- Conservative filter
- Trimmed mean filter
- Mode filter
- Median filter
- Symmetric nearest neighbour filter
- Kuwahara filter

## Choosing a filter

The following table is from Hall (2007^{[1]}). **+** indicates good suitability, and **++** indicates excellent suitability.

Type | Random noise | Spiky noise | Edges preserved | Comments | |
---|---|---|---|---|---|

Mean | Linear | + | Gaussian is a better choice | ||

Gaussian | Linear | + | Less affected by spikes than mean | ||

Conservative | Non-linear | + | + | Only removes very sparse spikes | |

Trimmed mean | Non-linear | ++ | ++ | Best if edges not present or not wanted | |

Mode | Non-linear | + | + | + | Only use on discrete or class attributes |

Median | Non-linear | ++ | ++ | + | Good all-rounder |

SNN | Non-linear | ++ | ++ | ++ | Best all-rounder |

Kuwahara | Non-linear | + | ++ | ++ | Enhances edges, but use median filter first |

## References

- ↑ Hall, M (2007). Smooth operator: smoothing seismic horizons and attributes. The Leading Edge 26 (1), January 2007, p16-20. doi:10.1190/1.2431821