Supprimer les étiquettes sur les bords de l’image
Lors de l’analyse scientifique d’images, il est souvent pertinent que seuls les objets entièrement capturés dans l’image soient analysés.
Notre point de départ sera une image étiquetée ; par exemple dérivée de blobs.tif par seuillage et étiquetage des composants connexes :
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
Si la taille des objets est pertinente, il faut exclure les objets qui n’ont pas été entièrement imagés et qui touchent donc le bord de l’image.
|
| shape | (254, 256) |
| dtype | uint32 |
| size | 254.0 kB |
| min | 0 | | max | 55 |
|
Notez que l’intensité maximale dans l’image étiquetée ci-dessus est de 55 et le nombre d’objets est de 44 (voir ci-dessous). Ainsi, il s’agit d’une image étiquetée où toutes les étiquettes entre 1 et 44 ne sont pas présentes.
Number of objects in the image: 44
Étiquetage consécutif
De nombreux algorithmes pour le traitement ultérieur des images étiquetées nécessitent que les étiquettes soient consécutives. Nous devons donc corriger cela avec l’image ci-dessus.
|
| shape | (254, 256) |
| dtype | uint32 |
| size | 254.0 kB |
| min | 0 | | max | 44 |
|
D’autres implémentations pour supprimer les objets sur les bords de l’image ne nécessitent pas cette étape :
|
cle._ image
| shape | (254, 256) |
| dtype | uint32 |
| size | 254.0 kB |
| min | 0.0 | | max | 44.0 |
|
Number of objects in the image: 44