GaussianFilter

GaussianFilter[data,r]

filters data by convolving with a Gaussian kernel of radius r.

GaussianFilter[data,r,{n1,n2,}]

convolves data with a kernel formed from the ni^(th) derivatives of the discrete Gaussian.

GaussianFilter[data,{r,σ},]

uses a Gaussian kernel with radius r and standard deviation σ.

GaussianFilter[data,{{r1,r2,},}]

uses radius ri at level i in data.

Details and Options

  • GaussianFilter is a filter commonly used in image processing for smoothing, reducing noise, and computing derivatives of an image. It is a convolution-based filter that uses a Gaussian matrix as its underlying kernel.
  • The data can be any of the following:
  • listarbitrary-rank numerical array
    tseriestemporal data such as TimeSeries, TemporalData,
    imagearbitrary Image or Image3D object
    audioan Audio object
  • GaussianFilter[data,r] uses standard deviation .
  • GaussianFilter[data,] by default gives an array, audio or image of the same dimensions as data.
  • The following options can be specified:
  • Method"Bessel"how to determine elements of the Gaussian matrix
    Padding"Fixed"padding method
    StandardizedTruewhether to rescale and shift the Gaussian matrix to account for truncation
    WorkingPrecisionAutomaticthe precision to use
  • Possible settings for the Method option are "Bessel" and "Gaussian".
  • With a setting Padding->None, GaussianFilter[data,] normally returns an array, audio or image smaller than data.  »

Background & Context

  • GaussianFilter is a filter commonly used in image processing for smoothing, reducing noise, and computing derivatives of an image. It is a convolution-based filter that uses a Gaussian matrix as its underlying kernel.
  • Gaussian filtering is linear, meaning it replaces each pixel by a linear combination of its neighbors (in this case with weights specified by a Gaussian matrix). It is also local, meaning it produces output pixel values based only upon the pixel values in its neighborhood as determined by the convolution kernel.
  • Gaussian filtering is not edge preserving, so other filters such as BilateralFilter and MeanShiftFilter may be more appropriate in applications where edges must be preserved.
  • Applying GaussianFilter is equivalent to using ImageConvolve with a GaussianMatrix kernel. MeanFilter is a similar smoothing filter.

Examples

open allclose all

Basic Examples  (3)

Gaussian filter of a list:

In[1]:=
Click for copyable input
In[2]:=
Click for copyable input
Out[2]=
In[3]:=
Click for copyable input
Out[3]=

Gaussian blurring of a color image:

In[1]:=
Click for copyable input
Out[1]=

First-order Gaussian derivative of an image:

In[1]:=
Click for copyable input
Out[1]=

Scope  (10)

Options  (10)

Applications  (6)

Properties & Relations  (5)

See Also

Blur  LaplacianFilter  LaplacianGaussianFilter  DerivativeFilter  GradientFilter  GaussianMatrix  ImageConvolve  ListConvolve

Introduced in 2008
(7.0)
| Updated in 2016
(11.0)