Etude de la fonction contractile du muscle cardiaque en IRM

publicité
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
Téléchargement