6. Construction de maillages volumiques 124
6.4. Réparation topologique d’une image n -aire
Par extension de la notion d’image binaire, une imagen-aire est une image qui contient
plusieurs objetsci, chacun d’entre eux étant repéré par une étiquette différente, baignant
dans le fond d’image, qui est le complémentaire de l’union des objets, et que nous
pour-rions noter c
0= S
i
ci. Nous allons donc essayer d’éliminer au mieux les configurations
singulières afin d’obtenir une imagen-aire bien constituée au sens de Latecki, c’est-à-dire
ne contenant aucune des configurations suivantes.
– Configuration de type 1 (C1) : deux voxels de label i occupent deux coins opposés
d’un carré de taille 2×2 voxels (cf figure 6.4, gauche), les deux autres voxels du
carré présentant un label différent dei. Il y a 3 orientations possibles pour ces carrés
qui peuvent être parallèles à l’un des 3 plans XY, YZ ou ZX, et pour chacun d’entre
deux, 2 diagonales à tester.
– Configuration de type 2 (C2) : deux voxels de label i occupent deux coins opposés
(selon une grande diagonale) d’un cube de taille2×2×2voxels, les six autres voxels
présentant un label différent dei(cf figure 6.4, droite), il y a 4 diagonales à tester.
– Configuration de type 2’ (C2’) : six voxels de label ioccupent tous les voxels d’un
Il s’agit ici d’une configuration supplémentaire par rapport à celles présentées dans
[Latecki, 1997], nécessaire pour l’adaptation au cas des images n-aires et qui est le
complémentaire de la configuration précédente. Ici aussi, il y a 4 diagonales à tester.
Dans un but d’efficacité, nous allons d’abord identifier les zones à problèmes dans l’image
à traiter, zones qui peuvent contenir plusieurs configurations singulières, en dénombrant
lesdites configurations. Ensuite, nous présenterons la notion depoint doublement simple,
qui permet de changer l’étiquette d’un point tout en assurant une propriété
d’homoto-pie, ainsi que des scores qui nous permettrons de choisir le voxel dont il faut modifier
l’appartenance. Enfin nous présenterons l’algorithme complet de réparation topologique.
6.4.1. Extraction des zones à problèmes
Pour extraire les zones à problèmes, nous allons dénombrer les configurations
singu-lières. Nous allons donc parcourir l’image segmentée S et étudier chacun des carrés de
2×2voxels et chacun des cubes de2×2×2voxels. S’ils correspondent à une des
configu-rations singulières C1, C2 ou C2’, nous ajoutons 1 à chacun des 4 ou 8 voxels composant
le carré ou le cube.
Après le parcours de l’image, nous avons une valeur pour chaque voxel, que nous
appele-ronsscore d’erreur, et qui correspond au nombre de configurations singulières auxquelles
appartient le voxel. Les voxels à 0 sont donc ceux qui n’appartiennent à aucune
configura-tion singulière. Comme nous n’allons appliquer que des correcconfigura-tions locales, nous pouvons
extraire les composantes 6-connexes faites de voxels de valeur strictement positive (qui
appartiennent donc à au moins une configuration singulière), et traiter indépendamment
ces composantes.
6.4.2. Point doublement simple
La réparation topologique se fait en changeant l’étiquette d’un point, c’est-à-dire en
changeant la cellule à laquelle il appartient. Il n’est évidemment intéressant de ne
consi-dérer cette opération que pour les points appartenant à une configuration singulière, donc
à l’une des composante connexe extraite précédemment.
Nous sommes intéressés par conserver la topologie de l’image S, c’est-à-dire toujours
avoir le même nombre de cellules, chacune d’entre elles devant rester sans poignée (ou
tunnel) et sans cavité. Il nous faut donc définir comment préserver la topologie d’une
imagen-aire.
En ce qui concerne les images binaires, les points qui peuvent changer de couleur,
c’est-à-dire passer de l’objet à son complémentaire ou vice-versa, sont appelés points
simples. Rappelons qu’il faut utiliser des connexités différentes pour l’objet X et son
complémentaire X¯. Prenons par exemple comme il est d’usage la 26-connexité pour
l’objet et la 6-connexité pour son complémentaire. Un point v sera simple s’il vérifie
[Bertrand and Malandain, 1994]
T
06X¯(v) =T
26X(v) = 1
– T
X¯06
(v) est le nombre de composantes 6-connexes de X¯, 6-adjacentes à v, dans un
18-voisinage dev(le voxelvn’étant pas considéré pour ce calcul, ou étant considéré
comme appartenant àX) ,
– T
X26
(v) est le nombre de composantes 26-connexes deX, dans un 26-voisinage de v,
(le voxelv n’étant pas considéré pour ce calcul, ou étant considéré comme
apparte-nant àX¯).
Dans le cas d’une image n-aire, il faut vérifier que la topologie est préservée lorsque le
voxelv passe de l’étiquette ià l’étiquette j, c’est-à-dire passe de la cellule ci à la cellule
cj. Il faut donc vérifier que
1. l’on peut bien le retirer de la cellule ci sans modifier la topologie de celle-ci et de
son complémentaire, et que
2. l’on peut aussi l’ajouter à la cellule cj sans modifier la topologie de celle-ci et de
son complémentaire.
Le voxel v doit donc être doublement simple par rapport aux cellules ci et cj. Comme
nous considérons la 6-connexité pour les cellules, il faut donc qu’il vérifie
T
06i(v) =T
266=i(v) =T
06j(v) =T
266=j(v) = 1
où :
– T
i06
(v) est le nombre de composantes 6-connexes de ci, 6-adjacentes à v, dans un
18-voisinage dev,
– T
266=i(v) est le nombre de composantes 26-connexes deS
j6=i