Étiquetage Voronoï-Otsu sur des images binaires#

L’algorithme d’étiquetage Voronoï-Otsu peut également être utilisé sur des images binaires, donnant des résultats similaires à la méthode de la ligne de partage des eaux binaire dans ImageJ. Il sépare les objets arrondis lorsqu’ils sont collés ensemble.

from skimage.io import imread
from napari_segment_blobs_and_things_with_membranes import voronoi_otsu_labeling, threshold_otsu
import stackview

Pour démontrer cela, nous commençons par une image binaire.

blobs_image = imread("../../data/blobs.tif")
binary_image = threshold_otsu(blobs_image)

binary_image
nsbatwm made image
shape(254, 256)
dtypeint32
size254.0 kB
min0
max1

Nous appliquons maintenant l’étiquetage Voronoï-Otsu à l’image binaire.

label_image = voronoi_otsu_labeling(binary_image, spot_sigma=3.5)

label_image
nsbatwm made image
shape(254, 256)
dtypeint32
size254.0 kB
min0
max67

Exercice#

Ci-dessous, vous voyez le résultat de la méthode de la ligne de partage des eaux dans ImageJ. Comment devez-vous modifier le résultat label_image ci-dessus pour le transformer à nouveau en une image binaire comme le résultat d’ImageJ ?

binary_watershed_imagej = imread("../../data/blobs_otsu_watershed.tif")

stackview.insight(binary_watershed_imagej)
shape(254, 256)
dtypeuint8
size63.5 kB
min0
max255