imgroi.core module

imgroi.core.find_contours(img)[source]

Takes an image and extracts contours from the mask.

Parameters:a_image (numpy.ndarray) – takes an image.
Returns:an array with contours.
Return type:(numpy.ndarray)

Examples

>>> numpy.set_printoptions(legacy="1.13")
>>> a = numpy.array([[ True,  True, False],
...                  [False, False, False],
...                  [ True,  True,  True]], dtype=bool)
>>> find_contours(a)
array([[ True,  True, False],
       [False, False, False],
       [ True,  True,  True]], dtype=bool)
>>> find_contours(numpy.eye(3))
array([[ 1.,  0.,  0.],
       [ 0.,  1.,  0.],
       [ 0.,  0.,  1.]])
>>> a = numpy.array([
...     [False, False,  True, False, False, False,  True],
...     [ True, False, False, False,  True, False, False],
...     [ True,  True, False,  True,  True, False,  True],
...     [ True, False, False,  True,  True, False, False],
...     [ True, False, False, False, False, False, False],
...     [False,  True, False, False, False, False,  True],
...     [False,  True,  True, False, False, False, False]
... ], dtype=bool)
>>> find_contours(a)
array([[False, False,  True, False, False, False,  True],
       [ True, False, False, False,  True, False, False],
       [ True,  True, False,  True,  True, False,  True],
       [ True, False, False,  True,  True, False, False],
       [ True, False, False, False, False, False, False],
       [False,  True, False, False, False, False,  True],
       [False,  True,  True, False, False, False, False]], dtype=bool)
imgroi.core.label_mask_stack(new_masks, dtype=None)[source]

Takes a mask stack and replaces them by the max of an enumerated stack. In other words, each mask is replaced by a consecutive integer (starts with 1 and proceeds to the length of the given axis (0 by default)). Afterwards, the max is taken along the given axis.

Parameters:
  • new_masks (numpy.ndarray) – masks to enumerate
  • dtype (type) – type to use for the label matrix (default is int).
Returns:

an enumerated stack.

Return type:

(numpy.ndarray)

Examples

>>> numpy.set_printoptions(legacy="1.13")
>>> label_mask_stack(
...     numpy.array([[[1, 0, 0, 0],
...                   [0, 0, 0, 0],
...                   [0, 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, 0, 0],
...                   [0, 0, 0, 0],
...                   [0, 0, 1, 0],
...                   [0, 0, 0, 0]],
...
...                  [[0, 0, 0, 0],
...                   [0, 0, 0, 0],
...                   [0, 0, 0, 0],
...                   [0, 0, 0, 1]]], dtype=bool)
... )
array([[1, 0, 0, 0],
       [0, 2, 0, 0],
       [0, 0, 3, 0],
       [0, 0, 0, 4]])