standard_deviation#
- scipy.ndimage.standard_deviation(input, labels=None, index=None)[source]#
Calculate the standard deviation of the values of an N-D image array, optionally at specified sub-regions.
- Parameters:
- inputarray_like
N-D image data to process.
- labelsarray_like, optional
Labels to identify sub-regions in input. If not None, must be same shape as input.
- indexint or sequence of ints, optional
labels to include in output. If None (default), all values where labels is non-zero are used.
- Returns:
- standard_deviationfloat or ndarray
Values of standard deviation, for each sub-region if labels and index are specified.
Notes
Array API Standard Support
standard_deviation
has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variableSCIPY_ARRAY_API=1
and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.Library
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
⛔
JAX
⚠️ no JIT
⛔
Dask
⚠️ computes graph
n/a
See Support for the array API standard for more information.
Examples
>>> import numpy as np >>> a = np.array([[1, 2, 0, 0], ... [5, 3, 0, 4], ... [0, 0, 0, 7], ... [9, 3, 0, 0]]) >>> from scipy import ndimage >>> ndimage.standard_deviation(a) 2.7585095613392387
Features to process can be specified using labels and index:
>>> lbl, nlbl = ndimage.label(a) >>> ndimage.standard_deviation(a, lbl, index=np.arange(1, nlbl+1)) array([ 1.479, 1.5 , 3. ])
If no index is given, non-zero labels are processed:
>>> ndimage.standard_deviation(a, lbl) 2.4874685927665499