numpy.ma.correlate#

ma.correlate(a, v, mode='valid', propagate_mask=True)[source]#

Cross-correlation of two 1-dimensional sequences.

Parameters:
a, varray_like

Input sequences.

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

Refer to the np.convolve docstring. Note that the default is ‘valid’, unlike convolve, which uses ‘full’.

propagate_maskbool

If True, then a result element is masked if any masked element contributes towards it. If False, then a result element is only masked if no non-masked element contribute towards it

Returns:
outMaskedArray

Discrete cross-correlation of a and v.

See also

numpy.correlate

Equivalent function in the top-level NumPy module.

Examples

Basic correlation:

>>> a = np.ma.array([1, 2, 3])
>>> v = np.ma.array([0, 1, 0])
>>> np.ma.correlate(a, v, mode='valid')
masked_array(data=[2],
             mask=[False],
       fill_value=999999)

Correlation with masked elements:

>>> a = np.ma.array([1, 2, 3], mask=[False, True, False])
>>> v = np.ma.array([0, 1, 0])
>>> np.ma.correlate(a, v, mode='valid', propagate_mask=True)
masked_array(data=[--],
             mask=[ True],
       fill_value=999999,
            dtype=int64)

Correlation with different modes and mixed array types:

>>> a = np.ma.array([1, 2, 3])
>>> v = np.ma.array([0, 1, 0])
>>> np.ma.correlate(a, v, mode='full')
masked_array(data=[0, 1, 2, 3, 0],
             mask=[False, False, False, False, False],
       fill_value=999999)