• Nenhum resultado encontrado

PRIMITIVES ET REPRESENTATIONS EN IMAGERIE MEDICALE

I.2. Représentation des primitives utilisées en imagerie médicale

2.3. Surface gauche

2.3.2. Surface explicite

Chapitre I : Primitives et représentations en imagerie médicale

2.3.1.5. Modélisation de surfaces à partir de modèles continus de volume

Ce paragraphe fait référence au travail de modélisation continue de volume effectué par Cinquin (cf § I-2-1-4). Le volume est modélisé par des fonctions splines tricubiques. La surface de l'objet que l'on cherche à extraire est la solution stable d'un système d'équations différentielles [Marque90]. Les avantages de cette méthode résident dans le fait que la détection et la connexion des points frontières sont réalisées simultanément. Le résultat est présenté directement sous une forme paramétrique.

2.3.1.6. Modélisation symbolique de surfaces

La description de surfaces par la concaténation de primitives simples est une forme puissante de compression et de compréhension d'une scène. Les structures anatomiques se prêtent difficilement à ce type de modélisation. Citons toutefois les travaux de Burdin [Burdin91] sur la représentation 3D de cubitus à partir de descriptions de formes (des descripteurs de Fourier dans ce cas). Les contours de chaque coupe transversale de l'os sont ainsi modélisés. La primitive entière est définie par la concaténation des descripteurs de coupes. Le passage d'une primitive à une autre correspond à l'apparition ou à la disparition de descripteurs dans la séquence qui décrit le contour.

Chapitre I : Primitives et représentations en imagerie médicale

départ à un suivi de la surface, par connexité, élément par élément. (3) L'ensemble des éléments des surfaces détectées est codé sous forme de liste afin de former le modèle de représentation.

Ces méthodes se différencient par :

-le domaine spatial où l'extraction de surfaces est menée

*coupe par coupe [Udupa82b] ;

le problème tridimensionnel est ramené à une suite de problèmes bidimensionnels plus simples.

*globalement (en 3D) [Herman83] ;

Le suivi de la surface doit opérer en 3D sans direction privilégiée. Artzy [Artzy81]

propose une méthode de détection et de codage de la surface basée sur un parcours de graphe. [Udupa82a] généralise cet algorithme au cas de dimension n quelconque.

-l'élément de surface extrait

*l'élément de surface utilisé par l'équipe de Herman est le cubérille [Herman77]. Ce dernier est défini comme une face de voxels. Ce modèle polygonal présente des avantages et des inconvénients lors de la visualisation par synthèse d'images. Le cubérille, face de voxel, ne peut prendre que six orientations. Pour un point de vue donné, seules trois faces de voxel au plus sont visibles. Si les cubérilles sont classés en six groupes en fonction de leur orientation, ne seront projetés sur l'écran que les éléments de surface appartenant aux trois groupes visibles par l'observateur. Par contre, ce nombre très réduit d'orientations est préjudiciable pour le calcul de la normale. Chen [Chen85] propose un ombrage "contextuel" en fonction des cubérilles voisins.

*Luo [Luo86] propose d'extraire directement les voxels et de mémoriser le gradient associé.

Une note à propos de l'échantillonnage spatial. La technique d'extraction de surfaces repose sur un échantillonnage isotrope (élément de taille identique dans les trois directions). Une interpolation préalable est effectuée. Nous avons vu au § II-2-1-1-1 que certains artefacts sont inhérents à l'interpolation à partir des valeurs des voxels des coupes originales. Trousset [Trousset87] préconise l'utilisation de la nature des objets. Cette idée a été exploitée par une nouvelle technique : l'interpolation basée sur les contours [Raya90]

[Herman92]. Les coupes originales sont superposées et segmentées, les contours des objets sont connus. L'idée de base de cette méthode revient à remplacer les valeurs des voxels par la distance les séparant d'un contour. L'interpolation est faite à partir de ces valeurs.

L'analyse des distances attribuées aux voxels interpolés permet une bonne détermination des contours des plans intermédiaires. Cette technique présente des résultats supérieurs à ceux de l'interpolation simple à partir des niveaux de gris. Sa contre-partie réside dans la segmentation préalable des données et dans l'estimation de la distance voxels/contours.

2.3.2.2. Extraction de surface avec une précision sous-voxel

La surface n'est plus composée d'éléments de la base 3D. Elle est extraite cependant des informations de la base avec une précision sous-voxels. L'extraction est basée sur la notion

Chapitre I : Primitives et représentations en imagerie médicale

-dans un premier temps une valeur représentative de la surface est estimée. Par exemple, nous cherchons à extraire la surface définie par la frontière entre les régions a et b représentées respectivement par des voxels de valeur f(a) et f(b). La valeur attribuée aux points de la frontière vaut F = ( f(a)+f(b) ) / 2.

-l'étape suivante est consacrée à la recherche de l'iso-surface de valeur F, c'est-à-dire à la localisation des endroits de la base de données où cette valeur F peut apparaître. Cette recherche est effectuée à un niveau sous-voxel. Concrètement, la base de données est divisée en cube de recherche (figure I-10). Ce dernier est constitué à partir de la localisation des centres de huit voxels voisins de la base de données.

Le cube de recherche est souvent appelé voxel dans la littérature concernant ce type de modélisation. Par souci de clarté, nous conserverons le nom de cube de recherche pour cette construction et celui de voxel pour le volume élémentaire.

La recherche de l'iso-surface est menée de la façon suivante. Si tous les voxels du cube de recherche ont une valeur soit supérieure, soit inférieure à F, aucune surface ne traverse le cube. Dans le cas inverse (certains voxels ont une valeur supérieure, d'autres inférieure à F), le cube de recherche croise une surface. Cette dernière est ensuite modélisée dans le cube en fonction des valeurs des voxels sommet.

(i, j, k) (i, j, k+1)

(i+1, j, k)

(i+1, j+1, k) (i, j+1, k)

(i+1, j, k+1)

(i+1, j+1, k+1) (i, j+1, k+1)

figure I-10 Cube de recherche Deux modèles de surfaces sont utilisés :

-facettes planes (Marching Cube).

La portion de surface dans le cube est décomposée en facettes. Le nombre et l'orientation des facettes dépendent de la disposition des voxels appartenant à une des deux classes d'objets et à leurs valeurs. Dans la pratique, seule la disposition des voxels est retenue.

Par symétrie et inversion, la décomposition de la surface peut être réduite à 15 cas topologiques différents [Lorensen87]. Cette simplicité est exploitée par l'utilisation de Look-Up-Tables de situations topologiques, mais elle conduit cependant à des erreurs de reconstruction dans le cas de scènes complexes. Les variantes du Marching Cube ([Wilhelm90] pour une étude bibliographique) se distinguent par la prise en compte de ces erreurs.

Le nombre réduit de cas se traduit également par des configurations de facettes identiques (donc des orientations identiques, préjudiciables à la visualisation). Ce problème est

Chapitre I : Primitives et représentations en imagerie médicale

résolu par le calcul des normales au sommet des facettes à partir d'une interpolation des gradients 3D des voxels du cube de recherche (interpolation de Phong généralisée au cube).

-cubes (Dividing Cube) [Cline88]

Pour le Marching cube, la taille de la facette peut être inférieure à la taille du pixel ce qui rend difficile la visualisation. A ce niveau de résolution, la projection des points de surface sur l'écran est plus efficace que celle de facettes. Ainsi, (1) le cube de recherche est divisé en sous-cubes de même résolution que les pixels de l'écran. Les valeurs aux sommets de ces sous-cubes sont calculées par interpolation. (2) Les sous-cubes de surface sont estimés récursivement. (3) Un vecteur gradient est calculé par interpolation au centre de chaque sous-cube de surface. (4) Les centres des sous-cubes de surface sont finalement projetés sur l'écran.

Le Dividing Cube correspond en fait à une simple interpolation en sous-voxels. Cette opération n'apporte pas d'informations. Nous avons vu entre autres que l'interpolation pouvait biaiser le résultat.