La laparoscopie est une technique chirurgicale a invasion minimale:
une fibre optique (munie d'un eclairage) affiche sur un moniteur
une image de la zone d'operation (avec un zoom d'un facteur 3),
et des instruments adaptes sont introduits par des tuyaux (trocards)
d'un diametre similaire.
C'est une technique en pleine essort car faiblement invasive,
d'ou peu de sequelles, peu de complications, et meme
plus de precision grace au zoom.
Par contre, plus encore que les autres techniques chirurgicales,
elle demande une formation poussee des praticiens, pratiques
sur cadavres et animaux. Outre les problemes d'etique et de cout,
ceci rend difficile l'entrainement sur des patologies precises.
Il y a donc une tres forte demande de simulateurs.
L'Action Incitative
AISIM de l'INRIA
s'incrit dans ce cadre, et vise a obtenir les bases d'un simulateur
laparoscopique d'ici 2 ans, axe pour l'instant sur l'operation du foie.
iMAGIS prend part a la simulation
(en temps reel pour le visuel + retour d'effort)
des deformations de l'organe sous l'action des instruments
(travaux de
Gilles Debunne),
et a la visualisation realiste
(i.e. riche en informations) de la surface et de ses changement d'aspects
(travaux de Raphael Heiss).
Avec Raphael, je m'interesse au
rendu realiste en temps reel de la surface du foie
et de l'action des instruments.
Nous nous sommes attache a trois aspects:
- grain de la peau;
- reflets de la source lumineuse;
- trace des instruments (cauterisation, notament) a la surface.
A noter que la motivation des deux premiers aspects reside dans
le fait que l'etirement de la texture et des reflets
sont fortement porteurs d'information sur le relief de l'objet.
Ces trois aspects ont ete ramenes a 3 passes de rendu OpenGL,
en ramenant chacun de ces cas a un traitement texturel:
- le grain de la peau doit avoir une bonne definition meme au zoom.
on utilise donc une texture repetitive,
ce qui suppose de generer un motif de base (cyclique),
et de le plaquer en minimisant les deformations.
Le motif est genere a l'aide de diagrammes de Voronoi,
la minimisation des deformations passe par une relaxation a base de ressorts.
- les reflets peuvent se traiter par texture d'environnement;
on met a jour une texture de reflet representant l'anneau de lumiere
dont la taille depend de la distance et le flou depend de la
rugosite de la surface. - la trace des instruments se fait dans le 3ieme etage de texture,
qui est en bijection avec la surface. Le probleme consiste a determiner
quelle zone de la texture est sous la souris et quelle est l'ampleur
de la deformation texturelle a cet endroit,
afin de dessiner une tache dans la texture telle qu'elle apparaisse
reguliere une fois plaquee.
Avec ma collègue
Marie-Paule Cani,
nous avons publié à Siggraph'99
une méthode de
textures sans distortion.
Grace à celle-ci, nous pouvons maintenant texturer correctement
le grain de la peau.
détection des collisions en temps-réel.
Avec Jean-Christophe Lombardo et Marie-Paule Cani,
nous avons publié une méthode pour
détecter en temps-réel
les faces en contact
avec un outil, en utilisant le hardware graphique des SGI
(mode de rendu FEEDBACK d'OpenGL).
Pierre-Olivier Agliati a intégré le modèle de simulation
adaptatif des déformations de Gilles Debunne,
les détections de collision en temps-réel,
les reflets de Raphaël Heiss,
et les textures sans distortion.
Avec Franck Sénégas, nous simulons les variations
d'aspect de la surface du foie en réaction aux instruments:
contusions et gouttes de sang, blanchiement après compression,
cautérisation. Nous utilisons pour cela des textures animées.
Animation de gouttes sur un cube:
(mpeg, 4.9 Mo).
Gouttes, brulures et blanchiement sur un foie:
(mpeg, 25 Mo).
Principe:
- fabriquer des échantillons triangulaires de texture
dont les bords sont compatibles.
Pour la peau du foie, on utilise des textures procédurales de Worley
(en gros, des régions de Voronoï).
- fabriquer un maillage équilatéral sur la surface
(e.g. avec l'algo de Turk [Sig'92])
- le projeter sur la surface à l'aide de géodésiques,
et paramètrer la surface des patchs triangulaires de texture.
- tirer au hasard des conditions aux bords sur les arètes
du maillage de texture, et mapper des échantillons compatibles avec.
Principe:
nous utilisons un système de sprites texturels, soumis à la dynamique 3D,
mais se résumant à quelques pixels de texture à mettre à jour à chaque pas de temps.
L'image suivante illustre à quel point les reflets
donnent une information de relief:
dans le cas présent, ni le shading, ni les ombres,
ni la perspective, ni la profondeur de champ
ne fournissent d'information 3D pertinente.
De plus les reflets sont très sensibles aux petits changements de pression,
et donnent ainsi une indication supplémentaire du contact et des efforts.