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

# SeparableConvolution

FrameWork for separable convolution filters

## SYNOPSIS

`#include "dip_linear.h"`

dip_Error dip_SeparableConvolution ( in, out, filters, bc, process )

## DATA TYPES

integer, float

## FUNCTION

This function is a frontend to the lower level `Convolve1d` function. Each dimension can be processed by a different filter.

`process` may be zero, indicating that all dimensions should be processed.

## ARGUMENTS

Data type | Name | Description
`dip_Image` | `in` | Input image
`dip_Image` | `out` | Output image
`dip_SeparableConvolutionFilter *` | `filters` | Filters
`dip_BoundaryArray` | `bc` | Boundary conditions
`dip_BooleanArray` | `process (0)` | Dimensions to process

The `dip_SeparableConvolutionFilter` structure contains the following elements:

Data type | Name | Description
`dip_float *` | `filter` | Filter weights
`dip_int` | `filterSize` | Length of `filter` array
`dip_int` | `origin` | Origin of the filter, only valid in conjunction with `DIP_CNV_USE_ORIGIN`
`dipf_Convolve` | `flags` | Filter flags, see `Convolve1d` for their definitions

## SEE ALSO

General information about convolution

`GeneralConvolution`, `ConvolveFT`, `SeparableFrameWork`, `Convolve1d`