skimage2.filters.rank.threshold#

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

Local threshold of an image.

The resulting binary mask is True if the gray value of the center pixel is greater than the local mean.

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.

Examples

>>> from _skimage2.morphology import footprint_rectangle # Need to add 3D example
>>> from _skimage2.filters.rank import threshold
>>> img = 255 * np.array([[0, 0, 0, 0, 0],
...                       [0, 1, 1, 1, 0],
...                       [0, 1, 1, 1, 0],
...                       [0, 1, 1, 1, 0],
...                       [0, 0, 0, 0, 0]], dtype=np.uint8)
>>> threshold(img, footprint_rectangle((3, 3)))
array([[0, 0, 0, 0, 0],
       [0, 1, 1, 1, 0],
       [0, 1, 0, 1, 0],
       [0, 1, 1, 1, 0],
       [0, 0, 0, 0, 0]], dtype=uint8)