sigpy.convolve

sigpy.convolve(data, filt, mode='full', strides=None, multi_channel=False)[source]

Convolution that supports multi-dimensional and multi-channel inputs.

This function follows the signal processing definition of convolution. Note that the cuDNN version only supports inputs with D=1, 2 or 3.

Parameters:
  • data (array) – data array of shape: \([..., m_1, ..., m_D]\) if multi_channel is False, \([..., c_i, m_1, ..., m_D]\) otherwise.
  • filt (array) – filter array of shape: \([n_1, ..., n_D]\) if multi_channel is False \([c_o, c_i, n_1, ..., n_D]\) otherwise.
  • mode (str) – {‘full’, ‘valid’}.
  • strides (None or tuple of ints) – convolution strides of length D.
  • multi_channel (bool) – specify if input/output has multiple channels.
Returns:

output array of shape:

\([..., p_1, ..., p_D]\) if multi_channel is False, \([..., c_o, p_1, ..., p_D]\) otherwise.

Return type:

array