skimage2.filters.rank.otsu#

skimage2.filters.rank.otsu(image, footprint, out=None, mask=None, shift_x=0, shift_y=0, shift_z=0)[source]#

Local Otsu’s threshold value for each pixel.

Parameters:
imagendarray of shape ([P,] M, N) and dtype (uint8 or uint16)

Input image.

footprintndarray

The neighborhood expressed as an ndarray of 1’s and 0’s.

outndarray of shape ([P,] M, N), same dtype as input image

If None, a new array is allocated.

maskndarray of dtype (int or float), optional

Mask array that defines (>0) area of the image included in the local neighborhood. If None, the complete image is used (default).

shift_x, shift_y, shift_zint

Offset added to the footprint center point. Shift is bounded to the footprint sizes (center must be inside the given footprint).

Returns:
outndarray of shape ([P,] M, N), same dtype as input image

Output image.

References

Examples

>>> from _skimage2 import data
>>> from _skimage2.filters.rank import otsu
>>> from _skimage2.morphology import disk, ball
>>> import numpy as np
>>> img = data.camera()
>>> rng = np.random.default_rng()
>>> volume = rng.integers(0, 255, size=(10,10,10), dtype=np.uint8)
>>> local_otsu = otsu(img, disk(5))
>>> thresh_image = img >= local_otsu
>>> local_otsu_vol = otsu(volume, ball(5))
>>> thresh_image_vol = volume >= local_otsu_vol