(image_segmentation.split_touching_objects)

Séparer les objets en contact#

Dans cette section, nous allons séparer les objets dans des images binaires qui ont une forme arrondie et se touchent. Nous utiliserons le plugin napari napari-segment-blobs-and-things-with-membranes. En coulisses, ce plugin utilise des fonctions de scikit-image.

from napari_segment_blobs_and_things_with_membranes import threshold_otsu, split_touching_objects
from skimage.io import imread
from skimage import data
from pyclesperanto_prototype import imshow

Le point de départ est une image binaire, par exemple créée en utilisant le seuillage.

blobs = imread('../../data/blobs.tif')

binary = threshold_otsu(blobs)

imshow(binary)
../_images/a3b8abafafa9a92b9757736d44504ef401d2b47c297582559c01e3c19fce505f.png

Nous pouvons ensuite séparer les objets en contact en ne tenant compte que de l’image binaire. L’algorithme sous-jacent vise à produire des résultats similaires à l’algorithme de watershed binaire d’ImageJ et l’implémentation ici fonctionne également en 3D.

split_objects = split_touching_objects(binary)
imshow(split_objects)
../_images/b58983881572d2ef391594fa68463a5dbc9edfad692188d7489479ca59cb8511.png