remove-small-objects

remove_small_objects

skimage.morphology.remove_small_objects(ar, min_size=64, connectivity=1, in_place=False) [source]

Remove connected components smaller than the specified size.

Parameters:

ar : ndarray (arbitrary shape, int or bool type)

The array containing the connected components of interest. If the array type is int, it is assumed that it contains already-labeled objects. The ints must be non-negative.

min_size : int, optional (default: 64)

The smallest allowable connected component size.

connectivity : int, {1, 2, ..., ar.ndim}, optional (default: 1)

The connectivity defining the neighborhood of a pixel.

in_place : bool, optional (default: False)

If True, remove the connected components in the input array itself. Otherwise, make a copy.

Returns:

out : ndarray, same shape and type as input ar

The input array with small connected components removed.

Raises:

TypeError

If the input array is of an invalid type, such as float or string.

ValueError

If the input array contains negative values.

Examples

>>> from skimage import morphology
>>> a = np.array([[0, 0, 0, 1, 0],
...               [1, 1, 1, 0, 0],
...               [1, 1, 1, 0, 1]], bool)
>>> b = morphology.remove_small_objects(a, 6)
>>> b
array([[False, False, False, False, False],
       [ True,  True,  True, False, False],
       [ True,  True,  True, False, False]], dtype=bool)
>>> c = morphology.remove_small_objects(a, 7, connectivity=2)
>>> c
array([[False, False, False,  True, False],
       [ True,  True,  True, False, False],
       [ True,  True,  True, False, False]], dtype=bool)
>>> d = morphology.remove_small_objects(a, 6, in_place=True)
>>> d is a
True
doc_scikit_image
2017-01-12 17:23:09
Comments
Leave a Comment

Please login to continue.