Fusion d’étiquettes
En principe, tous les algorithmes de segmentation ont des limites. Dans le cas où les résultats sont sous-optimaux et qu’aucun meilleur algorithme de segmentation n’est disponible, le post-traitement des étiquettes peut être une option. Il existe certaines fonctions disponibles pour fusionner les étiquettes selon leurs propriétés telles que l’intensité le long du bord où les étiquettes se touchent ou le nombre de pixels des étiquettes combinées par paires.
<NVIDIA GeForce RTX 3050 Ti Laptop GPU on Platform: NVIDIA CUDA (1 refs)>
Fusion d’étiquettes selon l’intensité de la bordure
Comme exemple, nous utilisons une tranche recadrée du jeu de données d’exemple cells3d dans scikit-image.
|
cle._ image
| shape | (100, 100) |
| dtype | float32 |
| size | 39.1 kB |
| min | 1062.0 | | max | 20614.0 |
|
Dans l’exemple suivant, notre cellule au centre de l’image a été segmentée à tort comme deux cellules :
|
nsbatwm made image
| shape | (100, 100) |
| dtype | int32 |
| size | 39.1 kB |
| min | 1 | | max | 12 |
|
Cela peut être corrigé en fusionnant les cellules dont l’intensité de la bordure est inférieure à un seuil donné.
c:\structure\code\pyclesperanto_prototype\pyclesperanto_prototype\_tier3\_generate_touch_mean_intensity_matrix.py:30: UserWarning: generate_touch_mean_intensity_matrix is supposed to work with images of integer type only.
Loss of information is possible when passing non-integer images.
warnings.warn("generate_touch_mean_intensity_matrix is supposed to work with images of integer type only.\n" +
|
cle._ image
| shape | (100, 100) |
| dtype | uint32 |
| size | 39.1 kB |
| min | 1.0 | | max | 8.0 |
|