14.1 Convolution functions

(`boxcar``data, boxshape, output=None, mode='nearest', cval=0.0`)-
`boxcar`computes a 1-D or 2-D boxcar filter on every 1-D or 2-D subarray of`data`.`boxshape`is a tuple of integers specifying the dimensions of the filter, e.g.`(3,3)`

. If`output`is specified, it should be the same shape as`data`and the result will be stored in it. In that case`None`will be returned.`mode`can be any of the following values:`nearest`- : Elements beyond boundary come from nearest edge pixel.
`wrap`- : Elements beyond boundary come from the opposite array edge.
`reflect`- : Elements beyond boundary come from reflection on same array edge.
`constant`- : Elements beyond boundary are set to what is specified
in
`cval`, an optional numerical parameter; the default value is`0.0`

.

>>> print a [1 5 4 7 2 9 3 6] >>> print conv.boxcar(a,(3,)) [ 2.33333333 3.33333333 5.33333333 4.33333333 6. 4.66666667 6. 5. ] # for even number box size, it will take the extra point from the lower end >>> print conv.boxcar(a,(2,)) [ 1. 3. 4.5 5.5 4.5 5.5 6. 4.5]

(`convolve``data, kernel, mode=FULL`)-
Returns the discrete, linear convolution of 1-D sequences
`data`and`kernel`;`mode`can be`VALID`,`SAME`, or`FULL`

to specify the size of the resulting sequence. See section 14.2.

(`convolve2d``data, kernel, output=None, fft=0, mode='nearest', cval=0.0`)- Return the 2-dimensional convolution of
`data`and`kernel`. If`output`is not`None`, the result is stored in`output`and`None`is returned.`fft`is used to switch between FFT-based convolution and the naive algorithm, defaulting to naive. Using`fft`mode becomes more beneficial as the size of the kernel grows; for small kernels, the naive algorithm is more efficient.`mode`has the same choices as those of`boxcar`. A number of storage considerations come into play with large arrays: (1) boundary modes are implemented by making an oversized temporary copy of the`data`array which has a shape equal to the sum of the`data`and`kernel`shapes. (2) likewise, the`kernel`is copied into an array with the same shape as the oversized`data`array. (3) In FFT mode, the fourier transforms of the`data`and`kernel`arrays are stored in double precision complex temporaries. The aggregate effect is that storage roughly equal to a factor of eight (x2 from 2 and x4 from 3) times the size of the`data`is required to compute the convolution of a Float32`data`array.

(`correlate``data, kernel, mode=FULL`)-
Return the cross-correlation of
`data`and`kernel`;`mode`can be`VALID`,`SAME`, or`FULL`

to specify the size of the resulting sequence.`correlate`is very closely related to`convolve`in implementation. See section 14.2.

(`correlate2d``data, kernel, output=None, fft=0, mode='nearest', cval=0.0`)-
Return the 2-dimensional convolution of
`data`and`kernel`. If`output`is not`None`, the result is stored in`output`and`None`is returned.`fft`is used to switch between FFT-based convolution and the naive algorithm, defaulting to naive. Using`fft`mode becomes more beneficial as the size of the kernel grows; for small kernels, the naive algorithm is more efficient.`mode`has the same choices as those of`boxcar`. See also`convolve2d`for notes regarding storage consumption.

**Note:**
`cross_correlate` is deprecated and should not be used.

Send comments to the NumArray community.