2D Convolution using Fast Fourier Transform More...

Functions

AFAPI array fftConvolve2 (const array &signal, const array &filter, const convMode mode=AF_CONV_DEFAULT)
 C++ Interface for convolution on two dimensional signals. More...
 
AFAPI af_err af_fft_convolve2 (af_array *out, const af_array signal, const af_array filter, const af_conv_mode mode)
 C Interface for FFT-based convolution on two dimensional signals. More...
 

Detailed Description

2D Convolution using Fast Fourier Transform

A convolution is a common operation between a source array, a, and a filter (or kernel) array b. The answer to the convolution is the same as computing the coefficients in polynomial multiplication, if a and b are the coefficients.

Another way to think about it is that the filter kernel is centered on each pixel in a, and the output for that pixel or data point is the sum of the products.

Depending on the dimensions of the input signal and the filter signal, any one of the following batch mode convolutions take place.

Function Documentation

AFAPI af_err af_fft_convolve2 ( af_array out,
const af_array  signal,
const af_array  filter,
const af_conv_mode  mode 
)

C Interface for FFT-based convolution on two dimensional signals.

Parameters
[out]outis convolved array
[in]signalis the input signal
[in]filteris the signal that shall be used for the convolution operation
[in]modeindicates if the convolution should be expanded or not(where output size equals input)
Returns
AF_SUCCESS if the convolution is successful, otherwise an appropriate error code is returned.
AFAPI array af::fftConvolve2 ( const array signal,
const array filter,
const convMode  mode = AF_CONV_DEFAULT 
)

C++ Interface for convolution on two dimensional signals.

Parameters
[in]signalis the input signal
[in]filteris the signal that shall be used for the convolution operation
[in]modeindicates if the convolution should be expanded or not(where output size equals input)
Returns
the convolved array