bundles / scipy latest / scipy / ndimage / _morphology / grey_erosion
function
scipy.ndimage._morphology:grey_erosion
Signature
def grey_erosion ( input , size = None , footprint = None , structure = None , output = None , mode = reflect , cval = 0.0 , origin = 0 , * , axes = None ) Summary
Calculate a greyscale erosion, using either a structuring element, or a footprint corresponding to a flat structuring element.
Extended Summary
Grayscale erosion is a mathematical morphology operation. For the simple case of a full and flat structuring element, it can be viewed as a minimum filter over a sliding window.
Parameters
input: array_likeArray over which the grayscale erosion is to be computed.
size: tuple of intsShape of a flat and full structuring element used for the grayscale erosion. Optional if
footprintorstructureis provided.footprint: array of ints, optionalPositions of non-infinite elements of a flat structuring element used for the grayscale erosion. Non-zero values give the set of neighbors of the center over which the minimum is chosen.
structure: array of ints, optionalStructuring element used for the grayscale erosion.
structuremay be a non-flat structuring element. Thestructurearray applies a subtractive offset for each pixel in the neighborhood.output: array, optionalAn array used for storing the output of the erosion may be provided.
mode: {'reflect','constant','nearest','mirror', 'wrap'}, optionalThe
modeparameter determines how the array borders are handled, wherecvalis the value when mode is equal to 'constant'. Default is 'reflect'cval: scalar, optionalValue to fill past edges of input if
modeis 'constant'. Default is 0.0.origin: scalar, optionalThe
originparameter controls the placement of the filter. Default 0axes: tuple of int or NoneThe axes over which to apply the filter. If None,
inputis filtered along all axes. If anorigintuple is provided, its length must match the number of axes.
Returns
output: ndarrayGrayscale erosion of
input.
Notes
The grayscale erosion of an image input by a structuring element s defined over a domain E is given by:
(input+s)(x) = min {input(y) - s(x-y), for y in E}
In particular, for structuring elements defined as s(y) = 0 for y in E, the grayscale erosion computes the minimum of the input image inside a sliding window defined by E.
Grayscale erosion [1] is a mathematical morphology operation [2].
Array API Standard Support
grey_erosion has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_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
dev-arrayapifor more information.
Examples
from scipy import ndimage import numpy as np a = np.zeros((7,7), dtype=int) a[1:6, 1:6] = 3 a[4,4] = 2; a[2,3] = 1 a ndimage.grey_erosion(a, size=(3,3)) footprint = ndimage.generate_binary_structure(2, 1)✓
footprint
✗ndimage.grey_erosion(a, footprint=footprint)
✓See also
Aliases
-
scipy.ndimage.grey_erosion