# Structure Matrices and Convolution Kernels

 DiskMatrix[r] a radius r disk of 1s inside a (2r+1)×(2r+1) matrix of 0s DiskMatrix[{r1,…}] an ellipsoid of 1s with radii r1, … inside an array of dimension (2r1+1)× … DiskMatrix[{r1, …},{n1, …}] an ellipsoid with radii r1, … inside an array of dimension n1× … DiamondMatrix[{r1,…},{n1,…}] a diamond of 1s with radii r1, … inside an array of dimension n1× … BoxMatrix[{r1,…},{n1,…}] a box of 1s with radii r1, … inside an array of dimension n1× … CrossMatrix[{r1,…},{n1,…}] a cross of 1s with radii r1, … inside an array of dimension n1× …
Constructing matrices with special shapes.
This creates a matrix of 0s containing a radius 4 diamond of 1s. The result is a 9×9 matrix:
The size of the matrix can be explicitly specified:
This creates a matrix containing an ellipse and displays it graphically:
Here is the same matrix, converted to an Image. Note that 1 is White and 0 is Black:
The shape matrix family of functions can make arrays with any rank:
 GaussianMatrix[r] a (2r+1)×(2r+1) matrix that samples a Gaussian GaussianMatrix[{r,σ}] a (2r+1)×(2r+1) matrix that samples a Gaussian with standard deviation σ GaussianMatrix[{{r1,…},{σ1,…}}] a (2r1+1)× … array that samples a Gaussian with standard deviation σi in the i th direction GaussianMatrix[{{r1,…},{σ1,…}},{n1,…}] a (2r1+1)× … array that samples the ni th discrete derivative in the i th direction of a Gaussian with standard deviation σi in the i th direction
Gaussian matrices.
This creates a radius 2 Gaussian kernel:
GaussianMatrix can construct arrays with any rank:
By default, the matrix elements are numerical and constructed to behave optimally under discrete convolution. Using will produce an exact representation:
Use Method->"Gaussian" to sample a true Gaussian:
This shows a comparison of the two types of Gaussians:
This specifies a standard deviation of 1 in both directions of a rectangular Gaussian matrix:
Plot the second derivative of the Gaussian in the row direction:
Sum derivatives by using nested List objects in the second argument. For example, this plots the Laplacian:
This finds the length of the vector which has a minimum of 95% of the integrated fraction of the Gaussian with standard deviation 1:
This finds the dimensions of the matrix which, in each direction, has a minimum of 95% of the integrated fraction of the Gaussian with standard deviation 1: