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

Cross-correlate two 2-dimensional arrays.

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

  • in1 (cupy.ndarray) – First input.

  • in2 (cupy.ndarray) – Second input. Should have the same number of dimensions as in1.

  • mode (str) –

    Indicates the size of the output:

    • 'full': output is the full discrete linear convolution (default)

    • 'valid': output consists only of those elements that do not rely on the zero-padding. Either in1 or in2 must be at least as large as the other in every dimension.

    • 'same': - output is the same size as in1, centered with respect to the 'full' output

  • boundary (str) –

    Indicates how to handle boundaries:

    • fill: pad input arrays with fillvalue (default)

    • wrap: circular boundary conditions

    • symm: symmetrical boundary conditions

  • fillvalue (scalar) – Value to fill pad input arrays with. Default is 0.


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

Return type:



When using "same" mode with even-length inputs, the outputs of correlate and correlate2d differ: There is a 1-index offset between them.