Identificación de etiquetas que tocan el fondo#

En biología del desarrollo, es una tarea común diferenciar capas de células, por ejemplo en tejido epitelial. Por lo tanto, puede ser útil saber si una célula es parte de una capa externa, si toca el fondo. En este cuaderno, medimos y visualizamos esto.

Para demostrarlo, simulamos un grupo de células.

import pyclesperanto_prototype as cle

# import a function from a file in the same folder
from simulated_cell_clumb import simulate_data
cells = simulate_data()
cells
cle._ image
shape(200, 200)
dtypeuint32
size156.2 kB
min0.0
max41.0

Determinación de qué células tocan el fondo#

Para determinar qué células tocan el fondo, necesitamos producir una matriz de contacto que nos indique qué objetos tocan a otros.

touch_matrix = cle.generate_touch_matrix(cells)
touch_matrix
cle._ image
shape(42, 42)
dtypefloat32
size6.9 kB
min0.0
max1.0

La primera fila y columna en esta imagen representan objetos que tocan el fondo. Podemos leer esta primera fila o columna de la siguiente manera:

touching_background = touch_matrix[0]
touching_background
cle.array([0. 1. 1. 1. 0. 1. 1. 1. 0. 1. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 1.
 0. 0. 1. 0. 0. 1. 0. 1. 1. 0. 0. 1. 1. 0. 0. 1. 1. 1.], dtype=float32)

Y podemos visualizarlo en las coordenadas de la imagen original.

cle.replace_intensities(cells, touching_background)
cle._ image
shape(200, 200)
dtypefloat32
size156.2 kB
min0.0
max1.0

O podemos obtener una imagen etiquetada que represente esos objetos.

cle.exclude_labels(cle.binary_not([touching_background]), cells)
cle._ image
shape(200, 200)
dtypeuint32
size156.2 kB
min0.0
max20.0