Visualisation des flots optiques en 3D Étudiants : Abdeslam Mokrani Thipphavanh Deovan Yasmina Benkoula Superviseurs : Jean-Luc Mari John Barron
Visualisation des flots optiques en 3D Introduction Visualisation des images Visualisation des flots optiques Interface graphique Conclusion
Visualisation des flots optiques en 3D Introduction (1) Flots optiques Définition Usage Principales difficultés Gestion de mémoire Fluidité de l’animation Librairie graphique ZTK
Visualisation des flots optiques en 3D Introduction (2) Schéma de l’application
Visualisation des flots optiques en 3D Visualisation des images (1) Lecture des images Ensemble de coupes effectué sur un objet pendant différentes phases Un fichier d’images par phase Un fichier d’images contient toutes les images correspondant aux coupes effectuées
Visualisation des flots optiques en 3D Visualisation des images (2) Lecture des images Un fichier info séparé renseigne les noms des fichiers, les attributs des images et la manière dans laquelle elles sont stockées dans un fichier Après lecture du fichier info, n’importe quelle image peut être lue en donnant son numéro de phase et son numéro de coupe
Visualisation des flots optiques en 3D Visualisation des images (3) Gestion de la mémoire Données images volumineuses Accès disque fréquents, souvent pour lire les mêmes images Résultat : Soit perte en performance de temps d’exécution Soit surconsommation de la mémoire vive
Visualisation des flots optiques en 3D Visualisation des images (4) Gestion de la mémoire Solution : un compromis entre la vitesse d’exécution et la consommation de la mémoire Une image lue et utilisée ne doit pas forcément être libérée de suite si l’on considère qu’il y a de forte chance qu’elle soit réouverte prochainement On peut juste la marquer comme pouvant être libérée s’il y a besoin de mémoire
Visualisation des flots optiques en 3D Visualisation des images (5) Gestion de la mémoire La mémoire des images pouvant être libérées est appelée « mémoire cache » Une taille maximale de la mémoire cache est définie et peut être modifiée par l’utilisateur La mémoire cache peut être libérée à tout moment par l’utilisateur
Visualisation des flots optiques en 3D Visualisation des images (6) Gestion de la mémoire Exemple : Pour visualiser une coupe dans ses différentes phases en boucle, après lecture et affichage d’une image de coupe, celle-ci est mise dans la mémoire cache de sorte qu’à la prochaine lecture, elle sera directement accessible en mémoire. Le résultat est l’obtention d’une animation fluide après lecture de toutes les images.
Visualisation des flots optiques en 3D Visualisation des images (7) Construction 3D Segmentation des images pour obtenir l’objet à modéliser Un simple seuillage sur les niveaux de gris des pixels suffit pour obtenir des résultats corrects
Visualisation des flots optiques en 3D Visualisation des images (8) Construction 3D Utilisation de voxels : Correspond à un pixel avec comme coordonnée z le numéro de coupe de l’image contenant le pixel Un voxel est modélisé par un cube
Visualisation des flots optiques en 3D Visualisation des images (9) Construction 3D Performances : Ne pas ajouter les facettes partagées entre les voxels Ne pas utiliser la gestion de lumière ni la génération de normales aux facettes Possibilité d’utiliser seulement trois couleur pour visualiser l’objet (vision en binaire)
Visualisation des flots optiques en 3D Fichier flots optiques Format Header : informations Taille : 20 phases contenant 75 coupes (1,1 Go) Contenu et lecture des fichiers : Coordonnées (x,y,z) des vecteurs Méthode de lecture (ouverture/fermeture)
Visualisation des flots optiques en 3D Affichage Problèmes des flots parasites : visibilité nulle Amélioration de l’affichage par seuillage, sélection et segmentation…
Visualisation des flots optiques en 3D Affichage : améliorations : seuillage Seuillage sur la norme des flots Possibilité de seuillage par les gradients spatial et temporel Eliminer les flots optiques extérieurs au coeur
Visualisation des flots optiques en 3D Affichage : améliorations : sélection Sélection : cible l’organe désiré grâce à la sélection sur les images 2D Gain en temps de calcul, d’affichage et de mémoire
Visualisation des flots optiques en 3D Affichage : améliorations : segmentation Superposition des flots sur les pixels segmentés des images 2D Gain en temps de calcul, d’affichage et de mémoire
Visualisation des flots optiques en 3D Interface graphique (1) Mode de visualisation Vue 2D Vue 3D Objet entier Objet coupé (plans de coupe)
Visualisation des flots optiques en 3D Interface graphique (2) Mode de visualisation : Vue 2D Visualisation des coupes Visualisation d’une coupe du cœur qui bat Extraction des organes Sélection Segmentation
Visualisation des flots optiques en 3D Interface graphique (3) Mode de visualisation : Vue 3D entier Vue de la construction 3D du cœur Vue des flots optiques
Visualisation des flots optiques en 3D Interface graphique (4) Mode de visualisation : Vue 3D coupée Visualisation de l’intérieur du cœur Visualisation des flots optiques internes
Visualisation des flots optiques en 3D Conclusion Une difficulté liée à la taille des données sur le disque : résolue grâce à la gestion de mémoire Optimisation du temps des calculs et de l’affichage grâce à la sélection, la segmentation et les différents choix et algorithmes utilisés