Eliminar etiquetas en los bordes de la imagen
Cuando se analizan imágenes científicamente, a menudo es relevante que solo se analicen los objetos en la imagen que están completamente capturados.
Nuestro punto de partida será una imagen etiquetada; por ejemplo, derivada de blobs.tif mediante umbralización y etiquetado de componentes conectados:
c:\structure\code\pyclesperanto_prototype\pyclesperanto_prototype\_tier9\_imshow.py:34: UserWarning: cle.imshow is deprecated, use stackview.imshow instead.
warnings.warn("cle.imshow is deprecated, use stackview.imshow instead.")
|
cle._ image
| shape | (254, 256) |
| dtype | uint32 |
| size | 254.0 kB |
| min | 0.0 | | max | 62.0 |
|
Number of objects in the image: 62
En caso de que el tamaño de los objetos sea relevante, se deben excluir los objetos que no fueron completamente capturados y, por lo tanto, tocan el borde de la imagen.
|
| shape | (254, 256) |
| dtype | uint32 |
| size | 254.0 kB |
| min | 0 | | max | 55 |
|
Observa que la intensidad máxima en la imagen etiquetada anterior es 55 y el número de objetos es 44 (ver abajo). Por lo tanto, esta es una imagen etiquetada donde no todas las etiquetas entre 1 y 44 están presentes.
Number of objects in the image: 44
Etiquetado subsecuente
Muchos algoritmos para el procesamiento posterior de imágenes etiquetadas requieren que las etiquetas estén etiquetadas de manera subsecuente. Por lo tanto, necesitamos arreglar esto con la imagen anterior.
|
| shape | (254, 256) |
| dtype | uint32 |
| size | 254.0 kB |
| min | 0 | | max | 44 |
|
Otras implementaciones para eliminar objetos en los bordes de la imagen no requieren este paso:
|
cle._ image
| shape | (254, 256) |
| dtype | uint32 |
| size | 254.0 kB |
| min | 0.0 | | max | 44.0 |
|
Number of objects in the image: 44