article

Transcription

article
Modélisation dynamique du rein par une
approche de type morphing
De la reconstruction 3D à la simulation du
mouvement
Valentin Leonardi
Laboratoire LSIS (UMR CNRS 7296)
ESIL - Campus de Luminy - Case 925
163, Avenue de Luminy
13288 Cedex 9
[email protected]
L’utilisation d’une méthode non-invasive de destruction de tumeur par transmission
d’ondes transcutanée nécessite de garder le faisceau d’ondes ciblé sur la tumeur. Lorsque la
tumeur se situe au sein d’un organe mobile comme le rein, la simulation de son mouvement
devient nécessaire. Nous présentons ici une méthode originale afin d’obtenir cette simulation :
le mesh morphing (nous considérons que le rein a déjà été segmenté et reconstruit pour trois
phases du cycle respiratoire). Une telle approche permet la transition progressive entre différents modèles rénaux, conduisant à la simulation du mouvement. Ainsi, la méthode est purement
géométrique et ne nécessite pas de marqueur ou d’appareil de tracking. Les résultats sont directement des simulations 3D et les modèles sont animés en temps réel. Finalement, notre approche
est automatique et rapide, et peut donc être utilisée dans un environnement médical.
RÉSUMÉ.
When using a non-invasive way of tumor destruction through transcutaneous transmition of waves, it is primordial to keep the wave beam focused on the tumor. If the tumor is
located in a moving organ like the kidney, motion simulation is necessary. We present here an
original method to obtain the kidney motion simulation: this is done using a mesh morphing.
Such an approach allows a smooth transition between the different kidney models, resulting
in a motion simulation. Thus, the method is purely geometric and does not need any kind of
markers or tracking device. It gives directly a full 3D simulation and models are animated in
real time. Finally, our approach is automatic and fast, so that it can easily be used in a medical
environment.
ABSTRACT.
Modélisation géométrique, simulation de mouvement d’organe, modélisation du
rein, mesh morphing
MOTS-CLÉS :
KEYWORDS:
Geometrical modeling, organ motion simulation, kidney modeling, mesh morphing
JDL’6 2012, pages 1 à 12
1. Introduction
Le projet KiTT (pour Kidney Tumor Tracking), dans lequel nous sommes impliqués, s’inscrit dans un contexte de traitement mini-invasif des tumeurs rénales. Sa
finalité est de développer une nouvelle approche totalement non-invasive en transmettant un agent physique (ondes de radiofréquence, ultrasons, ...) par voie transcutanée
jusqu’à éradication de la tumeur. La principale difficulté est d’avoir le faisceau d’ondes
continuellement focalisé sur la tumeur alors que celle-ci est bouge en raison du mouvement et de la déformation du rein sous l’influence cycle du respiratoire. Un tracking
temps-réel du rein (et donc de la tumeur) est alors nécessaire. Avant cette étape de
suivi de l’organe, il faut en obtenir un modèle 3D robuste. Ces travaux sont décrits
dans une précédente publication (Leonardi et al., 2011b)
Nous proposons ici une nouvelle méthode dont l’objectif est double : le premier
est d’obtenir le mouvement et la déformation d’un organe (le rein dans notre cas) sous
l’influence de la respiration. Le second objectif découle logiquement du premier et
est le tracking d’une partie de cet organe, la tumeur. L’originalité de notre méthode
est qu’elle repose sur une approche entièrement géométrique : le mesh morphing. Elle
est ainsi accélérée et ne nécessite que trois modèles correspondants à trois phases
respiratoires : la phase d’inspiration (quand le volume d’air dans les poumons est
maximal), la phase d’expiration (quand le volume d’air dans les poumons est minimal)
et la phase située entre les deux dernières que nous appellerons phase médiane. De
plus, les résultats obtenus sont eux aussi de nature géométrique puisqu’il s’agit d’un
modèle 3D animé. De ce fait, le mouvement et les déformations peuvent être étudiés
sous n’importe quel angle alors que certaines méthodes n’offrent que la possibilité
d’une visualisation 2D. Enfin, la tumeur étant également animée il est possible de
connaître sa position à tout moment.
La partie 2 de cet article traite des travaux précédents concernant le tracking d’un
organe et le mesh morphing. Une présentation de la méthode est fait dans la partie 3 :
un bref rappel de la reconstruction du rein est abordé, puis l’algorithme utilisé pour
le mesh morphing est décrit en détails. Dans la partie 4, les résultats obtenus sont
présentés, les performances de la méthode commentées et une discussion est faite
concernant ses limites et les possibilités de les contourner.
2. État de l’art
2.1. Tracking d’organe
Les méthodes de tracking d’organe sont soit basées sur des modèles mathématiques représentant le cycle respiratoire comme une fonction périodique, soit sur des
algorithmes empiriques permettant des prédire les futurs mouvements par observation
et analyse des précédents.
La manière la plus intuitive de traquer un organe et de placer un marqueur facilement détectable par une acquisition d’imagerie médicale près de celui-ci (Nakamoto
et al., 2008), (Nicolau et al., 2007), (Olbricha et al., 2005), (Schweikard et al., 2000),
(Shirato et al., 2000). Ce formalisme est également utilisé dans les systèmes robotiques de radio-chirurgie comme le Cyberknife (Murphy et al., 2003). Ce genre de
méthode nécessite une intervention chirurgicale qui n’est pas adapté à notre problématique.
Les approches suivantes supposent que l’organe à traquer a déjà été segmenté et
reconstruit au préalable. Dans la plupart des cas deux modèles sont suffisants, mais
trois (Sarrut et al., 2006) ou parfois plus (Rohlfing et al., 2001) sont quelques fois
nécessaires. Ces acquisitions en plus peuvent être utilisées pour améliorer la précision
de la simulation. Dans d’autre cas, ce ne sont pas des acquisitions qui sont nécessaires
mais d’autres types de données essentielles à la méthode. Hostettler et al. (Hostettler
et al., 2008) utilisent le mouvement du diaphragme afin de la répercuter sur les organes
de l’abdomen. Dans (Sarrut et al., 2006), l’air, les tissus et les poumons de trois phases
respiratoires doivent être segmentés pour obtenir le tracking de l’organe.
Les champs de déformations sont utilisés afin d’analyser les mouvement d’un
organe. Ces champs servent à calculer les déformations nécessaires à appliquer sur
un modèle source donné Ms afin de le déformer en un modèle cible donné Mt . Le
champ de déformation peut être calculé par Maximum de vraisemblance / EspéranceMaximisation (Reyes et al., 2005), moindres carrés (Sarrut et al., 2006) ou des approches basés sur l’Information Mutuelle Normalisée (Rueckert et al., 1999). Les
déformations peuvent également être appliquées sur un maillage via une superquadratique déformable afin d’obtenir les mouvements de l’organe (Bardinet et al.,
1996).
Les méthodes de recalage sont également un bon moyen d’arriver au tracking
d’un organe. Nicolau et al. (Nicolau et al., 2007) utilisent deux acquisitions. Sur la
première des marqueurs sont placés afin de relever la position de l’organe d’intérêt.
Une seconde acquisition est ensuite faite, sans marqueurs. L’analyse de la différence
de position de la colonne vertébrale entre les deux acquisitions permet de calculer le
recalage par minimisation de l’Extended Projective Point Criterion. Dans (Rueckert
et al., 1999) deux opérations sont nécessaires pour obtenir le recalage : une transformation affine est utilisée pour les mouvements globaux tandis d’une Déformation de
Forme Libre est utilisée pour les mouvements locaux. Deux algorithmes de recalage
basés sur le flux optique sont implémentés et accélérés par programmation GPU dans
(Noe et al., 2008) afin de procéder à une radiothérapie guidée par images.
2.2. Morphing
Le mesh morphing est une méthode utilisée pour transformer progressivement un
modèle source Ms en un modèle cible Mt . La manière la plus usuelle d’obtenir un mesh
morphing est de trouver un réseau de sommet/arête/face commun aux deux modèles
afin de calculer un metamesh Mm comprenant la topologie de Ms et Mt . Ce réseau commun est obtenu par projection des modèles sur des formes arbitraires, ces projections
étant basées sur la résolution d’un système linéaire. Cette approche a été utilisée en
premier par Kent et al. dans (Kent et al., 1992) où les deux modèles sont projetés sur
le disque unité. Dans (Alexa et al., 2000), Alexa et al. créent un mesh morphing pour
lequel l’intérieur est pris en compte. Un modèle 3D est décomposé en un ensemble de
tétraèdres et une forme 2D en un ensemble de triangles. L’interpolation d’un tétraèdre
est faite via l’utilisation de matrice de rotation et de cisaillement à valeurs positives.
Dans (Gregory et al., 1998) Ms et Mt sont divisés en un nombre identique de patchs P.
Chaque patch est ensuite transformé de manière à ce que le patch Pk de Ms soit transformé en Pk de Mt . Cette approche est proche de celle utilisée dans (Kanai et al., 2000)
où les modèles sont divisés en n formes arbitraires. Ces formes sont ensuite projetées
sur un polygone de manière à ce que leurs bords soient sur le bord du polygone. Les
positions des sommets restants sont calculées en considérant la forme comme un système masse-ressort au repos, les sommets du bord étant les masses fixes. Dans (Lee
et al., 1999) Ms et Mt sont simplifiés en Ms0 et Mt0 par la méthode MAPS (Lee et al.,
1998). Les sommets pour lesquelles la correspondance sommet à sommet entre Ms
et Mt est déjà connue sont conservés. Ms et Mt sont finalement transformés afin de
garder ces correspondances. Malheureusement, les approches précédentes nécessitent
soit une interaction de l’utilisateur (ce qui peut être long et très fastidieux pour certaines méthodes), soit une correspondance sommet à sommet entre Ms et Mt connue
au préalable.
Il est possible d’automatiser entièrement un algorithme de mesh morphing en utilisant une découpe du maillage automatique. Des travaux existent malgré que la tâche
soit difficile : certaines méthodes sont basées sur l’utilisation d’un unique patch (Kanai et al., 1997), d’autres sont apparentés à des problèmes de théorie des graphes et
visent à équilibrer la taille des patchs (Eck et al., 1995), (Karypis et al., 1999). Un
autre moyen d’automatiser le mesh morphing est de projeter les modèles sur la sphère
unité (Kent et al., 1992). En effet, il n’est plus besoin de diviser les modèles étant
donné qu’ils sont homéomorphes à une sphère. En revanche, ils doivent être étoilés.
Alexa (Alexa et al., 2000) introduit une variante pour la projection sur la sphère unité :
de même que pour la projection barycentrique, chaque sommet est placé au barycentre
de ses voisins. Enfin, une nouvelle approche de mesh morphing est décrite dans (Yan
et al., 2007). Le principe est de calculer un champ de contrainte C afin de déformer
Ms en Mt . C est ensuite interpolé pour déterminer un nouveau champ de déformation
C0 et obtenir un modèle intermédiaire Mi .
3. Contribution scientifique
3.1. Reconstruction du rein
Une description complète de la méthode de reconstruction du rein peut être trouvée
dans (Leonardi et al., 2011a). Elle permet d’obtenir un modèle 3D du rein et se divise
en 2 étapes : la première est la segmentation de l’organe duquel est issu un nuage
de points. Elle est basée sur une approche par croissance de région, initialisée manuellement pour la coupe médiane puis propagée automatiquement. La seconde étape
consiste à reconstruire le nuage de points afin d’en obtenir un modèle. La reconstruction utilisée est la reconstruction de surface de Poisson (Kazhdan et al., 2006).
3.2. Morphing
Dans notre cas, l’étape de morphing ne doit comporter que des interactions très
basiques avec l’utilisateur. La topologie des deux modèles à transformer sont proches
l’un de l’autre étant donné qu’ils viennent du même rein. De ce fait, la méthode de
mesh morphing utilisée est basée sur une découpe automatique du maillage en deux
patchs, une projection sur le disque unité et la création d’un metamesh. Toutes ces
étapes sont décrites ci-dessous. Pour le reste de l’article nous utiliserons les symboles
suivants : M représente un modèle donné, Ms le modèle source et Mt le modèle cible
(target en anglais) comme utilisé précédemment. La connectivité entre les sommets,
arêtes et faces de M est notée C. V = {v1 , v2 , v3 , ..., vn } est la position dans R3 des
sommets. Les arêtes sont représentées par une paire de sommet {i, j} et les faces par
un triplet {i, j, k}. Enfin, N(i) est l’ensemble des sommets adjacents au sommet {i},
i.e. N(i) = {{ j}|{i, j} ∈ C}.
3.2.1. Découpe du maillage : obtention du chemin de découpe
La première phase de découpe du maillage consiste à calculer son axe principal.
Cela peut être fait en ne considérant que les sommets de M et en utilisant l’Analyse
en Composante Principale (ACP). De plus, l’ACP donne les 3 vecteurs principaux du
maillage ; les deux premiers définissent le plan principal. La phase suivante consiste
alors à calculer les intersection entre les arêtes de M et le plan principal, définissant
ainsi les arêtes coupées. De la même manière, les sommets {i, j} d’une arête coupée
sont appelés sommets coupés. Cet ensemble d’arêtes coupées est un premier pas vers
le chemin de découpe final.
Le chemin de découpe doit être un boucle unique d’arêtes dans C, i.e.
{{i1 , i2 }, {i2 , i3 }, ..., {in−1 , in } , {in , i1 } | {ik , im } ∈ C ∀(k, m) ∈ [1; n] ; cet ensemble est
un sous-ensemble de C et est appelé c. Ainsi, deux arêtes successives doivent avoir
un sommet en commun. Le but du premier post-traitement des arêtes coupées est
de supprimer les arêtes cul-de-sac de c. L’un des sommets d’un telle arête n’est en
commun avec aucune autre arête coupée, i.e. {{i, j}|∀l ∈ N( j){ j, l} ∈
/ c}. Afin de détecter ces sommets, la liste d’adjacence partielle est dressée pour chaque sommet de
c. Cette liste est l’ensemble des sommets { j} adjacents à un sommet {i} dans c, i.e.
{{ j}|{i, j} ∈ c}. Une arête cul-de-sac est alors simplement trouvée quand au moins
l’un de ses sommets n’a qu’un seul voisin, i.e. sa liste d’adjacence partielle est de
longueur 1 (Figure 1 - b). Le second post-traitement consiste à supprimer les boucle
locales : le chemin de découpe doit être une unique succession d’arêtes et chaque
sommet doit être commun à deux et seulement deux arêtes. Grâce à la liste d’adjacence partielle, les sommets à partir desquels le chemin de découpe se sépare sont
facilement détectés ; de tels sommets ont au moins 3 voisins. Les boucles locales sont
alors supprimées de la manière suivante : en partant d’un sommet d’adjacence 2, un
voisin est arbitrairement choisi et ainsi de suite jusqu’à ce qu’un sommet d’adjacence
3 soit atteint. Pendant cette phase, chaque sommet n’est visité qu’une seule fois de
manière à ce qu’il apparaisse au plus une fois dans le chemin de découpe final. Un
voisin du sommet d’adjacence 3 est également choisi arbitrairement, mais toutes les
autres arêtes contenant ce sommet sont supprimées de c. Un tel traitement créant de
nouvelles arêtes cul-de-sac, les arêtes de chaque voisin d’adjacence 2 sont supprimées
récursivement jusqu’à ce qu’un voisin d’adjacence 3 soit trouvé (Figure 1 - c,d,e).
Ainsi, le sommet d’adjacence 3 courant étant devenu un sommet d’adjacence 2, le
processus entier est répété jusqu’à ce que l’on tombe sur le premier sommet.
Figure 1 – Exemple du post-traitement du chemin de découpe. Bien qu’il soit impossible, il illustre tous les cas qui sont résolus. De haut en bas : (a) Chemin de découpe
initial - (b) Les sommets d’adjacence 1 sont détectés (losange) et les arêtes cul-desac supprimées - (c) Les sommets d’adjacence 3 (ou plus) sont détectés (carré). En
partant du sommet désigné, un voisin est choisi arbitrairement - (d) Pour un sommet d’adjacence 3, un voisin est toujours choisi arbitrairement, mais toutes les autres
arêtes sont supprimées - (e) Afin d’éviter l’apparition de nouvelles arêtes cul-de-sac,
on supprime récursivement chaque arête issue d’un voisin d’adjacence 2 - (f) Le chemin de découpe final, obtenu après post-traitement.
3.2.2. Projection sur le disque unité
Une fois que le chemin de découpe est obtenu, les sommets sont tagués de trois
manières différentes que nous appellerons tag 0, 1 et 2. Les sommets définissant le
chemin de découpe sont tagués à 0. Un voisin arbitraire d’un sommet tagué à 0 est
tagué à 1. Tous les voisins du sommet tagué à 1 sont alors récursivement tagués de
même manière, de sorte qu’une partie du maillage soit taguée à 1. L’autre partie est
tagué à 2. Les deux modèles sont ensuite tournés afin que leur plan principal soit aligné
avec le plan xz. Ainsi, il est possible de vérifier que les parties taguées identiquement
pour les deux modèles aient la même orientation y. Si ce n’est pas le cas, alors les tags
1 et 2 sont permutés. Cette étape est essentielle car la partie de Ms taguée à 1 (resp. 2)
sera transformée en la partie de Mt taguée à 1 (resp. 2).
Une fois que tous les sommets sont tagués, ils peuvent être projetés sur le disque
unité. Bien que n’importe quel type de projection puisse être utilisée, nous avons
choisi la projection discrète harmonique (Polthier, 2000) étant donné qu’elle préserve
le plus possible la topologie des faces des modèles. La partie la plus simple de cette
projection concerne les sommets coupés. Ils sont projetés sur le bord du disque de
manière à ce que la longueur de l’arc entre une paire de sommets successifs soit proportionnelle à la longueur de l’arête du maillage entre ces deux sommets. Pour les
sommets tagués à 1 ou 2, la projection discrète harmonique revient à résoudre un
système linéaire décrit ci-dessous. Deux projections distinctes sont faites, une pour
chaque tag. Soit Vi le sommet à projeter avec 0 ≤ i < n l’indice des sommets tagués à
1 (resp. 2) et n ≤ i < N l’indice des sommets tagués à 0. Le système linéaire à résoudre
est alors :




(I − Λ) 


v1
v2
v3
..
.
vn−1

∑N−1
i=n λ0,i vi
∑N−1
i=n λ1,i vi
∑N−1
i=n λ2,i vi
..
.

 
 
 
=
 
 







∑N−1
i=n λn−1,i vi
où Λ = {λi, j } et λi, j est un coefficient dépendant de la projection utilisée. Ici :
(
λi, j =
cotαi, j +cotβ i, j
∑ j∈N(i) (cotαi, j +cotβi, j )
if
{i, j} ∈ C
0
if
{i, j} ∈
/C
avec αi, j = ∠(i, k0 , j) et βi, j = ∠(i, k1 , j). L’arête {i, j} est adjacente à deux et
seulement deux faces car M est un maillage triangulé. k0 et k1 sont les deux sommets
définissant ces faces. Nous appelons Ms0 N Mt0 N la projection de Ms et Mt pour le tag N.
De même, {i0 } est un sommet projeté. Bien que ces annotations n’aient pas réellement
de sens puisque seule la position des sommets (vi ) change durant la projection, elles
permettront de rendre les futures expressions plus claires.
3.2.3. Création et animation du metamesh : calcul des intersections et des
coordonnées barycentriques
La troisième étape du mesh morphing est de superposer Ms0 N et Mt0 N pour chaque
tag afin de créer le metamesh. La première phase consiste à détecter les intersections
entre les arêtes projetées. Lorsque deux arêtes {i0 , j0 } ∈ C pour Ms0 et {k0 , l 0 } ∈ C pour
Mt0 se coupent, un nouveau sommet est créé. Il existe deux manières de définir ce point
−→
−−→
d’intersection : v0i + α v0i v0j et v0k + β v0k v0l . Les coefficients α et β sont sauvegardés avec
le nouveau sommet. Ceux-ci seront nécessaires pour les modèles intermédiaires étant
donné qu’ils sont suffisants pour connaître les coordonnées du sommet, même lorsque
que vi , v j , vk et vl sont interpolés. Ce type de sommet est appelé sommet d’intersection.
Lorsqu’un sommet d’intersection est créé, les arêtes et faces appropriées sont également créées afin de construire la topologie du metamesh Mm . Ces nouvelles arêtes et
faces permettront à Mm de combiner les topologies des deux modèles Ms et Mt , et
d’assurer une interpolation continue entre les deux modèles (Figure 2).
Figure 2 – Exemple d’une intersection entre deux arêtes projetées de Ms (trait plein) et
Mt (pointillés). Les sommets d’intersection 1, 2, 3 et 4 sont crées ainsi que les arêtes
(C1, 1D, C2, 2F, ...) et les faces (C12, F23, ...).
La deuxième phase de la création du metamesh est le calcul des coordonnées
barycentriques (CB) pour chaque sommet de Ms et Mt . Il est d’abord nécessaire de
savoir sur quelle face {i0 , j0 , k0 } de Mt0 (resp. de Ms0 ) un sommet projeté v0m de Ms0
(resp. de Mt0 ) se trouve. Les CB sont un unique triplet u, v, w de manière à ce que
v0m = uv0i + vv0j + wv0k . La face sur laquelle v0m se trouve ainsi que ses CB sont sauvegardés. Ce type de sommet est appelé un sommet de maillage.
Ainsi, le metamesh est composé entièrement par un ensemble de sommets d’intersection et de sommets de maillage. Les modèles intermédiaires peuvent alors être
obtenus facilement en interpolant la position de ces sommets. Cette interpolation est
possible étant donné que la position initiale et finale de chaque point est connue : pour
un sommet de maillage venant de Ms , sa position initiale est sa position dans Ms . Sa
position finale est connue par la combinaison de ses CB et de la face de Mt sur laquelle
le projeté du sommet se trouve. Inversement, pour un sommet de maillage venant de
Mt , sa position initiale est connue par combinaison de ses CB et de la face de Ms sur
laquelle le sommet se projette. Sa position finale est sa position naturelle dans Mt .
Pour un sommet d’intersection, la position initiale est connue grâce au coefficient α
et l’arête de Ms sur laquelle il se projette. La position finale est connue grâce à son
coefficient β et l’arête de Mt sur laquelle le sommet est projeté.
3.3. Tracking de la tumeur
Le tracking de la tumeur est le second objectif de notre méthode. En effet, il est
important de savoir où celle-ci se situe à tout moment afin d’ajuster le faisceau d’ondes
en conséquence. Cependant, il y a deux différences majeures entre la tumeur et le rein.
La première est que la tumeur n’est pas déformée sous l’influence de la respiration,
elle bouge simplement avec le rein. La deuxième est qu’elle peut être assimilée à
un ellipsoïde. Dans la phase de segmentation, la tumeur est segmentée séparément
du rein, de manière à ce que le centre de la tumeur soit connu. L’utilisation d’un
autre mesh morphing pour obtenir les mouvements de la tumeur (i.e. son tracking) ne
serait pas approprié étant donné que sa forme ne change pas d’une phase respiratoire
à une autre. De plus, cela nécessiterait du temps de calcul inutile. Un moyen plus
rapide et adéquat est d’interpoler sa position, les coordonnées de son centre étant
connues pour les phases d’inspiration, d’expiration et médiane. L’interpolation permet
alors de connaître la position de la tumeur pour les phases intermédiaires. Ainsi les
coordonnées 3D sont connus à tout moment, permettant le tracking de la tumeur.
4. Conclusion et discussion
4.1. Résultats
Notre méthode a été testée sur trois modèles de rein M1 , M2 et M3 obtenus par la
méthode décrite en 3.1. Ces modèles correspondent respectivement aux phases d’inspiration, médiane et d’expiration. Deux mesh morphing ont été faits : le premier entre
M1 et M2 et le second entre M2 et M3 . Les Figures 4 et 5 montrent plusieurs modèles
intermédiaires obtenus par mesh morphing entre M1 , M2 et M3 . Les résultats n’étant
pas explicites avec des modèles figés, une version animée peut être vue à l’adresse
suivante : http://www.youtube.com/watch?v=dhPqLp2X8NQ.
Le mouvement et les déformations globales du rein sont respectés. La rotation
naturelle de l’axe principal de l’organe est présent ainsi que son grossissement. Cependant, les déformations locales ne sont pas totalement satisfaisantes, spécialement
pour la tumeur. Celle présente sur le rein transformé est absorbée dans une partie de
l’organe et réapparaît d’une seconde partie, à côté de sa position d’origine. La déformation naturelle de la tumeur aurait été un déplacement progressif, presque comme
une translation. Cela est dû à la méthode de morphing elle-même. Bien que ces erreurs
de déformation ne soient pas vraiment perceptibles, elles deviennent évidentes lorsque
la tumeur est également modélisée : l’ellipsoïde la représentant déborde du rein (Figures 3). Un autre inconvénient de notre méthode est qu’elle est basée sur une découpe
du maillage par plan. Afin que le morphing soit possible, le chemin de découpe obtenu
par l’intersection entre le modèle et ce plan doit être composé d’une seule composante
connexe. Un tel critère n’est pas garanti. Par expériences et analyses, l’intersection
entre un rein et son plan principal sera constitué d’une composante connexe, mais cela
ne serait pas nécessairement le cas pour un autre organe un tout autre type de modèle
arbitraire.
Les trois modèles ayant plus ou moins le même nombre de sommets, arêtes et
faces, les temps de calcul pour un morphing sont équivalents pour le second. Les
maillages sont composés d’environ 2300 sommets, 6900 arêtes et 4600 faces. Le morphing est exécuté en 40s. Bien que ce temps d’exécution ne permette pas un morphing temps réel, celui-ci reste acceptable pour notre contexte médical où les interventions réalisées pour détruire les tumeurs de manière non-invasive (par High Focused
Ultrasound) sont très longues (jusqu’à 3 heures). De plus, tout le temps de calcul est
dédié à la création du metamesh qui n’est réalisé qu’une fois. Son animation est en-
suite faite en temps réel étant donné qu’il s’agit simplement d’une interpolation entre
une position initiale et finale de ses sommets, comme vu à la fin de la section 3.2.
Figure 3 – Mise en évidence des problèmes de déformations locales. Le modèle intermédiaire avec la tumeur (ellipsoïde bleu) présente des imprécisions locales, spécialement pour la région tumorale (cercle).
Figure 4 – Résultats finaux présentant les mouvements naturels du rein sous l’influence
de la respiration. Les modèles sources et cibles obtenus par segmentation puis reconstruction sont en rouge, les modèles intermédiaires sont en gris. Le morphing de M1 à
M2 est représenté (de gauche à droite).
Figure 5 – Le morphing de M2 à M3 , vu sous un autre angle (rotation de 180 degrés
autour de l’axe vertical). Les modèles sont affichés en fil de fer et la tumeur est visible
(ellipsoïde bleu).
4.2. Conclusion
Nous avons présenté une approche originale et entièrement géométrique en vue
d’obtenir une simulation de mouvement naturel du rein dû à la respiration. A partir
de 3 acquisitions d’imagerie médicale de l’organe, chacune pour une phase différente
du cycle, le rein est d’abord segmenté puis reconstruit afin de créer un modèle pour
chaque phase. L’organe est finalement animé en 3D et les mouvement respiratoires
simulés sont obtenus par mesh morphing entre les trois modèles précédemment créés
(du premier au second puis du second au troisième). Pour ce faire, il est d’abord nécessaire de découper le maillage, ce qui est fait automatiquement dans notre cas. Puis,
les deux parties du modèle sont projetées sur le disque unité afin de créer un metamesh
qui comprend la topologie de deux modèles successifs. La transition progressive entres
ces modèles, et ainsi l’animation du rein, est obtenue en interpolant chaque sommet
du metamesh entre une position initiale et finale. Bien que les déformations générales
et le mouvement du rein soient bien simulés, les déformations locales manquent de
précisions surtout pour les tumeurs proches de la surface de l’organe. La résolution de
ces erreurs fera l’objet d’études futures.
5. Bibliographie
Alexa M., Cohen-Or D., Levin D., « As-Rigid-as-Possible Shape Interpolation », Proceedings
of Computer Graphics and Interactive Techniques, 2000.
Bardinet E., Cohen L., Ayache N., « Tracking and motion analysis of the left ventricle with
deformable superquadrics », Medical Image Analysis, vol. 1, no 2, p. 129 - 149, 1996.
Eck M., DeRose T., Duchamp T., Hoppe H., Lounsbery M., Stuetzle W., « Multiresolution
analysis of arbitrary meshes », Proceedings of SIGGRAPHp. 173 - 182, 1995.
Gregory A., State A., Lin M., Manocha D., Livingston M., « Feature-based Surface Decomposition for Correspondence and Morphing between Polyhedra », Proceedings of Computer
Animationp. 64 - 71, 1998.
Hostettler A., Nicolau S., Soler L., Rémond Y., Marescaux J., « A Real-Time Predictive Simulation of Abdominal Organ Positions Induced by Free Breathing », International Symposium
on Biomedical Simulationp. 89 - 97, 2008.
Kanai T., Suzuki H., Kimura F., « 3D geometric metamorphosis based on harmonic map »,
Proceedings of The Fifth Pacific Conference on Computer Graphics and Applications, 1997.
Kanai T., Suzuki H., Kimura F., « Metamorphosis of Arbitrary Triangular Meshes », Proceedings of Computer Graphics and Application, March, 2000.
Karypis G., Kumar V., « Multilevel k-way hypergraph partitioning », Proceedings of the 36th
annual ACM/IEEE Design Automation Conference, 1999.
Kazhdan M., Bolitho M., Hoppe H., « Poisson Surface Reconstruction », Eurographics Symposium on Geometry Processing, 2006.
Kent J., Carlson W., Parent R., « Shape Transformation for Polyhedral Objects », Computer
Graphics, July, 1992.
Lee A., Dobkin D., Sweldens W., Schroder P., « Multiresolution Mesh Morphing », Proceedings
of Computer Graphics and Interactive Techniques, 1999.
Lee A., Sweldens W., Schroder P., Cowsar L., Dobkin D., « MAPS : Multiresolution Adaptive
Parameterization of Surfaces », Proceedings of SIGGRAPHp. 95 - 104, July, 1998.
Leonardi V., Mari J.-L., Vidal V., Daniel M., « 3D Reconstruction from CT-Scan Volume Dataset Application to Kidney Modeling », 27th Spring Conference on Computer Graphics,
SCCGp. 141 - 148, April, 2011a.
Leonardi V., Mari J.-L., Vidal V., Daniel M., « Reconstruction 3D du Volume Rénal à partir d’Acquisitions Scanner Volumiques », Journée du Groupe de Travail en Modélisation
Géométrique, GTMGp. 83 - 92, March, 2011b.
Murphy M., Chang S., Gibbs I., Le Q.-T., Hai J., Kim D., Martin D., Adler J., « Patterns of
Patient Movement During Frameless Image-Guided Radiosurgery », International Journal
of Radiation Oncology Biology Physics, vol. 55, no 5, p. 1400 - 1408, 2003.
Nakamoto M., Ukimura O., Gill I., Mahadevan A., Miki T., Hashizume M., Sato Y., « Realtime
Organ Tracking for Endoscopic Augmented Reality Visualization Using Miniature Wireless
Magnetic Tracker », Medical Imaging and Augmented Realityp. 359 - 366, 2008.
Nicolau S., Pennec X., Soler L., Ayache N., « Clinical Evaluation of a Respiratory Gated Guidance System for Liver Punctures », Medical Image Computing and Computer-Assisted
Interventionp. 77 - 85, 2007.
Noe K. O., de Senneville B. D., Elstrom U. V., Tanderup K., Sorensen T. S., « Acceleration and
validation of optical flow based deformable registration for image-guided radiotherapy »,
Acta Oncology, vol. 47, no 7, p. 1286 - 1293, 2008.
Olbricha B., Trau J., Wiesner S., Wicherta A., Feussner H., Navab N., « Respiratory Motion
Analysis : Towards Gated Augmentation of the Liver », Computer Assisted Radiology and
Surgery, vol. 1281, p. 248 - 253, 2005.
Polthier K., Conjugate harmonic maps and minimal surfaces, Technical report, Technische University of Berlin, 2000.
Reyes M., Malandain G., Koulibaly P. M., Ballester M. G., Darcourt J., « Respiratory Motion
Correction in Emission Tomography Image Reconstruction », Medical Image Computing
and Computer-Assisted Interventionp. 396 - 376, 2005.
Rohlfing T., Maurer C., O’Dell W., Zhong J., « Modeling liver motion and deformation during
the respiratory cycle using intensity-based free-form registration of gated MR images »,
Medical Imaging 2001 : Visualization, Image-Guided Procedures, and Displayp. 337 - 348,
February, 2001.
Rueckert D., Sonoda L. I., Hayes C., Hill D. L. G., Leach M. O., Hawkes D. J., « Nonrigid
Registration Using Free-Form Deformations : Application to Breast MR Images », IEEE
Transactions on Medical Imaging, August, 1999.
Sarrut D., Boldea V., Miguet S., Ginestet C., « Simulation of four-dimensional CT images
from deformable registration between inhale and exhale breath-hold CT scans », Medical
Physics, March, 2006.
Schweikard A., Glosser G., Bodduluri M., Murphy M., Adler J., « Robotic Motion Compensation for Respiratory Movement During Radiosurgery », Journal of Computer-Aided Surgery, 2000.
Shirato H., Shimizu S., Kitamura K., Nishioka T., Kagei K., Hashimoto S., Aoyama H., Kunieda
T., Shinohara N., Dosaka-Akita H., Miyasaka K., « Four Dimensional Treatment Planning
anf Fluoroscopic Real-Time Tumor Tracking Radiotherapy for Moving Tumor », International Journal of Radiation Oncology Biology Physics, vol. 48, p. 435 - 442, September,
2000.
Yan H.-B., Hu S.-M., Martin R., « 3D Morphing using Strain Field Interpolation », Computer
Science and Technology, 2007.

Documents pareils