bundles / skimage 0.26.1rc0.dev0+git20260530.b607368ff / skimage / morphology / gray / dilation
function
skimage.morphology.gray:dilation
source: /dev/scikit-image/src/skimage/morphology/gray.py :237
Signature
def dilation ( image , footprint = None , out = None , * , mode = reflect , cval = 0.0 ) Summary
Return grayscale morphological dilation of an image.
Extended Summary
Morphological dilation sets the value of a pixel to the maximum over all pixel values within a local neighborhood centered about it. The values where the footprint is 1 define this neighborhood. Dilation enlarges bright regions and shrinks dark regions.
Parameters
image: ndarrayImage array.
footprint: ndarray or tuple, optionalThe neighborhood expressed as a 2-D array of 1's and 0's. If None, use a cross-shaped footprint (connectivity=1). The footprint can also be provided as a sequence of smaller footprints as described in the notes below.
out: ndarray, optionalThe array to store the result of the morphology. If None is passed, a new array will be allocated.
mode: str, optionalThe
modeparameter determines how the array borders are handled. Valid modes are: 'reflect', 'constant', 'nearest', 'mirror', 'wrap', 'max', 'min', or 'ignore'. If 'min' or 'ignore', pixels outside the image domain are assumed to be the maximum for the image's dtype, which causes them to not influence the result. Default is 'reflect'.cval: scalar, optionalValue to fill past edges of input if
modeis 'constant'. Default is 0.0.
Returns
dilated: uint8 array, same shape and type as `image`The result of the morphological dilation.
Notes
For uint8 (and uint16 up to a certain bit-depth) data, the lower algorithm complexity makes the skimage.filters.rank.maximum function more efficient for larger images and footprints.
The footprint can also be a provided as a sequence of 2-tuples where the first element of each 2-tuple is a footprint ndarray and the second element is an integer describing the number of times it should be iterated. For example footprint=[(np.ones((9, 1)), 1), (np.ones((1, 9)), 1)] would apply a 9x1 footprint followed by a 1x9 footprint resulting in a net effect that is the same as footprint=np.ones((9, 9)), but with lower computational cost. Most of the builtin footprints such as skimage.morphology.disk provide an option to automatically generate a footprint sequence of this type.
For non-symmetric footprints, skimage.morphology.binary_dilation and skimage.morphology.dilation produce an output that differs: binary_dilation mirrors the footprint, whereas dilation does not. skimage.morphology.mirror_footprint is available to correct for this.
Examples
import numpy as np from skimage.morphology import footprint_rectangle bright_pixel = np.array([[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]], dtype=np.uint8) dilation(bright_pixel, footprint_rectangle((3, 3)))✓
Aliases
-
skimage.morphology.dilation