UNIVERSITE LIBANAISE FACULTE DE GENIE BRANCHE 1 No d'ordre 81/1731/G1-EE/2012 PROJET DE FIN D’ÉTUDES Réalisé par Chaza Chahine Pour obtenir le Diplôme Ingénieur en Électricité et Électronique Option Télécommunication et Informatique Etude de la fonction contractile du muscle cardiaque en IRM Dirigé par: Dr. Bachar El Hassan Dr. Racha El Berbari Soutenu devant le jury: Dr. Bassam El Eter Dr. Mohammad Khalil Dr. Youssef Daher Session Juillet 2012 Chaza Chahine – Projet de Fin d’Etudes Remerciement Je tiens à remercier premièrement mes deux encadrants, Dr. Racha El Berbari et Dr. Bachar El Hassan pour l’aide, les conseils, les idées et la supervision de chaque étape durant quatre mois, c’est à eux revient la plus grande partie du succès de ce projet. Je remercie également l’équipe du laboratoire LIF et de l’hopital HEGP que j’ai travaillé avec, comme il a assuré la base de données et le logiciel PAMM nécessaires pour l’avance du travail. Des grandes gratitudes pour le département électricité et électronique de la faculté de génie à l’université Libanaise, docteurs et directeur, Dr. Haytham Ziade, pour leurs efforts et leur support durant ces trois ans, c’est grâce à leur dévouement que je suis maintenant là. Je tiens en plus à exprimer mon respect pour cette faculté, au directeur précédent Dr. Clovis Francis qui était le directeur de cette faculté durant mes quatre premières années; et au directeur Dr. Chayban Haykal, sans vous c’était impossible l’arrivée à ce niveau, le niveau d’ingénierie. Un autre remerciement va spécialement à Dr. Mohamad Khalil, directeur de l’école doctorale, pour ouvrir l’opportunité du master de recherche en double cursus, d’où ce projet fait partie. J’apprécie mes docteurs, les membres de mon jury, Dr. Youssef Daher, Dr. Mohamad Khalil et Dr. Bassam El-Eter pour accepter l’évaluation de mon travail. Votre évaluation et vos remarques constructives ont ajouté un plus à mon travail et vont m’aider à évoluer. Je remercie mes amis et mes collègues, Sarah C, Joelle, Marwa, Hiba, Nisrine, Nour, Sarah S, Dany, Obada, Ahmad, Diala, Mira, Taghrid, Saeid et Jean ; pour tout bon moment et souvenir, tout aide, support moral et encouragement. Finalement tout mon succès et tous mes travaux ne pouvaient jamais être accomplis sans l’aide et le soutient de mes parents, ma mère et mon père, c’est à vous que je dédie ce succès et tout succès jusqu’à la fin de ma vie! Chaza Chahine – Projet de Fin d’Etudes A ma famille...… Chaza Chahine – Projet de Fin d’Etudes Chaza Chahine – Projet de Fin d’Etudes Résumé Le ventricule gauche joue un rôle principal dans le fonctionnement du cœur, comme il pompe le sang vers tous les organes du corps durant le cycle cardiaque ; mais malheureusement le muscle cardiaque peut être attaqué par plusieurs maladies. Le diagnostic de ces maladies se fait visuellement en routine clinique par un expert, cette tâche s’avère fastidieuse, d’où la nécessité d’introduire des outils automatiques permettant la quantification des paramètres de la fonction contractile du cœur. PAMM (Parametric Analysis of Main Motion), un logiciel développé au sein du laboratoire d’imagerie fonctionnelle (LIF)-INSERM U678, permet d’obtenir des images paramétriques en amplitude et temps à partir des images dynamiques IRM, utilisées pour l’estimation de la vitesse radiale et le temps moyen de contraction ; des indices qui permettront la différenciation entre les différentes maladies cardiaques. Une des limitations de ce logiciel réside dans la difficulté de l’estimation de la vitesse radiale sur toutes les images. Le but de ce projet consiste à améliorer cette estimation, en éliminant l’effet patient introduit dans chaque image. Chaza Chahine – Projet de Fin d’Etudes Chaza Chahine – Projet de Fin d’Etudes Abstract The left ventricle plays a major role in the functioning of the heart, as it pumps blood to all body organs during the cardiac cycle, but unfortunately the heart muscle can be attacked by several diseases. The diagnosis of these diseases can be done visually by an expert in clinical routine; this task is tedious, hence the need to introduce automated tools for the quantification of parameters estimating the heart contractile functions. PAMM (Parametric analysis of main motion), a software developed in the INSERUM U678-LIF laboratory, allows obtaining parametric images of amplitude and time from dynamic MR images used for the estimation of radial velocity and mean time of contraction, helping to distinguish between different cardiac diseases. A limitation of this software was the difficulty estimating the radial velocity on all images. The main goal of this project is to improve this estimation, eliminating the patient effect introduced in each image. Chaza Chahine – Projet de Fin d’Etudes Table des matières Introduction générale et cahier de charge .………….……………………………………4 1. Morphologie cardiaque ……………………………………………………………......6 1.1.Introduction …………………………………………………………………………6 1.2.Cycle cardiaque ……………………………………………………………………..9 1.3.Maladies cardiaques …………………………………………………………….......11 1.3.1. L’hypertrophie cardiaque ……………………………………………….......11 1.3.2. Insuffisance cardiaque ou défaillance cardiaque …………………………....12 2. Acquisition des images et base de données …………………………………………...14 2.1.Niveaux de coupe ……………………………………………………………….......14 2.2.Types d’acquisition ……………………………………………………………........16 2.3.Fichier DICOM ……………………………………………………………………..17 2.4.Base de données …………………………………………………………………….18 3. Etude dynamique de la fonction contractile du cœur …………………………….....20 3.1.Segmentation du ventricule gauche ……………………………………………........20 3.2.Etude dynamique et PAMM ………………………………………………………...21 3.3.Implémentation de PAMM sur la BDD ……………………………………………..23 3.3.1. Estimation de la vitesse et temps moyen de contraction ...…………………..24 3.4.Estimation de la vitesse et temps moyen pour la BDD ……………………………...25 4. L’étude du contraste et son effet sur l’étude paramétrique ……………………….....28 4.1.Calcul du contraste …………………………………………………………………...28 4.1.1. Différence de moyennes ……………………………………………………...28 4.1.2. Root Mean Square (RMS) ……………………………………………………29 4.2.Hypothèse concernant la variation de contraste pour un sujet normal ………….........29 4.2.1. Etude expérimentale de la variation du contraste cavité-myocarde …..……...32 4.3.Effet de contraste sur l’étude paramétrique …………………………………….........32 Conclusion et perspective …………………………………………………………….....35 Références ………………………………………………………………………………..38 Annexe I ………………………………………………………………………………….40 Annexe II …………………………………………………………………………………48 Annexe III ………………………………………………………………………………..52 Chaza Chahine – Projet de Fin d’Etudes Page 1 Chaza Chahine – Projet de Fin d’Etudes Page 2 Table des figures Fig. 1.1 .………….…………………………………………………………………………..6 Fig. 1.2 ………………………………………………………………………………………7 Fig. 1.3 ………………………………………………………………………………………8 Fig. 1.4 ……………………………………………………………………………………....9 Fig. 1.5 ………………………………………………………………………………………10 Fig. 1.6 ………………………………………………………………………………………10 Fig. 1.7 ………………………………………………………………………………………11 Fig. 2.1 ……………………………………………………………………………………....14 Fig. 2.2 ………………………………………………………………………………………15 Fig. 2.3 ………………………………………………………………………………………16 Fig. 2.4 ………………………………………………………………………………………17 Fig. 3.1 ………………………………………………………………………………………20 Fig. 3.2 ………………………………………………………………………………………21 Fig. 3.3 ………………………………………………………………………………………24 Fig. 3.4 ………………………………………………………………………………………24 Fig. 3.5 ………………………………………………………………………………………25 Fig. 4.1 ………………………………………………………………………………………29 Fig. 4.2 ………………………………………………………………………………………30 Fig. 4.3 ………………………………………………………………………………………30 Fig. 4.4 ……………………………………………………………………………………....31 Fig. 4.5 ………………………………………………………………………………………32 Chaza Chahine – Projet de Fin d’Etudes Page 3 Introduction générale et cahier de charge Les avancées technologiques modernes dans le domaine biomédical, ont résolu beaucoup de problèmes médicaux et ont conçu des instruments, des systèmes et des méthodes qui facilitent le travail des docteurs et professeurs dans les hôpitaux. L’un de ces outils est l’automatisation, la conception d’un système qui peut donner des résultats validés par un expert, ait l’avantage d’être plus précis, plus fiable et surtout plus rapide. L’analyse quantitative des images cardiaques est essentielle pour le diagnostic des maladies pouvant attaquer le muscle myocardique. Beaucoup de paramètres peuvent être extraits de ces images selon la technique et la modalité utilisée. L’une des modalités les moins invasives est l’imagerie par résonnance magnétique ou IRM qui est une technique qui permet l’acquisition des images fonctionnelles et anatomiques. L’IRM cardiaque est utilisée comme méthode standard pour la détection des pathologies cardiaques et l’étude de la fonction contractile du ventricule gauche. Un logiciel PAMM (Parametric Analysis for Main Motion), permettant d’obtenir des images paramétriques en amplitude et temps, pour l’estimation de la vitesse radiale de contraction du ventricule gauche ; et le temps moyen de cette contraction sera utilisé. Les indices extraits de ces images ; vitesse et temps moyen, permettent de séparer entre les maladies, ce qui va être expliqué plus clairement dans les chapitres suivants. Le but principal de notre travail, est d’améliorer les résultats obtenus par la méthode automatique afin que la concordance entre les indices quantitatifs et l’évaluation de l’expert soit la meilleure possible. Dans le premier chapitre, un aspect clinique sera présenté en introduisant brièvement la morphologie du cœur, le cycle cardiaque et les différentes maladies qui peuvent attaquer le muscle cardiaque. Dans le deuxième chapitre, différentes méthodes d’acquisition d’images en IRM cardiaque seront présentées ainsi qu’une description de la base de données sur laquelle cette étude a été faite. Dans le troisième chapitre on va parler de l’étude dynamique de la fonction contractile du cœur en utilisant le logiciel PAMM (Parametric Analysis for Main Motion). Alors que dans le dernier chapitre, on va parler de l’effet patient qui est introduit par un contraste spécifique de l’image de chaque patient. Ensuite une présentation des résultats de l’étude dynamique en introduisant cet effet dans l’estimation des indices quantitatifs ; vitesse radiale et temps moyen de contraction poursuivra. On finit par une conclusion à propos du travail effectué dans ce projet. Chaza Chahine – Projet de Fin d’Etudes Page 4 Chaza Chahine – Projet de Fin d’Etudes Page 5 Chapitre 1: Morphologie cardiaque La morphologie du cœur, le cycle cardiaque et les différents types de maladies cardiaques, constituent les trois parties essentielles de ce premier chapitre. 1.1- Introduction Venant du mot grec « cardia » le cœur est le moteur du système circulatoire. Il se situe dans la partie médiane antéro-inférieur du corps, 2/3 à gauche et 1/3 à droite de la ligne médiane, c’est dans la partie médiane de la cage thoracique, limité par les poumons, le sternum et la colonne vertébrale. Le cœur est un organe creux et musculaire, mesure de 14 à 16 cm et dont le diamètre varie entre 12 à 14 cm. Il est formé de quatre chambres : les deux oreillettes, oreillette gauche (OG), oreillette droite (OD) et les deux ventricules, ventricule gauche (VG) et ventricule droit (VD). (Fig.1.1) Oreillette gauche Oreillette droite Ventricule gauche Ventricule droit Fig. 1.1 : Les quatre chambres du cœur Les ventricules cardiaques, VD et VG, ont pour rôle de pomper le sang vers les poumons et les autres organes du corps respectivement. Chaza Chahine – Projet de Fin d’Etudes Page 6 Dans la partie suivante (1.2), on va parler à propos du rôle des ventricules dans le cycle cardiaque. Ce qui nous importe maintenant est le fait que le ventricule gauche est la machine pompant principale du cœur. Comme celle-ci pompe le sang vers tous les organes du corps en exerçant une force plus grande que le ventricule droit. [1] Les images prises du cœur, sont le résultat d’une coupe petit axe, d’une coupe grand axe deux cavités ou d’une coupe grand axe quatre cavités qu’on on va expliquer dans ce qui suit. - Une coupe petit axe, est une coupe perpendiculaire à l’axe du cœur, le résultat d’une telle coupe est une image présentant les deux oreillettes (OD & OG) ou les deux ventricules (VD & VG). (Fig. 1.2.a) - Une coupe grand axe deux cavités, est une coupe longitudinale qui donne une image présentant deux cavités d’un même côté, oreillette droite et ventricule droit ou oreillette gauche et ventricule gauche (Fig. 1.2.b) Alors qu’une coupe grand axe quatre cavités, est une coupe longitudinale qui présente les quatre cavités (OD & OG & VD & VG) (Fig. 1.2.c) - (a) (b) (c) Fig. 1.2 : (a) : coupe petit axe, présente VD & VG ; (b) : coupe grand axe deux cavités, présente OG & VG [2] ; (c) : coupe grand axe quatre cavités, présente les quatre cavités constituant le cœur. Dans cette étude, on s’intéresse à la coupe petit axe, et plus précisément au ventricule gauche. On note que le ventricule gauche est formé du myocarde ou muscle cardiaque (le contour interne du myocarde est l’endocarde, alors que le contour externe est l’epicarde (Fig. 1.3.b), de la cavité et des muscles papillaires ou piliers comme montre la figure suivante. (Fig.1.3.a) Chaza Chahine – Projet de Fin d’Etudes Page 7 Piliers Cavité Myocarde (a) Epicarde Endocarde (b) Fig. 1.3 (a) : Coupe grand axe montrant les éléments dont est formé le ventricule gauche ; (b) : Image IRM montrant les deux contours endocarde et epicarde Chaza Chahine – Projet de Fin d’Etudes Page 8 1.2- Cycle cardiaque Durant son passage par les différents organes du corps, le sang sera appauvri en dioxygène, il arrive à l’oreillette gauche par la veine cave supérieure et inférieure. Puis, passant par la valve tricuspide, il arrive au ventricule droit, qui pompe le sang vers les poumons à travers les artères pulmonaires. Dans les poumons, le sang, perd le dioxyde de carbone, et sera enrichi en dioxygène, passe par les veines pulmonaires vers l’oreillette gauche, par suite traverse la valve mitrale vers le ventricule gauche qui, en fin, pompe le sang vers tous les organes du cops (excepté les poumons) par l’artère aorte (Fig.1.4) Fig. 1.4 : coupe longitudinale légendée d’un cœur Le ventricule gauche exerce une force plus grande que celui droit, afin de pomper le sang vers tous les organes du corps, et par suite il est le plus massif. [3] Le cycle cardiaque est formé de 3 étapes : la systole auriculaire, la systole ventriculaire et la diastole. 1) Au cours de la systole auriculaire, les oreillettes se contractent en éjectant le sang vers les ventricules. 2) Alors qu’au cours de la systole ventriculaire, les ventricules se contractent en expulsant le sang vers le système circulatoire. 3) Durant la diastole, le cœur est en relaxation complète, les ventricules et les oreillettes se remplissent doucement du sang. (Fig.1.5) Chaza Chahine – Projet de Fin d’Etudes Page 9 Fig. 1.5 : Les 3 phases ; diastole et systole (auriculaire & ventriculaire) Le cœur passe 2/3 d’un cycle complet en diastole et 1/3 en systole, où un cycle cardiaque dure de 0.8 seconde en moyenne (60 à 80 battements par minute au repos) (Fig.1.6) En notant que l’ECG enregistre l’activité électrique qui commande le muscle cardiaque durant chaque cycle. Voici un schéma illustrant la relation entre l’électrocardiogramme ECG et les deux phases systole et diastole. Fig. 1.6 : Relation ECG – Systole, Diastole Chaza Chahine – Projet de Fin d’Etudes Page 10 1.3- Maladies cardiaques : Les maladies cardiaques sont nombreuses, infarctus du myocarde, cardiomyopathie, insuffisance cardiaque, trouble de la conduction cardiaque, hyper et hypotension artérielle, tumeurs et autre, mais nous sommes intéressés par l’étude de l’hypertrophie et de l’insuffisance cardiaque. 1.3.1- L’hypertrophie cardiaque : Elle se manifeste par une augmentation volumique du muscle cardiaque. Cette maladie peut parvenir dans plusieurs cas, dont on cite : - Lors d’une pratique d’un sport - Héréditaire - Favorisée par des substances hormonales - Suite à la prise des médicaments - Chez certains diabétiques - Lors des troubles de la viscosité sanguine - Suite à une insuffisance cardiaque et hypertension artérielle qui peut conduire à une augmentation atonique des cavités du cœur. [4] L’hypertrophie cardiaque et plus précisément l’hypertrophie ventriculaire gauche (HVG) (fig.1.7) peut conduire à une mort subite. Augmentation du myocarde Fig. 1.7: Coupe petit axe présentant une hypertrophie ventriculaire gauche désignée par une augmentation volumique du ventricule gauche. Chaza Chahine – Projet de Fin d’Etudes Page 11 1.3.2- Insuffisance cardiaque ou défaillance cardiaque : Elle se manifeste par la difficulté à pomper le sang d’une manière efficace, et donc par une insuffisance de la quantité de sang nécessaire à un fonctionnement normal des organes du corps. Elle peut être causée par : - Hypertension Tabagisme Hyperlipidémie (Cholestérol et triglycérides) Diabète Suite à la consommation des aliments riches en sel Suite à une inactivité physique Suite à une obésité Suite à l’abus d’alcool Etc… [5] La forme la plus fréquente de cette maladie, est l’insuffisance cardiaque gauche. Il est à noter que l’insuffisance cardiaque peut être ou pas accompagnée par un infarctus du myocarde ou crise cardiaque. Lors de cet infarctus, un arrêt d’une artère prive le tissu musculaire de l’oxygène, lorsque ce manque d’apport d’oxygène devient grave il entraine la mort des cellules du muscle cardiaque. Chaza Chahine – Projet de Fin d’Etudes Page 12 Chaza Chahine – Projet de Fin d’Etudes Page 13 Chapitre 2: Acquisition des images et base de données L’idée principale de ce chapitre est premièrement de parler des différents niveaux de coupe sur lesquels l’acquisition sera faite, ainsi de définir les deux types d’acquisition d’images en IRM qui nous importent, acquisition ciné et acquisition en rehaussement tardif. Ensuite, une présentation du fichier DICOM et les éléments principaux qui le constituent poursuivra. Finalement on parle de la base de données des patients sur laquelle on a fait l’étude. 2.1- Niveaux de coupe : Lors de l’acquisition des images petites axes, 3 niveaux de coupe seront principalement sélectionnées perpendiculairement à l’axe du cœur. Commençant par le niveau basal pris vers la base du cœur, à l’interface entre oreillettes et ventricules, passant par le niveau médian pris vers la moitié du cœur pour ensuite finir par le niveau apical, pris vers l’apex ou la pointe du cœur. (Fig. 2.1) En tenant compte du fait que chaque niveau de coupe, est une coupe petite axe, on peut donc voire les deux chambres, ventricule droit et ventricule gauche. (Fig. 1.2) Niveau basal Niveau médian Niveau apical Fig. 2.1 : Les différents niveaux de coupe petite axe - Niveau basal : le niveau basal, est le niveau de coupe qui sépare les oreillettes des ventricules, dans ce niveau de coupe, parait les deux ventricules VD et VG, sans l’apparition des piliers spécialement dans le ventricule gauche. (Fig. 2.2.a) Une coupe trop basale, donne une image dont les oreillettes et les ventricules seront non séparables et donc elle n’est pas trop utile au traitement. (Fig. 2.2.b) Chaza Chahine – Projet de Fin d’Etudes Page 14 - Niveau médian : le niveau médian, peut être pris au milieu des ventricules. On peut supposer que le niveau médian commence lorsque les piliers commencent à apparaitre dans le ventricule gauche, et se termine lorsque les piliers commencent à disparaitre, c’est à ce moment que le niveau apical commence. (Fig. 2.2.c) - Niveau apical : le niveau apical est le niveau où le cœur commence à atteindre son extrémité la plus basse. Les deux ventricules apparaissent avec une petite taille et moins clairs. (Fig. 2.2.d) Une coupe trop apicale est de même non traitable. (Fig. 2.2.e) (a) (b) (d) (c) (e) Fig. 2.2 : (a) : coupe basale ; (b) : coupe trop basale ; (c) : coupe médiane (piliers en noir dans les cavités) ; (d) : coupe apicale ; (e) : coupe trop apicale. Chaza Chahine – Projet de Fin d’Etudes Page 15 2.2- Types d’acquisition : Comme on a déjà mentionné, notre étude était dans le cadre de deux types d’acquisition, l’acquisition ciné et l’acquisition en rehaussement tardif. Dans le paragraphe suivant, on va expliquer ces deux types d’acquisition. - Acquisition ciné : le cœur sera, donc, divisé en plusieurs niveaux de coupe allant de l’apex vers la base, et pour chaque niveau, l’acquisition se fait sur tout le cycle cardiaque contenant systole et diastole, en divisant le cycle cardiaque en un nombre de phase allant de 20 à 25 phases. C'est une acquisition dynamique qui peut montrer le mouvement du cœur, plus précisément, le mouvement du myocarde, commençant par la télédiastole, et passant par les phases systole et diastole. (Fig. 2.3) Fig. 2.3 : Acquisition ciné pour un patient normal, la figure montre un seul niveau de coupe (basal) où le cycle cardiaque est divisé en 20 phases. Chaza Chahine – Projet de Fin d’Etudes Page 16 - Acquisition en rehaussement tardif : dans le cas de l’acquisition en rehaussement tardif, un produit de contraste est injecté dans le but de pouvoir séparer les régions saines du myocarde des régions ayant une pathologie plus spécialement un infarctus. L’étude commence typiquement 10 à 15 minutes après l’injection de l’agent de contraste (gadolinium), et cette étude est statique, c.à.d. se fait sur un seul temps. Les tissus pathologiques contiennent après ces 10 minutes, une quantité du produit de contraste plus grande que celle contenue dans les tissus sains, car ces dernières éliminent cet agent plus rapidement. 10 minutes après l’injection du produit de contraste, les tissus normaux auront évacués leur produit alors que les tissus pathologiques caractérisés par un fonctionnement plus lent, n’auront pas le temps d’évacuer leur produit. Ce qui fait qu’après les 10 minutes le produit restera dans les tissus pathologiques qui apparaîtront rehaussés en niveau de gris sur l’image acquise ; d’où le nom de l’acquisition : Rehaussement tardif. [6] Ce type d’imagerie donne la possibilité de connaître la taille et la position de l’infarctus. (Fig. 2.4) Fig. 2.4 : une image montrant un infarctus du myocarde 2.3- Le fichier DICOM : DICOM pour « Digital Imaging and Communication in Medicine », est une norme utilisée par la plupart des fabricants des matériels médicaux. Chaza Chahine – Projet de Fin d’Etudes Page 17 Ce format assure la communication entre les différents équipements, et il suit des directives établies par ISO. Chaque fichier DICOM est composé d’images acquises et de données concernant le patient, données liées à l’acquisition et même à la machine. Et voici par la suite quelques exemples qu’on peut trouver dans un fichier DICOM (source : l’un des patients de notre base de données) - Filename Width - Height AcquisitionDate PatientName PatientBirthDate PatientSex SliceThickness ImagingFrequency TriggerTime HeartRate CardiacNumberOfImages SpacingBetweenSlices InstitutionName … Le format DICOM ne peut être lu directement que par un logiciel spécial installé sur les machines à l’hôpital, pour pouvoir utiliser les données de ces fichiers, on a transformé le fichier DICOM en un fichier « .mat », on a écrit pour cela un code sous Matlab et on a extrait tous les données utiles des fichiers médicaux. (Annexe I) 2.4- Base de données : La base de données traitée lors de ce projet consiste en les images « Cine-IRM » de 45 sujets répartis comme suit : - 9 normaux 12 patients souffrant d’une hypertrophie 12 patients souffrant d’une insuffisance cardiaque sans infarctus 12 patients souffrant d’une insuffisance cardiaque avec infarctus. Cette base de données est fournie par le service de cardiologie de l’hôpital Européen Georges Pompidou (HEGP) à paris avec qui ce projet est en collaboration. Chaza Chahine – Projet de Fin d’Etudes Page 18 Chaza Chahine – Projet de Fin d’Etudes Page 19 Chapitre 3 : Etude dynamique de la fonction contractile du cœur Dans ce chapitre on se met dans le cadre de l’étude dynamique du cœur qui permet d’étudier la fonction contractile du muscle cardiaque, en estimant la vitesse radiale de contraction et temps moyen de contraction. Cette étude se fait à l’aide du logiciel PAMM développé au sein du laboratoire LIFINSERM U678-Universite Paris VI. 3.1- Segmentation du ventricule gauche : Premièrement il est à noter que le ventricule gauche sur chaque coupe (en prenant seulement l’image télédiastolique, où le cœur est en repos au maximum et la cavité et le myocarde possèdent le maximum de surface et les composants du cœur sont tous clairs) est divisé en six segments égaux. [7] [8] On prend un point « p0 » qui est le barycentre de la cavité et un point « p1 » qui est l’intersection du myocarde (ventricule gauche) avec le ventricule droit (Fig. 3.1.a) Et on dessine par la suite le nombre de segments voulu, en partant du premier segment qui lie les deux points « p0 » et « p1 ». (Fig. 3.1.b) Le but principal de cette segmentation est de localiser la maladie lors de l’estimation de la fonction contractile du cœur, on peut savoir quel segment est attaqué et par suite l’artère responsable de la maladie. (a) (b) Fig. 3.1 : (a) Figure montrant les deux points « p0 » et « p1 » chez l’un des patients normaux sur l’un des niveaux de coupe ; (b) Exemple de la division du ventricule gauche en 6 segments. Chaza Chahine – Projet de Fin d’Etudes Page 20 3.2- Etude dynamique et PAMM : PAMM venant de « Parametric Analysis for Main Motion » [8] est un logiciel qui est utilisé pour calculer l’amplitude et le temps du mouvement du myocarde pour une série d’images dynamique sur un seul cycle cardiaque, donc PAMM est appliqué sur chaque niveau de coupe en étudiant toutes les images sur ce niveau qui forment par la suite un cycle cardiaque complet. (Annexe II) L’utilisation de PAMM suppose une différence de contraste élevée entre cavité et myocarde pour pouvoir distinguer entre ces deux par deux intensités différentes du signal. Pour un point « p » sur l’image télédiastolique d’un niveau, localisé dans la cavité et proche du myocarde, lors du mouvement du cœur la position de ce point varie entre cavité et myocarde ce qui implique que l’intensité, en niveau de gris, du signal en ce point varie durant le cycle cardiaque, intense au début, puis sera plus foncé quand le point se trouve dans la myocarde, et finalement « p » revient dans la cavité et possède par la suite une grande amplitude, cette transition peut être illustrée par une fonction porte, dont on peut indiquer les deux temps « TON » et « TOFF », début et fin de contraction respectivement. (Fig. 3.2) TOFF TON Fig. 3.2: Fonction porte qui présente la variation d’intensité du point « p » choisit lors de la contraction du cœur (durant un cycle cardiaque). [9] Pour chaque pixel « p » on obtient, à partir de la variation d’intensité durant un cycle cardiaque complet, deux paramètres d’amplitude « AV » et « AB » et deux paramètres temporels « TON » et « TOFF ». On va essayer d’expliquer la courbe de variation d’intensité pour le pixel « p » fixe dans la cavité et proche du myocarde. Quand la contraction commence, le point « p » d’intensité forte, comme étant dans la cavité qui est plus claire, subit une diminution d’intensité au moment où sa position sera dans le Chaza Chahine – Projet de Fin d’Etudes Page 21 myocarde, dont l’intensité du signal est plus faible. On aura donc le temps de transition « TON » qui est donc le temps du début de contraction (phase systolique). La contraction se termine, et la relaxation du ventricule gauche commence, par suite la position du pixel « p » va subir une variation, cette fois, du myocarde vers la cavité, donc d’une position où l’intensité est plus faible vers la position dont l’intensité est plus forte. On obtient le temps de transition « TOFF » qui indique la fin de la contraction (phase diastolique). À propos de l’amplitude, l’amplitude initiale du pixel « p » dans la cavité est l’amplitude de base notée « AB », la variation en niveau de gris du pixel « p » lors du mouvement du cœur est notée « AV ». (Fig. 3.2) Ces quatre paramètres, d’amplitude et de temps, sont sauvegardés en quatre images paramétriques ; les deux images d’amplitude sont par la suite combinées en une image paramétrique trois couleurs, « AB » sera codée en couleur verte, « AV » soit en rouge soit en bleue selon le mouvement du myocarde (rouge pour un mouvement vers l’intérieur (valeur positive), bleue pour un mouvement vers l’extérieur (valeur négative)). A propos des deux images paramétriques de temps, elles sont combinées pour donner une image de temps de transition moyen, notée « TM », où TM = (TON + TOFF)/2 (qui sera normalisé par la durée du cycle cardiaque). Alors ces deux images paramétriques obtenues, seront analysées par un expert et l’interprétation est basée surtout sur la bande entourant la cavité du ventricule gauche. Un mouvement normal est donné pour les segments où une large bande rouge entoure la cavité. Le mouvement des segments dont une mince bande rouge entoure la cavité, indiquent un mouvement de contraction réduit et est qualifié d’hypokinétique. De même, ceux entourés par une bande jaune/verte indiquent un mouvement de contraction plus long. Alors que le mouvement des segments entourés par une bande bleue est qualifié de dyskinétique. Autre que l’interprétation visuelle, un indice quantitatif est estimé. Pour chaque segment un profil rouge et bleu « Prb » est calculé en se basant sur l’image paramétrique « AV » ; un autre profil vert « Pg » est estimé de l’image paramétrique « AB ». Pour chaque segment du myocarde, la surface au-dessus du profil « Prb » limitée par la valeur maximale du profil « Pg » est définit comme l’index quantitatif d’amplitude « Inda ». La transition moyenne de tous les pixels de l’image est à peu près la même, par suite le pixel qui a une haute prédominance de mouvement donne l’indice de temps moyen « Indtm ». Ces deux indices sont combinés en un indice « Indc » (Indc = Inda/Indtm) définit donc le rapport entre l’amplitude et le temps moyen de transition. Cet indice, par définition, augmente avec la sévérité des anormalités du mouvement du myocarde. Chaza Chahine – Projet de Fin d’Etudes Page 22 Afin de séparer entre les différentes anormalités, deux seuils, « TH1 » et « TH2 » sont calculés, en traitant plusieurs lots des patients. Et la différenciation des anormalités sera comme suit : Indc < 0 0 < Indc < TH1 TH1 < Indc <TH2 Indc>TH2 Dyskinésie Akinésie Hypokinésie Normal La comparaison entre les résultats visuels (images IRM) et les résultats donnés selon le traitement cidessus, prend en considération trois paramètres, l’accord absolu ; l’accord relatif et le coefficient quadratique pondéré Kappa. Le coefficient d’accord absolu est le pourcentage des segments qui donnent le même résultat en utilisant les deux techniques. Celui d’accord relatif est définit comme étant le pourcentage des segments dont la différence des résultats entre les deux techniques ne dépasse pas 1 (|score de référence – score automatisé | ≤ 1). Alors que le coefficient Kappa est supposé faible s’il est < 0.2 ; équitable s’il varie entre 0.21 et 0.4 ; modéré s’il varie entre 0.41 et 0.6 ; bon entre 0.61 et 0.8 et très bon s’il est >0.81. Dans notre projet, on n’a pas la chance d’avoir l’évaluation visuelle de l’expert (qui est à paris), on se contente a cet étape de comparer le pourcentage de segments sur lesquelles la vitesse radiale ; étant considérée comme paramètre faible de PAMM ; sans ou avec introduction de l’effet patient. Cette méthode a été implémentée en échocardiographie [9] mais aussi en IRM, ou des études récentes [10] [11] ont mis à jour cette méthode pour l’application sur les images en IRM cardiaque. 3.3- Implémentation de PAMM sur la BDD : L’implémentation du logiciel PAMM sur notre base de données, qui donne une estimation de la vitesse et du temps moyen, présente des segments qui ne sont pas estimés, spécialement pour le cas de la vitesse. L’objectif principal est de pouvoir estimer la vitesse sur un nombre de segments plus grand. Les méthodes implémentées pour améliorer l’estimation, surtout de la vitesse, sont discutées dans le chapitre suivant. Premièrement on prend l’exemple du sujet normal numéro 5, qui possède huit niveaux de coupes, dont on trace les contours endocardique et épicardique sur les images télédiastoliques correspondantes. On présente les images paramétriques obtenues sur le quatrième niveau de coupe, lors du lancement du logiciel PAMM pour ce sujet. (Fig. 3.3) Chaza Chahine – Projet de Fin d’Etudes Page 23 Tdeb -Slice=4 Av -Slice=4 Tmoy -Slice=4 60 60 60 50 50 50 40 40 40 30 30 30 20 20 20 10 10 10 0 0 (a) 0 (b) (c) Fig. 3.3 : (a) : image paramétrique du temps de début, sur le quatrième niveau de coupe pour le sujet Tdebut (ms) normal numéro 5 ; (b) : image paramétrique du temps moyen ; (c) : image paramétrique d’amplitude 200 Av 3.3.1- Estimation de la vitesse100et temps moyen de contraction Vitess 100 150 Les résultats obtenus 200 lors de l’application de PAMM sont utilisés dans l’estimation200de la vitesse et du temps moyen de contraction. On utilise la présentation en Bullseye, pour rendre les 100 résultats plus lisibles et faciles 300 à interpréter. 300 Cette présentation consiste à projeter le ventricule gauche, en prenant tous les niveaux de coupe de la 50 400 base vers l’apex du cœur sur un400même plan, pour cela, le ventricule gauche de chaque niveau de coupe, divisé en six segments en référant à l’étude de «créquier et al. », est présenté par un cercle dont le 500 rayon diminue en passant de la500 coupe basale vers celle apicale. (Fig. 3.4) 100 200 300 400 500 0 100 Tmoyen (ms) 0.5 0.45 100 0.4 200 0.35 300 0.3 400 0.25 500 100 Chaza Chahine – Projet de Fin d’Etudes 200 300 400 500 0.2 Page 24 200 100 100 8 200 6 150 200 100 300 300 4 Fig. 3.4 : Présentation en Bullseye du temps moyen 50 400 400 2 L’utilisation 500 de PAMM dans le calcul de la vitesse et temps moyen500pour le sujet normal numéro 5, donne une estimation (de tous les0 segments sur tous les niveaux coupe), 100 200complète 300 400 500 100 de 200 300 alors 400 que 500 la vitesse de 30 segments (parmi 48) est seulement estimée (~ 63%). (Fig. 3.5) Tdebut (ms) Tmoyen (ms) 0.45 100 100 Vitesse (m/s) 0.5 200 10 100 8 200 6 150 0.4 200 200 0.35 100 300 300 300 4 0.3 50 400 400 400 2 0.25 500 500 100 200 300 100400 200500 300 0 400 500 0.2 500 100 200 (a) 300 400 500 0 (b) Tmoyen (ms) Fig. 3.5 : (a) : Présentation 0.5 Bullseye du temps moyen du sujet normal numéro 5(en ms) ; (b) : Présentation Bullseye de la vitesse (en cm/s) 0.45 100 0.4 200 300 L’estimation de la vitesse et du0.35temps moyen n’est pas toujours la même. Pour des patients l’estimation de la vitesse est plus mauvaise, pour d’autre plus bonne. De même pour l’estimation du temps moyen. 0.3 400 0.25 500 3.4100 Estimation de la vitesse et temps moyen des sujets de la BDD : 200 300 500 Cette 400méthode 0.2 a été appliquée sur la base de données qui contient 45 sujets ; dont 9 normaux, 12 patients souffrant d’une hypertrophie, 12 patients souffrant d’une insuffisance cardiaque sans infarctus et 12 patients souffrant d’une insuffisance cardiaque avec infarctus. Le tableau 3.1., présente les résultats de l’estimation de la vitesse et du temps moyen lors de l’application de PAMM sur toute la base de données. Pour chaque catégorie des sujets (Hypertrophie, insuffisance cardiaque avec infarctus, insuffisance cardiaque sans infarctus et sujets normaux), on présente le pourcentage moyen des segments estimés, la moyenne et l’écart type pour la vitesse et le temps moyen. Chaza Chahine – Projet de Fin d’Etudes Page 25 0 Catégorie Vitesse – Pourcentage des segments estimés (%) Moyenne de la vitesse (cm/s) Ecart type de la vitesse (cm/s) Temps – Pourcentage des segments estimés (%) Moyenne du temps (ms) Ecart type du temps (ms) Hypertrophie 29.8 7.347 2.79 90 0.37 0.07 40.69 4.95 2.09 93.33 0.43 0.09 48.9 5.72 2.5 95.22 0.44 0.08 34.2 6.23 2.2 94 0.39 0.07 Insuffisance cardiaque sans infarctus Insuffisance cardiaque avec infarctus Normal Tableau 3.1 : Résultats obtenus après l’application de PAMM sur la base de données Les valeurs de vitesse et de temps moyen de contraction obtenue sur les 9 sujets normaux de la base de données actuelle, respectivement 6.23 ± 2.2 cm/s et 0.39 ± 0.07 ms, sont en accord avec celles obtenues dans l’étude [11], respectivement 5.4 ± 2.3 cm/s et 0.392 ± 0.069 ms, ou PAMM a été appliquée sur une autre base de donnée contenant uniquement des sujets normaux. L’estimation de la vitesse, comme montre le tableau 3.1, s’avère un paramètre non robuste vu le pourcentage des segments estimés qui n’a pas excédé le 50%, même en considérant les quatre catégories. Dans le but d’améliorer cette estimation, on a proposé une modification au code lors du calcul de la vitesse, de sorte à prendre en compte le déplacement, en cm, de chaque pixel du muscle myocardique, tout au long du cycle cardiaque. D’autre part, dans le calcul de la vitesse, pour chaque patient, l’image de variation d’amplitude a été pondérée par le contraste de chaque image qui constitue un effet directement liée à chaque patient. Dans le chapitre suivant, le calcul du contraste sera présenté ainsi que les résultats de l’étude dynamiques, présentant les vitesses et les temps moyens calculés pour la base de données en cours. Chaza Chahine – Projet de Fin d’Etudes Page 26 Chaza Chahine – Projet de Fin d’Etudes Page 27 Chapitre 4 : L’étude du contraste et de son effet sur l’étude paramétrique Dans le but d’améliorer les résultats d’estimation de vitesses radiales obtenus par PAMM, on propose d’éliminer l’effet patient qui se manifeste par la présence d’un contraste en niveau de gris entre la cavité du VG et le myocarde. L’étude du contraste considère, pour chaque patient, tous les niveaux de coupes acquises, ce qui permet l’introduction d’un indice contraste dans l’étude dynamique et donc l’observation des manifestations introduites dans le but d’obtenir un taux d’estimation de vitesses radiales, plus élevé. Premièrement dans ce chapitre, on présente les méthodes de calcul du contraste. On présente ensuite l’hypothèse formulée à propos de la variation du contraste durant un cycle cardiaque pour les sujets normaux. Dans la deuxième partie de ce chapitre on présente les résultats obtenus avec PAMM l’introduction du contraste. 4.1- suite à Calcul de contraste : Le contraste étudié pour le ventricule gauche est définit comme la différence de contraste entre le myocarde et la cavité. 4.4.1- Différence de moyennes La différence entre la moyenne des valeurs de niveau de gris des pixels incluses dans la cavité limitée par le contour endocardique et celle des valeurs de niveau de gris des pixels incluses dans le myocarde, limité d’une part par le contour endocardique et d’autre part par le contour epicardique, est calculée. (Moyenne cavité – Moyenne myocarde)/Moyenne myocarde (la moyenne relative est choisie après une série d’essais). Ceci, en se basant sur le fait que les pixels de la cavité sont caractérisés par un niveau de gris plus élevé (gris clair) par rapport aux pixels du myocarde. 4.4.2- Root Mean Square (RMS) Une autre méthode de calcul du contraste a été implémentée ; Root Mean Square Contrast, obtenue selon l’équation suivante : √ ∑∑ ̅ Où « » est l’intensité du et élément de l’image de dimensions M x N ; « ̅ » est l’intensité moyenne de tous les pixels de l’image (en supposant que les intensités sont normalisées et donc appartiennent à l’intervalle [0 1]). [12] Chaza Chahine – Projet de Fin d’Etudes Page 28 Cette deuxième méthode de calcul a donné des résultats proportionnels à ceux calculé par la différence de moyennes. On a, de même, essayé de faire la division des moyennes, mais on a obtenu toujours la même forme, avec variation des valeurs seulement. La figure (Fig. 4.1) montre un exemple de calcul du contraste par la méthode de différence des moyennes. La moyenne dans la cavité est de 179.39 en la comparant avec celle du myocarde de valeur 79.57, résulte en un contraste = (179.39 – 79.57)/79.57 = 1.254. (Annexe III) N.B. le calcul du contraste est fait sur les images télédiastoliques seulement, puisque d’une part toutes les cavités du cœur sont plus claires, et d’autre part puisque les contours sont dessinés sur ces images. 100 90 100 110 110 120 120 130 130 140 140 150 150 160 160 170 100 (a) 110 120 130 140 150 160 100 110 (b) 120 130 140 150 160 (c) Fig. 4.1 : (a) : l’image IRM, (b) : la cavité (c) : le myocarde 4.2- Hypothèse concernant la variation de contraste pour un sujet normal : Supposant qu’un sujet normal présente un cœur de forme normal et de caractéristiques normaux, il est plus facile de formuler une hypothèse concernant la variation de contraste entre le myocarde et la cavité en fonction des niveaux de coupe allant de la base vers l’apex du cœur. Les coupes basales, possèdent une différence de contraste élevée entre le myocarde et la cavité due au fait que la cavité au niveau basale est plus claire et même plus large ce qui induit une intensité moyenne de niveau de gris plus intense que celle du myocarde. En passant vers des niveaux plus bas, les piliers qui se présentent en forme de trous en gris foncées commencent à apparaitre dans la cavité caractérisée par une intensité gris clair, donc la moyenne de l’intensité du niveau de gris de la cavité va diminuer, ce qui entraine la diminution de la différence de contraste entre cavité et myocarde. Arrivant aux niveaux apicaux, les piliers commencent à disparaitre, ce qui entraine une augmentation de la moyenne de l’intensité du niveau de gris de la cavité et par suite une augmentation de la Chaza Chahine – Projet de Fin d’Etudes Page 29 différence du contraste, lorsque le niveau de coupe devient trop apical, le contraste diminue, comme l’image devient illisible, et la cavité sera très petite. Donc théoriquement, la courbe de la variation de la différence de contraste pour le cas normal, peut prendre à peu près la forme de la figure Fig. 4.2 Fig. 4.2 : Forme théorique de la variation de la différence de contraste par rapport aux niveaux de coupe pour le cas normal 4.2.1- Etude expérimentale de la variation du contraste cavité-myocarde Pour chaque patient on a calculé la différence de contraste entre le myocarde et la cavité, et on a tracé la variation de cette différence par rapport aux niveaux de coupe (Fig. 4.3) 0.3 0.25 0.2 0.15 0.1 0.05 0 -0.05 -0.1 1 2 3 4 5 6 7 8 9 10 Fig. 4.3 Différence de contraste sur tous les niveaux de coupe (dix) du sujet normal numéro7 Les niveaux 1et 2 sont des coupes basales, les niveaux 3,4 et 5 sont des coupes médianes (apparition des piliers dans la cavité) alors que les niveaux 6, 7, 8, 9 et 10 sont des coupes apicales. (Fig. 4.4) Chaza Chahine – Projet de Fin d’Etudes Page 30 Fig. 4.4 : Figure présentant les images télédiastoliques pour les différents niveaux acquis (10 niveaux) pour le sujet normal numéro 7 Entre les niveaux 2 et 3, on observe une chute de contraste de 0.27 jusqu’à 0.14, c’est dû à l’apparition des piliers dans la cavité. Puis une augmentation du contraste de 0.13 à 0.21 en passant du niveau 5 vers le niveau 6, causée par la disparition des piliers de la cavité. On n’a pas obtenu des résultats très semblables pour tous les sujets normaux de la BDD. Ceci est dû à une variabilité d’acquisition des niveaux de coupe par sujet. En effet le nombre de niveaux de coupes total varie entre sept coupes et dix coupes résident au niveau du nombre de coupe apicales, médianes ou basals. On peut avoir pour un sujet trois parmi sept coupes qui sont basales alors que pour un autre sujet une seule parmi huit coupes qui sont basales. Donc ce n’est pas évident que le niveau 1 acquis pour les différents sujets soit le même, ce qui a causé une illusion dans les résultats obtenus. Due à la variabilité du nombre d’images acquises par niveau de coupe, on a proposé de sélectionner, pour chaque sujet normal, les trois coupes, basale, médiane et apicale, les plus significatives. La différence de contraste entre cavité et myocarde pour ces trois coupes sélectionnées a été calculée, résultant ainsi en une courbe de variation de contraste en fonction du niveau plus discrète. La figure suivante, présente les résultats obtenus pour les neuf sujets normaux, montrant la diminution puis l’augmentation de la différence de contraste suite à l’apparition puis la disparition des piliers lors du balayage du cœur de la base vers l’apex. (Fig. 4.5) Chaza Chahine – Projet de Fin d’Etudes Page 31 Fig. 4.5 : Les résultats de la différence de contraste pour les 3 niveaux de coupe, chez tous les normaux (patient : 2-3-5-6-7-9-10-11-40) Ainsi, on peut dire que si tous les niveaux de coupes pour tous les patients auront été pris au même endroit avec le même nombre, on pourra de plus en plus s’approcher de la courbe théorique formulée en hypothèse au paragraphe 4.2. 4.3- Effet de contraste sur l’étude paramétrique : L’étude paramétrique a été de nouveau appliquée à la base de données, tout en prenant en compte la modification expliquée au paragraphe 3.4. On présente dans le tableau 4.1 les résultats de l’estimation de la vitesse et du temps moyen de contraction, suite au calcul de la vitesse avec la modification proposée et après introduction du contraste. L’estimation du temps moyen n’est pas altérée par ces modifications, donc on présente uniquement les résultats pour la vitesse. (Tableau 4.1) Chaza Chahine – Projet de Fin d’Etudes Page 32 Vitesse – Pourcentage des segments estimés (%) Moyenne de la vitesse (cm/s) Ecart type de la vitesse (cm/s) Hypertrophie 75.08 5.87 3.67 Insuffisance cardiaque sans infarctus 72.78 2.25 2.3 Insuffisance cardiaque avec infarctus 84.02 2.59 2.88 Normal 80.6 4.83 3 Catégorie Tableau 4.1 : Résultats obtenus après l’application de PAMM sur la base de données suite à la modification proposée En comparant les valeurs de vitesse et du temps moyen de contraction dans le tableau 4.1 obtenues suite à la modification proposée avec celles obtenues avant la modification, on remarque : - - le pourcentage des segments estimés s’est considérablement élevé pour les quatre catégories: de 30% à 75 % pour les 12 patients avec hypertrophie, de 41% à 73% pour les 12 patients avec insuffisance cardiaque sans infarctus, de 49% à 84% pour les 12 patients avec insuffisance avec infarctus et de 34% à 80% pour les 9 sujets normaux. la valeur moyenne de vitesse radiale de contraction pour les 9 sujets normaux, 4.83 ± 3 cm/s tombe en accord avec celle obtenue avant modification ainsi que celle publiée dans l’étude [11]. Donc on peut considérer qu’on a fait une amélioration, surtout du pourcentage d’estimation des segments de la vitesse radiale. Chaza Chahine – Projet de Fin d’Etudes Page 33 Chaza Chahine – Projet de Fin d’Etudes Page 34 Conclusion et perspectives Dans le but de gagner du temps et de faciliter la tâche des clinicien en routine clinique, la conception des systèmes automatiques a commencé. L’une des méthodes d’automatisation qu’on a déjà présentée, le logiciel PAMM, qui possède l’intérêt d’évaluer la fonction contractile du ventricule gauche. Ce logiciel permet de calculer la vitesse radiale et le temps moyen de contraction du muscle myocardique sur les images dynamiques en IRM. Les images du cœur du patient sont acquises sur différents niveaux de coupe, balayant ainsi le cœur de la base vers l’apex. Ensuite, le myocarde sur chaque image est divisé en six secteurs égaux, ou l’estimation de la vitesse et temps moyen de contraction sera faite pour chacun de ces secteurs. Malheureusement, il y a des secteurs ou segments ou la vitesse et le temps moyen de contraction sont non estimés à cause de l’acquisition, qualité de l’image ou même la façon de calcul de ces paramètres. Les résultats trouvés dans le tableau 3.1 montrent que la moyenne des segments estimés pour chaque catégorie n’a pas dépassé 50% (parlant à propos de la vitesse dont l’estimation est plus difficile). Ce taux d’estimation n’est pas satisfaisant, ce qui nous a amené à introduire des modifications sur le calcul de la vitesse dans le but d’améliorer ces résultats. Les modifications faites ont conduit aux résultats du tableau 4.1, on voit une augmentation remarquable du pourcentage d’estimation pour la vitesse, de 30% à 75% pour l’hypertrophie ; de 41% à 73% pour l’insuffisance cardiaque sans infarctus, de 49% à 84% pour l’insuffisance cardiaque avec infarctus et de 34% à 80% pour les normaux. La valeur moyenne de la vitesse calculée après modification (4.83 ± 3) est toujours proche des résultats déjà trouvés dans des études anciennes [11] voir 5.4 ± 2.3 cm/s, en comparant avec les résultats qu’on a trouvé avec PAMM avant de modifier 6.23 ± 2.2 m/s. Mais ce qu’on a remarqué de ces deux tableaux est que la vitesse moyenne pour l’insuffisance cardiaque (avec ou sans infarctus) est plus petite que celle pour les sujets normaux (~ 5 avant modification et ~ 2.3 après modification), alors que celle pour l’hypertrophie cardiaque est la plus grande dans les deux cas (7.34 avant et 5.87 après modification). Pour interpréter ces résultats, on suppose qu’un cœur malade doit en général être plus lent qu’un cœur avec fonctionnement normal et a donc besoin d’un temps plus long pour compléter le cycle cardiaque. Les résultats obtenus avant et après modification vérifient clairement cette hypothèse pour le cas de l’insuffisance cardiaque, alors qu’il n’est pas le cas pour l’hypertrophie ou une vitesse plus grande et un temps moyen de contraction plus petit ont été observés en comparant avec les valeurs d’un sujet normal. Cette confusion nécessite l’intervention d’un expert, clinicien pour clarifier les aspects morphologiques de cette maladie, l’hypertrophie, et aider à interpréter les valeurs élevées de vitesse de contraction ainsi que les valeurs réduits du temps moyen de contraction obtenues pour les patients atteints de cette maladie. Chaza Chahine – Projet de Fin d’Etudes Page 35 Comme ce projet s’effectue dans le cadre d’une collaboration avec le laboratoire LIF et l’hôpital Européen Georges Pompidou (HEGP) à Paris, et vu le temps limité du projet, on n’a pas eu le temps suffisant pour contacter les cliniciens de HEGP et avoir leur interprétation concernant ces valeurs. Mais le fait d’avoir la même observation avant et après modification, implique que probablement il doit y avoir une interprétation clinique pour ces cas. Comme futur étapes pour ce projet, on pense poursuivre cette étude, en ayant la clarification des cliniciens avec leurs interprétation ce qui nous permettra d’effectuer d’autres modifications ou de présenter d’autres méthodes de calcul qui pourront s’accorder avec l’interprétation médicale pour les hypertrophies. On pourra aussi essayer d’élever encore plus le taux des segments estimés pour la vitesse radiale de contraction. Chaza Chahine – Projet de Fin d’Etudes Page 36 Chaza Chahine – Projet de Fin d’Etudes Page 37 Références 1. Contributors, Wikipedia. Coeur. Wikipedia. [Online] February 23, 2008. [Cited: Mars 6, 2012.] http://fr.wikipedia.org/wiki/C%C5%93ur. 2. Kiss, F. and Szentágothai, J. Atlas d'anatomie du corps humain. Masson, 1974. 3.Klabunde Richard, F. Cardiovascular Physiology Concepts. Philadelphia : Lippincott Williams & Wilkins, 2005. 4. Bacquaert, P. L'hypertrophie cardiaque. http://www.irbms.com. [Online] June 30, 2008. http://www.irbms.com/rubriques/Cardiologie/hypertrophie-cardiaque.php. 5. Machackova, J., Myofibrillar remodelling in cardiac hypertrophy, heart failure and cardiomyopathies. Canadian Journal of Cardiology, 22: 953–968, 2006. 6. El Berbari, R. Segmentation D'images De Contraction Et De Rehaussement Tardif En IRM Cardiaque. Application à L'étude De La Fonction Contractile Et De La Viabilité Myocardique. France : Thesis, Télécom/ParisTech, 2009, France. 7. Cerqueira, M., et al., Standardized myocardial segmentation and nomenclature for tomographic imaging of the heart: a statement for healthcare professionals from the Cardiac Imaging Committee of the Council on Clinical Cardiology of the American Heart Association. Circulation, 105:539-542, 2002. 8. Ruiz Dominguez, C. et al., Assessment of left ventricular contraction by parametric analysis of main motion (PAMM): theory and application for echocardiography. Phys. Med. Biol., 50: 32-77, 1996. 9. Kachenoura, N. et al., An automated four-point scale scoring of segmental wall motion in echocardiography using quantified parametric images. Paris : Phys. Med. Biol. 55: 5753–5766, 2010. 10. Chenoune, Y. et al., Methodology for Jointly Assessing Myocardial Infarct Extent and Regional Contraction in 3D-CMRI. IEEE-TBME, in press 2012. 11. EL Berbari, R. et al., Automated Estimation of Regional Mean Transition Times and Radial Velocities From Cine Magnetic Resonance Images: Evaluation in Normal Subjects. JMRI, 30: 236242, 2009. 12. Contributors, Wikipedia. Contrast (Vision). en.wikipedia.org. [Online] http://en.wikipedia.org/wiki/Contrast_(vision). Chaza Chahine – Projet de Fin d’Etudes Page 38 Chaza Chahine – Projet de Fin d’Etudes Page 39 Annexe I close all; clear all; clc; warning off % nom du patient PatientName = 'SC-N-10'; path_data = (['C:\Users\ChazO\Desktop\PEF\P_Data\Challenge Data\' PatientName '\DICOM']); path_contour_semiauto = (['C:\Users\ChazO\Desktop\PEF\P_Data\CHALLENGE_MICCAI_Semiauto_LIF\' PatientName '\contours-auto\Auto1']); % path_contour_manuel = (['C:\Users\ChazO\Desktop\PEF\P_Data\IRCCI-manual contours\' PatientName '\contours-manual\IRCCI-expert']); path_sauvegarde = ('C:\Users\ChazO\Desktop\PEF\P_Data\Mat_Files_Data'); % lecture des folders + nb de fichiers dans chacun d'eux, Challenge data % les contours semiauto et manuel dname_data files_data NbImg_data directoire = uigetdir(path_data); = dir(fullfile(dname_data, '*.dcm')); = length(files_data) % on obtient le nb des images contenu dans la du patient dname_contour_semiauto files_contour_semiauto NbImg_contour_semiauto images contenu dans la = uigetdir(path_contour_semiauto); = dir(fullfile(dname_contour_semiauto, '*.txt')); = length(files_contour_semiauto); % on obtient le nb des directoire du patient dname_contour_manuel = uigetdir(path_contour_manuel); files_contour_manuel = dir(fullfile(dname_contour_manuel, '*.txt')); NbImg_contour_manuel = length(files_contour_manuel); % on obtient le nb des images contenu dans la directoire du patient % Lecture de la premiere image afin d'extraire les donnees identiques % pour toutes les images filename_data = [ path_data '\' files_data(2).name ]; % pour trouver la premiere image image_cour = dicominfo(filename_data); nb_images_acquises = image_cour.ImagesInAcquisition; nb_images_par_niveau = image_cour.CardiacNumberOfImages; nb_niveau = NbImg_data/nb_images_par_niveau Vi = image_cour.Width; Wi = image_cour.Height; images_acquises = cell(nb_images_par_niveau,nb_niveau); % afin de sauvegarder toutes les images acquises du patient % matrice chaque colonne est un niveau % de coupe; et les lignes sont les Chaza Chahine – Projet de Fin d’Etudes Page 40 % images par niveau de coupe. patient = image_cour.PatientName.FamilyName; TR = image_cour.RepetitionTime; epaisseur_coupe = image_cour.SliceThickness; espace_entre_coupe = image_cour.SpacingBetweenSlices; %trigger_window = image_cour.TriggerWindow; orientation_patient = image_cour.ImageOrientationPatient; % 3- Lecture des infos + lecture des images nbimages = 0; h = waitbar(0,'Please Wait Reading Data...'); for i=1:nb_niveau for j=1:nb_images_par_niveau k = j + nb_images_par_niveau*(i-1); % compte de 1 -> nb images acquises % Lire l'image filename_data = [ path_data '\' files_data(k).name ]; image_cour = dicomread(filename_data); image_cour_info = dicominfo(filename_data); images_acquises{j,i} = image_cour; cor(j,i) = corr2(images_acquises{j,i},images_acquises{1,i}); if(isfield(image_cour_info, 'HeartRate')) nbimages = nbimages +1; freq = image_cour_info.HeartRate; % frequence cardiaque acq = image_cour_info.SeriesDescription; % type de l'acquisition res_sp = image_cour_info.PixelSpacing; % resolution spatiale time(nbimages) = image_cour_info.TriggerTime; % temps d'acquisition de chaque image en millisecondes instance(nbimages) = image_cour_info.InstanceNumber; % ordre ou numero d'image position_patient(nbimages,:) = image_cour_info.ImagePositionPatient; end figure; imshow(image_cour,'DisplayRange',[]); % pour l'affichage des images si necessaire title(files_data(k).name); end % trouver l'image telesystolique % val(i) = min(cor(:,i)); % indice_min = find(cor(:,i) == val(i),1); % Vect_indice_telesystole(i) = indice_min + nb_images_par_niveau*(i-1); % donne le numéro de l'image Vect_indice_telediastole(i) = nb_images_par_niveau*i ; % waitbar(i/nb_niveau) end images_acquises; close(h) Chaza Chahine – Projet de Fin d’Etudes Page 41 %%Vect_indice_telesystole = [28 48 68 88 108 128 148 168]; [pouet,indices] = sort(instance); % Lecture des images pour lesquelles on a dessiné des contours for j=1:NbImg_contour_manuel filename_contour_manuel = files_contour_manuel(j).name; nimage_manuel = sscanf(filename_contour_manuel,'%*3c %*4d %*c %4d'); I1 =[ path_data '\' files_data(nimage_manuel).name ]; % % % figure(nimage_manuel); hold on imshow(I1,'DisplayRange',[]); end % lecture des contours semiauto, et on les sauvegarde dans une matrice des % cells, dans chaque cell, le numero de l'image, x et y du contour contour_endo_semiauto = cell(3,3); contour_epi_semiauto = cell(3,3); count_endo_semiauto = 0; count_epi_semiauto = 0; for j=1:NbImg_contour_semiauto % 1- lire et tracer les contours semi auto filename_contour_semiauto = files_contour_semiauto(j).name; nimage_semiauto = sscanf(filename_contour_semiauto,'%*3c %*4d %*c %4d'); % savoir le numero de l'image sur laquelle on va dessiner le contour type_image_semiauto = sscanf(filename_contour_semiauto,'%*3c %*4d %*c %*4d %*c %c'); fileID C x y % % = = = = fopen([path_contour_semiauto '\' files_contour_semiauto(j).name]); textscan(fileID, '%f %f'); C{1}; C{2}; figure(nimage_semiauto) hold on switch type_image_semiauto case 105 % i : endo count_endo_semiauto = count_endo_semiauto+1; contour_endo_semiauto(count_endo_semiauto,1) = num2cell(nimage_semiauto); contour_endo_semiauto(count_endo_semiauto,2) = mat2cell(x); contour_endo_semiauto(count_endo_semiauto,3) = mat2cell(y); % plot(x,y,'r-'); Chaza Chahine – Projet de Fin d’Etudes Page 42 case 111 % o : epi count_epi_semiauto = count_epi_semiauto+1; contour_epi_semiauto(count_epi_semiauto,1) = num2cell(nimage_semiauto); contour_epi_semiauto(count_epi_semiauto,2) = mat2cell(x); contour_epi_semiauto(count_epi_semiauto,3) = mat2cell(y); % plot(x,y,'b-'); case 112 % p : pillier % plot(x,y,'g-'); end end % lecture des contours manuel, et on les sauvegarde dans une matrice des % cells, dans chaque cell, le numero de l'image, x et y du contour contour_endo_manuel = cell(3,3); contour_epi_manuel = cell(3,3); count_endo_manuel = 0; count_epi_manuel = 0; for j=1:NbImg_contour_manuel % 1- lire et dessiner les contours manuel filename_contour_manuel = files_contour_manuel(j).name; nimage_manuel = sscanf(filename_contour_manuel,'%*3c %*4d %*c %4d'); % savoir le numero de l'image sur laquelle on va dessiner le contour type_image_manuel = sscanf(filename_contour_manuel,'%*3c %*4d %*c %*4d %*c %c'); % i - o ou p fileID = fopen([path_contour_manuel '\' files_contour_manuel(j).name]); C = textscan(fileID, '%f %f'); x = C{1}; y = C{2}; % % % figure(nimage_manuel) hold on switch type_image_manuel case 105 count_endo_manuel = count_endo_manuel+1; contour_endo_manuel(count_endo_manuel,1) = num2cell(nimage_manuel); contour_endo_manuel(count_endo_manuel,2) = mat2cell(x); Chaza Chahine – Projet de Fin d’Etudes Page 43 contour_endo_manuel(count_endo_manuel,3) = mat2cell(y); %plot(x,y,'r--'); case 111 count_epi_manuel = count_epi_manuel+1; contour_epi_manuel(count_epi_manuel,1) = num2cell(nimage_manuel); contour_epi_manuel(count_epi_manuel,2) = mat2cell(x); contour_epi_manuel(count_epi_manuel,3) = mat2cell(y); % plot(x,y,'b--'); case 112 %plot(x,y,'g--'); end end Contour_manuel = cell(length(contour_epi_manuel),9); lengthhh = length(contour_endo_manuel) - 2*length(contour_epi_manuel); Contour_manuel_systole=cell(lengthhh,7); % va contenir le numero de l'image telesystolique, les coordonnees x et y p0x = []; p0y = []; % P1x et P1y varient selon le patient p1x = [135,137,133,127,121,126,119]; p1y = [108,109,109,112,117,117,122]; size(Contour_manuel(:,1)); k=1; for c=1:length(contour_endo_manuel) l1 = contour_endo_manuel{c,1}; %numéro image for d=1:length(contour_epi_manuel) l2 = contour_epi_manuel{d,1}; if(l1==l2) % images pour lesquelles on a dessiné le contour epi et endo bool = false; % Im = cell2mat(images_acquises(l1)); level = graythresh(Im); IBw = im2bw(Im,level); figure(l1) Chaza Chahine – Projet de Fin d’Etudes Page 44 % % imshow(IBw); hold on x1 = contour_endo_manuel{c,2}; y1 = contour_endo_manuel{c,3}; BW_cavite = roipoly(Im,x1,y1); imshow(BW_cavite) hold on % % figure(l1); imshow(Im,'DisplayRange',[]); hold on; [rows cols] = size(BW_cavite); y = 1:rows; x = 1:cols; [X Y] = meshgrid(x,y); p0_y = mean(Y(BW_cavite==1)); p0_x = mean(X(BW_cavite==1)); p0x = [p0x p0_x]; p0y = [p0y p0_y]; plot(p0_x,p0_y,'r+') hold on plot(p1x(d),p1y(d),'ro') hold on break % % % % end % end Contour_manuel{d,1} Contour_manuel{d,2} Contour_manuel{d,3} Contour_manuel{d,4} Contour_manuel{d,5} Contour_manuel{d,6} Contour_manuel{d,7} Contour_manuel{d,8} Contour_manuel{d,9} = = = = = = = = = l2; % numero image contour_endo_manuel{c,2}; % x de l'endo contour_endo_manuel{c,3}; % y de l'endo contour_epi_manuel{d,2}; % x de l'epi contour_epi_manuel{d,3}; % y de l'epi p0x(d); p0y(d); p1x(d); p1y(d); plot(Contour_manuel{d,2},Contour_manuel{d,3},'m') hold on plot(Contour_manuel{d,4},Contour_manuel{d,5},'c') break; else bool = true; Chaza Chahine – Projet de Fin d’Etudes Page 45 end end if (bool == true) %telesystole Im = cell2mat(images_acquises(l1)); level = graythresh(Im); IBw = im2bw(Im,level); figure(l1) imshow(IBw); hold on % % % % % % figure(l1) imshow(Im,'DisplayRange',[]); hold on; x1 = contour_endo_manuel{c,2}; y1 = contour_endo_manuel{c,3}; BW_cavite = roipoly(Im,x1,y1); imshow(BW_cavite) hold on % % [rows cols] = size(BW_cavite); y = 1:rows; x = 1:cols; [X Y] = meshgrid(x,y); % % % % p0_y = mean(Y(BW_cavite==1)); p0_x = mean(X(BW_cavite==1)); p0x_s = [p0x_s p0_x]; p0y_s = [p0y_s p0_y]; %%plot(p0x_s(k),p0y_s(k),'ro'); % % % % % % % % % % % % Contour_manuel_systole{k,1} = l1; Contour_manuel_systole{k,2} = contour_endo_manuel{c,2}; Contour_manuel_systole{k,3} = contour_endo_manuel{c,3}; Contour_manuel_systole{k,4} = p0x_s(k); Contour_manuel_systole{k,5} = p0y_s(k); Contour_manuel_systole{k,6} = p1x_s(k); Contour_manuel_systole{k,7} = p1y_s(k); k=k+1; end end Chaza Chahine – Projet de Fin d’Etudes Page 46 contour_endo_manuel_x = Contour_manuel{:,2}; contour_endo_manuel_y = Contour_manuel{:,3}; contour_epi_manuel_x = Contour_manuel{:,4}; contour_epi_manuel_y = Contour_manuel{:,5}; Vect_coupe_telediastole = cell2mat(Contour_manuel(:,1)); Diff = diff(time(indices)); %calculates differences between adjacent elements of X. T_deux_im = ((time(indices(2))-time(indices(1)))+(time(indices(3))time(indices(2))))/2; T = T_deux_im * nb_images_par_niveau ; %%%% Vect_indice_telediastole: les indices de toutes les images telediastolique %%%%%%% Vect_coupe_telediastole: les indices des images telediastoliques pour lesquelles on a dessiné le contour cd (path_sauvegarde); s2 = sprintf('data_%s',patient) save(s2,'Contour_manuel','p0x','p0y','p1x','p1y','nb_niveau','freq','res_sp','T_deu x_im', 'position_patient','TR', 'epaisseur_coupe' , 'espace_entre_coupe','orientation_patient','cor','images_acquises','Vect_indice_tel ediastole','Vect_coupe_telediastole','contour_endo_semiauto','contour_epi_semiauto' ,'contour_epi_manuel','contour_endo_manuel', 'count_epi_manuel'); %save(s2,'Contour_manuel_systole','-append'); Chaza Chahine – Projet de Fin d’Etudes Page 47 Annexe II function PAMM_MR_V5_Modif(PatientName) close all; clc path_sauvegarde_PAMM = (['C:\Users\ChazO\Desktop\PEF\P_Data\Mat_Files_PAMM\' PatientName ' - Contrast']) % '-Contrast']) path_sauvegarde = ('C:\Users\ChazO\Desktop\PEF\P_Data\Mat_Files_Data'); % ouvrir la directoire contenant le file .Mat correspondant à chaque patient cd(path_sauvegarde) load(['data_' PatientName]) % -------------- Emplacement des images ciné originales (toutes les phases) [a b] = size(images_acquises); nb_images = a*b; nb_images_par_niveau = nb_images/nb_niveau; Seq = zeros(256,256,nb_images); for i=1:nb_images Seq(:,:,i) = cell2mat(images_acquises(i)); end % % % % images_acquises; Vect1; %%% vect-coupe-telediastole [V,W,Z] = size(Seq); age = data.age; res_sp_1 = res_sp; % if (isfield(data,'freq')==1) % freq = data.freq; % else % freq = 0; % end nbsegm = 6.; patient = PatientName; nb1 = T_deux_im; restemp = nb1; %%%% nb1 le temps entre deux images warning off TT= Vect_indice_telediastole(2) - Vect_indice_telediastole(1); %%% TT: nbre d'image par phase nb=nb1*TT; %%% instant de l'image telediastolique du niveau de coupe k Chaza Chahine – Projet de Fin d’Etudes Page 48 A = size(Contour_manuel); length_1 = A(1); for k=1:length_1 %%%%%%nb_niveau x1 = p0x(k); y1 = p0y(k); x2 = p1x(k); y2 = p1y(k); d = sqrt((x2-x1)^2+(y2-y1)^2); Vi = round(y1+2*d)-round(y1-2*d)+1; Wi = round(x1+2.5*d)-round(x1-1.5*d)+1; Xint = zeros(256,256,TT); for m=1:TT Xint = double(Seq(round(y1-2*d):round(y1+2*d),round(x12.5*d):round(x1+1.5*d),((k-1)*nb_images_par_niveau)+1:(k*nb_images_par_niveau))); %%%% le volume de donnees mais avec une roi autour du coeur end %==================== réduire la résolution et tester =========== modif [Vi,Wi,T] = size(Xint); % Application de PAMM au niveau de coupe selectionné [A11,A22,T11,T22] = fporte(Xint); % inclure le contraste %%%%%%%%A11 = A11*diff_contrast(k); A22 = A22/diff_contrast(k); % figure(666) % imagesc(A22) %maxi=max(max(A11)); A22 = -A22; %vectorisation de matrice de parametres A2 = reshape(A22,1,Vi*Wi); A1 = reshape(A11,1,Vi*Wi); A2 = 255*A2/max(A2); A1 = 255*A1/max(A1); % matrice des temps moyens Tm = (T11+T22)/2; % % % % figure(700+k); imagesc(A11); figure (800+k); imagesc(A22); % signer le temps moyens et afficher apres normalisation du QT % corrigé qui se fait dans image_tm_new pp0.x = x1 - round(x1-2.5*d); pp0.y = y1 - round(y1-2*d); pp1.x = x2 - round(x1-2.5*d); Chaza Chahine – Projet de Fin d’Etudes Page 49 pp1.y = y2 - round(y1-2*d); km = max(A1) seuil_a1=2*km/3 seuil_a2=13 t1s = zeros(Vi,Wi); t1s(A2<0) = - T11(A2<0); t1s(A2>0) = T11(A2>0); t1 = zeros(Vi,Wi); t1((A1<seuil_a1)&(abs(A2)>seuil_a2)) = t1s((A1<seuil_a1)&(abs(A2)>seuil_a2)); t1filt=zeros(Vi,Wi); t1filt = medfilt2(t1,[3 3]); [imat1] = grille_paxe_Modif(t1filt,pp0,pp1,nbsegm,255); %-------------------------------------------------titre = strcat('Slice=', num2str(k)); %-------------------------------------------------figure RGB = image_tm_new_Modif(Xint,imat1,nb,(T/2)); title(strcat('Tdeb - ', titre)) colorbar imat1 = t1filt; % s = sprintf('%s_Tdeb_coupe_%d', nomPatient, jj); % file = strcat(nomPatient, '_images_PAMM.ppt'); % saveppt(file, s); pause(1); t2s = zeros(Vi,Wi); t2s(A2<0) = - T22(A2<0); t2s(A2>0) = T22(A2>0); t2=zeros(Vi,Wi); t2((A1<seuil_a1)&(abs(A2)>seuil_a2))=t2s((A1<seuil_a1)&(abs(A2)>seuil_a2)); t2filt = zeros(Vi,Wi); t2filt = medfilt2(t2,[3 3]); [imat2] = grille_paxe_Modif(t2filt,pp0,pp1,nbsegm,255); %-------------------------------------------------figure RGB = image_tm_new(Xint,imat2,nb,(T/2)); title(strcat('T2 - ', titre)) close imat2=t2filt; tms=zeros(Vi,Wi); tms(A2<0)= - Tm(A2<0); tms(A2>0)= Tm(A2>0); tm=zeros(Vi,Wi); tm((A1<seuil_a1)&(abs(A2)>seuil_a2))=tms((A1<seuil_a1)&(abs(A2)>seuil_a2)); tmfilt=zeros(Vi,Wi); tmfilt = medfilt2(tm,[3 3]); [imatm] = grille_paxe_Modif(tmfilt, pp0, pp1, nbsegm, 255); Chaza Chahine – Projet de Fin d’Etudes Page 50 %-------------------------------------------------figure RGB=image_tm_new_Modif(Xint, imatm, nb, (T/2)); title(strcat('Tmoy - ', titre)) colorbar imatm = tmfilt; % % % % % cd(path_PAMM); nomPatient =filename00(6:end-4); s = sprintf('%s_Tmoy_coupe_%d', nomPatient, jj); file = strcat(nomPatient, '_images_PAMM.ppt'); saveppt(file, s); pause(1); %save PAMM % if(p_c==1 && nbsegm==6 ) %ici cd(path_sauvegarde_PAMM); if(k<=9) s=sprintf('%s_V5_0%d.mat', patient, k); else s=sprintf('%s_V5_%d.mat', patient, k); end variable_coupe=k; save(s, 'imat1', 'imat2', 'imatm', 'A11','A22','nb', 'T', 'patient', 'variable_coupe', 'nbsegm', 'restemp', 'res_sp_1'); % else % disp('pas de sauvegarde') % end end close all; path_update='C:\Users\ChazO\Desktop\PEF\P_Data\Mat_Files_Data'; cd(path_update); name=['data_' PatientName]; save(name,'Xint','Seq','-append'); Chaza Chahine – Projet de Fin d’Etudes Page 51 Annexe III function [diff_contrast_mean_semiauto, diff_contrast_RMS_semiauto] = Contrast_diff(Patient_Name) % prend comme input le nom du patient, par exp SC-N-11 % (N.B. le nom du patient tels qu'il est sauvegarder dans l'infos correspondantes au image Dicom) close all; clc path_sauvegarde = ('C:\Users\ChazO\Desktop\PEF\P_Data\Mat_Files_Data'); % ouvrir la directoire contenant le file .Mat correspondant à chaque patient cd(path_sauvegarde) load(['data_' Patient_Name]) % % 1- Calcul de la différence de contraste entre cavité et myocarde par deux % méthodes différentes: moyennage et RMS, pour le cas de contours semiauto % diff_contrast_mean_semiauto = []; diff_contrast_RMS_semiauto = []; diff_contrast_mean_manuel = []; contour_endo_semiauto = contour_endo_manuel; % afin de tracer le contour manuel contour_epi_semiauto = contour_epi_manuel; for i=1:length(contour_endo_semiauto) % le but ici est de prendre les deux matrices de cell, contenants les coordonnes de l'endo et de l'epi pour les differents niveaux %de coupe, donc on cherche l'image pour %laquelle on a dessiné l'endo et l'epi %pour faire l'etude de contraste sur %cette image num_image_endo = contour_endo_semiauto{i,1}; for j=1:length(contour_epi_semiauto) num_image_epi=contour_epi_semiauto{j,1}; if(num_image_endo == num_image_epi) % dans ce cas on a l'image telediastolique pour laquelle on a tracé l'endo et l'epi x_endo = contour_endo_semiauto{i,2}; y_endo = contour_endo_semiauto{i,3}; x_epi = contour_epi_semiauto{j,2}; y_epi = contour_epi_semiauto{j,3}; I = images_acquises{num_image_endo}; % on prend les coordonnees de l'endo, l'epi et on prend l'image sur laquelle on a va les dessiner BW_cavite = roipoly(I,x_endo,y_endo); % les masks BW = roipoly(I,x_epi,y_epi); Chaza Chahine – Projet de Fin d’Etudes Page 52 BW_myocarde = BW - BW_cavite; mmin=min(min(BW_myocarde)); % pour image erreur contours if mmin<0 [v c] = find(BW_myocarde < 0); BW_myocarde(v,c) = 0; % end figure, imshow(I_myocarde) % % % % % % figure imshow(BW_cavite) figure imshow(BW) figure imshow(BW_myocarde) I = double(I); % % % mean_i = mean(I); mean_image = mean(mean_i,2); % % % % % figure(num_image_endo) imshow(I,'DisplayRange',[]); hold on; plot(x_endo,y_endo,'r',x_epi,y_epi,'b') BW_cavite = double(BW_cavite); BW_myocarde = double(BW_myocarde); I_cavite = BW_cavite.*I; I_myocarde = BW_myocarde.*I; % % figure imagesc(I_myocarde), colormap gray % Par moyennage [row_c,col_c,v_c] = find(I_cavite); [row_m,col_m,v_m] = find(I_myocarde); % mean1_cavite= mean(I_cavite); length(v_c) length(v_m) mean2_cavite= mean(v_c) % mean1_myocarde= mean(I_myocarde); Chaza Chahine – Projet de Fin d’Etudes Page 53 mean2_myocarde= mean(v_m) % par mean on trouve la moyenne du contraste de la cavite et de meme celui du myocarde % difference de contraste cas moyennage diff_mean = (mean2_cavite - mean2_myocarde)/mean2_myocarde; diff_contrast_mean_semiauto = [diff_contrast_mean_semiauto diff_mean]; end end end figure(400) title(Patient_Name) plot(diff_contrast_mean_semiauto,'b') diff_contrast = diff_contrast_mean_semiauto; cd(path_sauvegarde) name = (['data_' Patient_Name]); save(name,'diff_contrast','-append'); % la méthode retourne deux vecteurs qui donnent la difference de contraste % inter-patient Chaza Chahine – Projet de Fin d’Etudes Page 54