E COLE N ATIONALE S UPÉRIEURE DES M INES DE S AINT-E TIENNE S TAGE DE DEUXIÈME ANNÉE Segmentation cardiaque en imagerie scanner pour l’optimisation de la thérapie par resynchronisation cardiaque BEHAR J OACHIM 2 ÈME ANNÉE L ABORATOIRE T RAITEMENT DU S IGNAL ET DE L’I MAGE (LTSI) Equipe ACTIVE : Analyse et Caractérisation Tissulaire en Imagerie VasculairE Correspondant EMSE : Yann GAVET Maître Assistant EMSE Responsables de stage : Mireille GARREAU, Professeur à l’Université de Rennes 1 Antoine SIMON, Maître de Conférences à l’Université de Rennes 1 R EMERCIEMENTS Je tiens à remercier le Laboratoire de Traitement du Signal et de l’Image (LTSI) dirigé par la Dr Lotfi SENHADJI et plus précisément l’équipe ACTIVE pour m’avoir accueilli au sein du laboratoire et avoir mis à ma disposition tous les moyens nécessaires au bon déroulement de ce stage. Je voudrais particulièrement remercier mes tuteurs le Pr Mireille GARREAU et le Dr Antoine SIMON pour m’avoir offert l’opportunité de travailler au sein de leur équipe ainsi que pour m’avoir accompagné tout au long de ce travail. Je voudrais remercier, mes collégues de travail Miguel ALTUVE, David OJEDA, Adrien COLOMBET et Romain BILLOIS pour leurs conseils et leur bonne humeur. Je voudrais remercier l’ensemble du personnel du LTSI pour leur acceuil et leur conseils. Enfin, je remercie mon tuteur école le Dr Yann Gavet pour son suivi tout au long de mon stage et pour avoir organisé la soutenance. 3 EMSE 2010 4 Table des matières R EMERCIEMENTS 3 G LOSSAIRE 8 I NTRODUCTION 13 1 Le projet ACTIVE au sein du LTSI 15 1.1 Le LTSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2 Le projet ACTIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3 L’étude IMOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 Contexte de Travail et Problématique posée 19 2.1 L’insuffisance cardiaque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Eléments anatomiques et physiologiques . . . . . . . . . . . . . . . . . . . . . 20 2.2.1 Le cœur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.2 Système cardiovasculaire . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.3 Le ventricule gauche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.4 Cycle cardiaque et mouvement . . . . . . . . . . . . . . . . . . . . . . . 23 Modalités d’imagerie cardiaque . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.1 L’imagerie scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.2 Echocardiographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Objectifs du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.3 2.4 3 Point Bibliographique sur la segmentation 33 3.1 Classification des méthodes de segmentation d’images . . . . . . . . . . . . . 33 3.2 Approches basées contours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2.1 Suivi de contours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2.2 Méthode des "Ciseaux intelligents" (ou "Live Wire") . . . . . . . . . . . 34 3.2.3 Les Modèles déformables . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5 TABLE DES MATIÈRES 3.3 3.4 4 Approches basées régions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.1 Croissance de région . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.2 Connectivité floue (ou "Fuzzy Connectedness") . . . . . . . . . . . . . 36 3.3.3 Ligne de partage des eaux (Watershed) . . . . . . . . . . . . . . . . . . 37 3.3.4 Algorithme des kmeans . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.3.5 Algorithmes développés au LTSI . . . . . . . . . . . . . . . . . . . . . . 38 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Les outils utilisés 41 4.1 Logiciels développés au LTSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2 Programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.1 ITK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.2 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Visualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.1 ImageJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.2 VTK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.3 Paraview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Autres logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4.1 ITK Snap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4.2 Autres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Les formats d’images manipulés . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.5.1 Le format DICOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.5.2 Le format MetaImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3 4.4 4.5 5 EMSE 2010 Travaux réalisés pour la segmentation du ventricule gauche 47 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.2 Les méthodes de segmentation testées . . . . . . . . . . . . . . . . . . . . . . . 49 5.2.1 Segmentation par simple seuillage . . . . . . . . . . . . . . . . . . . . . 49 5.2.2 Segmentation par une approche de type Kmeans . . . . . . . . . . . . 51 5.2.3 Seuillage 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Analyse des Résultats obtenus par la méthode des kmeans . . . . . . . . . . . 56 5.3.1 Logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.3.2 Les résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Développement de programmes sous ITK . . . . . . . . . . . . . . . . . . . . . 58 5.4.1 kmeansSliceBySlice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.4.2 kmeans3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4.3 Pré/Post traitements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.3 5.4 6 TABLE DES MATIÈRES 6 7 EMSE 2010 5.4.4 Application à la segmentation des volumes de la base de donnée IMOP 62 5.4.5 conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Comparaison des méthodes de segmentation sélectionnées 65 6.1 Comparaison de coupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.1.1 Comparaison de kmeansSliceBySlice avec kmeans3D . . . . . . . . . . 65 6.1.2 Comparaison de Kmeans3D avec threshold3D . . . . . . . . . . . . . . 65 6.1.3 Comparaison de BASIS avec kmeans3D . . . . . . . . . . . . . . . . . . 66 6.1.4 Comparaison de FCSIS avec kmeans3D . . . . . . . . . . . . . . . . . . 66 6.2 Tableau récapitulatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Autres travaux réalisés 75 7.1 Recadrage des volumes du patient P01 . . . . . . . . . . . . . . . . . . . . . . . 75 7.2 Création d’un Viewer pour analyser les résultats de la segmentation . . . . . 77 7.3 Recalage 2D-3D multimodale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 C ONCLUSION 79 A NNEXE 81 R ÉFÉRENCES BIBLIOGRAPHIQUES 83 7 Nomenclature ACTIVE Analyse et Caractérisation Tissulaire en Imagerie VasculairE CHU Centre Hospitalier Universitaire CRT Cardiac Resynchronization Therapy ECG ElectroCardioGramme (mesure de l’activité électrique du coeur) IC Insuffisance Cardiaque IMOP IMagerie dans l’Optimisation de Pose de prothèses cardiaques INSERM Institut National de la Santé Et de la Recherche Médicale LTSI Laboratoire Traitement du Signal et de l’Image VD Ventricule Droit VG Ventricule Gauche 9 TABLE DES MATIÈRES EMSE 2010 10 Table des figures 2.1 Les cavités cardiaques (wikipédia) . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 Principaux axes du ventricule gauche. A gauche plan de coupe grand axe et à droite plan de coupe petit axe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 La révolution cardiaque. Diastole et systole auriculaire (à gauche) Systole ventriculaire (à droite). (Images Wikipédia). . . . . . . . . . . . . . . . . . . . . . . 24 Composantes du mouvement ventriculaire (T : axe du mouvement transverse ; L : axe de la contraction longitudinale ; R : axe du mouvement de rotation). . 24 2.5 Exemple du scanner Multi-Slice Spiral General Electric . . . . . . . . . . . . . 26 2.6 Voxels obtenus par imagerie scanner. . . . . . . . . . . . . . . . . . . . . . . . . 28 2.7 Les différentes vues en échocardiographie . . . . . . . . . . . . . . . . . . . . . 30 2.8 Chaine de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.1 Une classification possible des familles de segmentation . . . . . . . . . . . . 33 3.2 Etapes de l’algorithme des kmeans (images wikipedia). . . . . . . . . . . . . . 38 3.3 Principe de fonctionnement de l’algorithme BASIS [J. 09]. . . . . . . . . . . . . 39 4.1 Interface du logiciel ITK Snap et application de l’algorithme des modèles déformables (méthode des snakes). Sur l’image on peut voir en bleu le résultat du pré-traitement et en rouge la "bulle" initiant l’algorithme. . . . . . . . . . . 44 Exemple d’image DICOM ouverte avec ImageJ et informations qu’elle contient (à gauche). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3 Exemple de volume .raw avec son .mhd associé. . . . . . . . . . . . . . . . . . 45 5.1 Exemple d’image scanner (Patient P01, coupe 100). . . . . . . . . . . . . . . . . 48 5.2 Histogramme des niveaux de gris pour le patient P01 (coupe 100) et correspondance des modes avec les zones de l’image. . . . . . . . . . . . . . . . . . . 48 Reproduction 3D du cœur, pour les patient P01 (a), P02 (b), P03 (c) et P04 (d), en appliquant le seuil identifié sur le diagramme. Ce seuil est choisi égal à 1300 pour P01, à 1250 pour P02, à 1460 pour P03, à 1340 pour P04. . . . . . . . 50 Evolution du centroïde du cluster d’intêret pour P01 en fonction de la coupe . 52 2.3 2.4 4.2 5.3 5.4 11 TABLE DES FIGURES 5.5 EMSE 2010 Résultats obtenus pour les patient P01 (a), P02 (b), P03 (c), P04 (d) et P05 (e) avec la méthode Kmeans sur 7 clusters et en manipulant les images en 16 bits (DICOM). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Résultat obtenu pour le patient P03 avec la méthode Kmeans sur 7 clusters en manipulant les images en 16 bits (DICOM) et en enlevent les 20 premières coupes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.7 Histogramme des niveaux de gris sur le volume 3D de P01. . . . . . . . . . . . 55 5.8 Résultats obtenus pour le patient P01. . . . . . . . . . . . . . . . . . . . . . . . 57 5.9 Résultats obtenus pour le patient P03. . . . . . . . . . . . . . . . . . . . . . . . 57 5.10 Histogramme de répartition des niveaux de gris pour le volume du patient P03 avec superposition de l’emplacement des centroïdes des clusters retournés par l’algorithme Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.11 Résultat de la segmentation 3D pour P03 (traitement par l’algorithme des kmeans3D codé en Matlab) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.12 Résultat de la segmentation pour P02 en additionnant un post traitement (érosion, pipeline ITK). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.13 Chaine de traitement finale pour la segmentation du VG. . . . . . . . . . . . . 63 5.14 Exemple des huit premiers volumes générés pour le patient P01. . . . . . . . . 63 5.6 6.1 Comparaison des méthodes de segmentation kmeansSliceBySlice (à gauche) et kmeans3D (à droite) pour les coupes 1, 50, 100, 150 du patient P01 . . . . . 68 6.2 Comparaison des méthodes de segmentation Threshold3D (à gauche) et kmeans3D (à droite) pour les coupes 1, 50, 100, 150 du patient P01 . . . . . . . . . . . . . 69 6.3 Comparaison des méthodes de segmentation BASIS (à gauche) et kmeans3D (à droite) pour les coupes 1, 50, 100, 150 du patient P01 . . . . . . . . . . . . . 70 Comparaison des méthodes de segmentation FCSIS (à gauche) et kmeans3D (à droite) pour les coupes 1, 50, 100, 150 du patient P01 . . . . . . . . . . . . . 71 Superposition des volumes à 00% et 05% avant recalage. On observe que les deux volumes ne se superposent pas. . . . . . . . . . . . . . . . . . . . . . . . . 76 Superposition des volumes segmentés à 00% et 05% après recadrage. On observe que les deux volumes se superposent. . . . . . . . . . . . . . . . . . . . . 76 6.4 7.1 7.2 7.3 Utilisation d’ImageViewer pour superposer les images avec leur segmentation. 77 12 I NTRODUCTION Mon stage de deuxième année s’est déroulé au sein de l’équipe ACTIVE (Analyse et Caractérisation Tissulaire en Imagerie Vasculaire) du LTSI (Laboratoire de Traitement du Signal et de l’Image). Au sein de cette équipe j’ai travaillé sur "la segmentation cardiaque en imagerie scanner pour l’optimisation de la thérapie par resynchronisation" dans le cadre de l’étude IMOP (IMagerie dans l’Optimisation de Pose de prothèses cardiaques). L’insuffisance cardiaque (IC) correspond à l’incapacité du myocarde (muscle cardiaque) à assurer un débit cardiaque suffisant. L’une des solutions apportée à cette maladie consiste en l’implantation de sondes de stimulation au niveau des différentes cavités cardiaques. L’objectif du projet auquel j’ai pris part (IMOP) est d’arriver, à partir d’images provenant de différentes modalités d’imagerie, à extraire des indicateurs cliniques caractérisant la cinétique du myocarde. La finalité étant de pouvoir déterminer où l’implantation des sondes serait la plus efficace. Au cours de mon stage j’ai été amené à travailler sur la segmentation du Ventricule Gauche (VG) du coeur à partir d’images issuent de l’imagerie scanner. L’objectif était de tester différentes méthodes de segmentation, d’en comparer les résultats entre elles d’une part et avec des outils de segmentation développés au LTSI par Julien FLEUREAU [FLE08] d’autre part. Dans une seconde partie du stage d’autres travaux ont étés réalisés tels que du recalage, l’inventaire d’une partie de la base de donnée IMOP... Le premier chapitre de ce rapport introduit le LTSI et plus particulièrement l’équipe ACTIVE au sein de laquelle s’est déroulé mon stage. Un premier grand volet présente le contexte clinique (chapitre 2) pour ensuite s’intéresser aux grandes familles de segmentation existantes (chapitre 3) appliquées au coeur. Le second grand volet de ce rapport s’intéresse au travail que j’ai réalisé au sein du LTSI pendant mon stage (chapitres 4,5,6). Notons que les trois premiers chapitres s’appuient essenciellement sur les thèses de Antoine Simon [SIM05], Julien FLEUREAU [FLE08] et sur les travaux de Master 2 produits par Regis DELAUNEY [DEL07]. 13 TABLE DES FIGURES EMSE 2010 14 Chapitre 1 Le projet ACTIVE au sein du LTSI 1.1 Le LTSI L’institut national de la santé et de la recherche médicale, ou INSERM, est un organisme public français se consacrant à la recherche médicale. Cet institut, crée en 1964, est placé sous la double tutelle du ministère de la santé et du ministère de l’enseignement supérieur et de la recherche. Il intervient dans de nombreux domaines de santé comme le cancer, la biologie cellulaire, les Neuroscience. L’INSERM est aujourd’hui composé de 318 unités de recherches avec près de 8000 salariés INSERM, 3000 hospitalo-universitaires et 1450 chercheurs étrangers. Le Laboratoire de Traitement du Signal et de l’Image, ou LTSI, est l’unité INSERM U642 et est également sous la tutelle de l’Université de Rennes 1. Ce laboratoire, situé sur le campus de Beaulieu à Rennes, a été crée il y a 41 ans. Les travaux essentiels de ce laboratoire s’articulent autour des sciences et technologies de l’information et de la santé. La finalité des méthodes développées est l’interprétation des données (signaux et images en médecine et biologie), l’aide à la décision et à la conduite de geste thérapeutiques ou interventionnels. Actuellement, le LTSI présente un effectif de 91 personnes dont 19 professeurs, 24 maîtres de conférences, 5 ingénieurs, 9 post-doctorants, 30 doctorants et enfin 4 secrétaires constituant le personnel administratif du laboratoire : il s’agit de la plus grosse unité de recherche en imagerie médicale de l’arc Atlantique. Ce laboratoire développe d’étroites relations avec la Faculté de Médecine de Rennes et s’est associé avec différents partenaires industriels tels que SORIN GROUP, entreprise mondiale et réputée dans le traitement des maladies cardiovasculaires. Concernant ses activités, le LTSI est divisé en quatre équipes qui travaillent autour de quatre axes thématiques. Une première, dénommée EPIC, voit ses travaux de recherche porter sur la dynamique des systèmes neuronaux dans l’EPIlepsie et la Cognition. Une seconde, baptisée IMPACT est axée sur l’aide à la décision par l’Image et la Modélisation pour la Planification et l’Assistance Chirurgicale et Thérapeutique sur tissus mous. L’équipe SEPIA a pour thème principal de recherche les maladies cardiovasculaires. Une dernière équipe nommée ACTIVE travaille sur des thèmes de recherche s’inscrivant dans le domaine de la vision par ordinateur et plus particulièrement l’Analyse et la Caractérisation Tissulaire en Imagerie VasculairE. C’est au sein de cette dernière équipe que s’effectue le stage. 15 1.2. LE PROJET ACTIVE 1.2 EMSE 2010 Le projet ACTIVE L’équipe ACTIVE du LTSI est dirigée par le Pr Mireille GARREAU. La présentation de l’équipe ACTIVE qui suit est celle donnée sur le site du LTSI (http ://www.ltsi.univrennes1.fr). La vascularisation des organes est un bon marqueur de leur état physio-pathologique. Sa caractérisation pour l’aide au diagnostic est le thème central des travaux du projet ACTIVE avec pour cibles cliniques l’athérosclérose et la pathologie tumorale. Les travaux réalisés ont permis : – d’élaborer des méthodes robustes pour la caractérisation de structures cardio-vasculaires et de leur mouvement en imagerie tomodensitométrique et en angiographie RX, – de développer une modélisation des réseaux vasculaires et leur caractérisation par analyse de texture. Les recherches effectuées ont le souci d’étendre le niveau d’analyse et de modélisation à des mécanismes plus microscopiques, d’aller vers l’intégration de données et de modèles représentatifs de l’ensemble des structures et phénomènes observés. Le projet vise à concevoir de nouveaux outils permettant la caractérisation et la fusion de structures et de mouvements en imagerie cardiaque non invasive (scanner multibarrette), la reconstruction 3D de structures artérielles en angiographie rotationnelle RX. Il a aussi pour ambition la création de modèles cardiaques complets et spécifiques patient. D’autres modalités (US, IRM, PET) sont considérées pour étudier les mécanismes liés au remodelage artériel et à la viabilité myocardique. Les applications cliniques en cardiologie ciblent le diagnostic de l’ischémie et l’accompagnement de gestes interventionnels (revascularisation, pose de prothèses cardiaques implantables). 1.3 L’étude IMOP La base de donnée d’images que nous allons utiliser est celle de l’étude IMOP (Imagerie dans l’Optimisation de Pose de prothèses cardiaques). Cette étude est financée par l’Agence Nationale pour la Recherche et elle a pour but la la fusion et l’exploitation de l’ensemble des données issues des différentes modalités d’imagerie cardiaque, afin d’apporter une solution intégrée pour l’aide à la décision et à l’implantation des sondes de stimulateur multisite dans le contexte de la CRT (Cardiac resynchronization therapy). Elle avait pour objectif, après recueil de l’ensemble des données issues des différentes modalités d’imagerie sur des patients candidats à l’implantation d’un dispositif biventriculaire, la création d’une méthode d’optimisation de la pose d’un système de stimulation biventriculaire. Plus précisément, les données recueillies devaient permettre : – L’extraction d’indicateurs 2D et 3D sur la forme, la fonction et la perfusion cardiaque (réseau veineux et myocarde) et la création d’un outil de navigation 3D facilitant en pré-opératoire la détermination à priori de la position optimale des sondes de stimulation sur un point de vue anatomique, électrique et hémodynamique. – La création d’un outil d’aide en temps réel à l’implantation des sondes de stimulation (mise en correspondance des données réelles et virtuelles). 16 Chapitre 1 EMSE 2010 – La création d’un outil de validation du résultat basé sur la comparaison des positions cibles et réelles et sur le résultat clinique. Concernant les données que j’ai été amené à manipuler et provenant de cette étude : Le scanner multibarrettes doit nous renseigner sur le réseau veineux coronaire et sur la morphologie du ventricule gauche. La visibilité de ces structures anatomiques dépend pour beaucoup de la procédure d’injection du produit de contraste et la qualité de l’image reconstruite dépend de la stabilité du cycle cardiaque du patient. Cette procédure d’acquisition ayant dû être adaptée au cours du projet, la qualité des volumes scanner n’est pas la même pour tous les patients. Les images qui ont été manipulées pendant le stage proviennent d’un scanner GE Healthcare Lightspeed VCT 64. Les volumes cardiaques sont recueillis tous les 5% du cycle cardiaque. On dispose donc de 20 volumes pour un cycle. 17 1.3. L’ÉTUDE IMOP EMSE 2010 18 Chapitre 2 Contexte de Travail et Problématique posée 2.1 L’insuffisance cardiaque L’insuffisance cardiaque (IC) ou défaillance cardiaque correspond à un état dans lequel une anomalie de la fonction cardiaque est responsable de l’incapacité du myocarde (muscle cardiaque) à assurer un débit cardiaque suffisant pour couvrir les besoins énergétiques de l’organisme. Cette défaillance peut être le reflet d’une anomalie de la contraction du muscle cardiaque ventriculaire (dysfonction systolique) ou de remplissage (on parle alors de dysfonction diastolique), voire des deux mécanismes. Dans les deux cas on observe une diminution du débit cardiaque. Lorsque la défaillance atteint le ventricule gauche, on parle d’insuffisance ventriculaire gauche (IVG ou insuffisance cardiaque gauche) ; lorsqu’elle atteint le ventricule droit, on parle d’insuffisance ventriculaire droite (insuffisance cardiaque droite) ; lorsque la défaillance atteint le cœur droit et gauche, on parle d’insuffisance cardiaque globale. Il s’agit d’une maladie pouvant être grave, avec un risque vital, et très souvent handicapante. Elle frappe chaque année une à cinq personnes pour mille dans les pays industrialisés, tout âge confondu, avec une prévalence de trois à vingt pour mille. La survie à un an, tous stades confondus, est de l’ordre de 65%. Notons enfin que l’âge moyen de survenue est de 73,5 ans et que 2/3 des patients ont plus de 70 ans. En France le nombre d’insuffisant cardiaques s’élevait en 2001 à 500 000 avec 120 000 nouveaux cas par an. On attribue plus de 32 000 décès annuels à l’insuffisance cardiaque. Bien que des traitements efficaces aient été mis en place, l’allongement de l’espérance de vie a conduit à une augmentation du nombre d’insuffisants cardiaques, faisant de cette pathologie l’un des problèmes majeur de santé publique. La thérapie de resynchronisation cardiaque (CRT) est couramment utilisée pour lutter contre les pathologies cardiaques liées à un asynchronisme ventriculaire (où la contraction d’une région du ventricule est retardée). Cette thérapie repose sur l’implantation sur la paroi des ventricules de sondes de stimulation permettant la resynchronisation de la contrac19 2.2. ELÉMENTS ANATOMIQUES ET PHYSIOLOGIQUES EMSE 2010 tion. Cependant, 30% des patients implantés ne répondent pas de façon satisfaisante à cette thérapie, soit du fait d’un site de stimulation inadapté (région ne pouvant pas se contracter), soit par manque d’optimisation du stimulateur. La réponse à ces limites passe par une meilleure caractérisation de l’asynchronisme, c’est-à-dire par l’étude de la contraction ventriculaire, que ce soit en termes électriques (délais d’activation) ou mécaniques (déplacement de la paroi ventriculaire). 2.2 2.2.1 Eléments anatomiques et physiologiques Le cœur Définition : Le cœur est un organe creux et musculaire qui assure la circulation du sang en pompant le sang dans le corps par des contractions rythmiques vers les vaisseaux sanguins et les cavités du corps d’un animal. Le cœur est le « moteur », la pompe du système circulatoire. Il mesure de 14 à 16cm et son poids est de l’ordre de 250g. Le cœur est constitué d’un muscle, le myocarde, contenant quatre cavités : deux cavités situées dans la partie droite et formées par l’oreillette droite et le ventricule droit, ainsi que deux cavités dans la partie gauche, comprenant l’oreillette gauche et le ventricule gauche (voir figure 2.1). Oreillettes et ventricules sont reliés par deux valves anti reflux : la valve mitrale entre l’oreillette et le ventricule gauche et la valve tricuspide entre l’oreillette et le ventricule droit. La paroi interne des ventricules est très irrégulière du fait de la présence de piliers, de trabécules et de muscles papillaires en particulier. Cette dernière caractéristique est bien visible lors de la segmentation d’images CT. OG OD Septum VG VD Myocarde F IGURE 2.1 – Les cavités cardiaques (wikipédia) 20 Chapitre 2 2.2.2 EMSE 2010 Système cardiovasculaire Le système cardiovasculaire a pour objectif d’assurer : – L’apport des substrats (acides gras et glucose) et de l’oxygène à tous les tissus de l’organisme. – Le transport du dioxyde de carbone et de tous les déchets produits afin qu’ils soient éliminés. Le système est décomposé en deux fonctions, la fonction vasculaire et la fonction cardiaque, qui assurent la circulation sanguine et sa régulation. La fonction vasculaire permet la circulation du sang au sein de l’organisme. Elle est réalisée grâce à deux réseaux : le réseau artériel et le réseau veineux. Le réseau artériel est composé des artères qui apportent le sang riche en oxygène et en nutriments aux tissus. Le réseau veineux, composé de veines, rapporte le sang appauvri en oxygène vers le cœur puis les poumons. La circulation sanguine dans le réseau artériel et veineux est réalisée grâce à deux pompes propulsives disposées en série, le cœur gauche et le cœur droit, remplissant la fonction cardiaque. Le cœur gauche emprunte la circulation systèmique pour propulser le sang riche en oxygène et ainsi assurer l’irrigation fonctionnelle des tissus. Le cœur droit envoie le sang appauvri en oxygène dans la circulation pulmonaire, c’est-à-dire vers les poumons, afin que le sang soit réoxygéné. 21 2.2. ELÉMENTS ANATOMIQUES ET PHYSIOLOGIQUES 2.2.3 EMSE 2010 Le ventricule gauche La paroi interne des ventricules est très irrégulière car parcourue par de très nombreuses saillis musculaires : les colonnes (ou trabécules) charnues. Ces colonnes charnues sont de trois ordres. – Les colonnes charnues de premier ordre, appelées piliers du cœur ou muscle papillaires, qui ont une forme de cône et dont la base est unie à la paroi ventriculaire. De leur sommet partent des cordages tendineux qui les relient aux valvules auriculoventriculaires. Les cordages empêchent le basculement des valvules vers les oreillettes. – Les colonnes charnues de deuxième ordre, avec un aspect d’anse, sont unies au ventricule par leurs deux extrémités. – Les colonnes charnues de troisième ordre, de forme allongée, sont de simples saillies. Ces saillis musculaires sont visibles sur les images scanner au sein du ventricule gauche et ont un impact sur la qualité de la segmentation. Si l’on excepte ces irrégularités locales, le ventricule gauche peut être assimilé à un cône légèrement aplati dont la base correspond aux orifices auriculo-ventriculaire et aortique (Voir figire 2.2). Le sommet du cône correspond ainsi à la pointe du ventricule, aussi appelé « apex ». L’axe base-apex est alors appelé « grand axe ». Par extension, pour l’imagerie en coupe, les coupes représentant le myocarde suivant cet axe sont dites « coupes grand axe », et les coupes le représentant suivant un axe orthogonal au grand axe sont dites « coupes petit axe » (voir Figure 2.2). GA GA F IGURE 2.2 – Principaux axes du ventricule gauche. A gauche plan de coupe grand axe et à droite plan de coupe petit axe. 22 Chapitre 2 2.2.4 EMSE 2010 Cycle cardiaque et mouvement Le cœur a un fonctionnement cyclique, appelé cycle cardiaque. Chacun de ces cycles est constitué d’une phase de remplissage, la diastole, suivie d’une phase d’expulsion du sang nommée systole (systole auriculaire et systole ventriculaire). On peut développer ces étapes comme suit (source wikipédia) : • Au cours de la systole auriculaire, les oreillettes se contractent et éjectent du sang vers les ventricules (remplissage actif). Une fois le sang expulsé des oreillettes, les valves auriculo-ventriculaires entre les oreillettes et les ventricules se ferment. Ceci évite un reflux du sang vers les oreillettes. La fermeture de ces valves produit le son familier du battement du cœur. • La systole ventriculaire implique la contraction des ventricules, expulsant le sang vers le système circulatoire. Une fois le sang expulsé, les deux valves sigmoïdes - la valve pulmonaire à droite et la valve aortique à gauche - se ferment. Ainsi le sang ne reflue pas vers les ventricules. La fermeture des valvules sigmoïdes produit un deuxième bruit cardiaque plus aigu que le premier. Pendant cette systole les oreillettes maintenant relâchées, se remplissent de sang. • Enfin, la diastole est la relaxation de toutes les parties du cœur, permettant le remplissage (passif) des ventricules, par les oreillettes droites et gauches et depuis les veines caves et pulmonaires. Le cœur passe 1/3 du temps en systole et 2/3 en diastole. L’expulsion rythmique du sang provoque ainsi le pouls que l’on peut tâter. Le cycle cardiaque décrit précédemment est généré par le jeu des différentes valvules et par les mouvements du muscle myocardique. Les mouvements ventriculaires ne sont pas homogènes. Cette inhomogénéité est due à la variabilité du temps d’activation des fibres contractiles, l’orientation de ces fibres, la variabilité du flux sanguin, l’épaisseur de la cloison ventriculaire et différentes forces externes telles que celles exercées par la pression intrathoracique. De même, les différentes couches de la paroi myocarique ne connaissent pas la même amplitude de mouvement, celle-ci allant en décroissant de l’épicarde à l’endocarde [Mai92]. Le mouvement du ventricule gauche est généralement étudié suivant trois composantes (voir figure 2.4) : le mouvement de contraction radiale, ou transversale (suivant le petit axe du ventricule), le mouvement de contraction longitudinale (suivant le grand axe) et le mouvement de rotation. 23 2.2. ELÉMENTS ANATOMIQUES ET PHYSIOLOGIQUES EMSE 2010 F IGURE 2.3 – La révolution cardiaque. Diastole et systole auriculaire (à gauche) Systole ventriculaire (à droite). (Images Wikipédia). GA R T L F IGURE 2.4 – Composantes du mouvement ventriculaire (T : axe du mouvement transverse ; L : axe de la contraction longitudinale ; R : axe du mouvement de rotation). 24 Chapitre 2 2.3 EMSE 2010 Modalités d’imagerie cardiaque Introduction Les différentes méthodes d’imagerie (imagerie par rayons X, échocardiographie, imagerie isotopique, imagerie par résonance magnétique) permettent d’obtenir des informations sur les différentes composantes liées au cœur. Cependant, toutes ces modalités diffèrent considérablement sur un certain nombre de points. La nature même de l’objet étudié et visualisé peut différer. Si certaines modalités, comme la coronarographie, représentent exclusivement les coronaires, d’autres, comme l’échographie transthoracique, se focalise sur le myocarde. Ceci est lié à différents facteurs, comme la nature de l’information physique représentée (atténuation des rayons X, concentration en isotopes,...) ou la précision spatiale des images (résolution spatiale). La dimension de la représentation est aussi fondamentale, avec des images pouvant être bi ou tri-dimensionnelles. Certaines modalités fournissent de plus des représentations dynamiques capitales pour l’étude de la cinétique ventriculaire. La résolution temporelle des images est alors un facteur décisif. D’autres caractéristiques, plus particulièrement liées aux protocoles d’acquisition peuvent être importantes. Ainsi, les différentes modalités d’imagerie diffèrent dans leur durée d’acquisition, leur caractère invasif ou non invasif, irradiant ou non irradiant, leur contre-indications éventuelles ou encore leur coût. Dans ce qui suit on présentera de manière synthétique deux modes d’imageries : l’imagerie scanner et l’échocardiographie qui sont les deux modalités utilisées dans notre étude. 2.3.1 L’imagerie scanner Définition La tomodensitométrie (TDM), dite aussi scanographie, tomographie axiale calculée par ordinateur (TACO), CT-scan (CT = Computed Tomography), CAT-scan (CAT = Computer Assisted Tomography), ou simplement scanner pour l’appareil, est une technique d’imagerie médicale qui consiste à mesurer l’absorption des rayons X par les tissus puis, par traitement informatique, à numériser et enfin reconstruire des images 2D ou 3D des structures anatomiques. Bref Historique Le cœur est resté l’organe le plus tardivement étudié par tomodensitométrie. Plusieurs raisons expliquent ce décalage, la première étant que, comme le cœur bouge, les temps d’acquisition d’images avec cette technologie étaient trop lents (faible résolution temporelle) ; Par ailleurs la résolution de ces appareils ne permettait pas d’observer les structures coronariennes (faible résolution spatiale), les tomodensitomètres de générations antérieures ne permettaient pas une imagerie multi planaire aussi optimale qu’aujourd’hui et n’offraient pas non plus la possibilité de synchroniser l’acquisition de l’image à l’enregistrement de l’Electrocardiogramme (ECG). La multiplication des détecteurs a permis de raccourcir considérablement le temps d’acquisition, le ramenant à une durée pendant laquelle il est possible pour un patient de retenir sa respiration. En clinique, les appareils utilisés en imagerie cardiaque ont 64 détecteurs ou barrettes alors qu’en recherche, il existe des scanners multibarette à 256 détecteurs, de 25 2.3. MODALITÉS D’IMAGERIE CARDIAQUE EMSE 2010 F IGURE 2.5 – Exemple du scanner Multi-Slice Spiral General Electric nouveaux types de détecteurs sont à l’étude, de types détecteurs plats ou flat-pannels et SIEMENS propose un nouveau scanner avec une double source d’émission ou dual-source. Principe de fonctionnement (Cette partie s’appuie sur les informations du site internet : http ://runphym.free.fr) Le couple émetteur-récepteur de rayons X (tube à rayons X) effectue une rotation autour du patient et permet de mesurer l’intensité des rayons après qu’ils aient été partiellement absorbés durant leur passage à travers le corps. Les données obtenues sont ensuite traitées par ordinateur, ce qui permet de recomposer des vues en coupes bidimensionnelles puis des vues en trois dimensions des organes. Si le faisceau de RX (Rayons X), à la sortie du tube, est rendu monochromatique ou quasimonochromatique par un filtrage approprié, on peut calculer le coefficient d’atténuation correspondant au volume de tissu irradié, par application de la formule générale d’absorption des rayons X dans la matière. I = I0 exp(−µx ) où I : intensité du faisceau de RX après traversée d’une épaisseur x de matière, I0 : intensité initiale du faisceau de RX, x : épaisseur de matériau traversé µ : coefficient d’absorption linéaire du matériau traversé (exprimé en cm−1 ) On obtient : µ = log( II0x ) Hounsfield a choisi une échelle qui affecte aux quatre densités fondamentales les valeurs suivantes : 26 Chapitre 2 EMSE 2010 Air = −1000 Graisse = −60 à − 120 Eau = 0 Os = +1000 Ainsi, on définit l’indice Hounsfield (IH) par la formule mathématique suivante : IH = µ−µeau µeau ∗ 1000 L’image de la coupe d’un objet irradié par un faisceau fin de RX, est reconstituée à partir d’un grand nombre de mesures du coefficient d’atténuation, effectuées selon diverses incidences. On recueille ainsi toutes les données, qui proviennent des volumes élémentaires de matière, grâce aux détecteurs. A l’aide d’un calculateur, on attribue aux surfaces élémentaires de l’image reconstruite à partir des données projetées sur une matrice de reconstruction, une tonalité plus ou moins importante en fonction des coefficients d’atténuation. Un mouvement de rotation de l’ensemble autour du grand axe de l’objet examiné, permet alors d’enregistrer des profils résultants de la traversée de la même coupe suivant différentes directions. L’utilisation de méthodes de reconstruction (par rétro-projection) intégrées aux stations cliniques conduit à une image de la distribution des coefficients d’atténuation au niveau de la section examinée. La matrice des scanographes récents varie entre 320*320 et 512*512 (c’est le cas des images scanner de la base de donnée IMOP), ce qui représente un grand nombre de mesures et une bonne définition de l’image scanographique. Quant à l’épaisseur de coupe, hauteur du voxel, elle varie actuellement entre 1 et 10 mm selon les appareils et les régions à explorer. On peut injecter un produit dit « de contraste » (un complexe de l’iode) qui a la propriété de fortement absorber les rayons X et donc de rendre très visibles les tissus où ce produit est présent (qui apparaissent alors hyperdenses, c’est à dire plus "blancs" sur l’image). On pourra ainsi faire ressortir le contraste de certains tissus, en particulier des vaisseaux sanguins. Avantages et inconvénients L’exposition répétée aux rayons X peut être nocive pour l’organisme, mais le rapport bénéfice/risque lié à l’irradiation penche largement en faveur de la tomodensitométrie, lorsque la demande d’examen est justifiée, ce qui en fait une technique d’imagerie médicale de plus en plus pratiquée. L’Imagerie par Résonance Magnétique (IRM) est une technique non irradiante et reste une imagerie de référence pour l’analyse de la fonction cardiaque. Deux avancées technologiques ont permis au scanner de prendre un véritable essor : • L’acquisition hélicoïdale : la table avance durant la durée de l’acquisition tandis que le tube générateur de rayon X tourne autour du patient. • L’acquisition multi coupes : le scanner multi coupes possède plusieurs couronnes de détecteurs, ce qui permet d’obtenir jusqu’à 64 coupes lors d’une seule rotation de l’appareil autour du patient. 27 2.3. MODALITÉS D’IMAGERIE CARDIAQUE EMSE 2010 F IGURE 2.6 – Voxels obtenus par imagerie scanner. Grâce aux tomodensitomètres multidétecteurs (ou multi-barrettes) à acquisition spiralée (déplacement lent de la table d’examen durant l’acquisition), on obtient depuis les années 1990 une exploration très précise d’un large volume du corps humain pour un temps d’acquisition de quelques secondes et applicable à l’analyse d’organes en mouvement. Un autre atout du scanner multibarrette est sa très bonne résolution spatiale (de l’ordre de 0.3 mm sur une coupe et 0.6 mm en épaisseur). Enfin, le faible coût de cet examen, sa disponibilité sur le territoire français, la possibilité d’analyser dans le même temps l’ensemble des structures cardiaques, son caractère non invasif font du scanner multibarette un outil prometteur pour l’imagerie cardiaque. Encore faut-il se munir d’outils efficaces pour analyser l’ensemble des données brutes qu’il fournit. Scanner et étude anatomique et fonctionnelle du ventricule gauche Lors d’un examen scanner multicoupe, les volumes, les diamètres et épaisseurs du ventricule gauche mesurés sur des coupes reformatées, extraites sur une image reconstruite à un pourcentage du cycle R-R, donc sur le cœur figé, sont les premiers indicateurs de la qualité de la fonction cardiaque. Actuellement l’étude du Myocarde et des ventricules est secondaire par rapport à l’analyse du réseau coronaire. Cependant, l’étude de la cinétique des ventricules cardiaques, à partir des images scanner reconstruites sur les différentes phases du cycle, peut aider à quantifier les déplacements des parois endocardiques Ces mouvements détectés apporteraient des informations précises sur l’état fonctionnel du myocarde. 28 Chapitre 2 EMSE 2010 Limites majeures de l’imagerie Multibarette • Caractère irradiant (11 à 22 mSv pour un scanner de 64 barettes) et la nécessité de produit de contraste iodé. • La présence d’artefacts provoqués par les sondes de stimulation une fois implantées ainsi que par des arythmies cardiaques. • La faible résolution temporelle. 2.3.2 Echocardiographie Définition L’échocardiographie est une échographie du cœur. Il s’agit d’une technique d’imagerie médicale employant les ultrasons. Elle est de manière courante couplée à un examen doppler : on parle alors d’échographie-doppler cardiaque On appelle échocardiogramme les images réalisées par échocardiographie et échocardiographe l’appareil permettant de réaliser l’examen. Principe de fontionnement L’échographie est un examen non invasif et atraumatique basé sur l’utilisation d’ultrasons en imagerie médicale. Un émetteur-récepteur céramique piézoélectrique associé à une sonde Doppler émet des ultras sons dans un périmètre délimité et enregistre les échos, signatures des obstacles qu’ils ont rencontrés. Le son émis vers une structure est en partie absorbé par les éléments qui la composent et en partie réfléchi en direction de la sonde qui l’a envoyé. Ce principe est à l’origine de deux sortes d’applications, parfois réunies en un même appareil, parfois séparées : - L’échographie restitue sur un écran le résultat du signal renvoyé par les organes figés - Le doppler renseigne sur le mouvement d’une structure Lorsqu’un faisceau d’ultrasons traverse les cavités cardiaques en mouvement, l’écho renvoyé par les éléments a une longueur d’onde plus longue s’ils s’éloignent du capteur et une longueur d’onde plus courte s’ils se dirigent vers le capteur : c’est l’effet Doppler. La sonde recueille donc un écho dont la fréquence diffère de la fréquence d’émission lorsque l’objet rencontré est en mouvement et permet même de quantifier ce déplacement. Suivant l’orientation du faisceau (voir figure 2.7) il est donc possible de déterminer les déplacements de diverses parties de la paroi myocardique. L’échographie cardiaque est la modalité d’imagerie cardiaque de choix en clinique actuellement pour plusieurs raisons : d’une part sa forte disponibilité, son caractère complètement atromatique et ses progrès en terme de qualité d’image. Il existe de nombreux modes échographiques fonctions des informations auxquelles on veut accéder. On détaillera en particulier le "speckle tracking" qui est utilisé pour caractériser le mouvement myocardique. L’échographie temps-mouvement (TM) fournit une représentation temporelle de l’écho suivant une incidence unique. Les images obtenues dans ce mode permettent de mesurer les diamètres des cavités et les épaisseurs des parois, donnant accès aux volumes endocavitaires, à la fraction et à la vitesse de raccourcissement des parois. L’échographie bidimensionnelle dynamique, réalisée sous une incidence unique ou en combinant plusieurs vues, permet aussi d’estimer les volumes ventriculaires. Grâce à ses résolutions spatiale et temporelle élevées, elle permet aussi une analyse de la cinétique segmentaire des ventricules, dans 29 2.3. MODALITÉS D’IMAGERIE CARDIAQUE EMSE 2010 F IGURE 2.7 – Les différentes vues en échocardiographie laquelle un indice de cinétique pariétal est calculé. La mesure en routine de cet index reste relativement sensible car elle nécessite une expérience importante de la part de l’opérateur. L’échographie Doppler, décomposé en 3 sous modes, continu, pulsé et codage couleur permet une analyse des débits en sorties des valves mitrales et aortiques. Parallèlement à l’échographie bidimensionnelle, la mesure d’index de cinétique pariétale est recherché de manière plus précise par le développement de techniques de suivie de tissu par Doppler («Doppler Tissue Imaging (DTI) »). Cette technique fournit par segment, des déplacements vitesses et déformations correspondant aux mouvements de contraction longitudinale. Plus récemment utilisée en clinique, elle apparaît très prometteuse. Le « color kinesesis » est également un mode dédié à l’analyse du mouvement endocardique [Mor97] reposant sur la détection des pixels aux transitions entre sang et tissu myocardique. Des représentations synthétiques de la cinétique cardiaque par codage couleur sont alors proposées. L’échographie transoesophagienne (TEE) utilise un transducteur monté sur un endoscope, permettant d’enregistrer l’examen à différents niveaux de l’œsophage et notamment à la hauteur du cœur, en arrière de l’oreillette gauche. Les applications de ce mode d’échographie sont les mêmes qu’en échographie réalisée en transthoracique. Elle a cependant sur cette dernière l’avantage de ne pas être gênée par les structures thoraciques, d’être plus proche du cœur et donc d’être moins bruitée. Son principal inconvénient reste son caractère invasif. Une technique récente d’analyse d’images échographique nommée « speckle tracking » (suivi de pixel) peut être couplée à une analyse DTI pour estimer les déplacements radiaux du myocarde. Le speckle tracking est une méthode de suivie de texture basée sur un tracking de marqueurs acoustiques ou speckles, image par image. Le principe réside sur le fait que toutes les images échographiques sont dégradées par un artéfact intrinsèque appelé speckle, résultat de la sommation cohérente constructive ou destructive des différents échos ultrasonores. Cependant, les speckles sont également des marqueurs acoustiques naturels, distribués de façon homogène à l’intérieur du myocarde, formant un pattern randomisé, 30 Chapitre 2 EMSE 2010 stable d’une image à l’autre. Le speckle tracking utilise ces speckles, qui sont habituellement stables pour caractériser le mouvement du myocarde. Un algorithme de reconstruction permet alors de suivre la position de chaque speckle image par image en utilisant des techniques de corrélation et de somme de différences absolues (SAD : Sum of Absolute Differences). Le speckle tracking imaging repose sur le principe de sélection d’une zone d’intérêt d’une première image acquise, cette zone d’intérêt est ensuite traquée lors d’une seconde acquisition à l’intérieur d’une région de recherche plus grande que la zone d’intérêt initiale. Grâce à des algorithmes (algorithme de corrélation normalisé ou algorithme de différences absolues) la zone d’intérêt est identifiée au sein de la région de recherche et le vecteur de mouvement peut être ainsi défini pour cet intervalle d’acquisition. L’obtention de tels indicateurs est cependant étroitement liée à la qualité des images obtenues au moyen des ultra-sons, facteur encore limitant dans ce genre de technologie. Même si la résolution spatiale de l’ordre du millimètre couplé à une très bonne résolution temporelle (temps réel) peut paraître acceptable, la qualité de reconstruction des images (nombreux artefacts et bruits) rend souvent leur traitement difficile. Dans l’étude conduite au sein du LTSI c’est cette modalité qui fait référence. A terme le but est de caractériser le mouvement du VG en CT et de comparer les résultats obtenus avec ceux donnés par le "speckle tracking". Les techniques d’acquisition tridimensionnelle, en plein essor, basées sur l’utilisation de capteurs matriciels (et non plus linéaires) offrent pourtant de nouvelles perspectives en fournissant directement une image tridimensionnelle [Tre01]. Cette technique relativement nouvelle (la sonde matricielle étant disponible à relativement grande échelle depuis 2002), est en cours d’évaluation et permettrait à plus long terme d’obtenir des déplacements et déformations (ou strains) 3D intéressants pour l’analyse du mouvement cardiaque. Conclusion De façon globale, l’échocardiographie possède de nombreux avantages, dont son coût peu élevé et donc sa grande disponibilité, son caractère généralement non invasif, ses résolutions spatiales et temporelles élevées ainsi que l’ampleur des informations accessibles. Cependant, les images acquises sont très bruitées et connaissent souvent une résolution en contraste faible. Les techniques d’acquisition tridimensionnelle en plein essor restent encore marginales en utilisation clinique, mais laissent entrevoir de nouveaux enjeux. 31 2.4. OBJECTIFS DU STAGE 2.4 EMSE 2010 Objectifs du stage Le travail auquel j’ai pris part s’inscrit dans une étude plus large dont l’objectif final est la caractérisation du mouvement ventriculaire gauche à partir d’images scanner. Le scanner est encore peu exploité pour caractériser le mouvement du VG ; cette étude s’intéresse donc aux informations que l’on pourrait obtenir par ce type d’imagerie et à leur comparaison avec les indicateurs pouvant être extrait de l’échocardiographie. De manière schématique on peut représenter la chaine d’analyse de la manière suivante : F IGURE 2.8 – Chaine de traitement Chaque étape de cette chaine est le résultat de travaux menés par des doctorants du LTSI au sein de l’équipe ACTIVE. Les images utilisées (entrée de la chaîne) sont des images scanner. Une première étape consiste à en extraire le VG avec l’oreillette gauche (étape de segmentation) pour par la suite en extraire uniquement le VG (coupe de l’oreillette Gauche) qui correspond à la structure d’intérêt. Une troisième étape permet de caractériser le mouvement ventriculaire, mouvement dont les résultats seront mis à l’épreuve lors d’une ultime étape (confrontation échocardiographie). Cette dernière étape a pour but d’éprouver les résultats obtenus en les comparent à ceux issus du "spekle tracking imaging" en échocardiographie qui est la modalité de référence à ce jour. La première phase de mon travail (2 mois) s’est concentrée sur la première étape de cette chaine : la segmentation. L’objectif était de trouver des méthodes de segmentation intéressantes et de les comparer entre elles ainsi qu’aux méthodes développées au sein du laboratoire par Julien FLEUREAU [FLE08] qui, dans le cadre de sa thèse au LTSI, a développé deux algorithmes de segmentation basés sur la croissance de région (BASIS et FCSIS). Dans un second temps, d’autres travaux à réaliser sur cette chaîne m’ont été demandés (1 mois). 32 Chapitre 3 Point Bibliographique sur la segmentation Ce chapitre s’inspire de la thèse de Julien Fleureau [FLE08]. 3.1 Classification des méthodes de segmentation d’images Il existe de nombreuses techniques de segmentation. Celles-ci peuvent être différenciées en grandes classes et sous classes ; En reprenant la classification proposée par J. Udupa [Udu06] la figure suivante fait apparaître une partition des méthodes en trois grandes familles, approches basées contour, basée région et approches hybrides, elles-même sous divisées en sous-familles en distinguant les approches par leur caractère "flou" ou binaire d’une part, par leur caractère semi-itératif ou automatique d’autre part. F IGURE 3.1 – Une classification possible des familles de segmentation Les approches basées contours se concentrent sur la recherche et le suivi de frontières (donc de ruptures dans les images) pour détecter les objets à segmenter alors que les approches régions tentent de détecter des homogénéités et des caractéristiques communes au sein d’une région délimitée contribuant à définir l’objet d’intêret. Les approches hybrides 33 3.2. APPROCHES BASÉES CONTOURS EMSE 2010 quant à elles combinent les deux approches basées contours et régions. Une méthode "dure" est définie par le fait qu’elle affecte les voxels d’une image de manière binaire à l’objet à segmenter (un voxel appartient ou n’appartient pas à l’objet recherché), une méthode "floue" attribue à chaque spel (abréviation de "spacial element", i.e. pixel en 2D ou voxel en 3D) une probabilité d’appartenance à l’objet recherché. Enfin, une méthode automatique ne nécessite aucune intervention de l’utilisateur alors qu’une méthode semi-interactive peut autoriser l’utilisateur à agir au cours de l’exécution de l’algorithme. 3.2 Approches basées contours Cette famille de méthode cherche à exploiter le fait qu’il existe une transition détectable entre deux régions connexes. On distinguera parmi ces méthodes : les méthodes simples de suivi de contour, les contours actifs interactifs et les modèles déformables. Les modèles déformables peuvent être réparties en deux grandes familles : les modèles déformables probabilistes et les modèles dits hautement déformables. 3.2.1 Suivi de contours Les algorithmes de suivi de contour représentent les approches les plus anciennes et les plus simples à mettre en œuvre pour extraire un objet d’une image. Après une étape d’initialisation où un point appartenant à la frontière de l’objet à segmenter est détecté (automatiquement par une analyse des plus fort gradients dans l’image ou interactivement), l’algorithme a pour objet de suivre la frontière détectée en suivant par exemple le gradient local. Malgré leur simplicité, de telles approches restent souvent limitées à des images bidimentionnelles et sont surtout d’une extrême sensibilité au bruit et aux artefacts (saut dans les images - rencontrés en scanner - par exemple), voire aux variations de formes du contour, inconvénients très limitant dans un contexte d’imagerie médicale et qui explique leur très faible utilisation. 3.2.2 Méthode des "Ciseaux intelligents" (ou "Live Wire") La méthode des "Live Wire" [Fal00] est une méthode interactive où la délinéation du contour de l’objet se fait par le biais de la sélection itérative de points de la frontière par l’utilisateur et où la reconnaissance est, quant à elle, automatique. La facilité pour l’utilisateur d’introduire de l’à priori sur la segmentation est l’avantage majeur d’une telle méthode. Cependant si l’on veut segmenter des objets de grande taille l’utilisateur devient vite "trop" sollicité. Enfin, de façon similaire aux algorithmes de suivi de contours, une mauvaise régularité des frontières engendre des difficultés à suivre les bords de l’objet. 34 Chapitre 3 3.2.3 EMSE 2010 Les Modèles déformables Les modèles déformables constituent une grande famille de méthodes de segmentation basée contours introduite en 1987 par Kosset et Witkin et dont l’apport en terme de formalisation du procédé de segmentation d’images a permis son expansion rapide. On peut distinguer deux grandes classes de méthodes ; Les modèles déformables probabilistes, qui autorisent l’introduction d’un fort à priori sur la segmentation via l’utilisation de données statistiques ou probabilistes sur la forme à segmenter, et les modèles dits hautement déformables qui se basent sur des considérations énergétiques et topologiques du contour. Modèles déformables probabilistes Un ensemble de modèles déformables probabilistes se base sur un modèle statistique de forme et de déformation de l’objet à segmenter (qui porte généralement le nom d’atlas quand le modèle statistique est tiré de données réelles). Ils ont pour principe de trouver, souvent de manière itérative et en utilisant des outils statistiques spécifiques (Analyse en Composantes Principales), la configuration la plus probable en regard de l’image et des données analysées. Chaque point du modèle peut par exemple être renseigné par les valeurs moyennes et variances de ces positions. En imagerie médicale et en imagerie cardiaque, ce type d’approche est fortement utilisé du fait d’une certaine similitude des formes des cavités d’un patient à l’autre ou d’un instant à l’autre du cycle cardiaque. L’inconvénient des approches basées atlas reste la grande dépendance des résultats à la qualité des modèles appris mais aussi à la variabilité des organes considérés entre patients et pour différents cas pathologiques. Modèles hautement déformables Une autre classe de modèles déformables dits "hautement déformable", autorisant des déformations plus grandes, est basée sur des considérations analytiques et énergétiques.Ces modèles déformables se déclinent eux-aussi en de nombreuses variantes mais le principe de base est généralement comparable. Une fois le modèle géométrique de base introduit, le fondement général de ces approches consiste à mettre en adéquation ce modèle à l’image en le faisant évoluer et en considérant l’image comme puits d’attraction. Cet objectif est recherché par la minimisation d’une fonctionnelle ou fonction d’énergie (définie en tous les points du contour) combinant généralement une distance au modèle (terme d’énergie lié au modèle ou contraintes externes reliant la forme à l’objet), les propriétés locales de l’image (énergie interne de l’image, généralement calculée en détectant la présence ou non de contour via un calcul de gradient ou le laplacien) et des propriétés de régularité du contour courant (énergie de régularisation) ([MT96] et [Fra01]). 35 3.3. APPROCHES BASÉES RÉGIONS 3.3 EMSE 2010 Approches basées régions Par opposition aux approches contours qui se concentrent sur la recherche et le suivi de frontières pour détecter les objets à segmenter, les approches régions tentent de détecter des homogénéités et des caractéristiques communes au sein d’une région délimitée contribuant à définir l’objet d’intérêt. Dans ce qui suit on détaillera les méthodes de croissance de région, son extension à une segmentation floue (approche connectivité floue) et la segmentation par watershed (approche morphologique). Notons que deux algorithmes (BASIS et FCSIS) de segmentation basés sur le principe de croissance de région ont étés développés dans le cadre de la thèse de Julien FLEUREAU au LTSI. 3.3.1 Croissance de région La croissance de région [Ada94] est certainement l’approche la plus simple à mettre en œuvre dans le cadre des procédés basés région. Dans une étape d’initialisation, un ou des points nommés "points germes" sont placés au sein de l’objet à segmenter (automatiquement ou manuellement par l’utilisateur). Un procédé de croissance autour de ces germes (seeds en anglais) est alors initié (un voisinage étant défini ; voisinage 4 ou 8-connexe dans le plan 2D ou bien 6 ou 26 connexe en 3D). Tous les points autour de la source considérée sont étiquetés comme appartenant ou non à l’objet (le spel vérifiant ou non un certain critère). Ce critère peut être basé sur l’intensité du spel ou sur des critères plus complexes (dérivés de l’information de texture par exemple). La croissance se réitère alors autour de tous les points nouvellement agrégés jusqu’à ce qu’aucun point ne soit plus étiqueté comme appartenant effectivement à l’objet. La liste des points affectés à l’objet est alors le résultat de la segmentation. Les algorithmes de croissance de régions se distinguent par leur simplicité d’implémentation mais aussi par leur rapidité dans le processus de croissance dans l’image. La principale limitation de tels algorithmes reste cependant la difficulté d’introduire de l’a priori dans la segmentation et notamment de l’a priori spatial. En effet, lorsqu’une zone de l’image connexe mais n’appartenant pas à l’objet satisfait également le critère d’agrégation des phénomènes de "fuites" sont observés. Dans de telles situations, un algorithme de croissance de région n’est pas suffisant et il faut alors le coupler à des modèles de forme ou à des données issues d’atlas pour contraindre la croissance. 3.3.2 Connectivité floue (ou "Fuzzy Connectedness") L’algorithme de connectivité floue proposé par Udupa [Udu96] initialement, consiste pour une part en une implémentation floue de l’algorithme de croissance de région : les spels de l’image ne sont pas affectés de manière binaire à l’objet recherché mais une valeur d’appartenance à cet objet, nommée connectivité, leur est attribuée. Une fois, cette valeur de connectivité définie pour chaque pixel de l’image ou chaque voxel du volume, un seuillage de l’image (basé sur cette même connectivité) est effectué pour ne conserver que les zones de connectivité supérieure au seuil choisi et correspondant à la zone à identifier. 36 Chapitre 3 3.3.3 EMSE 2010 Ligne de partage des eaux (Watershed) En morphologie mathématique, l’algorithme de la ligne de partage des eaux (LPE) est un algorithme ([Dig78] et [Roe00]) de segmentation d’images qui utilise leur description en terme géographiques. Une image peut en effet, être perçue comme un relief si l’on associe le niveau de gris (ou la luminance) de chaque point à une altitude. Il est alors possible de définir la ligne de partage des eaux comme étant la crête formant la limite entre deux bassins versants. Pour l’obtenir, il faut imaginer l’immersion d’un relief dans l’eau, en précisant que l’eau ne peut pénétrer dans les vallées que par ses minima. La ligne de partage des eaux est représentée par les points où deux lacs disjoints se rejoignent au cours de l’immersion. L’algorithme de la ligne de partage des eaux se distingue par son caractère non local (toute l’image est nécessaire à la détection d’un objet) et par sa capacité à détecter des structures homogènes dans l’image sans avoir recours à des procédés locaux de détection. Notons aussi que l’on applique généralement l’algorithme au gradient (morphologique) de l’image originale et non à l’image originale elle même. Cela crée ainsi des lignes de partage des eaux aux points de discontinuités de niveau de gris. Le "marker based watershed" est un dérivé de la segmentation par "simple" watershed. Il est utilisé pour éviter la sursegmentation par l’introduction de marqueurs dans les zones que l’on veut segmenter. Il permet aussi de séparer les objets qui se touchent. Notons que dès qu’un a priori spacial est nécessaire ou que de fortes hétérogénéités (en terme de luminance) apparaissent au sein des images, une segmentation par une telle approche peut devenir délicate. 3.3.4 Algorithme des kmeans Cette méthode (statistique) appliquée à une image binaire partitionne l’image en k groupes de pixels proches en niveaux de gris sans être nécessairement spatialement proches (elle n’utilise que l’histogramme). Soit un ensemble d’observations données ( x1 , x2 , ..., xn ) où chaque observation est un vecteur réel à d dimensions (dans le cas d’une image en niveaux de gris d=1). L’algorithme des kmeans a pour but de partitionner les n observations en k états (k<n) S = {S1 , S2 , ..., Sk } de telle manière à minimiser la somme : argS min ∑ik=1 ∑ x j ∈Si k x j − µi k2 où µi correspond à la moyenne des points dans S j . L’utilisateur défini un nombre de "clusters" i.e un nombre de catégories ou états dans lesquelles il veut classifier les pixels. L’initialisation des centroïdes (centres des classes notés µi ) est faite soit par l’utilisateur qui va spécifier leurs valeurs de niveau de gris, soit à défaut par l’algorithme (a). On associe ensuite chaque pixel à l’un de ces clusters (b) se basant sur une métrique donnée (dans le cas le plus simple étant la distance Euclidienne). Les nouveaux centroïdes sont calculés à partir des pixels classifiés en prenant le barycentre (c) (d). Enfin ces étapes sont réitérés jusqu’à satisfaire un certain critère d’arrêt. 37 3.3. APPROCHES BASÉES RÉGIONS EMSE 2010 (a) (b) (c) (d) F IGURE 3.2 – Etapes de l’algorithme des kmeans (images wikipedia). 3.3.5 Algorithmes développés au LTSI FCSIS [JMA+ 08] L’algorithme de connectivité floue (FCSIS) consiste en une implémentation floue de l’algorithme de croissance de région. Dans le cas de la connectivité floue, les spels de l’image ne sont pas affectés de manière binaire à l’objet recherché mais par une valeur d’appartenance à cet objet (entre 0 et 1, 0 indiquant que le spel n’appartient pas à l’objet et 1 indiquant que le spel appartient à l’objet), nommé connectivité. Une fois cette valeur définie pour chaque spel, un seuillage de l’image (basé sur cette même connectivité) est effectué pour ne conserver que les zones de connectivité supérieure au seuil choisi et correspondant à la zone à identifier. BASIS [J. 09] La méthode de segmentation BASIS est basée sur une approche multi-agents combinée à une méthode de classification supervisée qui permet l’introduction d’à priori dans le processus de segmentation. L’originalité de l’approche proposée porte sur la détection simultanée de plusieurs objets et dans des temps de calcul rapides. Le SMA est composé d’un ensemble d’agents appelés agents « workers », qui coopèrent et entrent en compétition de manière à, par croissance de région, maximiser leur « territoire image » et d’un agent purement communicant (appelé agent « Contrôleur ») qui coordonne les comportements de tous les agents « Workers » (voir figure 3.3). 38 Chapitre 3 3.4 EMSE 2010 Synthèse Comme nous venons de le voir, les méthodes de segmentation d’images sont nombreuses et variées. Dans le contexte de l’imagerie médicale et de l’imagerie scanner cardiaque. Nous pouvons dégager les points clefs qui nous permettront de décider des méthodes de segmentation qui sont à explorer : - L’algorithme doit être suffisamment rapide pour segmenter les volumes scanner dans des temps cliniquement acceptables. De fait, l’ordre de grandeur des images à segmenter est de 160 (images pour un volume) x 20 (volumes pour un cycle cardiaque), soit 3200 images pour un patient. Les images ont une résolution de 512x512 pixels. - La qualité de la segmentation doit être la plus optimale possible. Par conséquent la méthodologie doit être suffisamment robuste pour faire face à une qualité variable des images due à la présence d’artefacts ou d’hétérogénéité fortes (dues parfois à une mauvaise dispersion du produit de contraste) dans les images ; - l’approche doit enfin pouvoir être suffisamment souple et flexible pour permettre l’intégration d’informations a priori par l’expert. F IGURE 3.3 – Principe de fonctionnement de l’algorithme BASIS [J. 09]. 39 3.4. SYNTHÈSE EMSE 2010 40 Chapitre 4 Les outils utilisés Plusieurs logiciels, bibliothèques ont été utilisés au cours de ce stage pour analyser/traiter les données i.e les images DICOM provenant de scanners. 4.1 Logiciels développés au LTSI Les deux logiciels de segmentation développés par Julien FLEUREAU pendant sa thèse au LTSI et présentés au chapitre suivant ont été utilisés. Ces deux logiciels (BASIS [J. 09] et FCSIS [JMA+ 08]) reposent sur le principe de segmentation par croissance de région. Un logiciel de visualisation ( ViewerSegmentation ) développé (librairie VTK) par, Adrien Colombet (stagiaire LTSI) a été utilisé pour la visualisation. Il permet d’analyser les résultats de la segmentation en superposant le volume initial avec le résultat de la segmentation. 4.2 4.2.1 Programmation ITK ITK est un bibliothèque "open-source" utilisée pour le traitement d’images (segmentation, recalage...) ; elle est implémentée en C++ et du fait de son caractère "open source" des développeurs du monde entier contribuent au développement, à la maintenance et au debugage de cette bibliothèque. ITK trouve son origine en 1999 aux États-Unis, période à laquelle le gouvernement Americain (plus précisément "the US National Library of Medicine of the National Institutes of Health") décide de financer le projet qui consistait alors en un développement d’algorithmes "open-source" utiles pour la segmentation d’images médicales. Aujourd’hui ITK est bien connue du monde des développeurs travaillant dans le domaine médical, ceci en raison du large panel d’algorithmes et de fonctionnalités qu’elle contient. 41 4.3. VISUALISATION 4.2.2 EMSE 2010 MATLAB MATLAB est à la fois un langage de programmation et un environnement de développement développé et commercialisé par la société américaine The MathWorks. MATLAB est utilisé dans les domaines de l’éducation, de la recherche et de l’industrie pour le calcul numérique. Le nom MATLAB est la contraction du terme anglais "matrix laboratory". Le langage MATLAB a été conçu par Cleve Moler à la fin des années 1970 à partir des bibliothèques Fortran, LINPACK et EISPACK. Image Processing Toolbox est la toolbox de MATLAB dédiée au traitement d’images ; Elle contient les algorithmes classiques de traitement d’images, de segmentation et elle est "facilement" utilisable via la GUI de MATLAB (ce qui fait en bonne partie sa force). L’inconvénient majeur de MATLAB reste le temps de calcul élevé lorsque l’on traites de grandes images ou des séquences d’images (volumes 3D). 4.3 4.3.1 Visualisation ImageJ ImageJ est un logiciel de traitement et d’analyse d’images qui apparut en 1997. Le J indique que le programme a été écrit en Java, ce qui en fait un logiciel utilisable sur différents systèmes d’exploitation. ImageJ a été initialement développé pour des applications biomédicales. ImageJ peut visualiser, éditer, traiter et analyser des images ou des piles d’images. ImageJ est un logiciel libre. ImageJ est très utile en complément de MATLAB ou de ITK pour visualiser les résultats des traitements appliqués ou alors pour réaliser des tests simples de filtrage, de morphologie mathématiques... C’est d’ailleurs dans ce contexte qu’ImageJ a été utilisé tout au long du stage. Notons qu’un toolkit de ImageJ a particulièrement été utile au cours du stage ; "3D Toolkit" disponible sur http ://ij-plugins.sourceforge.net/3d-toolkit/index.html. Ce package fournit de nombreux plugins utiles pour la visualisation 3D, ouverture/écriture de MetaImages ou volumes VTK... 4.3.2 VTK VTK (pour Visualisation ToolKit en anglais) est une bibliothèque de classes C++ Open Source pour la visualisation de données 2D/3D et le traitement d’images. Elle s’interface facilement avec les langages Tcl-Tk, Python et Java. La bibliothèque comprend plus de 1100 classes C++. Elle a été développée en 1993 au centre de recherche du groupe General Electric et utilisée en premier dans le domaine médical. Par la suite ses développeurs (Will Schroeder et Ken Martin) ont fondé la société Kitware Inc. aux États-Unis pour assurer le support commercial et continuer le développement de ce produit. De la même manière que ITK, VTK est "open source". 42 Chapitre 4 4.3.3 EMSE 2010 Paraview Paraview est un logiciel de visualisation et de traitement construit à partir des librairies VTK. Paraview est "open source". Le projet paraview commença en 2000 en collaboration avec Kitware, Inc et "Los Alamos National Laboratory". La première release eu lieu en 2002. Ce logiciel est très utile pour l’analyse de volumes 3D issus d’une segmentation par exemple. De fait, la GUI est de très bonne qualité et propose de nombreuses fonctionnalités (chargement des données/ visualisation/ Application de filtres/ contours...). 4.4 4.4.1 Autres logiciels ITK Snap ITK-SNAP est un logiciel interactif qui permet à l’utilisateur de naviguer dans des images médicales en trois dimensions. Il permet aussi de réaliser des opérations de segmentation manuelle et automatique (méthode des Snakes en particulier). Ce logiciel a initialement été développé pour le domaine médical et la recherche. Itksnap est écrit en C++ et utilise les algorithmes d’ITK. Itksnap est "open source". Nous avons utilisé ce logiciel pour l’algorithme des "Snakes" qu’il fournit (voir figure 4.1) et donc pour tester une approche de segmentation de type "modèles déformables". 4.4.2 Autres D’autres logiciels intéressants sont disponibles en libre accès sur internet, citons par exemple : SLICER : www.slicer.org MRIcro : http ://cnl.web.arizona.edu/mricro.htm 4.5 4.5.1 Les formats d’images manipulés Le format DICOM DICOM (Digital Imaging and COmmunication in Medicine, "imagerie et communication numériques en médecine") est un standard de communication et d’archivage en imagerie médicale. C’est le format de fichier qui fait référence dans le domaine de l’imagerie médicale. Il a été crée par l’ARC (American College of Radiology) et la NEMA (National Electric Manufacturers Association) dans le but de standardiser les données transmises entre les différents appareils de radiologie. De fait, avant sa création chaque constructeur de matériel d’imagerie utilisait un format de données propriétaire ce qui avait pour conséquence des problèmes de gestion et de maintenance (incompatibilité, coût, perte d’information). Le format DICOM permet de stoker, au sein d’un même fichier, l’image médicale, les informations patient et les modalités de l’examen (voir figure 4.2). 43 4.5. LES FORMATS D’IMAGES MANIPULÉS EMSE 2010 F IGURE 4.1 – Interface du logiciel ITK Snap et application de l’algorithme des modèles déformables (méthode des snakes). Sur l’image on peut voir en bleu le résultat du pré-traitement et en rouge la "bulle" initiant l’algorithme. Attention : les images du format DICOM sont stockées sur 12 bits même si les images manipulées sont en 16 bits. 4.5.2 Le format MetaImage MetaImage est un format utilisé en imagerie médicale. Il se présente sous la forme de deux entités : un fichier texte .mhd sur lequel sont stockés les informations relatives à l’image, au volume (spacing, compression...) et un second fichier raw ou zraw (si compressé) qui contient l’image, le volume. Ce type de format est particulièrement intéressant lorsque l’on veut constituer un volume à partir d’une pile d’images DICOM. De plus, les informations stockées dans les fichiers DICOM et qui sont propres au patient ne sont pas stockées dans ce type de volume ce qui présente un intérêt majeur quant à la protection des données patient. 44 Chapitre 4 EMSE 2010 F IGURE 4.2 – Exemple d’image DICOM ouverte avec ImageJ et informations qu’elle contient (à gauche). F IGURE 4.3 – Exemple de volume .raw avec son .mhd associé. 45 4.5. LES FORMATS D’IMAGES MANIPULÉS 46 EMSE 2010 Chapitre 5 Travaux réalisés pour la segmentation du ventricule gauche 5.1 Introduction Dans cette étude on va s’intéresser à la segmentation du ventricule gauche (noté VG par la suite) par différentes méthodes et pour différents patients. Le volume étudié est toujours celui à 5% du cycle cardiaque, cependant la finalité du travail est de pouvoir segmenter les 20 Volumes (tous les 5% du cycle) pour restituer une représentation dynamique 3D+T. Dans chaque partie on présente le plan de traitement, les résultats obtenus et on discute ces résultats. Notons que l’appréciation des résultats est visuelle (pas de quantification). Aucun pré ou post traitement n’est appliqué. Les zones caractéristiques de l’image Pour avant tout comprendre les objets que l’on manipule, une fonction matlab qui trace l’histogramme (voir figure 5.2) des niveaux de gris pour une coupe donnée est appliquée (voir figure 5.1). Cet histogramme est donné pour la plage de valeur [0 ;2000]. Il faut garder à l’esprit que les images DICOM sont codées sur 12 bits et que le fond est à -2000 (pour les patient P0-P4). L’histogramme obtenu est lissé par un filtre moyenneur (fonction medfilt1 de Matlab). Remarque Notons que les images DICOM, selon que l’on les ouvre avec Matlab ou ITK (plus exactement gdcm), ne sont pas stockées sur la même plage de valeurs. Pour Matlab l’intervalle est du type [-2000 ; 2000] alors qu’avec ITK il est du type [-3000 ;1000]. 47 5.1. INTRODUCTION EMSE 2010 F IGURE 5.1 – Exemple d’image scanner (Patient P01, coupe 100). F IGURE 5.2 – Histogramme des niveaux de gris pour le patient P01 (coupe 100) et correspondance des modes avec les zones de l’image. 48 Chapitre 5 EMSE 2010 remarque importante : sur cet exemple les modes sont bien distincts mais ce n’est pas le cas pour toutes les coupes / tous les patients (exemple P00 pour qui les deux modes à droite sont confondus). 5.2 5.2.1 Les méthodes de segmentation testées Segmentation par simple seuillage Au vu des résultats du paragraphe précédent on pense d’abord à un simple seuillage pour segmenter le VG. Chaine de traitement - On trace l’histogramme des niveaux de gris pour la coupe 100 (notée I100 par la suite) pour chacun des patients. - On détermine le seuil optimal de telle sorte à séparer le ventricule gauche des autres zones visibles au scanner, ce qui correspond à ne garder que le dernier pic pour les patients 1,2,3,4. - On utilise une pipeline VTK codée en C++ pour aller sélectionner le plus grand objet connexe du volume 3D puis on sauvegarde le volume résultant dans un fichier de type .vtk Discussion des résultats Pour les patients 1-4 la segmentation par simple seuillage suivi d’un post traitement (pipeline VTK) permet d’obtenir les résultats présentés page suivante. Pour le patient P01 cette segmentation est d’assez bonne qualité, alors que pour les autres patients celle-ci est moins performante ; Pour P02 le ventricule droit est lui aussi segmenté, pour P03 et P04 une petite partie du VD est présente. Conclusion : Le seuillage additionné à la fonction d’extraction du volume connexe (pipeline vtk) parait être une voie intéressante pour segmenter le ventricule gauche (VG). Cependant, déterminer un seul seuil et l’appliquer à toutes les images n’est pas suffisamment robuste car le seuil fixé pour I100 n’est pas le seuil optimal pour les autres images (le pic d’intérêt "bouge") d’où l’apparition d’artefacts (partie du ventricule droit présent...). 49 5.2. LES MÉTHODES DE SEGMENTATION TESTÉES (a) EMSE 2010 (b) (c) (d) F IGURE 5.3 – Reproduction 3D du cœur, pour les patient P01 (a), P02 (b), P03 (c) et P04 (d), en appliquant le seuil identifié sur le diagramme. Ce seuil est choisi égal à 1300 pour P01, à 1250 pour P02, à 1460 pour P03, à 1340 pour P04. 50 Chapitre 5 5.2.2 EMSE 2010 Segmentation par une approche de type Kmeans Une segmentation par une approche de type kmeans a été testée ; L’idée étant la suivante : puisque l’on a un certain nombre de modes sur notre histogramme, cherchons à les isoler et cela sur chacune des coupes du volume (et non pas en fixant un seuil à partir d’une coupe comme dans la partie précédente). En initialisant l’algorithme on peut arriver à fixer le label du cluster d’intérêt. Ainsi le cluster sélectionné (celui contenant le VG) garde le même label d’une coupe à l’autre ce qui permet ensuite son extraction. Test sur 7 clusters en restant en 16 bits Dans cette partie on utilise 7 clusters et on traite les images coupe par coupe. Temps de calul Deux séries de tests sont effectuées ; La première traite les images une à une indépendamment (version non optimisée) et la seconde utilise les centroïdes trouvés pour l’image N-1 pour initialiser le traitement de l’image N (version optimisée). L’idée de cette seconde approche est de réduire le temps de calcul mais aussi d’améliorer la consistance du programme. L’initialisation est changée à chaque itération en prenant les centroids des clusters trouvés pour l’itération précédente. Le temps de calcul est réduit puisque l’initialisation est proche du point de convergence (il y a donc moins d’itérations) et la consistance est améliorée au sens où les valeurs initialisant l’algorithme "suivent" les modes. En particulier la valeur d’initialisation du mode d’interêt suit ce mode ce qui permet d’éviter dans certains cas des sauts d’une coupe à une autre. Les tests sont effectués sur un ordinateur portable (2 Mégas de RAM) et avec Matlab aussi on appréciera la différence entre les temps de calcul et non leur valeur intrinsèque. La pertinence en terme de temps de calcul peut être appréciée à partir du tableau suivant : patient P01 P02 P03 P04 Nombre d’images 205 161 148 161 Version non optimisée 20min 23min 15min 19min 30s Version optimisée 9min 30s 8min 9min 20s 7min Remarque : En C++ (ITK) et à la différence de Matlab, ce changement ne change pas beaucoup le temps de calcul. Cluster d’intêret La première initialisation (valeur initiale des centroides) est fixée à : [1500 ;1300 ;1200 ;1000 ;700 ;300 ;2000]. Sur le graphique ci dessous (figure 5.4) on trace l’évolution du centroïde du cluster d’intérêt pour P01 en fonction de la coupe. On voit bien que la variation du centroïde n’est pas négligeable. L’une des idées sous jacente à l’utilisation des kmeans coupe par coupe est de pouvoir suivre le pic d’intérêt. Les résultats (voir figure 5.5) 51 5.2. LES MÉTHODES DE SEGMENTATION TESTÉES EMSE 2010 F IGURE 5.4 – Evolution du centroïde du cluster d’intêret pour P01 en fonction de la coupe 52 Chapitre 5 EMSE 2010 (a) (b) (c) (d) (e) 53 F IGURE 5.5 – Résultats obtenus pour les patient P01 (a), P02 (b), P03 (c), P04 (d) et P05 (e) avec la méthode Kmeans sur 7 clusters et en manipulant les images en 16 bits (DICOM). 5.2. LES MÉTHODES DE SEGMENTATION TESTÉES EMSE 2010 Amélioration des résultats pour P03 Pour P03 la présence d’une partie du ventricule droit est due au fait que la veine pulmonaire touche la veine cave supérieure sur les premières coupes. Aussi si on enlève les 20 premières coupes du volume (coupes qui ne contiennent pas le VG) on obtient le résultat suivant : F IGURE 5.6 – Résultat obtenu pour le patient P03 avec la méthode Kmeans sur 7 clusters en manipulant les images en 16 bits (DICOM) et en enlevent les 20 premières coupes. Analyse des résultats • Patient P01 : Le VG est segmenté seul. Bonne qualité. • Patient P02 : Le VD est présent • Patient P03 : Le VG est segmenté seul (si on enlève les premières coupes) • Patient P04 : Le VG est segmenté seul même si la qualité de la segmentation n’est pas parfaite. Notons que le contraste est moins bon pour P04 que pour P01/P02/P03 ce qui explique la moins bonne qualité de la segmentation avec notre méthode. • Patient P05 : Le VG est segmenté seul même si la qualité de la segmentation n’est pas idéale. 54 Chapitre 5 EMSE 2010 Conclusion La segmentation sur 7 clusters coupe par coupe et en utilisant l’algorithme optimisé donne d’assez bons résultats. Les VG des patient P01, P03, P04 et P05 sont segmentés. Pour le patient P02 le VD reste "attaché" au VG et un post traitement serait nécessaire pour supprimer les quelques connexions qu’il a avec le VG sur certaines coupes. 5.2.3 Seuillage 3D Une autre idée de traitement de segmentation pourrait être d’effectuer un seuillage en 3D pour lequel, contrairement au seuillage simple proposé précédemment, ce seuil serait choisi sur l’ensemble du volume. Pour se faire on trace l’histogramme 3D (voir figure 5.7) de répartition des niveaux de gris pour les patient P01-P04 et on choisit le seuil optimal pour ne garder que le mode qui nous intéresse, i.e le premier mode à droite. On représente ci-dessous les diagrammes de répartition des niveaux de gris (aucune opération de lissage n’est effectuée sur ces diagrammes). Il est à noter, que le mode le plus à droite correspond au VG plus quelques autres éléments, le second mode contient la majorité du myocarde. Les autres modes ne contiennent pas de zones/organes précis. F IGURE 5.7 – Histogramme des niveaux de gris sur le volume 3D de P01. 55 5.3. ANALYSE DES RÉSULTATS OBTENUS PAR LA MÉTHODE DES KMEANSEMSE 2010 Résultats Les calculs suivant sont effectués avec Matlab : P01 P02 P03 P04 Nb d’images 205 161 148 161 Seuil 1333 1306 1417 1320 Temps de calcul 43 s 34 s 31 s 34 s Pour les patient P01 et P04 on arrive à extraire le VG seul avec la même qualité de segmentation que les kmeans. Pour P03, même si on enlève les 20 premières coupes (comme effectué précédemment) le VD reste détecté avec le VG. Discussion Le principal avantage de cette méthode est son temps de calcul qui est très court. Les résultats de la segmentation semblent globalement bons, mais à ce niveau il est difficile d’évaluer "à l’œil" si ceux ci sont meilleurs que ceux obtenus avec la méthode kmeans. L’inconvénient majeur de cette méthode consiste en la détermination du seuil optimal qui correspond en fait au premier minima en partant de la droite de l’histogramme. De fait, il faut bien garder à l’esprit que même si sur un volume celui-ci peut être introduit par l’opérateur, nous travaillons avec des séquences de volumes et ce seuil n’est, a priori, pas le même pour chacun de ceux-ci. On pourrait penser à une méthode pour déterminer de façon systématique ce seuil (algorithme de recherche du "premier minimum" à droite) cependant des cas délicats peuvent se présenter (exemple de P02 et P04) où un "petit" mode apparait entre les deux premiers pics de droite. 5.3 5.3.1 Analyse des Résultats obtenus par la méthode des kmeans Logiciel Pour visualiser les résultats, on a utilisé le logiciel développé par Adrien Colombet dans le cadre de son stage au LTSI. Un module spécifique au cœur a été ajouté : une option -b permet d’indiquer au programme que l’analyse porte sur le cœur. Le programme va alors lire le fichier .mha ou le fichier de DICOM, en extraire le plus gros volume et on affiche le volume segmenté en le superposant avec les coupes initiales ce qui permet ainsi d’apprécier visuellement la qualité de la segmentation. Les résultats analysés sont ceux obtenus avec Matlab (kmeans 7 clusters) et pour les patients P01 et P04. 5.3.2 Les résultats Sur les images (figure 5.8) on peut voir les coupes initiales ainsi que le contour de l’image segmenté en superposition (ligne rouge/noir). 56 Chapitre 5 EMSE 2010 F IGURE 5.8 – Résultats obtenus pour le patient P01. F IGURE 5.9 – Résultats obtenus pour le patient P03. Conclusion Les résultats obtenus sont encourageants pour les patients dont la segmentation est analysée (P01 et P03). 57 5.4. DÉVELOPPEMENT DE PROGRAMMES SOUS ITK 5.4 EMSE 2010 Développement de programmes sous ITK Dans cette partie on va détailler l’algorithme ITK que nous avons codé pour réaliser les mêmes opérations qu’avec Matlab mais cette fois ci en C++. Les motivations sont les suivantes : • Simplification de la chaîne de traitement ; La pipeline ITK pourra directement être reliée à la pipeline VTK, inutile de passer par des manipulations intermédiaires. • Réduction du temps de calcul en passant par le C++ • Portabilité du programme ; Celui-ci devient ainsi intégrable ou peut être combiné à d’autres programmes. • Possibilité d’utiliser des fonction de ITK qui ne sont pas présentes sur Matlab si on choisit de faire des pré/post traitements 5.4.1 kmeansSliceBySlice Le programme va aller lire les images DICOM (uilisation du filtre itk : :ImageFileReader et de itk : :GDCMImageIO) une à une et va leur appliquer l’algorithme des kmeans (utilisation de itk : :ScalarImageKmeansImageFilter). On sélectionne ensuite le cluster d’intérêt en utilisant les Iterateurs ITK (itk : :ImageRegionIterator) et on enregistre l’image (contenant le cluster sélectionné) au format png. Enfin on transforme le paquet d’images png en un volume .mhd en spécifiant l’espacement (on utilise le filtre itk : :ChangeInformationImageFilter). L’algorithme kmeansSliceBySlice traite les images une à une pour ensuite générer un volume à partir des images segmentés. Le programme possède plusieurs fonctions : • Une fonction kmeansSlice(std : :string imageNumber, const char *continuous, const char *nbclusters, double tabeauInitialisation[], const char *SelectedCluster) qui va aller lire l’image imageNumber et lui appliquer l’algorithme des kmeans pour ensuite sélectionner le cluster d’intêret et écrire l’image résultat de cette sélection. • Une fonction CreateVolum(int first, int last, const char *outputFilename) qui à partir du fichier contenant les png va générer le volume mhd. Dans tout ce qui suit les simulations (C++/Matlab) sont effectuées sur un PC ayant les caractéristiques suivantes : - Core 2 Duo 3 GHz - 4 G de RAM et 7,5 G de Swap 58 Chapitre 5 EMSE 2010 Les résultats Dans le tableau suivant on présente les temps de calcul pour les patient P01->P04. Le temps indiqué correspond au temps "user". P01 P02 P03 P04 Nombre d’images 205 161 148 161 Temps de calcul mode DEBUG 4min 17s 3min 18s 3min 15s 3min 22s Temps de calcul mode RELEASE 1min 14 1min 55 s 1min Comparaison avec les résultats donnés par Matlab En terme de temps de calcul le programme en C++ est beaucoup plus rapide que Matlab ; les temps de calcul sont divisés par plus de 3 pour les patient P01 à P04. P01 P02 P03 P04 Nombre d’images 205 161 148 161 Temps de calcul C++ (RELEASE) 1min 14s 1min 55s 1min Temps de calcul Matlab 4min 20s 3min 22s 4min 5s 3min 23s En terme de qualité de la segmentation le résultat de la segmentation est le même avec Matlab et ITK (la première initialisation étant prise identique pour les deux fonctions). Conclusion Le programme ITK fonctionne, la qualité de la segmentation est la même qu’avec le programme Matlab et le temps de calcul est sensiblement inférieur à celui de Matlab. On a donc réussi à transposer l’algorithme Matlab en C++ le rendant ainsi plus portatif et plus efficace en terme de temps de calcul. 59 5.4. DÉVELOPPEMENT DE PROGRAMMES SOUS ITK 5.4.2 EMSE 2010 kmeans3D Dans cette partie on va appliquer l’algorithme des kmeans aux volumes 3D directement (et non plus coupe par coupe). De fait, si on observe l’histogramme de répartition des niveaux de gris en 3D pour le patient P03 par exemple (voir figure 5.10) on observe les mêmes modes que sur les histogrammes 2D (tout du moins à peu de chose près). Il fallait donc essayer d’appliquer notre algorithme directement en 3D et le comparer aux résultats obtenus coupe par coupe. Pour ce qui suit l’étude est faite sur le patient P03 et les algorithmes (Matlab et C++) sont réadaptés pour traiter directement le volume 3D. Le nombre de clusters est pris égal à 7 avec la même initialisation que dans les parties précédentes. Sur la figure ci dessous on peut observer l’histogramme de répartition des niveaux de gris pour le patient P03. Le dernier mode à droite correspond à l’objet d’intérêt. F IGURE 5.10 – Histogramme de répartition des niveaux de gris pour le volume du patient P03 avec superposition de l’emplacement des centroïdes des clusters retournés par l’algorithme Matlab. Comparaison en terme de temps de calcul Avec Matlab le temps de calcul est beaucoup plus long et nécessite des capacités en mémoire vive qui sont trop importantes. Nous avons d’abord essayé de lancer le calcul sur le patient P01 (205 coupes) mais celui ci n’a pas abouti ("Error : memory out of bounds"). Pour le patient P03 (148 coupes) le calcul a duré 3H23min contre 4 minutes pour le traitement coupe par coupe. 60 Chapitre 5 EMSE 2010 En C++ Le temps de calcul pour le patient P03, en utilisant le programme C++ (mode RELEASE), est de 4min . Bien qu’il soit sensiblement inférieur à celui de Matlab il reste cependant important si l’on compte l’appliquer à une série de volumes (20 volumes pour un patient), mais est acceptable. Comparaison de la segmentation Au niveau de la qualité de la segmentation, celle ci est à peu près identique aux résultats obtenus en segmentant coupe par coupe. F IGURE 5.11 – Résultat de la segmentation 3D pour P03 (traitement par l’algorithme des kmeans3D codé en Matlab) conclusion En conclusion, il semble préférable d’effectuer le calcul coupe par coupe ; De fait, le temps de calcul est relativement faible ce qui permet d’avoir un certain "capital temps" pour des posts traitements. Au niveau de la qualité des résultats, ceux ci sont relativement similaires. 5.4.3 Pré/Post traitements Plusieurs Pré/Post traitement ont été essayés pour tenter d’améliorer les résultats. Parmis les traitements testés on peut citer : Filtre médian L’idée est d’utiliser un filtre médian pour débruiter l’images de départ (prétraitement), avec l’idée que bien que l’on ajoute une étape de traitement (donc que l’on rallonge la pipeline), celle-ci permette de réduire la convergence de l’algorithme des kmeans d’une part (l’image étant "plus lisse") mais aussi d’améliorer les résultats en homogénéisant les zones détectées. Au niveau de la segmentation, les résultats ne sont pas améliorés de manière significative et en ce qui concerne le temps de calcul, celui-ci est allongé. Aussi le pre-traitement par un filtre de type médian n’est pas pertinent. 61 5.4. DÉVELOPPEMENT DE PROGRAMMES SOUS ITK EMSE 2010 Morphologie mathématique L’idée est cette fois ci d’utiliser la morphologie mathématique pour séparer le VD du VG (post traitement) dans un cas plus difficile tel que celui du patient P02. De fait, le VD reste détecté avec le VG, après sélection de la région la plus grande, à cause de petites connexions VG-VD au niveau de quelques coupes. On observe qu’avec une érosion suffisante le VG est séparé du VD pour P02, mais c’est au prix d’une perte de régularité spatiale trop importante (voir schéma ci-dessous). F IGURE 5.12 – Résultat de la segmentation pour P02 en additionnant un post traitement (érosion, pipeline ITK). 5.4.4 Application à la segmentation des volumes de la base de donnée IMOP L’objectif ici, est d’arriver à générer les 20 volumes (correspondant à un cycle cardiaque) de chacun des patients de la manière la plus automatique possible. combinaison des pipeline ITK et VTK Le programme ITKandVTK réalisé représente la combinaison des programmes kmeansSliceBySlice et de la pipeline VTK (un seul fichier). Il n’y a donc plus qu’une pipeline unique. Génération des 20 volumes Pour générer de manière automatique les 20 volumes segmentés (un volume tous les 5% du cycle), on code un script en bash : # !/bin/bash ls cd .. cd .. cd bin/ time ./ITKandVTK ../data/IMOP01/00%/ 00 204 0 7 1 1300 1500 1200 1000 700 300 -2000 time ./ITKandVTK ../data/IMOP01/05%/ 05 204 0 7 1 1300 1500 1200 1000 700 300 -2000 for i in ‘seq 10 5 95‘ ; do time ./ITKandVTK ../data/IMOP01/$i%/ $i 204 0 7 1 1300 1500 1200 1000 700 300 -2000 done 62 Chapitre 5 EMSE 2010 Aussi ce script permet de générer les 20 volumes, résultat de la segmentation du VG, sans aucune interaction avec l’utilisateur (la chaine est totalement automatisée). Ceux ci, une fois générés, sont sauvegardés au format .vtk avec pour dénomination 00.vtk, 05.vtk, ... Le temps nécessaire pour générer les 20 volumes est de 28 minutes pour le patient P01 (205 images par volume). Ce temps est relativement faible au vue des opérations réalisées (205x20 images traitées) et laisse donc la possibilité d’inclure un post traitement pour régulariser spatialement notre volume par exemple. Ce traitement est appliqué aux patients P01 (voir figure 5.14), P03, P04 et P05 pour lesquels la méthode kmeansSliceBySlice fonctionne correctement (histogramme exploitable). F IGURE 5.13 – Chaine de traitement finale pour la segmentation du VG. F IGURE 5.14 – Exemple des huit premiers volumes générés pour le patient P01. 63 5.4. DÉVELOPPEMENT DE PROGRAMMES SOUS ITK 5.4.5 EMSE 2010 conclusion En conclusion, par une approche de type kmeans couplée à une pipeline VTK (qui va venir sélectionner la zone la plus grande) nous sommes arrivés à segmenter de manière efficace, en terme de qualité mais aussi de temps de calcul, les VG des patient P01 et P04. En additionnant à ce traitement un fenêtrage i.e que l’on sélectionne la première coupe traitée par l’algorithme (on ne commence par obligatoirement à la coupe 0), nous sommes arrivés à segmenter le VG du patient P03. Enfin, il est possible de segmenter le VG du patient P02 en additionnant un post traitement (morphologie mathématique), mais cette segmentation est approchée puisque l’on utilise une opération d’érosion qui donne, par conséquent, lieu à des irrégularités. Pour ce dernier cas (P02) d’autres post-traitements pourraient être envisageables. De plus, nous avons réussi à automatiser le process (script bash), ce qui nous permet d’obtenir les 20 volumes constituant le cycle cardiaque. Le chapitre qui suit est consacré à la comparaison des performances des méthodes étudiées (Threshold3D, KmeansSliceBySlice, kmeans3D) puis à la comparaison de ces méthodes à celles développés au LTSI. 64 Chapitre 6 Comparaison des méthodes de segmentation sélectionnées Dans cette partie on va s’intéresser à analyser les résultats obtenus par les différentes méthodes de segmentation sélectionnées i.e kmeans, seuillage, Modèles déformables, Croissance de Région et approche multi-agents. Les comparaisons sont effectuées sur des coupes du patient P01 car la base a été jugée de meilleur qualité. Pour la visualisation on utilise ImageJ et on représente les résultats de la segmentation seule (pas de post/pré traitements et pas d’extraction du plus gros volume). Les volumes .mhd sont chargés et étudiés coupe par coupe. On superpose l’image initiale avec le résultat de la segmentation (couleur rouge). 6.1 6.1.1 Comparaison de coupes Comparaison de kmeansSliceBySlice avec kmeans3D On compare dans cette partie les résultats des segmentations obtenus par les méthodes kmeansSliceBySlice et Kmeans3D (versions ITK). Resultats : voir figure 6.1 On notera la différence de contraste qui est due a un problème technique (visuel seulement). Discussion : De manière très qualitative on peut voir que globalement les résultats sont les mêmes. Reste le temps de calcul qui est différent entre les deux méthodes (quatre fois supérieur pour kmeans3D). 6.1.2 Comparaison de Kmeans3D avec threshold3D On va comparer dans cette partie les résultats de la segmentation 3D du VG obtenus par deux méthodes : 65 6.1. COMPARAISON DE COUPES EMSE 2010 • Un seuillage 3D (threshold3D) basé sur l’histogramme 3D du volume • L’algorithme kmeans3D développé sous ITK Le mode opératoire est le même que pour la partie précédente. Resultats : voir figure 6.2 Discussion : Les résultats entre les Kmeans3D et threshold3D sont à peu près les mêmes. La différence entre les deux méthodes se fait au niveau du temps de calcul (inférieur pour threshold3D) et au niveau de l’initialisation qui est interactive dans le cas de threshold3D et relativement automatique* pour kmeans3D (ou kmeansSliceBySlice). * "relativement automatique", car pour les patients étudiés (1-4) le mode d’intérêt est toujours dans la même plage de niveaux de gris et par conséquent le centroïde du cluster d’intérêt (qui est placé dans cette plage) s’ajuste pour retrouver le centre du pic. Nous rappelons que la même initialisation a été utilisée pour tous les patients. 6.1.3 Comparaison de BASIS avec kmeans3D On va comparer dans cette partie les résultats de la segmentation 3D du VG obtenus par deux méthodes : • La segmentation obtenue avec le logiciel BASIS développé au LTSI et basé sur le principe d’un système multi agents. Le nombre d’agents ("seeds") choisi est de 9. Ces agents sont positionnés sur plusieurs coupes et sur le VG uniquement (utilisation du logiciel en version mono-objet). • L’algorithme kmeans3D développé sous ITK. Resultats : voir figure 6.3 Discussion : De manière générale la méthode kmeans3D semble donner de meilleurs résultats de segmentation. De fait, les zones sont plus homogènes (moins de trous) et les frontières plus proches de la frontière réelle. On notera tout de même l’avantage, non négligeable, de l’algorithme BASIS qui est de sélectionner directement une zone d’intérêt (VG) sans avoir à effectuer, comme nous le faisons après segmentation par kmeans, un post traitement (extraction du plus gros volume par la suite ). Notons que les temps de calcul entre kmeans3d et BASIS sont approximativement les mêmes (4 minutes). 6.1.4 Comparaison de FCSIS avec kmeans3D On va comparer dans cette partie les résultats de la segmentation 3D du VG obtenus par deux méthodes : • La segmentation obtenue avec le logiciel FCSIS développé au LTSI et basé sur le principe de la connectivité floue associée à une croissance de région ("region growing").Une seule graine est placée au milieu du VG. 66 Chapitre 6 EMSE 2010 • L’algorithme kmeans3D développé sous ITK. Resultats : voir figure 6.4 Discussion : Au niveau des frontières les résultats sont à peu près similaires. Par contre avec l’algorithme kmeans3D le volume est plus homogène. 67 F IGURE 6.1 – Comparaison des méthodes de segmentation kmeansSliceBySlice (à gauche) et kmeans3D (à droite) pour les coupes 1, 50, 100, 150 du patient P01 F IGURE 6.2 – Comparaison des méthodes de segmentation Threshold3D (à gauche) et kmeans3D (à droite) pour les coupes 1, 50, 100, 150 du patient P01 F IGURE 6.3 – Comparaison des méthodes de segmentation BASIS (à gauche) et kmeans3D (à droite) pour les coupes 1, 50, 100, 150 du patient P01 F IGURE 6.4 – Comparaison des méthodes de segmentation FCSIS (à gauche) et kmeans3D (à droite) pour les coupes 1, 50, 100, 150 du patient P01 6.2 Tableau récapitulatif Temps calcul threshold 40s Qualité segmentation -- Intervention utilisateur Principaux nients inconvé- threshold3D 40s + KmeansSliceBySlice 1min ++ Kmeans3D 4min ++ BASIS (Logiciel LTSI) 4min + FCSIS (Logiciel LTSI) 4min ++ Nécessité de poser un point germe Temps de calcul (reste acceptable) Modèles déformables (Snakes ITK Snap) 5-20min ++ Nécessaire pour positionner la bulle mais aussi pour arrêter la croissance Temps de calcul /prétraitement Principaux Point forts Nécessaire au moins une fois sur le premier volume Nécessaire au moins une fois sur le premier volume / voir sur chaque volume de la séquence L’initialisation est faite une fois/ elle ne change pas d’un patient à l’autre L’initialisation est faite une fois/ elle ne change pas d’un patient à l’autre Nécessite intervention de l’utilisateur pour poser les points germes Qualité segmentation Rapide Intervention utilisateur Rapide Nécessiterait une régularisation spatiale Bon compromis rapidité/Qualité résultats Temps de calcul (reste acceptable) Qualité segmentation Intervention de l’utilisateur et nombre de points germes à poser Sélection d’une zone particulière sans post traitement/détection de plusieurs structures labellisées en même temps Faible intervention de l’utilisateur et bonne qualité de la segmentation surtout au niveau des contours Bonne qualité de segmentation et plus adaptée aux cas difficiles comme P00 Tableau récapitulatif des méthodes de segmentation du VG testées en 3D et bilan de leur résultats. * Les temps sont ceux obtenus avec ITK pour KmeansSliceBySlice et Kmeans3d et ceux obtenus avec Matlab pour threshold et threshold3D. Ces temps représentent les ordres de grandeur obtenus. Chapitre 6 6.3 EMSE 2010 Conclusion Les méthodes de segmentation ont toutes leurs avantages et leurs inconvénients (cf tableau précédent). Le choix de la méthode se fait donc en fonction des critères que l’on cherche à optimiser (qualité de la segmentation, temps de calcul, segmentation d’une zone particulière, méthode automatique...). Dans notre cas, la méthode kmeansSliceBySlice semble être un bon compromis entre ces différents paramètres. De fait, elle est rapide (de l’ordre de 1 minute pour segmenter un volume), la qualité de la segmentation est bonne, elle ne nécessite pas plus d’une fois l’intervention d’un opérateur (en tout cas sur les patients testés) et couplée à une pipeline VTK, relativement simple, elle permet d’extraire la zone d’intérêt. Une critique cependant porte sur sa régularité spatiale imparfaite, du fait que l’on n’introduit aucune notion de voisinage entre les pixels et sur le fait, que dans le cas d’un patient "difficile" (exemple du patient P00 pour qui les modes sont confondus), cette méthode ne peut pas marcher. Notons que la méthodes FCSIS développée au LTSI marche relativement bien principalement si l’on cherche à extraire les contours du VG. Au vue de l’étude réalisée et en se limitant à l’extraction du VG, les deux méthodes retenues sont kmeansSliceBySlice et FCSIS. Cependant pour des cas plus difficiles, l’utilisation d’algorithmes plus lourd (modèles déformables) pourront être utilisés mais leur utilisation ne peut être systématique (temps de calcul important/ intervention de l’utilisateur nécessaire). 73 6.3. CONCLUSION EMSE 2010 74 Chapitre 7 Autres travaux réalisés Plusieurs autres missions m’ont été confiées au cours de mon stage au LTSI. Cette partie présentes le résultats de certains de ces travaux. 7.1 Recadrage des volumes du patient P01 les volumes aux différents instants (00%-95%) sont décalés les uns par rapport aux autres ce qui est de façon évidente gênant si l’on veut étudier le mouvement ventriculaire. Ces discontinuités sont particulièrement visibles au niveau de l’apex ou des veines. Étude du format DICOM : On s’est intéressé au champ dans les fichiers DICOM contenant l’information sur la position absolue pour chaque image. Après étude il est identifié que l’information est donnée par le champ : 0020 1032 ImagePosition Une première étude sur les volumes à 00% et 05% a montré qu’une transformation affine était nécessaire. Celle-ci est une translation de vecteur (en mm) : −2.10 −0.80 −4.00 En exploitant cette information sur plusieurs volumes on remarque qu’en fait le décalage est toujours du même type entre les volumes pairs (00%, 10% ...) d’une part et ceux impairs (5%, 15% ...) d’autre part i.e qu’il faut appliquer la transformation affine à tous les volumes pairs pour les recadrer par rapport aux volumes d’indices impair. Sachant que l’ensemble des volumes provient de la superposition de deux acquisitions (volumes pairs d’une part, impairs d’autre part) sur deux cycles cardiaques successifs, on peut penser qu’entre les deux acquisitions il y a eu une modification de la fenêtre d’étude. Le recadrage est effectué pour tous les volumes pairs (00%, 10%,. . . ) ; On recadre donc les volumes pairs par rapport aux volumes impaires qui sont pris comme référence. Ceci peut être effectué à partir du filtre "Transform" du logiciel paraview ou en codant une fonction VTK qui réalise cette transformation (utilisation des filtres vtkTransformPolyDataFilter et vtkGeneralTransform ). La fonction VTK Transform est codée à cet effet. 75 7.1. RECADRAGE DES VOLUMES DU PATIENT P01 EMSE 2010 F IGURE 7.1 – Superposition des volumes à 00% et 05% avant recalage. On observe que les deux volumes ne se superposent pas. F IGURE 7.2 – Superposition des volumes segmentés à 00% et 05% après recadrage. On observe que les deux volumes se superposent. 76 Chapitre 7 7.2 EMSE 2010 Création d’un Viewer pour analyser les résultats de la segmentation Dans le but d’analyser les résultats des segmentations obtenues par les différentes méthodes, une petite application a été réalisée (ImageViewer). Cette application utilise la librairie VTK et permet de superposer, coupe par coupe, les résultats de la segmentation et les images initiales. Deux modalités sont offertes : superposer les images non segmentées avec les contours des images segmentées (a) ou les superposer avec les images pleines résultant de la segmentation (b). Dans le premier cas, l’utilisateur peut choisir l’épaisseur du trait pour les contours et dans le second cas l’utilisateur peut choisir la transparence associée aux images segmentées. (a) (b) F IGURE 7.3 – Utilisation d’ImageViewer pour superposer les images avec leur segmentation. 7.3 Recalage 2D-3D multimodale Pour comparer, à terme, les résultats obtenus à partir des deux modalités d’imagerie (échographie et scanner) il est nécessaire d’effectuer un recalage. Les images échographiques sont des images 2D alors que les images CT sont en 3D. Aussi l’objectif est d’arriver à trouver à quelle coupe du volume CT correspond l’image échographique. L’idée étant de pouvoir comparer les résultats (cinétique myocardique) obtenus à partir de ces deux modalités (étape de validation). A la fin de mon stage il m’a été demandé d’explorer les fonctionalités d’ITK permettant d’effectuer un tel recalage. Plusieurs points importants ont étés identifiés : • Le recalage multimodalités nécessite l’utilisation d’une métrique MI ("Mutual Information") • Pour éffectuer du recalage 2D-3D il faut considérer l’image 2D comme un volume 3D 77 7.3. RECALAGE 2D-3D MULTIMODALE EMSE 2010 d’épaisseur un pixel • Une transformation de type affine (rotations, translations, changements d’échelle) est à considérer Ce travail est maintenant poursuivi par un ingénieur d’étude qui reprend la suite de ce début de recherche. 78 C ONCLUSION Mon poste de travail se trouvait dans l’une des salles informatique du LTSI ; Nous étions six dans cette salle, à savoir : deux doctorants et quatre stagiaires. L’ambiance au sein du groupe a été exceptionnellement bonne, très conviviale. Ce dernier point a été déterminant quand au bon déroulement de mon stage. De fait, venant de Grenoble et n’ayant pas de famille sur Rennes ma grande crainte était de me sentir "seul" pendant quatre mois. Un autre point que j’ai beaucoup apprécié est la disponibilité des uns et des autres pour répondre aux questions de chacun. Les enjeux des travaux auxquels j’ai pris part étaient extrêmement intéressants. Travailler sur la caractérisation du mouvement myocardique avec pour finalité la création de nouveaux indicateurs utilisables par les médecins, fût la source de motivation première tout au long du stage. Lors de ce stage au LTSI, focalisé sur la segmentation du VG en imagerie scanner, j’ai été amené à codé de manière assez intensive ce qui correspondait bien à mes attentes, à ma volonté de me former à certaines librairies, techniques qu’il est nécessaire de connaitre, voire maitriser si l’on veut travailler dans le domaine de l’imagerie médicale. Pour ce qui est de mon projet professionnel, ma volonté de travailler dans le domaine de la bio ingénierie, et plus spécifiquement en imagerie médicale, est inchangée à ce jour. Néanmoins le stage m’aura permis de prendre conscience de deux choses importantes quant à mon orientation. L’informatique est un outil puissant mais j’aimerais néanmoins ne pas faire que de la programmation. Aussi j’espère pouvoir effectuer mon prochain stage plus en lien avec les machines d’acquisition d’images (scanne, IRM...), plus proche des principes physiques liés aux modalités d’observation. Le second point concerne la décision de continuer ou non sur un doctorat ; un des objectifs principaux de ce stage était de découvrir le milieu de la recherche en intégrant l’équipe ACTIVE du LTSI. Sur ce dernier point je reste assez indécis aujourd’hui, les points positifs et négatifs étant assez équilibrés de mon point de vue. Citons dans les plus l’intérêt scientifique, les enjeux de la recherche que l’on ne peut trouver, à mon avis, dans aucun autre métier. A l’opposé citons la solitude parfois pesante d’être seul face à son ordinateur pendant des heures, des jours. Pour conclure je dirai donc que mon expérience au sein du LTSI aura été très positive puisqu’elle m’aura permis d’apprendre beaucoup dans le domaine de l’imagerie médicale et qu’elle aura été l’occasion d’entrevoir ce qu’est le travail de chercheur, ce qu’est une thèse et de pouvoir mieux définir mon orientation pour mon stage de l’année à venir. 79 A NNEXE Annexe : Algorithmes programmés Programmes Matlab Plusieurs programmes Matlab sont codés : • fonction kmeans_dicom_iterative : kmeans appliqué à la segmentation d’images sur un certain nombre de clusters et avec une initialisation dynamique à chaque cycle de l’algorithme (dépendant des centroides trouvés à l’itération précédente). • fonction kmeans_dicom_3D : Application de l’algorithme des kmeans au Volume 3D directement. • fonction histo : tracé de l’histogramme de répartition des niveaux de gris pour une image DICOM passée en entrée. L’histogramme est lissé par un filtre moyenneur pour mieux exploiter ce dernier. • fonction histo3D : trace l’histogramme de répartition des niveaux de gris de tout le volume. • fonction threshold : applique un seuillage simple à une série d’images au format DICOM. Pipeline VTK SelectBiggestRegion Cet algorithme en C++ va aller lire un dossier contenant les images DICOM segmentées ou un volume mhd et va ensuite générer le contour de la pile d’images pour produire un volume 3D. On extrait ensuite la plus grande région du volume, ce qui revient, dans notre cas, à extraire le coeur (VG ou VG+VD). Le coeur ayant été extrait, il est enregistré en .vtk puis une fenêtre est ouverte pour le l’affichage du volume. A noter que le temps d’exécution est assez rapide (quelques secondes). Transform Cette pipeline VTK est utilisée pour le recalage des volumes de P01. Elle permet d’effectuer une translation en 3D, d’avoir un rendu visuel du résultat de la translation et d’enregistrer le volume translaté. ImageViewer Ce programme permet de superposer un volume avec sa segmentation pour en faire une analye coupe par coupe. Deux modes sont possibles : simplement superposer ces deux volumes avec une transparence modulable ou superposer uniquement les contours du volumes segmenté sur le volume initial. 81 7.3. RECALAGE 2D-3D MULTIMODALE EMSE 2010 Pipeline ITK Application des kmeans en utilisant ITK. L’idée est de pouvoir tout faire en C++ (liaison sortie du programme ITK/ entrée de la pipeline VTK). Deux fonctions sont programmées : la première va appliquer les l’algorithme des kmeans coupe par coupe (kmeansSliceBySlice) et la seconde au volume 3D directement (kmeans3D). Pipeline Mixte La pipeline ITKandVTK factorise les deux fonctions kmeansSliceBySlice et SelectBiggestRegion. 82 Bibliographie [Ada94] Adams et Bischof. Seeded region growing. IEEE Trans. Pattern Anal. Machine Intell., 16(6) :e641–e647, 1994. [DEL07] Régis DELAUNAY. Extraction de descripteurs mécaniques myocardiques á partir d’imagerie scanner multibarrette : Comparaison au spekle tracking imaging en echocardiographie. stage de master 2, September 2007. [Dig78] Digabel, H. and Lantuéjoul, C. Iterative algorithms. 2nd European Symp. Quantitative Abalysis of Microstructures in Material Science, pages e85–e99, 1978. Caen, France. [Fal00] Falco, A., Udupa, J. and Miyazawa, F. An ultra-fast user-steered image segmentation paradigm : Live wire on the fly. IEEE Transaction in Medical Imaging, 19(1) :e55–e62, 2000. [FLE08] Julien FLEUREAU. Intégration de données anatomiques issues d’images MSCT et de modèles électrophysiologique et mécanique du coeur. PhD thesis, Université de Rennes 1, Juillet 2008. [Fra01] Frangis, A., Niessen, W., and Viergever, M. Three-dimensional modeling for functional analysis of cardiac images : A review. IEEE Trans on Medical Imaging, 20(1) :e2–e25, 2001. [J. 09] J. Flereau, M. Garreau, D. Boulmier, C. Leclercq et A. Hernandez. Segmentation 3D multi-objets d’images scanner cardiaques : une approche multi-agents. IRBM, 30(3) :e104–e113, 2009. [JMA+ 08] Fleureau J, Garreau M, Simon A, Hachemani R, and Boulmier D. Assessment of global cardiac function in msct imaging using fuzzy connectedness segmentation. In International Conference on Computers in Cardiology, Bologne, Italie, sep 2008. [Mai92] Maier, S.E, Fisher, S.E, McKinnon, G.C, Hess, O.M, Krayenbuehl, H.P, et Boesiger,P. Evaluation of left ventricular segmental wall motion in hypertrophic cardiomyopathy with myocardial tagging. Circulation, 86(4) :e1919–e1928, 1992. [Mor97] Mor-Avi, V., Vignon, P., Koch, R., Weinert, L., Garcia, M., Spencer, K. and Lang, R. Segmental analysis of color kinesis images : new method forquantification of the magnitude and timing of endocardial motion during left ventricular systole and diastole . Circulation, 95 :e2082–e2097, 1997. [MT96] T. McInerney and D. Terzopoulos. Deformable models in medical image analysis : A survey. Medical Image Analysis, 1(2), 1996. [Roe00] Roerdink and Meijster. The watershed transform : Definitions, algorithms and parallelization strategies. FUNDINF : Fundamenta Informatica, page e41, 2000. 83 BIBLIOGRAPHIE EMSE 2010 [SIM05] Antoine SIMON. Extraction et caractérisation du mouvement cardiaque en imagerie scanner multibarrette. PhD thesis, Université de Rennes 1, Décembre 2005. [Tre01] Treece, G., Prager, R., Gee, A., and Berman, L. 3d ultrasound measurement of large organ volume. . Medical Image Analysis, 5 :e41–e54, 2001. [Udu96] Udupa and Samarasekera. Fuzzy connectedness and object definition : Theory, algorithms and applications in image segmentation. Graphical Models and Image Processing, 58(3) :e246–e261, 1996. [Udu06] Udupa, J. Image segmentation methodologies and their evaluation in medical imaging. Technical report, 7th IEEE EMBS International Summer School on Biomedical Imaging, 2006. 84 BIBLIOGRAPHIE EMSE 2010 Sites web utilisés Utilisés pour la partie bibliographique Wikipédia : http ://fr.wikipedia.org/wiki/Insuffisance_cardiaque Wikipédia : http ://fr.wikipedia.org/wiki/C%C5%93ur Wikipédia : http ://fr.wikipedia.org/wiki%C3%89chocardiographie Wikipédia : http ://fr.wikipedia.org/wiki/MATLAB Imagerie Scanner : http ://runphym.free.fr/NewFiles/scan.html Article EM consulte : http ://www.em-consulte.com/article/138019 Le système circulatoire : http ://www.freewebs.com/sciencevtt/systeme_circulatoire.html Les systèmes de coordonnées : http ://www.slicer.org/slicerWiki/index.php/Coordinate_systems Forums et documentations Forum ITK : http ://old.nabble.com/ITK-f14223.html Forum VTK : http ://vtk.1045678.n5.nabble.com Wiki ITK : http ://www.itk.org/Wiki/ITK Wiki VTK : http ://www.cmake.org/Wiki/VTK Documentation ITK : http ://www.itk.org/Doxygen318/html/index.html Documentation VTK : http ://www.vtk.org/doc/nightly/html/ Site ITK : http ://www.itk.org/ Site VTK : http ://www.vtk.org/ insight journal : http ://www.insight-journal.org/ ITK snap : http ://www.itksnap.org/pmwiki/pmwiki.ph Manuel ITK : http ://www.itk.org/ITK/help/documentation.html Site Matlab : http ://www.mathworks.com/products/image/ Logiciels téléchargés ITK snap : http ://www.itksnap.org/pmwiki/pmwiki.php paraview : http ://www.paraview.org/ plugins pour ImageJ : http ://ij-plugins.sourceforge.net/ Slicer : http ://www.slicer.org/ site du LTSI http ://www.ltsi.univ-rennes1.fr/ ?q=node/7 85