scipy.ndimage.mean#

scipy.ndimage.mean(input, labels=None, index=None)[source]#

Calculate the mean of the values of an array at labels.

Parameters:
inputarray_like

Array on which to compute the mean of elements over distinct regions.

labelsarray_like, optional

Array of labels of same shape, or broadcastable to the same shape as input. All elements sharing the same label form one region over which the mean of the elements is computed.

indexint or sequence of ints, optional

Labels of the objects over which the mean is to be computed. Default is None, in which case the mean for all values where label is greater than 0 is calculated.

Returns:
outlist

Sequence of same length as index, with the mean of the different regions labeled by the labels in index.

Examples

>>> from scipy import ndimage
>>> import numpy as np
>>> a = np.arange(25).reshape((5,5))
>>> labels = np.zeros_like(a)
>>> labels[3:5,3:5] = 1
>>> index = np.unique(labels)
>>> labels
array([[0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0],
       [0, 0, 0, 1, 1],
       [0, 0, 0, 1, 1]])
>>> index
array([0, 1])
>>> ndimage.mean(a, labels=labels, index=index)
[10.285714285714286, 21.0]