Etiquetado Voronoi-Otsu en imágenes binarias#

El algoritmo de Etiquetado Voronoi-Otsu también se puede usar en imágenes binarias, dando resultados similares a la watershed binaria en ImageJ. Divide objetos redondeados en caso de que estén pegados entre sí.

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

Para demostrar esto, comenzamos con una imagen binaria.

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

Ahora aplicamos el Etiquetado Voronoi-Otsu a la imagen binaria.

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

Ejercicio#

A continuación, puedes ver el resultado de la Watershed en ImageJ. ¿Cómo necesitas modificar el resultado de label_image arriba para convertirlo de nuevo en una imagen binaria como el resultado de ImageJ?

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

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