SciPy

scipy.signal.convolve2d

scipy.signal.convolve2d(in1, in2, mode='full', boundary='fill', fillvalue=0)[source]

Convolve two 2-dimensional arrays.

Convolve in1 and in2 with output size determined by mode, and boundary conditions determined by boundary and fillvalue.

Parameters:

in1, in2 : array_like

Two-dimensional input arrays to be convolved.

mode : str {‘full’, ‘valid’, ‘same’}, optional

A string indicating the size of the output:

full

The output is the full discrete linear convolution of the inputs. (Default)

valid

The output consists only of those elements that do not rely on the zero-padding.

same

The output is the same size as in1, centered with respect to the ‘full’ output.

boundary : str {‘fill’, ‘wrap’, ‘symm’}, optional

A flag indicating how to handle boundaries:

fill

pad input arrays with fillvalue. (default)

wrap

circular boundary conditions.

symm

symmetrical boundary conditions.

fillvalue : scalar, optional

Value to fill pad input arrays with. Default is 0.

Returns:

out : ndarray

A 2-dimensional array containing a subset of the discrete linear convolution of in1 with in2.