Regionale Eigenschaften von Labels#

In diesem Notebook charakterisieren wir Labels anhand des Mittelwerts und der Standardabweichung ihrer Eigenschaften, wie z.B. der Größe. Wenn benachbarte Objekte ähnlich groß sind, ist die Standardabweichung ihrer Größe gering. Wenn Labels unterschiedlicher Größe benachbart sind, ist die Standardabweichung ihrer Größe höher. Dies könnte genutzt werden, um Regionen in Geweben zu identifizieren, in denen Zellen unterschiedlicher Größe aufeinandertreffen.

from skimage.io import imread
import pyclesperanto_prototype as cle
import stackview

Die hier verwendeten Daten wurden von maize_clsm.tif abgeleitet, das von hier stammt, ein von David Legland unter der CC-BY 4.0 Lizenz geteiltes Bild

image = imread("../../data/maize_clsm.tif")

stackview.insight(image)
shape(640, 639)
dtypeuint8
size399.4 kB
min0
max255

Ein entsprechendes Label-Bild sieht so aus:

labels = imread("../../data/maize_clsm_labels.tif")
labels = cle.exclude_small_labels(labels, maximum_size=200)
labels = cle.extend_labeling_via_voronoi(labels)
labels
cle._ image
shape(640, 639)
dtypeuint32
size1.6 MB
min1.0
max254.0

Größenmessung#

Zuerst müssen wir die Größe der Objekte quantifizieren. Wir können diese Messungen sofort als parametrisches Bild visualisieren.

size_map_image = cle.pixel_count_map(labels)

size_map_image
cle._ image
shape(640, 639)
dtypefloat32
size1.6 MB
min201.0
max14283.0

Regionale Eigenschaften#

Wir können diese Messungen nun lokal zusammenfassen, z.B. indem wir die durchschnittliche Größe jeder Zelle und ihrer entsprechenden benachbarten Zellen messen.

cle.mean_of_touching_neighbors_map(size_map_image, labels)
cle._ image
shape(640, 639)
dtypefloat32
size1.6 MB
min369.33334
max7611.5

Wir können auch die Standardabweichung der Größe berechnen, die die Grenzen zwischen den Regionen mit Zellen unterschiedlicher Größe hervorhebt.

cle.standard_deviation_of_touching_neighbors_map(size_map_image, labels)
cle._ image
shape(640, 639)
dtypefloat32
size1.6 MB
min43.538486
max3917.1946