SciPy

scipy.ndimage.variance

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

Calculate the variance of the values of an n-D image array, optionally at specified sub-regions.

Parameters:

input : array_like

Nd-image data to process.

labels : array_like, optional

Labels defining sub-regions in input. If not None, must be same shape as input.

index : int or sequence of ints, optional

labels to include in output. If None (default), all values where labels is non-zero are used.

Returns:

variance : float or ndarray

Values of variance, for each sub-region if labels and index are specified.

Examples

>>> a = np.array([[1, 2, 0, 0],
...               [5, 3, 0, 4],
...               [0, 0, 0, 7],
...               [9, 3, 0, 0]])
>>> from scipy import ndimage
>>> ndimage.variance(a)
7.609375

Features to process can be specified using labels and index:

>>> lbl, nlbl = ndimage.label(a)
>>> ndimage.variance(a, lbl, index=np.arange(1, nlbl+1))
array([ 2.1875,  2.25  ,  9.    ])

If no index is given, all non-zero labels are processed:

>>> ndimage.variance(a, lbl)
6.1875