This function smoothes an array using a Gaussian kernel with a specified standard deviation.

gaussianSmooth(x, sigma)

Arguments

x

An object that can be coerced to an array, or for which a morph method exists.

sigma

A numeric vector giving the standard deviation of the kernel in each dimension. Can have lower dimensionality than the target array.

Value

A morphed array with the same dimensions as the original array.

Details

This implementation takes advantage of the separability of the Gaussian kernel for speed when working in multiple dimensions. It is therefore equivalent to, but much faster than, directly applying a multidimensional kernel.

See also

morph for the function underlying this operation, gaussianKernel for generating Gaussian kernels (which is also used by this function), and erode for mathematical morphology functions.

Author

Jon Clayden <code@clayden.org>