# GaussianMatrix

gives a matrix that corresponds to a Gaussian kernel of radius r.

GaussianMatrix[{r,σ}]

gives a matrix corresponding to a Gaussian kernel with radius r and standard deviation σ.

GaussianMatrix[r,{n1,n2}]

gives a matrix formed from the n1 derivative of the Gaussian with respect to rows and the n2 derivative with respect to columns.

GaussianMatrix[r,{{n11,n12},{n21,n22},}]

gives a matrix formed from the sums of the ni1 and ni2 derivatives.

GaussianMatrix[{{r1,r2,},σ},]

gives an array corresponding to a Gaussian kernel with radius ri in the i index direction.

# Details and Options   • gives values that approximate at index position from the center, where σ=r/2.
• By default, the elements of sum to 1.
• GaussianMatrix[,{n1,n2}] by default constructs discrete derivatives as finite differences.
• GaussianMatrix[r,{{2,0},{0,2}}] gives a matrix formed from the Laplacian of a Gaussian.
• GaussianMatrix[{Automatic,σ,f},] constructs a matrix just large enough to include at least a fraction f of the discrete integral of a Gaussian in each direction.
• Any of the r, σ, and f can be lists, specifying different values for different directions.
• For integer r, GaussianMatrix[r,] yields a × matrix.
• For noninteger r, the value of r is effectively rounded to an integer.
• The following options can be specified:
•  Method "Bessel" how to determine matrix elements Standardized True whether to rescale and shift the matrix to account for truncation WorkingPrecision Automatic the precision with which to compute matrix elements
• Possible settings for the Method option are "Bessel" and "Gaussian".
• With the default option setting Method->"Bessel", has elements proportional to , yielding a kernel with optimal discrete convolution properties.
• For Method->"Bessel", derivatives of the Gaussian are obtained by the finite difference operator. GaussianMatrix[{r, }] satisfies the finite difference equation .
• With Method->"Gaussian", has elements proportional to the raw continuous functional form .
• For Method->"Gaussian", derivatives of the Gaussian are proportional to the partial derivatives of the functional form. The GaussianMatrix[{r, }] approximately satisfies the differential equation .
• With , the elements of will sum to 1. However, the elements of GaussianMatrix[r,{n1,n2,}] with at least one nonzero ni will sum to 0, and the sum of the elements, weighted in each direction by times the distance from the origin to the power of ni, will be 1.
• With , the proportionality factor ensures that the elements of sum to 1. However, the elements of GaussianMatrix[r,{n1,n2,}] with at least one nonzero ni will sum to 0, and the sum of the elements, weighted in each direction by times the distance from the origin to the power of ni, will be 1.
• With , no proportionality factor is used.

# Background & Context

• GaussianMatrix is a constructor function that returns a matrix having a Gaussian profile. Such matrices are typically used as kernels in image convolution for smoothing or taking derivatives of images.
• The function ImageConvolve can be used to perform convolution on an image using a Gaussian matrix kernel. Other functions that create smoothing or derivative kernel matrices include ShenCastanMatrix and SavitzkyGolayMatrix. Note that non-smooth kernels can also be used to smooth images. Binary kernels commonly used for this purpose include DiskMatrix, DiamondMatrix, and other similar functions.

# Examples

open all close all

## Basic Examples(3)

Compute and plot a Gaussian matrix:

 In:= Out= Compute and plot a Gaussian vector:

 In:= Out= First derivative of a Gaussian matrix in the vertical dimension:

 In:= Out= ## Possible Issues(1)

Introduced in 2008
(7.0)
|
Updated in 2015
(10.1)