• Aucun résultat trouvé

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-

4.1 Analogie entre le problème de recalage et les modèles biomécaniques

4.2.2 Phase per-opératoire

La phase per-opératoire commence à l’ouverture pour débuter effectivement l’acte chirurgical proprement dit. C‘est la phase la plus intéressante dans toute application chirurgicale, car c’est là où la contrainte temps-réel est vraiment imposée. En effet, les tentatives d’accélération porte sur les calculs devant réaliser durant cette phase.

En ce qui suit, nous détaillerons les différentes étapes de cette phase en considérant un déroulement séquentielle des calculs. Dans la section 4.3 nous aborderons la procédure de parallélisation des ces différentes étapes.

4.2.2.1 Acquisition d’une image US 3D per-opératoire après

l’ouverture

De la même manière que pour l’image US 3D initiale, les images US 3D per-opératoires sont acquises en MD après l’ouverture. La fréquence de leur acquisition dépend de type de l’intervention et de la tache à effectuer au sein de l’intervention elle-même. On peut fixer une fréquence d’acquisition constante (chaque 15 minute par exemple), ou laisser ça à la demande de chirurgien. Comme on peut monter l’échographe de telle sorte qu’il fournit des séquences continues en temps-réel durant toute la phase per-opératoire, et quand le chirurgien aura besoin dans une étape particulière de l’intervention d’augmenter l’image US par l’image IRM 3D pré-opératoire pour une meilleure visibilité et une meilleure détermination des structures anatomiques, il suffit de fixer l’échographe en MD puis recaler l’image fixée sur l’image IRM 3D.

A défaut d’une image US 3D per-opératoire pour le même patient dont l’image US 3D initiale prise de la collection de S. Barré, nous utilisons cette même image US 3D comme image per-opératoire dans le processus de recalage par modèle bio-mécanique.

4.2.2.2 Prétraitement de l’image US 3D per-opératoire par

diffusion anisotrope

Le filtrage par diffusion anisotrope des images US 3D est plus nécessaire dans cette phase que dans l’étape de recalage rigide.

Le fait qu’une bonne proportion des blocs sélectionnés couvre la surface du maillage (la surface du maillage correspond aux contours du cœur dans l’image IRM 3D), rend nécessaire l’élimination des bruits et surtout le rehaussement des contours dans l’image US 3D. Cela est obtenu par la diffusion anisotrope.

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

171 Le temps que prend le filtrage par diffusion anisotrope est proportionnel au nombre d’itérations, mais plus que le nombre d’itérations est augmenté, plus les résultats sont meilleurs (voir section 4.2.1.2).

4.2.2.3 Appariement des blocs

Soit les deux images 3D





(supportée par le maillage



) et



AB• ,

Σ

$»º? est l’ensemble des blocs sélectionnés \]W dans





.

La stratégie d’appariement des blocs consiste à rechercher les meilleurs correspondants dans l’image



AB• de l’ensemble des blocs

Σ

$»º? de l’image





.

Cela revient à trouver pour chaque bloc \]W de

Σ

w8ÀZw la position ]W/ dans l’image



AB• qui maximise une mesure de similarité entre \]W dans l’image





et le bloc de centre ]W/ dans l’image



AB•

,

dans notre cas la mesure de similarité adoptée est l’IM :

]

W/

) !5x 6!* ¯\]

W

, \]

W/

±

4.11

Tel que :

\]W , \]W/ ) Š ∑ ¬G , ¦ ãäå,ë í íD í ,D 4.12

Où : ¬G , ¦ est la probabilité conjointe pour qu’un voxel de coordonnées £, ¤, ¥ a l’intensité

G

dans \]W et l’intensité ¦ dans \]W/ .

¬G est la fréquence des voxels ayant l’intensité G

dans \]W/ . ¬¦ est la fréquence des voxels ayant l’intensité ¦

dans \]W/ .

On doit déterminer deux paramètres pour réaliser l’appariement des blocs : la taille de voisinage de recherche et le pas de recherche.

La taille de voisinage de recherche :

En effet, la recherche de centre ]W/ se fait au voisinage d’un point de



AB• qui a les mêmes coordonnées que le centre ]W de  . On définit le paramètre ( comme le

rayon du voisinage de recherche tel que ( ) 2(õ, 2(Ù, 2(ö. Donc pour un bloc \]W

de  ,on cherche son correspondant \]W/ dans un voisinage ( de ]W dans



AB•

.

]/

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

172

Le pas de recherche :

Le pas de recherche désigne, pour un centre de bloc ]W , la distance dans le voisinage de

recherche (, entre de le voxel testé actuellement et le voxel à tester dans l’étape suivante

de recherche de centre ]W/ . On le note par

y ) y

õ

, y

Ù

, y

ö



. On parle de recherche exhaustive dans le voisinage quand

y ) 1,1,1

, c’est-à-dire l’algorithme explore toutes les positions en coordonnées entières dans (.

La taille de voisinage ( et le pas de recherche

y

sont des distances en voxels, donc ils sont toujours des entiers.

Pour garantir la convergence de notre algorithme, nous adoptons une recherche exhaustive (

y ) 1,1,1

).

Figure 4.21 - L’algorithme d’appariement des blocs.

Appariement des blocs

L liste vide pour stocker les couples des centres appariés

Pour chaque bloc \]WW, ¤W, ¥W  

Σ

w8ÀZw de   faire :

Pour G ) £WŠ (õ; G z £WŠ (õ, G ) G  yõ faire : Pour ¦ ) ¤WŠ (Ù; G z ¤WŠ (Ù, ¦ ) ¦  yÙ  faire : Pour 8 ) ¥WŠ (ö; G z 8WŠ (ö, 8 ) 8  yö faire : Calculer IM entre \]WW, ¤W, ¥W  et \]W/G, ¦, 8  Fin pour Fin pour Fin pour ]W/)

!5x 6!*

–

0

\



]

®

,\

0

]

®ò7

7— On stocke

]

W

, ]

W/

dans

L

Fin pour G, ¦, 8

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

173 A la fin de cette opération, nous obtenons un ensemble de couples de blocs appariés sous forme de couples de points ]W, ]W/ .

C’est cet ensemble de couples des points qui définira le champ des déplacements épars entre les deux images   et



AB•

.

]

W

, ]

W/



"#$/ Š(õ Â(õ ¤ ¥ £ yÙ "#$

Figure 4.22 - Illustration de la stratégie d’appariements des blocs. Gauche :  (supportée par  ! ) avec un bloc sélectionné "#$ , droite : %&' (per-opératoire). Avec un voisinage( ) '(*, '(,, '(- et un pas . ) .*, .,, .- , "#$ (rouge) et "#$/ (vert) sont appariés.

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

174

4.2.2.4 Résolution du système d’équations dynamiques

En ce stade, le problème de recalage se résume à la résolution du système d’équations élaboré à l’étape de construction du modèle bio-mécanique du cœur, sous la contrainte de champ des déplacements épars obtenu à l’étape d’appariement des blocs. En d’autres termes, le champ des déplacements épars sera utilisé pour déclencher la dynamique du modèle bio-mécanique, dont la résolution de système d’équations sous-jacent fournira à sa convergence un champ des déplacements dense pour tous les nœuds du maillage.

La résolution numérique du système se fait d’une manière itérative (chaque itération correspond à un pas temporel) et locale (pour chaque nœud de maillage) :

Soit x ) 0 l’instant de départ et ∆x le pas temporel considéré, la procédure d’intégration

temporelle numérique consiste à calculer une séquence de solutions approximatives pour les instants x ) x  ∆x (c’est-à-dire ∆x , 2∆x , 3∆x , ………….).

Nous utilisons, pour discrétiser !J x et !G L x , le schéma d’intégration temporelle G numérique explicite d’Euler, car c’est le plus simple et le plus rapide et il permet des pas temporels petits:

!J x )G ∆ !Gx  ∆x Š !Gx  4.13 !L x )G ∆Ø!Gx  ∆x Š 2 !Gx  !Gx Š ∆x  4.14

Ainsi, l’équation dynamique pour chaque nœud G sous forme différentielle

non-linéaire (équation 4.10 ) suivante :

Y !L ) ZG  !J Â RG 

se transforme à une séquence temporelle d’équations linéaires pour chaque pas ∆x:

!Gx  ∆x )a 

º ∆∆x• Rx  2 Y Z ∆x !Gx Š Y !Gx Š ∆x  4.15

La résolution du système d’équations dynamique utilise les pré-calculs réalisés dans la phase pré-opératoire (les matrices _$ , _9 $ , ì$ et "$ pour chacun des nœuds

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

175

Séquencement des taches pour la résolution du système d’équations dynamique :

1. Dès que l’étape d’appariement délivre l’ensemble de couples ]W, ]W/ ,

l’algorithme entame une étape de désignation des conditions initiales et les

conditions aux limites (Figure 4.23). En effet, pour chaque système d’équations

différentielles dynamiques, il faut préciser :

Les conditions initiales : sont les valeurs de force et/ou de déplacement

et/ou de vitesse à l’instant (x ) 0) pour un certain nombre des nœuds.

Dans notre cas, l’algorithme initialise le déplacement !G de chaque nœud G

correspondant à un centre d’un bloc \]W par le vecteur ]W, ]W/ . Les

déplacements pour le reste des nœuds sont initialisés à 0.

Les conditions aux limites : sont les valeurs de force et/ou de déplacement

et/ou de vitesse à l’instant (x f  pour un certain nombre des nœuds. Où  peut être égale à Â∞ , ou sous forme d’une constante avec l’intervalle de x ) 0 à x )  est la période durant laquelle on veut calculer l’évolution

dynamique de système. En effet, calculer l’évolution du système pour (x f Â∞ revient à laisser le système évoluer spontanément sous les

conditions initiales jusqu’à l’arrêt à la convergence.

Dans notre cas, le déplacement !G (x f Â∞ d’un nœud G est fixé à ]W, ]W/ , tel que le nœud G correspond à un centre d’un bloc \]W situé

sur la surface du maillage, au vecteur. En d’autres termes, nous ne désirons pas que les déplacements (obtenus initialement par appariements), qui ramènent les centres des blocs situés sur les lignes des contours dans





à ceux situés sur les lignes des contours dans



AB•

,

s’altèrent au cours de l’évolution de système. C’est un moyen de contraindre la déformation des structures internes à la convergence.

2. Après la désignation des conditions initiales et les conditions aux limites, l’algorithme entre dans la boucle de résolution itérative et locale du système d’équations dynamiques (Figure 4.24): pour chaque pas temporel ∆x et pour

chaque nœud G du maillage deux taches s’alternent :

• Calcul de la force visco-élastique non-linéaire Rx à l’instant x conforme

à l’expression 4.9 . Figure 4.25 décrit la méthode calcul de R x .

• Calcul de déplacement du nœud G à l’insant suivant !Gx  ∆x conforme à

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

176 Comme dans le MMT de Schwartz, pour éviter de parcourir les éléments et les nœuds dans les régions très faiblement déformées durant l’ajout des contributions non-linéaires et visqueuses, nous utilisons la stratégie de seuillage suivante :

• Nous fixons un seuil maximal O¼õ pour le rapport moyen O (mesure de

déformation), de sorte que dès que la déformation d’un tétraèdre du maillage dépasse ce seuil, les contributions non-linéaires et visqueuses ne sont plus ajoutées (comportement élastique linéaire), alors qu’en dessous de ce seuil elles seront ajoutées.

• Au sein d’un tétraèdre, nous fixons un seuil minimal !\§s¤ZŠ„Ge pour le déplacement d’un sommet par rapport au barycentre de tétraèdre auquel il appartient, de sorte que quand le déplacement d’un sommet par rapport au barycentre d’un tétraèdre auquel il appartient dépasse !\§s¤ZŠ„Ge, les contributions non-linéaires et visqueuses peuvent être ajoutées, sinon seule la contribution élastique linéaire sera calculée.

Pour cela, l’algorithme de résolution itérative doit au début de chaque pas temporel calculer la mesure de déformation

O

pour chaque tétraèdre (en utilisant l’expression (3.107)), et si pour un tétraèdre donné

O |

O„§£ , il calcule les déplacements par apport

au barycentre à l’instant x pour les sommets de ce tétraèdre à partir de ces déplacements

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

177

Figure 4.23 - Etape de désignation des conditions initiales et conditions aux limites.

Initialisation :

x ) 0

Lire le pas temporel ∆x

Pour G ) 1; G z X, G ) G Â 1 faire : # X est le nombre des nœuds de  #

Si G correspond au centre d’un bloc sélectionné \]W faire :

Si G est un nœud de surface de maillage  faire :

!G ) ]W, ]W/ 2x Sinon !Gx ) 0 ) ]W, ]W/ Fin si Sinon !Gx ) 0 ) 0 Fin si Fin pour

Désignation des conditions initiales et conditions aux limites

# Les déplacements imposés sur les nœuds surfaciques sont appliqués comme conditions initiales et conditions aux limites #

# Les déplacements imposés sur les nœuds non surfaciques sont appliqués comme conditions initiales puis ils se laissent évoluer durant l’intégration dynamique #

# Les déplacements des nœuds qui ne correspondent pas à des centres des blocs sont initialisés à 0 #

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

178

Figure 4.24 - L’algorithme de résolution locale et itérative du système d’équations dynamiques.

Répéter :

Pour chaque pas temporel ∆x faire : Pour chaque tétraèdre $ :

Calculer le rapport moyen

O

(la mesure de déformation) Si

O |

O㤣 :

Calculer MNO et MPO

Calculer les déplacements des sommets par apport au barycentre de $

Fin si Fin pour

Pour chaque nœud G n’appartenant pas à l’ensemble de centres des blocs surfaciques

faire : Fin pour Fin pour jusqu’à convergence !Gx  ∆x )Y 1  Z ∆x ∆x• Rx  2 Y Z ∆x !Gx Š Y !Gx Š ∆x  CalculerRx

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

179

Figure 4.25 – Algorithme de calcul des forces visco-élastique non-linéaire. Rx ) 0

Rx ~ Rx  K!G x

Pour chaque arête G , ¦ adjacente au nœud G :

Déterminer si G est le premier ou le deuxième nœud de l’arête :

Si G est le premier nœud: Rx ~ Rx  KD!ëx

Si G est le deuxième nœud: Rx ~ Rx  KD| !¦x (KD|est la transposée de KD ) Fin pour

Pour chaque tétraèdre $ adjacent au nœud G:

Si

O | O

¼õ :

Pour chaque sommet w du tétraèdre $ (y compris le nœud G)

Si le déplacement de G par rapport au barycentre de $ 1 !\§s¤ZŠ„Ge

Fin si Fin pour Fin si Fin pour

Calcul de R



x [

Rx ) K!x  KT !Jx  ∑ë^ 0KDT !JDx  KD!Dx 7

]

 Rx ~ Rx  89O ìz$  8: O "z$ !wx

(ajouter les contributions non-linéaires)

 Rx ~ Rx  _z9 $ !J?x

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

180

La convergence et la stabilité numérique :

On dit qu’un algorithme de résolution numérique d’un système d’équations différentielles dynamiques est stable quand leurs solutions approximatives convergent vers les solutions exactes après un nombre fini d’itérations.

On parle de convergence quand !Gx  ∆x ) !Gx pour tous les nœuds du maillage.

En effet, la stabilité numérique d’un tel système dynamique dépend de la géométrie des éléments, de schéma d’intégration numérique utilisé pour la discrétisation de !J x et G

!L x , de pas temporel choisi ∆x et de la loi mécanique utilisée ainsi que les valeurs G attribuées à ses paramètres (λ , µ, η), et les valeurs attribuées aux paramètres Y, et Z

(Schwartz [154]). Pour cette raison il est très difficile d’étudier les conditions de stabilité d’un système dynamique.

Comme la convergence n’est pas toujours garantie, nous définissons un seuil maximal pour le nombre d’itérations, tel que si la convergence n’est pas atteinte durant les itérations avant ce seuil l’algorithme s’arrête en rendant le champ des déplacements calculés après ce nombre maximal d’itérations comme une solution approximative finale (nous pouvons utiliser un seuil maximal pour les valeurs des forces visco-élastiques ou pour les valeurs des déplacements à la place de seuil maximal pour le nombre d’itérations).

Ainsi, à la convergence nous aurons un champ des déplacements dense déterminant pour chaque nœud G dans  le déplacement final !G que devra subir pour que le voxel

centré sur G dans





se superpose sur son correspondant dans



AB•

.

L’interpolation des déplacements des points non-nœuds à partir de ceux des nœuds de

 donnera par la suite un champ des déplacements plus dense, recalant en fin tous

les voxels de l’image





vers leurs correspondants dans l’image per-opératoire



AB• , comme il sera détaillé dans la section suivante.

4.2.2.5 Interpolation des déplacements des voxels non-nœuds

En utilisant une fonction d’interpolation, nous aurons les déplacements des voxels dont les centres ne correspondent pas aux nœuds du maillage , c'est-à-dire les voxels situés à l’intérieur des tétraèdres.

Selon la fonction d’interpolation linéaire définie précédemment (formule 4.8 ), le

déplacement d’un voxel à l’intérieur d’un tétraèdre est calculé à partir des déplacements de ses 4 sommets : !P ) ∑[ FD

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

181 A la fin de cette opération, nous aurons à notre disposition un champ des déplacements

plus dense que celui obtenu par la résolution du système d’équations dynamiques, où

chaque voxel





sera accompagné avec son vecteur de déplacement qui le recale bien sur son correspondant dans



AB•

.

En d’autres termes, nous aurons une transformation locale, qu’on note



123456 qui associe à chaque voxel

 ) ¯£



, £

•

, £

÷

±

U de





un vecteur de déplacement

! ) ¯›



, ›

•

, ›

÷

±

U :



123456

:  ) ¯£



, £

•

, £

÷

±

U

f  Â !

4.15

Tel que :

  ! ) ¯£



 ›



 , £

•

 ›

•

 , £

÷

 ›

÷

 ±

U 4.16

Ainsi, l’application de



123456 sur





déforme cette dernière dans le sens où elle s’adapte bien avec



AB• sur la totalité de leurs points anatomiques.

L’image IRM 3D déformée qui résulte est :



0

123456

7

qui désigne la composition de la transformation déformative



123456

et la transformation rigide 

sur l’image



initiale.

4.2.2.6 Le rendement visuel

Le résultat final de recalage est projeté au chirurgien sous forme d’une seule image 3D contenant les données de



0

123456

7

superposées sur celles de



AB•

.

Cette technique de visualisation nécessite des calculs arithmétiques sur les intensités des voxels (Jégou [1]). Le chirurgien peut interagir avec cette image 3D comme par exemple la désignation des coupes précises à visualiser.

Il existe une autre technique de visualisation, où les deux images



0

123456

7

et



AB• sont affichées chacune dans une fenêtre séparée, mais elles partagent un curseur 3D qui pointe vers les points anatomiques correspondants dans les deux images. Mais cette dernière est moins adaptée pour le suivi des déformations.

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

182

Figure 4.27 - Résultat final de l’algorithme de recalage par modèle bio-mécanique présenté:





0

123456

7

superposée sur



%&'.



123456



 

0

123456

7

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

183

Figure 4.28 - Pipeline de la phase per-opératoire.

INTERPOLATION

Champ des déplacements dense dans coin de 

 !

RESOLUTION ITERATIVE DU SYSTEME

Pré-calculs

APPARIEMENT DES BLOCS

Inputs

s%&'



%&'

 !

Blocs sélectionnés 

Champ des déplacements épars  !  APPLICATION DES TRANSLATIONS Champ des déplacements

plus dense  !



0

123456

7

Outputs

Chapitre 4 : Algorithme de recalage per-opératoire par MMT visco-élastique non-linéaire

184

Documents relatifs