DIPlib Documentation - ©1995-2015 Quantitative Imaging Group, Delft University of Technology.

# Gauss

Gaussian Filter

## SYNOPSIS

`#include "dip_linear.h"`

dip_Error dip_Gauss ( in, out, boundary, process, sigmas, order, truncation )

## DATA TYPES

binary, integer, float

## FUNCTION

Finite impulse response implementation of a Gaussian convolution filter and Gaussian derivative convolution filters.

The Gaussian kernel is cut off at `truncation` times the sigma of the filter (in each dimension). The sum of the Gaussian's coefficients is normalised to one. A `truncation` of zero or less indicates that the global preferred truncation ought to be used, see `GlobalGaussianTruncationGet`. For the derivatives, the truncation value is increased slightly: the actual value for `truncation` used is `truncation + 0.5*order`. The minimum filter size is 3 pixels, or 5 pixels for the 3rd order derivative.

Both the `process` and the `order` parameter may be zero. If `process` is zero all dimensions are processed. If `order` is zero no derivatives are taken.

## ARGUMENTS

Data type | Name | Description
`dip_Image` | `in` | Input
`dip_Image` | `out` | Output
`dip_BoundaryArray` | `boundary` | Boundary conditions
`dip_BooleanArray` | `process (0)` | Dimensions to process
`dip_FloatArray` | `sigmas` | Sigma of Gaussian
`dip_IntegerArray` | `order (0)` | Order of Derivative along each dimension
`dip_float` | `truncation` | Truncation of Gaussian

## LIMITATIONS

The order of the derivative is limited to the interval 0-3. Sigmas considerably smaller than 1.0 will yield nonsensical results.

## SEE ALSO

See sections 9.4, "Smoothing operations", and 9.5, "Derivative-based operations", in Fundamentals of Image Processing.

General information about convolution

`GaussFT`, `GaussIIR`, `Derivative`, `GlobalGaussianTruncationGet`