FR 2932591 A1 20091218 FR 0853887 A 20080611 Procédé de génération d'un modèle modifiable d'un dispositif flexible de navigation, modèle, procédé et dispositif de gestion de la navigation d'un modèle, produit programme d'ordinateur et moyen de stockage. 1. Domaine de l'invention Le domaine de l'invention est celui de la réalité virtuelle, et notamment de la modélisation de dispositifs flexibles de navigation, tels que par exemple des instruments d'exploration de structures anatomiques tubulaires ou cavitaires. L'invention concerne plus précisément la navigation de tels modèles dans un environnement virtuel. L'invention s'applique notamment, mais non exclusivement, dans des systèmes de réalité virtuelle dans le cadre de procédures diagnostiques et thérapeutiques dans le domaine de la chirurgie endovasculaire, la radiologie et la cardiologie interventionnelle, la pneumologie, l'urologie ou encore la gastro entérologie. 2. Arrière-plan technologique On discute ci-après les inconvénients de l'art antérieur à travers le cas particulier d'une simulation de cathétérisme endovasculaire. Il est aujourd'hui possible d'appliquer des traitements mini-invasifs, faisant appel à différents principes d'interaction avec les tissus au moyen d'instruments et/ou d'agents pharmacologiques introduits par voies intracorporelles. Ces pratiques ajoutent de nouvelles exigences en termes d'apprentissage, de planification, de réalisation du geste et d'ergonomie. La dextérité du praticien a atteint sa limite et ne suffit plus à répondre aux critères de sécurité, de fiabilité et de traçabilité du geste imposés par le contexte réglementaire. Ainsi, les pratiques interventionnelles modernes nécessitent, voire exigent, pour leur développement un support de haute technologie, telle que par exemple la réalité virtuelle. Dans le cadre de procédures diagnostiques et thérapeutiques impliquant la navigation d'instruments flexibles au sein de structures anatomiques, la mise en oeuvre d'un environnement virtuel dédié à la planification des gestes de contrôle de ces instruments, doit permettre d'optimiser le choix préopératoire du matériel et d'anticiper les difficultés d'accès à la lésion. Les spécificités et contraintes requises par le cathétérisme endovasculaire a incité quelques équipes à proposer des méthodes de simulation exclusivement 5 dédiées à ce type de procédure. Généralement, ces simulations sont intégrées dans des dispositifs matériels spécifiques avec retour haptique comme, par exemple, ceux commercialisés par la société Immersion. On connaît déjà de très nombreuses techniques de modélisation 10 d'instruments et de structures vasculaires. Parmi les différents types de techniques connus, une première technique consiste à modéliser la structure avec des segments cylindriques (appelés corps). Cette première technique de modélisation, appelée modélisation multicorps, est notamment décrite dans [Dawson,00] et [Konings,03] (par souci de lisibilité, les 15 différents documents cités sont regroupés en annexe 1, à la fin de la présente description). Une deuxième technique connue repose sur la méthode des éléments finis. Cette deuxième technique de modélisation est notamment décrite dans [Lenoir, 06] et [Cotin, 05]. 20 Une troisième technique consiste à combiner les première et deuxième techniques connues précitées. Cette troisième technique de modélisation est notamment décrite dans [Lawton,99], [Anderson,02] et [Bhat,05]. Ces techniques connues présentent un certain nombre d'inconvénients. En effet, ces techniques trouvent leurs limites dans le compromis qu'elles imposent 25 entre précision de la représentation des structures anatomiques et temps de calcul. Ainsi, les inventeurs ont constaté que dans certaines situations l'intégration de données spécifiques au patient, pour lesquelles les lésions requièrent une représentation graphique précise, n'est pas assurée. Par représentation graphique précise, on entend une représentation 30 possédant un grand nombre de polygones. Par exemple, la représentation graphique d'une structure vasculaire et de sa lésion peut être qualifiée de précise lorsque le maillage surfacique est reconstruit suivant le même échantillonnage que les données d'imagerie acquises. Un autre inconvénient majeur de ces techniques connues réside dans l'absence de simulation conjointe des instruments de cathétérisme. En effet, les techniques actuelles ne permettent pas de simuler simultanément et dynamiquement plusieurs instruments en interaction avec des structures anatomiques et ayant des propriétés mécaniques différentes. Enfin, on notera aussi que ces techniques connues présentent une 10 limitation au niveau du réalisme des modèles d'instruments où l'hétérogénéité des caractéristiques mécaniques n'est pas intégrée. 3. Objectifs de l'invention L'invention, dans au moins un de ses modes de réalisation, a notamment pour objectif de pallier ces inconvénients de l'art antérieur. 15 Plus précisément, un objectif de l'invention, dans au moins un de ses modes de réalisation, est de fournir une technique qui permette d'obtenir une modélisation réaliste des instruments. Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de fournir une telle technique qui soit peu coûteuse en temps de 20 calcul permettant d'atteindre une simulation temps réel. Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de fournir une telle technique qui améliore la précision de représentation des structures. Un autre objectif de l'invention, dans au moins un de ses modes de 25 réalisation, est de fournir une telle technique qui permette une navigation conjointe de plusieurs instruments. Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de fournir une telle technique qui permette une meilleure planification d'intervention. 30 Un autre objectif de l'invention, dans au moins un de ses modes de réalisation, est de proposer une telle technique qui soit compatible avec le matériel informatique existants. L'invention, dans au moins un de ses modes de réalisation, a encore pour objectif de fournir une telle technique qui soit simple à mettre en oeuvre et ceci pour un faible coût. 4. Exposé de l'invention Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de génération d'un modèle modifiable d'un dispositif flexible de navigation comprenant au moins un outil, ledit modèle pouvant naviguer au sein d'une structure virtuelle décrite par un maillage surfacique, ledit procédé comprenant une étape d'obtention d'une pluralité de corps par discrétisation dudit dispositif, chaque corps comprenant une articulation permettant de lier ledit corps à un autre corps. Selon l'invention, le procédé de génération comprend, pour chaque corps, une étape d'association audit corps d'une couche modifiable représentative d'un ensemble de paramètres relatif à au moins un outil dudit dispositif. L'invention propose donc un modèle original comprenant une pluralité de corps associés chacun à une couche de paramètres. Cette couche est modifiable, en ce sens que les valeurs des paramètres de cette couche changent en fonction de l'évolution du modèle au sein de la structure virtuelle. L'invention couvre un premier cas dans lequel le modèle comprend une couche unique. L'invention couvre également un second cas dans lequel le modèle comprend plusieurs couches distinctes. Par dispositif flexible de navigation, on entend tout instrument flexible pouvant se déplacer au sein de structure tubulaire ou cavitaire. On note que le modèle peut représenter une pluralité d'outils pouvant coulisser les uns sur les autres et pouvant être dépendants les uns des autres. Avantageusement, ledit ensemble de paramètre comprend au moins un paramètre appartenant au groupe comprenant : - des paramètres mécaniques d'au moins un outil donné ; - des paramètres de forme d'au moins un outil donné ; - des paramètres de visualisation d'au moins un outil donné. Préférentiellement, chaque corps est un cylindre rigide. De façon avantageuse, le procédé comprend, pour chaque articulation, une étape d'association à ladite articulation d'au moins une contrainte angulaire déterminée. Dans un autre mode de réalisation, l'invention concerne un modèle modifiable d'un dispositif flexible de navigation comprenant au moins un outil, ledit modèle pouvant naviguer au sein d'une structure virtuelle décrite par un maillage surfacique, ledit modèle comprenant une pluralité de corps, chaque corps comprenant une articulation permettant de lier ledit corps à un autre corps. Selon l'invention, chaque corps est associé à une couche modifiable représentative d'un ensemble de paramètre relatif à au moins un outil dudit dispositif. Dans un autre mode de réalisation, l'invention concerne un moyen de stockage contenant le modèle modifiable précité. Dans un autre mode de réalisation, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, ledit produit programme d'ordinateur comprenant des instructions de code de programme pour la mise en oeuvre du procédé de génération d'un modèle modifiable précité, lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation, l'invention concerne un procédé de gestion de la navigation d'un modèle modifiable d'un dispositif flexible de navigation comprenant au moins un outil, ledit modèle pouvant naviguer au sein d'une structure virtuelle décrite par un maillage surfacique, ledit modèle comprenant une pluralité de corps, chaque corps étant identifié par un numéro d'indice, chaque corps comprenant une articulation permettant de lier ledit corps à un autre corps. Selon l'invention, le procédé de gestion comprend les étapes suivantes : - obtention d'un modèle modifiable, dit modèle initial, comprenant une pluralité de corps associés chacun à une couche modifiable représentative d'un ensemble de paramètre relatif à au moins un outil dudit dispositif ; - obtention d'une commande de navigation ; - génération d'un modèle modifié, par modification dudit modèle initial suivant une opération de modification choisie parmi une pluralité d'opérations de modification en fonction de ladite commande de navigation. Avantageusement, ladite pluralité d'opérations de modification comprend une opération appartenant au groupe comprenant : - une opération de modification d'un corps dudit modèle initial par modification de la couche modifiable associée audit corps ; - une opération d'insertion d'un nouveau corps dans ledit modèle initial ; - une opération de suppression d'un corps dudit modèle initia ;. - une opération de rotation (torque) dudit modèle initial autour de son axe. De façon avantageuse, le procédé de gestion comprend, pour chaque articulation, une étape d'association à ladite articulation d'au moins une contrainte angulaire déterminée. Avantageusement, le procédé de gestion comprend une étape de détection dans ledit modèle modifié d'au moins un corps en collision avec ladite structure virtuelle et/ou avec un autre corps. Pour chaque corps en collision, on effectue une phase de propagation de contrainte angulaire. Selon un aspect avantageux de l'invention, ladite phase de propagation de contrainte angulaire comprend les étapes suivantes : - détermination d'un premier angle d'annulation de collision ; - application dudit premier angle d'annulation de collision sur l'articulation dudit corps en collision, dit corps traité ; - vérification que l'articulation dudit corps traité vérifie ladite au moins une contrainte angulaire qui lui est associée ; - en cas de vérification négative : o application d'un deuxième angle sur l'articulation dudit corps traité, ledit deuxième angle permettant à l'articulation dudit corps traité d'atteindre ladite au moins une contrainte angulaire ; o détermination d'un corps à traiter, lié audit corps traité et ayant un numéro d'indice inférieur à celui dudit corps traité ; o détermination d'un troisième angle à partir dudit deuxième angle et dudit premier angle d'annulation de collision ; o application dudit troisième angle sur l'articulation dudit corps à traiter, ledit corps à traiter devenant le corps traité avant de revenir à l'étape de vérification. Avantageusement, le procédé de gestion comprend une phase de relaxation comprenant les étapes suivantes : - détermination d'un quatrième angle de relaxation ; - pour chaque corps traité, application dudit quatrième angle de relaxation sur l'articulation dudit corps traité. De façon avantageuse, le procédé de gestion comprend une étape de détection d'au moins un blocage d'un ou plusieurs outils dans ladite structure virtuelle. Dans un autre mode de réalisation, l'invention concerne un moyen de stockage contenant le procédé de gestion précité. Dans un autre mode de réalisation, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, ledit produit programme d'ordinateur comprenant des instructions de code de programme pour la mise en oeuvre du procédé de gestion précité, lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation, l'invention concerne un dispositif de gestion de la navigation d'un modèle modifiable d'un dispositif flexible de navigation comprenant au moins un outil, ledit modèle pouvant naviguer au sein 7 d'une structure virtuelle décrite par un maillage surfacique, ledit modèle comprenant une pluralité de corps, chaque corps étant identifié par un numéro d'indice, chaque corps comprenant une articulation permettant de lier ledit corps à un autre corps. Selon l'invention, le dispositif de gestion comprend : - des moyens d'obtention d'un modèle modifiable, dit modèle initial, comprenant une pluralité de corps associés chacun à une couche modifiable représentative d'un ensemble de paramètre relatif à au moins un outil dudit dispositif flexible de navigation ; - des moyens d'obtention d'une commande de navigation ; - des moyens de génération d'un modèle modifié permettant de modifier ledit modèle initial suivant une opération de modification choisie parmi une pluralité d'opérations de modification en fonction de ladite commande de navigation. 5. Liste des figures D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1 présente la structure géométrique d'un modèle multi-corps multi-couches (MBML) selon un mode de réalisation particulier de l'invention ; - la figure 2 présente un schéma de liaison entre les corps du modèle MBML de la figure 1 ; - les figures 3a à 3f illustrent des exemples de forme d'extrémité d'outils tubulaires ; - les figures 4a et 4b illustrent des exemples de courbure maximale de la structure géométrique du modèle MBML ; - la figure 5 présente un schéma simplifié d'un ressort de restauration selon un mode de réalisation particulier de l'invention ; - la figure 6 illustre des couches mono-outil et multi-outils selon un mode de réalisation particulier de l'invention ; - la figure 7 présente une décomposition du modèle MBML selon un mode de réalisation particulier de l'invention ; - la figure 8 présente un organigramme d'un mode de réalisation particulier 5 du procédé de gestion de la navigation du modèle MBML ; - la figure 9 présente un organigramme d'un mode de réalisation particulier d'une boucle de déformation ; - la figure 10 illustre schématiquement une caméra virtuelle orthographique associée à un corps du modèle MBML ; 10 - la figure 11 illustre schématiquement une collision entre des corps du modèle MBML ; - la figure 12 illustre schématiquement la simulation de la poussée d'un outil ; - la figure 13 illustre schématiquement l'évolution des paramètres de rigidité 15 lors d'une manipulation en translation d'un outil ; - les figures 14a et 14b illustrent respectivement l'ajout et la suppression d'un corps lors d'une translation ; - la figure 15 illustre schématiquement une commutation de couche lors d'une translation ; 20 - les figures 16a à 16d présentent des exemples de simulation et de navigation d'instruments flexibles au sein de structures tubulaires. 6. Description détaillée 6.1 Principe général Le formalisme � multi-corps � est utilisé pour discrétiser un dispositif 25 flexible de navigation (aussi appelé par la suite instrument), comprenant un ou plusieurs outils endovasculaires (par exemple un guide et une sonde), selon une structure géométrique divisée en plusieurs corps reliés entre eux par des articulations. Le principe général de l'invention repose sur l'obtention d'un modèle, 30 appelé par la suite modèle multi-corps multi-couches (ou modèle � MBML �, pour � Multi-Body Multy-Layers �), dans lequel chaque corps est associé à une couche de paramètres. Selon l'invention, on regroupe au sein d'une couche des paramètres relatifs à un ou plusieurs outils et on l'associe à un corps. La simulation du caractère déformable de l'instrument est basée sur l'introduction de contraintes au niveau des articulations de la structure géométrique. La simulation du comportement dynamique de l'outil repose ainsi sur une propagation de contrainte angulaire couplée à une relaxation élastique. Ainsi, et comme on le verra par la suite, dans le cas particulier où le dispositif flexible de navigation comprend deux outils (par exemple un guide et une sonde) destinés à évoluer conjointement au sein d'une structure anatomique, trois couches distinctes sont définies. Plus précisément, deux d'entre elles, appelées couches � mono-outil �, sont utilisées pour la représentation indépendante de chacun des outils (en d'autres termes, on définit une couche mono-outil pour le guide et une autre couche mono-outil pour la sonde), et la troisième couche, appelée couche � multi-outils � est utilisée pour la représentation combinée des deux outils (en d'autres termes, on définit une couche multi-outils pour la combinaison guide plus sonde). Selon l'invention, l'évolution conjointe des outils est simulée en associant consécutivement à chaque corps une couche particulière. Les paramètres de chaque corps sont ensuite utilisés pour calculer le comportement dynamique du modèle défini sur la structure géométrique. 6.2 Structure géométrique d'un modèle multi-corps multi-couches (MBML) On décrit désormais en relation avec la figure 1 la structure géométrique d'un modèle MBML 100 selon un mode de réalisation particulier de l'invention. La structure géométrique du modèle MBML 100 est décomposée selon un formalisme multi-corps par un ensemble de corps non déformables, numérotés de 1 à 4. La topologie de la structure est équivalente à une chaîne cinématique de segments cylindriques reliés entre eux par des liaisons sphériques (par exemple des rotules), numérotées de 10 à 40. Comme illustré, l'articulation 10 appartient au corps 1, l'articulation 20 au corps 2 et ainsi de suite. Le caractère globalement déformable de l'outil est ainsi représenté par un objet articulé, chacun des corps le constituant étant inflexible. Comme illustré par la figure 2, les corps d'indice inférieur à i ont une relation de parenté avec le corps C, , et les corps d'indice supérieur à i ont une relation d'affiliation avec le corps C, . La liaison sphérique Si est définie comme la succession de trois rotations 9x , 9~, , 9z , respectivement autour des axes xi , zi, dans le référentiel du point P situé à l'origine du corps C, et au centre de l'articulation qui lui est associée. Chaque liaison sphérique S1 (j = 1, ..., i, ..., N) détermine ainsi les trois degrés de liberté de l'articulation associée à chacun des corps Ci (j = 1, ..., i, ..., N) constituant la structure géométrique de l'outil flexible. On note qu'une modification locale des angles de rotation 9x , 9y au niveau des liaisons sphériques se traduit par une déformation globale de l'outil en flexion, alors que la modification de l'angle 9z se traduit globalement par une déformation en torsion. La modification des positions angulaires au repos de corps consécutifs permet de représenter les différentes formes d'extrémités rencontrées dans la réalité. En fixant la longueur de chaque corps, les angles de rotations 9x , 9y , 9z au niveau de la liaison sphérique sont initialisés à des valeurs spécifiques 0,nit , 9ynit , 9zinit pour modéliser les courbes des différentes extrémités. Ainsi, comme illustré par les figures 3a à 3f, il est possible d'obtenir une extrémité droite (figure 3a), en forme de � J� (figure 3b), une extrémité angulée (figure 3c), en forme de � Pig tail � (� queue de cochon � en français) (figure 3d), en forme de � Simmons � (figure 3e), ou encore en forme de � Cobra � (figure 3f). Dans un mode de réalisation particulier de l'invention, l'angle 9Z1nit est initialisé à une valeur nulle car les outils endovasculaires considérés ne présentent pas de forme de type hélicoïdale. En l'absence de contraintes, les différentes formes rencontrées peuvent être définies au moyen des angles initiaux 0,nit , 9ynit . 6.2.1 Propriétés mécaniques du modèle MBML On rappelle tout d'abord que le caractère élastique d'une déformation d'un matériau rigide ou souple peut être défini par un retour élastique (linéaire ou non), permettant au matériau de retrouver sa forme d'origine à la levée des contraintes, et par une limite d'élasticité, au-delà de laquelle le matériau ne peut plus retrouver sa forme d'origine (on parle alors de déformation plastique ou d'une rupture). Outre la structure géométrique, le comportement déformable d'un outil tubulaire flexible (par exemple un guide) est défini par des propriétés mécaniques intrinsèques spécifiques. Nous nous intéressons ici à la déformation élastique de l'outil sous contraintes, en faisant l'hypothèse que ces contraintes n'entrainent pas de déformation plastique ou une rupture. Cette déformation élastique est principalement déterminée par la caractéristique � souplesse / rigidité � du matériau. Par souci de clarté, nous parlerons par la suite de � rigidité � de la structure déformable, rigidité qui peut être plus ou moins élevée et conférer à l'outil une aptitude plus ou moins grande à se déformer et à naviguer dans des zones cavitaires tortueuses. La limite d'élasticité est transcrite dans le modèle MBML par une limitation angulaire sur chacun des corps. Ainsi les angles Ox , 0, de chaque liaison sphérique sont limités à un angle maximum 6,T,ax afin d'autoriser un rayon de courbure maximum de la structure géométrique du ou des outils. Comme illustré par la figure 4a, pour une longueur de segment donnée, l'augmentation de cet angle 6,T,ax induit un comportement plus souple de l'outil et augmente la faculté d'adaptation de sa forme à la tortuosité de la structure anatomique. A l'inverse, et comme illustré par la figure 4b, une valeur faible de 6,T,ax entraîne un comportement plus rigide de l'outil. Dans un mode de réalisation particulier, afin que la déformation soit admissible, au sens de la limite d'élasticité, un mécanisme de propagation de contrainte angulaire spécifique à l'invention est mis en oeuvre. Ce mécanisme de propagation permet de répartir le déplacement angulaire, engendré à l'extrémité de l'outil en réponse à une collision, sur différents corps du modèle. Ainsi, lorsqu'une collision est détectée entre un corps (appelé par la suite corps primaire) et la structure virtuelle (à l'intérieur de laquelle le modèle évolue), pour annuler cette collision, on effectue un déplacement angulaire au niveau de l'articulation du corps (appelé par la suite corps secondaire) d'indice inférieur au corps primaire). L'angle ajouté à l'angle de rotation courant doit satisfaire à la contrainte imposée par l'angle maximal Bmax tout en assurant le déplacement. Selon l'invention, si le déplacement angulaire initial ne permet pas de respecter la contrainte de l'angle maximal au niveau de l'articulation du corps en collision, alors un mécanisme de répartition d'angle spécifique à l'invention est mis en oeuvre. Ce mécanisme de répartition permet de répartir un angle déterminé sur un ou plusieurs corps (appelé par la suite corps tertiaire) d'indice inférieur au corps secondaire, afin que tous les angles soient admissibles et que la résultante des déplacements angulaires appliqués soit égale au déplacement angulaire initialement spécifié. Lorsqu'un angle supérieur à amax est affecté à l'articulation d'un corps, la liaison du corps, où est souhaité le déplacement, est déplacée à sa valeur maximale autorisée Omax . Le reste de l'angle nécessaire pour effectuer la rotation annulant la collision est propagée à l'articulation du père du corps considéré, et itérativement aux autres pères afin que tous aient leur contrainte admissible et que la totalité de la rotation souhaitée soit réalisée Nous donnons ci-après l'algorithme de répartition du déplacement angulaire. 3o.!.t:itu.:fa i re.,. ss{;p tE ü.a�ri 7'i agi _ ü,;r T i 5; l i"[ �fit rit �t t i [?t4 t L processus de relaxation est défini par les équations de mouvements des ressorts de restauration de la structure géométrique. La force du ressort est fonction de la contrainte et donc des angles de rotation. Elle peut s'exprimer à une constante près (qui est intégrée dans la raideur du ressort K) en fonction des angles 9x , 9y . L'équation définissant le mouvement d'un ressort de restauration de raideur K connecté entre le point virtuel P+l de coordonnées angulaires T B~n~t = ~~xtntt ~ytntt , correspondant à l'angulation initiale et au repos, et le point courant P+l , de coordonnées angulaires o' = est donnée par : Z mi 9 (t) = G + K (9 ` (t) ù 9;nit )ù Y .0 (t) où K est la constante de raideur du ressort, et y le coefficient d'amortissement. Ô est une force de pénalité qui permet d'assurer la localisation de chaque corps dans la lumière. Cette force n'intervient qu'en cas de collision afin de contraindre le corps à s'orienter vers la ligne centrale de la structure anatomique. Elle est calculée en considérant un ressort de restauration, de raideur KG, situé entre le point courant de coordonnées angulaires O' = ,01T et la ligne centrale. De par la nature de la structure géométrique, le moindre déplacement d'un corps entraine une répercussion sur l'ensemble des corps fils. Pour limiter cet effet, l'intégration numérique, de type Euler, est réalisée avec un pas d'intégration dt faible 0 (t + dt) = 8 i(t) + 8 i(t) � dt 0 (t + dt) = 0 (t) + 0 (t) . dt 6.2.2 Représentation multicouches Afin d'établir un modèle unifié autorisant à la fois la représentation d'un seul outil, celui-ci pouvant être de différentes natures (guide ou sonde), et la représentation conjointe, c'est-à-dire simultanée, de différents outils (guide et sonde), la notion de couche est introduite. Selon l'invention, une couche permet de paramétrer les caractéristiques intrinsèques de chacun des corps du modèle, et de déterminer leur comportement lors de la simulation. Dans le cas particulier illustré par la figure 6, où le dispositif flexible de navigation comprend un guide et une sonde, trois types de couches sont définies : une première couche mono-outil 61 pour le guide, une deuxième couche mono- outil 62 pour la sonde et une troisième couche multi-outils 63 pour la combinaison d'outils guide et sonde. Il est important de noter qu'un corps ne peut se voir affecter simultanément plusieurs couches. Par contre, un modèle selon l'invention peut comprendre simultanément différentes couches. L'ensemble des paramètres associés à une couche concerne des caractéristiques de différentes natures, telles que par exemple la forme, la rigidité et l'apparence. Plus précisément, la caractéristique de forme peut, par exemple, définir le rayon R et la longueur L du corps, ainsi que les angles de rotation initiaux 9x''" init 0init y ' z La caractéristique de rigidité peut, par exemple, définir l'angle maximal 9Tax (associé à l'articulation du corps) et les paramètres de relaxation élastique K, KG, y et dt. La caractéristique d'apparence peut, par exemple, définir la couleur C et le type de visualisation T. On note que les paramètres R, L et T sont constants pour une même couche. Par contre, les paramètres de forme (angles initiaux), de rigidité (angles maximaux) et de relaxation élastique peuvent varier le long d'une même couche. Ainsi, lors de la montée d'une sonde faiblement rigide et à extrémité courbe sur un guide droit plus rigide, l'extrémité de la sonde est contrainte par le guide dont les caractéristiques sont prédominantes au niveau de la couche multioutils (guide et sonde), alors que la sonde reprend ses caractéristiques et sa courbure naturelle au sein d'une couche mono-outil lorsque le guide est retiré. Les paramètres multi-outils en question peuvent être déterminés en retenant par exemple l'angle maximal le plus faible, le coefficient d'amortissement et la constante de raideur les plus élevés des couches mono-ouitls, ainsi qu'une angulation initiale nulle. Toutefois les paramètres de la couche multi-outils peuvent aussi être obtenus par une combinaison pondérée des paramètres des couches mono-outils. Selon le type de couche ou la valeur des paramètres des couches, la structure géométrique du modèle MBML est décomposée en différentes parties afin de gérer les différents types d'interactions intervenant dans la simulation de cathétérisme. Comme illustré par la figure 7, cette décomposition est réalisée à deux niveaux. Au niveau de la forme, on distingue la � partie formée � 71 où les corps possèdent une angulation initiale non nulle (cas d'une extrémité non droite), de la � partie droite � 72 où les corps possèdent une angulation initiale nulle. Dans la suite, le terme � extrémité droite � se réfère au dernier corps de la partie droite. Au niveau du type de couche, on distingue la � partie conjointe � 73 qui regroupe les corps de la structure géométrique affectés par la couche multi-outils et la � partie libre � 74 qui regroupe les corps affectés uniquement par l'une des couches mono-outils, celles-ci ne pouvant être impliquées simultanément dans la partie libre. Dans le cas d'une simulation de cathétérisme faisant intervenir plusieurs outils, une commutation du type de couche (mono-outil vers multi-outils ou inversement) affecté aux corps lors de la navigation conjointe des deux outils, modifie la répartition des corps entre partie conjointe et partie libre. Si tous les corps de la partie conjointe ne possèdent pas une angulation initiale nulle, cette dernière partie peut être divisée aussi en une partie droite et une partie formée. 6.3 Procédé de gestion de la navigation d'un modèle MBML On décrit désormais en relation avec la figure 8 un procédé de gestion de la navigation d'un modèle MBML (tel que décrit ci-dessus aux paragraphes 6.1 et 6.2) selon un mode de réalisation particulier de l'invention. Comme illustré, le procédé de gestion de l'invention met en oeuvre différents types d'interactions : - les interactions Utilisateur/Outils El, initiatrices des autres interactions, qui impliquent des manipulations réalisées par l'utilisateur sur la partie proximale des outils virtuels (telles que par exemple une poussée, un retrait, une rotation, etc.) au moyen d'une interface homme/machine (par exemple un clavier alphanumérique, une souris 3D, un microphone, etc.) ; - les interactions Outil/Outil E2, qui se réfèrent principalement à la simulation conjointe de l'évolution de plusieurs outils tubulaires flexibles contraints l'un par l'autre (partiellement solidaires l'un de l'autre et glissant l'un par rapport à l'autre). Elles impliquent la mise à jour E21 des paramètres des corps en fonction du type de couche qui leur est associé, ainsi que la gestion des auto-collisions E22 (c'est-à-dire la collision d'un outil avec un autre outil) ; - les interactions Outils/Tissus E3, qui concernent d'une part la détection E31 et la gestion E32 des collisions entre les corps du modèle MBML et la structure virtuelle (qui est par exemple la représentation géométrique de structures vasculaires), et d'autre part la gestion des déformations E33 à appliquer aux outils, à la fois locale E331 (c'est-à-dire au niveau d'un corps) et globale E332 (c'est-à-dire au niveau d'un ensemble de corps) en réaction à une collision. 6.3.1 Interactions Outil/Tissu La manipulation des outils virtuels par l'utilisateur entraîne une modification de leurs formes au sein de la structure virtuelle anatomique. La simulation est réalisée sous l'hypothèse que les déformations de la paroi vasculaire sont négligeables comparées aux déformations subies par les outils. La structure anatomique est supposée rigide. Comme indiqué précédemment, les outils virtuels sont décrits par le modèle MBML. La structure anatomique est quant à elle décrite par un maillage surfacique précis et un volume binarisé. L'extraction de la description géométrique fine de structures vasculaires complexes peut, par exemple, être réalisée à partir de données patients issues d'un examen standard d'imagerie préopératoire 3D TDM au moyen de méthodes telles que celles décrites, par exemple, dans [Haigron, 04] et [Acosta, 05]. Outre les fonctions de détection E31 et de gestion E32 de collision, la boucle de déformation E33 impliquée dans la simulation des interactions Outils/Tissus fait intervenir une propagation de contrainte angulaire E333 et une relaxation élastique E334, comme le montre la figure 9. Détection de collision Afin de réaliser une simulation respectant des contraintes quasi temps réel et d'accélérer le processus de détection de collision E31, généralement coûteux en temps de calcul, un pipeline de détection de collision est mis en oeuvre au moyen de trois processus, à savoir : un processus de détection approximative E311, un processus de recherche de proximité E312 et un processus de détection exacte E313. Comme illustré par la figure 10, la détection exacte E313 repose sur l'utilisation d'une caméra virtuelle orthographique 80 associée à un corps 2. Plus précisément, le centre optique de la caméra virtuelle 80 est localisé au point d'origine du corps 2 et son axe de visée est orienté suivant l'axe principal du corps 2. Cette caméra virtuelle 80 dont la géométrie de projection est parallèle permet d'observer la scène dans un champ de vision restreint à un volume englobant. Ce volume est défini dans un parallélépipède rectangle correspondant à l'extrusion d'un carré, de côtés le rayon R du corps, entre les plans notés Near et Far qui sont distants l'un de l'autre de la longueur du corps L. Seuls les polygones situés entre ces plans sont rendus par la caméra virtuelle. La présence de polygones de la structure vasculaire virtuelle dans le champ de vision de la caméra virtuelle 80, implémentée au moyen de fonctions graphiques matérielles, indique une intersection entre le corps et le maillage décrivant la structure virtuelle, c'est-à-dire une collision. Afin d'accélérer la détection de collision et d'étendre la détection aux autres corps dans un processus de déformation global, l'étape de détection exacte E313 réalisée localement est complétée par une détection approximative E311 et une recherche de proximité E312. La détection approximative E311 utilise le volume binaire décrivant la structure anatomique pour déterminer si un corps est situé à l'intérieur ou à l'extérieur de la lumière artérielle délimitée par le maillage surfacique. Dans la recherche de proximité E312, le maillage surfacique initial permettant une description fine de la structure vasculaire virtuelle (on note que cette description fine requiert un nombre important de polygones) est décomposé selon une approche hiérarchique telle que celle décrite, par exemple, dans [Lenoir, 06]. Chaque branche du maillage (correspondant à une branche vasculaire) est décomposée en plusieurs segments décrits par un nombre limité de polygones. Le maillage de résolution élevé limité au(x) segment(s) retenus est ensuite exploité par le processus de détection exacte E313. Gestion de collision La gestion de collision doit fournir les coordonnées angulaires propices à l'annulation des collisions. Ces coordonnées angulaires peuvent être calculés de différentes manières en prenant en entrée les éléments intersectés établis lors de la détection exacte. Un calcul des normales des vertex intersectés peut être réalisé. Pour garder le bénéfice de la détection exacte réalisée à l'aide d'un matériel graphique, la mise en oeuvre d'une nouvelle méthode graphique (décrite ci-après) est privilégié. Bien entendu, il est possible d'envisager de mettre en oeuvre d'autres méthodes graphiques du moment qu'elles aboutissent aux calculs des coordonnées angulaires. La gestion des collisions E32 est fondée sur l'utilisation d'une caméra perspective virtuelle (non représentée) telle que celle décrite, par exemple, dans [Guilloux, 06]. Cette caméra associée à un corps donné du modèle MBML, implémentée au moyen de fonctions graphiques matérielles, et possédant un cône de vision défini par l'angle maximum 6,T,ax , est utilisée pour calculer une carte de mobilité représentant l'ensemble de l'espace accessible par ce corps donné. L'analyse de cette carte fournit des informations caractérisant l'espace libre (orientation de la surface, profondeur de la lumière,...) qui sont utilisées dans un processus de recherche angulaire E322 (aussi noté par la suite RA) pour déterminer les déplacements angulaires aX, a y à appliquer au corps donné pour annuler la collision. L'algorithme de répartition des déplacements angulaires est donné ci-15 dessous. Gestion des déformations La mise à jour de la structure géométrique du modèle MBML (en d'autres termes sa déformation en réponse à une collision) repose sur la mise en oeuvre des 20 processus de propagation de contrainte angulaire E333 et de relaxation E334. Ces processus prennent en compte les résultats de la détection E31 et de la gestion E32 de collision. Ces processus sont activés différemment en fonction du corps considéré sur la structure géométrique de l'outil en prenant en compte une détection de collision plus ou moins fine. I ii' ZZ51.E1â3e 'c 1v': I'iE~ 1:Ft'v: a E?4:IF~I' ù.t Ua1t.. Cli7 Y .d 'i'i3 ~ icr.; ~ ~ � t. ki':~.dr 1] .Z i air{" Si 1cttl Le processus itératif effectivement mis en oeuvre pour effectuer la relaxation élastique est décrite par l'algorithme Relaxation+ donné ci-dessous. 22 r.r { 1 .Jt' ~ ..~ t Fi.: par is 12: ;°r L f ,r7,r ti t r i: [%] Fin. SI + (t 1;Étil [ ,>I'31.1 t 1 . �: : ' t ; ' , ' 11t tt' ..[' ] +ts>',: tt tt.r': ~.:F [.`:] I r t a:Y r jr] :' F *tr [':I } ,rt l {'i.] ~t`sc� + Fret Ct: t .'['.. ]. ' .;--file-. .a.~- .. ir` * t. 25: Fin. P(nur- hie i'-azt~r1 .t r i . ':~'~.~ t it~.:;: 27 Fin.'~'.Irii~,i- F.. . 3É1'' I .'ï~ Ir j1U La relaxation élastique est appliquée à partir du corps le plus ancien jusqu'à l'extrémité distale de l'outil. Afin de connaître la position d'un corps par rapport à la lumière (c'est-à-dire la zone d'espace libre) et de calculer la force de pénalité, une détection approximative de collision E311 est réalisée à chaque itération. Pour éviter qu'une valeur d'angle soit supérieure à l'angle Omax , la valeur de l'angle et de la vitesse peuvent être réinitialisées avant d'effectuer l'intégration. De même une force supplémentaire peut être ajoutée dans l'équation du mouvement du ressort afin de contraindre le modèle. Les collisions résiduelles éventuelles sont traitées à l'issue de la relaxation par la procédure APCA+ (décrite ci-dessus) ré-appliquée sur l'ensemble des corps déplacés si une collision exacte est détectée. Les procédures APCA+ et Relaxation+ sont exécutées consécutivement sur un corps ou un ensemble de corps afin de gérer deux types de déformations : - déformation locale : lorsqu'on réalise une action de type déplacement ou mise à jour d'une couche sur un corps donné, cette action peut entraîner une collision localement au corps donné. Cette collision est ensuite annulée au moyen d'un algorithme de déformation locale DL donné ci- dessous ; - déformation globale : en réponse à une collision, le déplacement d'un corps donné peut entraîner un déplacement sur tous les corps d'indice supérieur au corps donné, entraînant ainsi des collisions simultanées sur différents points du maillage représentant la structure anatomique virtuelle. La boucle de déformation globale DG est en mesure de gérer plusieurs collisions tout en garantissant la rapidité de la convergence de la simulation. L'algorithme de déformation globale DG est donné ci-dessous. Il est important de noter qu'à ce stade, du fait qu'aucun corps ne soit ajouté à la structure géométrique de l'outil, la détection exacte réalisée dans les boucles APCA+ et Relaxation+ n'implique pas une recherche de proximité préalable, c'est-à-dire une recherche du segment anatomique. 6.3.2 Interactions Outil/Outil Les interactions outil/outil sont introduites lorsqu'il est nécessaire de 20 mettre à jour les paramètres des corps, soit pour simuler l'avancée d'un outil lors de la navigation conjointe, soit pour représenter les propriétés d'hétérogénéité des Faiee ?r ~ outils. Les cas d'auto-collision appartiennent aussi aux interactions outil/outil. Celles-ci se produisent lorsque les outils entrent en collision avec eux-mêmes. A l'exception de la rigidité qui peut évoluer le long d'une couche lors de la navigation des outils, les autres paramètres affectant le comportement de l'outil (rayon, angulation initiale,...) sont exclusivement mis à jour lorsqu'un corps commute d'une couche mono-outil vers une couche multi-outils, et inversement. Cette commutation implique ainsi différentes mises à jour effectuées simultanément. Les processus de mise à jour s'appliquent ici localement, seuls les parents d'un corps donné (c'est-à-dire les corps d'indice inférieur au corps donné) sont affectés. Les déplacements engendrés sur les corps fils (c'est-à-dire les corps d'indice supérieur au corps donné) et la mise à jour globale du modèle au cours de la navigation sont traités au niveau de la gestion des interactions utilisateurs outils. De même, il n'est question ici que de déformations liées à la mise à jour des paramètres. La mise à jour temps réel des paramètres de rigidité est réalisée au niveau de la propagation angulaire (angle 6,T,ax) et de la relaxation élastique (dt, y, KG et K). La mise à jour angulaire peut impliquer une nouvelle contrainte, par exemple, pour une nouvelle valeur 6,T,ax , inférieure à l'ancienne valeur, les angles ex , 0y peuvent ne plus satisfaire la nouvelle contrainte angulaire. Dans ce dernier cas, le ou les angles supérieurs à emax sont associés à cette valeur maximale afin que la contrainte soit satisfaite. Une collision éventuelle est alors gérée par une déformation locale DL au corps considéré. L'algorithme de mise à jour de la contrainte angulaire est donné ci-dessous. 1 .:?y: ,., ?s.tlLki`ti On note que la mise à jour des paramètres de relaxation ne cause pas directement une contrainte car ils interviennent toujours après une propagation angulaire. Leur mise à jour ne nécessite donc pas de déformation immédiate pour satisfaire une contrainte. Dans un mode de réalisation particulier, La mise à jour du rayon d'un corps donné intervient lors de la commutation d'une couche vers une autre. Si le nouveau rayon Rnew est inférieur à l'ancien rayon Raid, le corps est relaxé afin de se déplacer en contact avec la paroi artérielle. A l'inverse, si Rnew est supérieur à Rosa une déformation locale DL est réalisée sur le corps pour annuler une collision éventuelle. L'algorithme de mise à jour du rayon d'un corps est donné ci-dessous. La mise à jour de l'angulation initiale implique quant à elle obligatoirement un déplacement lorsque celle-ci n'est pas égale à la précédente. En cas de déplacement, une déformation locale DL est toujours réalisée. Lors d'une commutation de couche, par exemple, lorsque les paramètres d'un corps prennent les valeurs d'une nouvelle couche, toutes les mises à jour précédentes sont réalisées simultanément. Les déformations locales ou les relaxations ne sont exécutées qu'une seule fois si elles sont nécessaires selon les cas décrits précédemment. Outre les fonctions de mise à jour des paramètres des outils, les interactions Outil/Outil concernent aussi la détection des auto-collisions. La figure 11 illustre une auto-collision entre un premier corps 91 et un deuxième corps 92. La forte interdépendance entre des corps consécutifs du modèle MBML peut être exploitée pour accélérer la détection des cas d'auto-collision en exploitant les deux critères suivants : - deux corps ne peuvent pas entrer en collision si la courbure naturelle du modèle ne le permet pas ; - deux corps ne peuvent pas entrer en collision s'ils ne se trouvent pas dans le même segment du maillage décrivant la surface anatomique. La courbure d'un ensemble de corps est limitée par l'angle maximal umax de chacun d'eux. Chaque corps peut ainsi connaître les collisions potentielles avec les corps de sa descendance (ses fils) ou de son ascendance (ses pères) partageant avec lui un segment du maillage. A partir du corps le plus ancien (i.e corps d'indice inférieur au corps primaire) dans un segment, les angles maximaux umax des corps consécutifs sont cumulés jusqu'au corps le plus jeune (i.e corps d'indice supérieur au corps primaire) dans le segment considéré. Dans ces conditions, une auto-collision peut exister si la somme des angles maximaux est supérieure à 180°. Dans ce cas, les fonctions matérielles graphiques E321 sont utilisées pour effectuer le rendu du corps le plus ancien au lieu des segments de la surface anatomique, et détecter la collision. Cette collision est gérée en appliquant une déformation locale DL sur les plus jeunes des corps afin de limiter le nombre de corps déplacés. Une déformation globale DG est ensuite réalisée à partir du corps déplacé jusqu'à l'extrémité droite du modèle. 6.3.3 Interactions Utilisateur/Outil Les interactions Utilisateur/Outil entraînent les interactions Outil/Outil lorsqu'un outil est manipulé par rapport à un autre outil, puis les interactions Outils/Tissus lorsque l'outil manipulé se déforme suite à une collision. Le comportement de l'outil est dirigé par les réactions de son extrémité. Quand celle-ci est contrainte par la structure vasculaire, l'outil se courbe. Suite à une nouvelle manipulation, celle-ci peut être libérée. L'outil se rigidifie et prend alors la courbure minimale. La gestion des interactions utilisateur / outil(s) consiste à reporter l'action réalisée par l'utilisateur sur l'extrémité distale de l'outil manipulé, et non pas à appliquer directement cette action sur le point d'insertion du modèle. La gestion de ces interactions peut impliquer des procédures différentes si l'utilisateur interagit avec un outil libre ou s'il interagit avec un outil coulissant sur un autre outil. On parlera alors de navigation libre lorsque les interactions de l'utilisateur s'appliquent à la partie libre du modèle (couche mono-outil) et de navigation conjointe lorsqu'elles s'appliquent à la partie conjointe (couche multi-outils). Dans tous les cas, un seul outil est manipulé à la fois. Translation d'un outil (poussée et retrait) Lorsque l'outil manipulé présente une partie libre, les simulations de la poussée (� push-forward � en anglais) et du retrait (� pull-back � en anglais) de l'outil se traduisent respectivement par l'ajout et la suppression d'un corps. Dans le mode de réalisation particulier illustré par la figure 12, la poussée du guide se traduit par l'ajout d'un corps 900 à l'extrémité droite du modèle. Lorsque l'outil manipulé coulisse sur un autre outil et ne présente pas de partie libre, les simulations de la poussée et du retrait de l'outil se traduisent par le changement de couche de l'un des corps situé de part et d'autre de l'extrémité de la partie conjointe Cette opération de translation d'outil nécessite une mise à jour des paramètres de rigidité de l'outil qui est de nature hétérogène et implique un repositionnement de l'outil dans la lumière ou la cavité par une déformation locale DL ou globale DG. Ainsi la simulation d'une translation de l'outil peut être résumée par les deux étapes suivantes : - mise à jour des paramètres de rigidité liée à l'hétérogénéité de l'outil ; - déformation du modèle causée par l'ajout, le retrait ou le changement de couche d'un corps. Mise à jour de la rigidité Un outil est considéré comme hétérogène lorsqu'il est composé de parties de rigidités distinctes (généralement deux ou trois pour un guide). Lors de la navigation, ces différentes parties doivent se déplacer en concordance avec la manipulation réalisée. Celle ci se traduit au niveau des corps par la mise à jour de corps en corps de la rigidité. Cette propagation est réalisée au niveau d'une couche donnée. La mise à jour n'est nécessaire que pour les corps situés à la frontière entre deux parties de rigidités différentes de la couche donnée. Chacune de ces parties de rigidité homogène est décrite par un nombre précis de corps. La mise à jour des rigidités, d'une même couche, est appliquée aux corps situés entre deux parties de rigidités différentes. Pour la partie conjointe, la mise à jour est effectuée sur une couche mono-outil, ce qui implique le re-calcul des valeurs de paramètres correspondant à la couche multi-outils. Comme illustré par la figure 13, le processus de mise à jour de la rigidité démarre à partir du point d'insertion Pi du modèle. A partir de ce corps, la première frontière entre le corps C; et le corps C;+1 de rigidité différente pour la couche manipulée est recherchée. Deux parties de rigidité distincte sont ainsi définies, la première entre Co et C;, la seconde entre C;+1 et C;+n. Pour la poussée, la rigidité du corps fils C;+1 est mise à jour avec celle de C. L'inverse pour le retrait où le corps C; est mis à jour avec la rigidité de C;+1. Si une mise à jour de la rigidité a causé un déplacement, une déformation globale DG est effectuée sur tous les corps entre C;+2 et C;+n pour la poussée (C;+1 ayant déjà été traité), ou C;+1 et C;,-1 pour le retrait (C;+n étant traité par la mise à jour suivante ou par l'étape suivante en étant retiré). Cette déformation rétablit les corps dans la lumière. Si l'extrémité droite n'est pas atteinte, le même processus est répété à cette frontière entre C;+n et C;+n+1 itérativement jusqu'à ce que C;+n soit le dernier corps de l'extrémité droite du modèle. L'algorithme de l'évolution de la rigidité le long d'une couche donnée est donné ci-dessous. à joui intérieure lors f)t"x { irid ic: e �.:le f 11 Fiiÿi: 4,. ri]i. Pour iii I' 1� xced lre 1, 2. 1'.iri Si Pour 1 ai �-�t-'�'�'llir'e procerIitr°e 1iet.i. Pour [c C ; ] [ 'Mise jour de l { 1 ] Faire: )E7.@ tl{'li3rji)i#.+ de .at2 .IF.iT-ëii 4 dldf i}fe:+l'#'3irt ii it: i:y �:l?E7Srt iii {` entre . I>rocecl.11re Pour [ T\Iise S HI .a. eu .~32 dr lt' ii01nhrt Navigation libre Comme illustré par la figure 14a, la simulation d'une manipulation en translation de l'outil est accomplie par l'ajout ou la suppression d'un corps à l'extrémité droite du modèle correspondant au corps 1001 d'indice i. La poussée de l'outil se traduit par l'ajout d'un corps 1002. Ce nouveau corps 1002 d'indice i + 1 possède les paramètres de son père (corps 1001) correspondant à la couche de l'outil poussée. Une recherche de proximité est alors effectuée sur le nouveau corps 1002 et la partie formée du modèle permet ensuite d'affecter les segments du maillage pour la détection de collision. Les collisions sont ensuite recherchées sur les corps 1004 et 1005 correspondant à l'extrémité formée et le dernier corps 1002 introduit. Sur ces mêmes corps, une déformation globale DG est exécutée si une collision est détectée. En l'absence d'extrémité formée, la déformation est locale à l'extrémité droite et non plus globale (seul un corps est traité). Le nombre N de pères affectés par la déformation causée par l'ajout de ce corps est sauvegardé pour être réutilisé lors de la simulation du retrait. A l'inverse de la poussée, et comme illustré par la figure 14b, la simulation du retrait soustrait le dernier corps 1001 de l'extrémité droite du modèle. Le corps 1003 devient alors le dernier corps de l'extrémité droite du modèle. L'angle 9z du corps retiré est ajouté à celui de son père afin que ce retrait n'ait pas d'incidence sur l'orientation de l'extrémité formée. Le nombre N de pères affectés par de l'ajout du corps d'indice i est réutilisé pour relaxer simultanément tous les pères à l'extrémité formée. Navigation conjointe Dans le mode de réalisation illustré par la figure 15, pour simuler la poussée, le fils 1020 du corps 1010 de l'extrémité de la partie conjointe passe de la couche mono-outil à la couche multi-outils. Pour le retrait, le corps 1010 de l'extrémité de la partie conjointe commute de la couche multi-outils à la couche mono-outil. La couche mono-outil employée est celle de l'outil non manipulé. Pour la manipulation de la sonde, l'outil fixe est le guide et inversement pour la manipulation du guide. Une déformation globale DG est ensuite réalisée sur la nouvelle partie libre. Rotation de l'outil Dans la suite de la description, on suppose qu'il n'y a pas d'effet de torque. Ainsi, ce n'est qu'en présence d'une partie formée qu'une rotation a une influence sur la structure géométrique du modèle. L'intégralité d'une rotation effectuée par l'utilisateur est rendue sur l'extrémité non contrainte de la partie libre. Cet ensemble de corps non contraints est identifié par les corps qui, à partir de l'extrémité droite, ne sont pas en contact avec la paroi vasculaire de la structure virtuelle. Dans un premier temps, à partir de l'extrémité droite, le corps étant entré le dernier en collision est recherché. La partie non contrainte du modèle est donc située entre le fils de ce corps et l'extrémité. L'angle de rotation souhaité est ajouté à l'angle en 9z de ce fils. Lorsque l'extrémité droite est en contact avec la paroi vasculaire de la structure virtuelle, l'angle de rotation souhaité est affecté au premier corps de l'extrémité formée. Enfin, un processus de déformation globale DG est exécuté sur tous les corps fils du corps affecté. 6.3.4 Exemples de simulation de cathétérisme Les figures 16a à 16d présentent des exemples de simulation et de navigation d'instruments flexibles au sein de structures tubulaires. Les structures tubulaires considérées sont des structures vasculaires dont la description géométrique a été obtenue à partir de l'examen d'imagerie préopératoire standard, à savoir l'angioscanner X. Le nombre de polygones utilisé pour la description des maillages vasculaires varie de 11172 à 68112 pour la structure aorto-iliaque complète. La figure 16a illustre un exemple de simulation de navigation de deux outils 2002 et 2003 de caractéristiques homogènes et de rigidités différentes, au sein d'une artère iliaque 2001. La figure 16b illustre un exemple de simulation de navigation de deux 30 outils 2005 et 2006 de caractéristiques homogènes, de mêmes rigidités, et de rayons différents (le rayon de l'outil 2006 est supérieur à celui de l'outil 2005), au sein d'une artère iliaque 2004. La figure 16c illustre un exemple de simulation de navigation d'un outil homogène 2008 et d'un outil hétérogène 2009 comprenant une extrémité 2010 5 flexible, au sein d'une artère iliaque 2004. La figure 16d illustre un exemple de simulation de navigation d'un outil homogène 2020 et de deux outils hétérogènes 2030 et 2040 utilisés conjointement au sein d'une artère iliaque 2050. Dans le cas de la simulation conjointe, les outils 2030 et 2040 de rigidités différentes coulissent l'un par rapport à l'autre. 10 ANNEXE 1 Acosta O, Gôksu G, Lucas A, Kulik C, Rolland Y, Haigron P. Geometrical description of anatomical structures based on virtual exploratory navigation. Surgetica; 2005; Grenoble, France; 2005. p.437-45. Anderson, H., Chui, C., Cai, Y., and et al (2002). Virtual reality training in interventional radiology. In Thieme Medical Publishing, N. Y., editor, Seminars in Interventional Radiology, volume 19, pages 179-184. Analytical guide wire motion algorithm for simulation of endovascular interventions. M. K. Konings, E. B. van de Kraats, T. Alderliesten and W. J. Niessen. Medical and Biological Engineering and Computing, Volume 41, Number 6 / novembre 2003 Suraj Bhat, Thenkurussi Kesavadas and Kenneth R. Hoffmann (2005). A physically-based model for guidewire simulation on patient-specific data. Volume 1281, May 2005, Pages 479-484 CARS 2005: Computer Assisted Radiology and Surgery 25 [Guilloux, 06] Guilloux V, Haigron P, Gôksu C, Kulik C, Lucas A. Simulation of guide-wire navigation in complex vascular structures. Proceedings of SPIE Medical Imaging 2006:Visualization, Image-Guided Procedures, and Display; 2006; San Diego, USA: SPIE, Bellingham, WA; 2006. 6141: 11 p. 30 [Haigron, 04] Haigron P, Bellemare ME, Acosta O, Goksu C, Kulik C, Rioual K, Lucas A. Depth-map-based scene analysis for active navigation in virtual angioscopy. IEEE Transactions on Medical Imaging. 2004;23(11):1380-90. [Daswon,00] S L Dawson, S Cotin, D Meglan, D W Shaffer, M A Ferrell. (2000). Designing a computer-based simulator for interventional cardiology training. Catheter Cardiovasc Interv. 2000 Dec ;51 (4):522-7 11108693 (P,S,E,B) [Cotin, 05] Stephane Cotin, Christian Duriez, Julien Lenoir, Paul F. Neumann, Steven Dawson: New Approaches to Catheter Navigation for Interventional Radiology Simulation. MICCAI (2) 2005: 534-542. 45 [Lenoir, 06] Lenoir, J., Cotin, S., Duriez, C., and Neumann, P. (2006). Interactive physically-based simulation of catheter and guidewire. Computer & Graphics, 30(3) :417-423. [Acosta, 05] [Anderson, 02] [Konings, 03] [Bhat, 05] 10 15 20 35 40 5 [Lawton,99] Lawton, W., Raghavan, R., Ranjan, S., and Viswanathan, R.(1999).Ribbons and groups: a thin rod theory for catheters and filaments Journal of Physics A: Mathematical and General, Volume 32, Number 9, 1999 , pp. 1709-1735(27) REVENDICATIONS1. Procédé de génération d'un modèle modifiable d'un dispositif flexible de navigation comprenant au moins un outil, ledit modèle pouvant naviguer au sein d'une structure virtuelle décrite par un maillage surfacique, ledit procédé comprenant une étape d'obtention d'une pluralité de corps par discrétisation dudit dispositif, chaque corps comprenant une articulation permettant de lier ledit corps à un autre corps, caractérisé en ce que ledit procédé comprend, pour chaque corps, une étape d'association audit corps d'une couche modifiable représentative d'un ensemble de paramètres relatif à au moins un outil dudit dispositif. 2. Procédé de génération selon la revendication 1, caractérisé en ce que ledit ensemble de paramètre comprend au moins un paramètre appartenant au groupe comprenant : - des paramètres mécaniques d'au moins un outil donné ; - des paramètres de forme d'au moins un outil donné ; - des paramètres de visualisation d'au moins un outil donné. 3. Procédé de génération selon l'une quelconque des revendications 1 et 2, caractérisé en ce que chaque corps est un cylindre rigide. 4. Procédé de génération selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend, pour chaque articulation, une étape d'association à ladite articulation d'au moins une contrainte angulaire déterminée. 5. Modèle modifiable d'un dispositif flexible de navigation comprenant au moins un outil, ledit modèle pouvant naviguer au sein d'une structure virtuelle décrite par un maillage surfacique, ledit modèle comprenant une pluralité de corps, chaque corps comprenant une articulation permettant de lier ledit corps à un autre corps, caractérisé en ce que chaque corps est associé à une couche modifiable représentative d'un ensemble de paramètre relatif à au moins un outil dudit dispositif. 6. Moyen de stockage contenant au moins un modèle modifiable d'un dispositif flexible de navigation comprenant au moins un outil lisible par un 30 ordinateur et généré selon le procédé de génération selon au moins une desrevendications 1 à 4, ledit modèle comprenant une pluralité de corps, chaque corps comprenant une articulation permettant de lier ledit corps à un autre corps, caractérisé en ce que chaque corps est associé à une couche modifiable représentative d'un ensemble de paramètre relatif à au moins un outil dudit dispositif. 7. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé de génération d'un modèle modifiable selon au moins une des revendications 1 à 4, lorsque ledit programme est exécuté sur un ordinateur. 8. Procédé de gestion de la navigation d'un modèle modifiable d'un dispositif flexible de navigation comprenant au moins un outil, ledit modèle pouvant naviguer au sein d'une structure virtuelle décrite par un maillage surfacique, ledit modèle comprenant une pluralité de corps, chaque corps étant identifié par un numéro d'indice, chaque corps comprenant une articulation permettant de lier ledit corps à un autre corps, caractérisé en ce qu'il comprend les étapes suivantes : - obtention d'un modèle modifiable, dit modèle initial, comprenant une pluralité de corps associés chacun à une couche modifiable représentative d'un ensemble de paramètre relatif à au moins un outil dudit dispositif ; - obtention d'une commande de navigation ; - génération d'un modèle modifié, par modification dudit modèle initial suivant une opération de modification choisie parmi une pluralité d'opérations de modification en fonction de ladite commande de navigation. 9. Procédé de gestion selon la revendication 8, caractérisé en ce que ladite pluralité d'opérations de modification comprend une opération appartenant au groupe comprenant : - une opération de modification d'un corps dudit modèle initial parmodification de la couche modifiable associée audit corps ; - une opération d'insertion d'un nouveau corps dans ledit modèle initial ; - une opération de suppression d'un corps dudit modèle initial ; - une opération de rotation dudit modèle initial autour de son axe. 10. Procédé de gestion selon l'une quelconque des revendications 8 et 9, caractérisé en ce qu'il comprend, pour chaque articulation, une étape d'association à ladite articulation d'au moins une contrainte angulaire déterminée. 11. Procédé de gestion selon l'une quelconque des revendications 8 à 10, caractérisé en ce qu'il comprend une étape de détection dans ledit modèle modifié d'au moins un corps en collision avec ladite structure virtuelle et/ou avec un autre corps, et en ce que, pour chaque corps en collision, on effectue une phase de propagation de contrainte angulaire. 12. Procédé de gestion selon la revendication 11, caractérisé en ce que ladite 15 phase de propagation de contrainte angulaire comprend les étapes suivantes : - détermination d'un premier angle d'annulation de collision ; - application dudit premier angle d'annulation de collision sur l'articulation dudit corps en collision, dit corps traité ; - vérification que l'articulation dudit corps traité vérifie ladite au moins une 20 contrainte angulaire qui lui est associée ; - en cas de vérification négative : o application d'un deuxième angle sur l'articulation dudit corps traité, ledit deuxième angle permettant à l'articulation dudit corps traité d'atteindre ladite au moins une contrainte angulaire ; 25 o détermination d'un corps à traiter, lié audit corps traité et ayant un numéro d'indice inférieur à celui dudit corps traité ; o détermination d'un troisième angle à partir dudit deuxième angle et dudit premier angle d'annulation de collision ; o application dudit troisième angle sur l'articulation dudit corps à 30 traiter, ledit corps à traiter devenant le corps traité avant de revenirà l'étape de vérification. 13. Procédé de gestion selon la revendication 12, caractérisé en ce qu'il comprend une phase de relaxation comprenant les étapes suivantes : - détermination d'un quatrième angle de relaxation ; - pour chaque corps traité, application dudit quatrième angle de relaxation sur l'articulation dudit corps traité. 14. Procédé selon les revendications 8 à 13, caractérisé en ce qu'il comprend une étape de détection d'au moins un blocage d'un ou plusieurs outils dans ladite structure virtuelle. 15. Moyen de stockage lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé de gestion selon au moins une des revendications 8 à 14. 16. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour l'exécution des étapes du procédé de gestion selon au moins une des revendications 8 à 14, lorsque ledit programme est exécuté sur un ordinateur. 17. Dispositif de gestion de la navigation d'un modèle modifiable d'un dispositif flexible de navigation comprenant au moins un outil, ledit modèle pouvant naviguer au sein d'une structure virtuelle décrite par un maillage surfacique, ledit modèle comprenant une pluralité de corps, chaque corps étant identifié par un numéro d'indice, chaque corps comprenant une articulation permettant de lier ledit corps à un autre corps, caractérisé en ce que ledit dispositif de gestion comprend : - des moyens d'obtention d'un modèle modifiable, dit modèle initial, comprenant une pluralité de corps associés chacun à une couche modifiable représentative d'un ensemble de paramètre relatif à au moins un outil dudit dispositif flexible de navigation ; - des moyens d'obtention d'une commande de navigation ;- des moyens de génération d'un modèle modifié permettant de modifier ledit modèle initial suivant une opération de modification choisie parmi une pluralité d'opérations de modification en fonction de ladite commande de navigation.5