(image_segmentation.split_touching_objects)
Sich berührende Objekte trennen#
In diesem Abschnitt werden wir Objekte in Binärbildern trennen, die eine rundliche Form haben und sich berühren. Wir werden das Napari-Plugin napari-segment-blobs-and-things-with-membranes verwenden. Im Hintergrund nutzt dieses Plugin Funktionen von 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
Ausgangspunkt dafür ist ein Binärbild, das z.B. mittels Schwellenwertverfahren erstellt wurde.
blobs = imread('../../data/blobs.tif')
binary = threshold_otsu(blobs)
imshow(binary)
Wir können dann die sich berührenden Objekte trennen, indem wir nur das Binärbild berücksichtigen. Der zugrunde liegende Algorithmus zielt darauf ab, ähnliche Ergebnisse wie ImageJ’s binärer Wasserscheiden-Algorithmus zu produzieren, und die Implementierung hier funktioniert auch in 3D.
split_objects = split_touching_objects(binary)
imshow(split_objects)