Vous êtes sur la page 1sur 6

L Y O N

Département Informatique
Année 2006/2007

Rapport de Synthèse

Conception d’un environnement d’imagerie médicale pour la radiothérapie à


partir de DICOM-RT

HLAVACEK Stéphane,

Centre régional de lutte contre le cancer Léon Bérard


28 rue Laënnec
69373 LYON Cedex 08

Enseignant(s) responsable(s)
INSA : Marian SCUTURICI
Entreprise : David SARRUT

Résumé
Une partie des chercheurs du département de radiothérapie du centre Léon Bérard travaillent sur des techniques d’imagerie
afin d’améliorer l’efficacité des traitements. Pour cela, ils ont besoin de récupérer les données du département dosimétrie pour
les traiter et les redonner à la dosimétrie qui s’occupe de la partie médicale des traitements. Ce projet de fin d’étude s’est
organisé autour de trois activités principales :
 Etudier comment sont stockées les distributions de dose au département dosimétrie, et les convertir en format
exploitable par les chercheurs du département radiothérapie.
 Etudier le sens inverse, c’est-à-dire transformer les données modifiées par les chercheurs pour qu’elles soient
exploitables par le département dosimétrie.
 Compléter la librairie CLITK développée au département de radiothérapie, en y intégrant le pont applicatif permettant
de relier les deux départements

Mots clefs
Imagerie médicale, radiothérapie, distribution de dose, plan de traitement, ITK, CLITK, pont applicatif, C++

Abstract
Some researchers of the Léon Bérard Center radiotherapy department are working on imagery techniques to
improve treatments efficiency. Therefore, they need the datas of the dosimetry department in order to modify
them and return them to the dosimetry department which is in charge of treatment’s medical part. This project
is composed of three major axes :
 Study how are stored dose distributions in the dosimetry department, and convert then in an
exploitable format by radiotherapy researchers
 Study the opposite direction, transforming the modified datas by researchers in order to be exploitable
by the dosimetry department
 Complete the CLITK library developed at the radiotherapy department, integrating all the tools needed
to connect the two departments.

Key words
Medical imaging, radiotherapy, dose distribution, treatment plan, ITK, CLITK, C++
permettant de faire ces liens entre les deux
I. Introduction départements, ainsi que des outils de
vérification comme un extracteur de coupe ou
un mélangeur d’image.
I.1 Présentation de l’entreprise
Ce document présente tout d’abord le format
Mon PFE s’est déroulé au centre de lutte d’une distribution de dose, qui constitue la
contre le cancer Léon Bérard (CLB), au sein base du PFE, pour ensuite passer à la
du service de radiothérapie.Dans le cadre de description des différentes phases du projet.
projets de recherche, le CLB travaille en Enfin, la conclusion et une reflexion sur les
collaboration avec des chercheurs du LIRIS futures travaux possibles en continuité avec ce
(Laboratoire d’InfoRmatique en Images et PFE.
Systèmes d’information, CNRS FRE 2672)
pour assister informatiquement la II. Plan de traitement et distribution
radiothérapie. Ces travaux de recherche se de dose
situent plus spécifiquement au niveau du
traitement des images.
II.1 Création d’une distribution de
La radiothérapie est une des trois principales dose
techniques de traitement contre le cancer,
avec la chirurgie et la chimiothérapie. Elle Avant de calculer une distribution de dose, les
consiste à irradier les tumeurs à l’aide de phyicisiens et médecins doivent créer un plan
rayons X dehaute énergie tout en essayant de traitement. Il est tout d’abord nécessaire
d’épargner au maximum les tissus sains d’obtenir une image volumique du patient à
environnants. Ce traitement repose en grande l’aide d’un scanner émettant des rayons X.
partie sur des techniques d’analyse et de Ensuite, ils délimitent plusieurs zones sur les
traitement d’images numériques pour délimiter images, correspondant aux tumeurs ou à des
les cibles, contrôler les positions, mesurer les zones sensibles à ne pas irradier.
doses reçues… [RAD01]
Puis le calcul de la dose peut commencer. Les
L’un des axes de recherche dans ce cadre est physiciens créent une boîte de calcul, qui a
le développement d’algorithmes de traitement une taille inférieure à l’image, et une résolution
d’images 3D auxquelles on ajoute la plus grande. C’est à l’intérieur de cette boîte
respiration (on passe à de la 4D). Les images que seront calculés les distributions de dose.
sont ainsi déformées, et les chercheurs Ce sont les valeurs de dose contenues dans
essaient actuellement de déterminer si cette cette boîte qui nous intéresse.
technique serait valable pour étudier les
variations de dose dûes à la respiration. Au CLB, toutes ces opérations sont effectuées
sur le logiciel XiO de CMS [XIO1].
I.2 Présentation du PFE
Le projet a trois axes principaux : II.2 Format de la distribution de
dose
D’une part, étudier comment sont stockées les
données de distribution de dose au Comme nous l’avons vu précédemment, la
département dosimétrie. Ces données sont dose est calculée dans une boîte définie par
créées lorsque les médecins et physiciens les physiciens. Il s’agit en fait d’un
planifient des traitements. Ces derniers sont parallélépipède rectangle, dont chaque point
définis sur le logiciel XiO édité par CMS. L’idée représente une valeur de dose.
est de récupérer ces données afin de les
transformer en image exploitables par les Les points ont une distance entre eux égale à
chercheurs en radiothérapie, notamment pour la résolution définie lors de la création de la
y appliquer leurs algorithmes de déformation boîte de calcul. Cette résolution est en
simulant la respiration. générale plus haute que celle de l’image
patient (la distance entre les points est plus
D’autre part, étudier comment les données de grande), sinon le calcul serait extrêmement
dose sont lues par XiO, afin de pouvoir rendre long. Ces points sont aussi appelés points de
les données modifiées par les chercheurs en calcul.
exploitables en radiothérapie.
Dans les fichiers de sauvegarde, la distribution
Enfin, Compléter la librairie CLITK développée de dose est stockée sous forme de matrice à
par les chercheux en radiothérapie et lire séquentiellement pour reconstituer la dose.
surcouche de ITK, afin d’y intégrer les outils

2
ITK [ITK01] est une librairie open source sous
Image patient 3D une licence de type Berkeley, très peu
contraignante, empêchant les contraintes de
diffusion des produits basées sur cette licence.
ITK est un ensemble de librairies de recalage
Droite Gauche et de segmentation d’images mais ne prend
pas en charge les aspects visualisation et
interface graphique.
Boîte de calcul
b) La libraire CLITK
CLITK [CLITK01] est développée au
laboratoire du CLB. Son but premier est
Pied d’apporter la puissance des template C++ aux
algorithmes d’ITK. En effet, à chaque opération
avec ITK le développeur est obligé de spécifier
Figure 1 : Disposition d’une boîte de calcul le type de pixel et le nombre de dimensions de
de dose à l’intérieur d’une image patient 3D l’image. Avec CLITK ce n’est plus nécessaire.
La librairie contient aussi des outils permettant
Comme la dose est en 3D, elle peut-être vu de de faire interface avec d’autres départements
3 perspectives différentes : de recherche. C’est cette librairie qui m’a été
 Antérieur – postérieur : la dose est vue demandée de compléter.
comme si l’œil était placé devant le
patient, face à son buste c) Configuration technique
 Tête – pied : l’œil est au dessus du
patient Le laboratoire dispose de 8 ordinateurs
 Gauche – droite : l’œil est à gauche du d’architecture X86, avec système d’exploitation
patient SUSE (type Linux) et des logiciels open
source. Mon éditeur de développement était
La lecture séquentielle de la matrice nous xemacs.
donne la dose dans le plan Tête - pied.

d) Documentation
III. Déroulement du projet
La documentation des outils développés au
laboratoire est centralisée sur son WIKI.
II.1 Initialisation [WIKI01]

Le début du projet a été consacré à de la veille


documentaire. J’ai notamment étudié le format II.3 Analyse des besoins
DICOM-RT (RT pour radiothérapie) [DIC01],
qui constituait une des pistes pour l’extraction La problématique du projet est donc d’établir
de dose. J’ai aussi produit deux documents un pont applicatif entre le département
sous forme de synthèses bibliographiques, l’un dosimétrie et le département radiothérapie
concernant la radiothérapie en général, et pour le traitement des distributions de dose.
l’autre traitant des courbes d’isodose (aussi
appelées courbes d’isoénergie). Le document En ce qui concerne les besoins du coté
sur les isodoses m’a beaucoup servi par la dosimétrie, ils sont simples, pouvoir récupérer
suite pour le développement du premier outil les données modifiées par la radiothérapie
du pont applicatif. pour pouvoir les utiliser sur XiO de CMS.

Du côté radiothérapie, c’est un peu plus


II.2 Etude de l’existant compliqué. Il faut tout d’abord extraire les
données de la dose, puis faire en sorte que
Cette phase et la précédente ont été réalisées cette dose extraite puisse être superposée sur
en partie en même temps. Il s’agissait là de le patient. En effet, l’extraction de dose ne
comprendre la structure du laboratoire, et les concerne que la boîte de calcul. Ceci implique
outils disponibles. plusieurs opérations, comme effectuer des
translations ou encore rééchantilloner l’image
avec la bonne résolution etc. Ceci est
a) La librairie ITK (Insight nécessaire car les algorithmes de déformation
ToolKit)

3
pour intégrer la respiration fonctionnent selon Sa méthode Write() Crée un nouveau fichier
l’anatomie du patient. de dose à partir d’une instance de
CMSDoseData correctement remplie. Comme
De plus, le laboratoire de radiothérapie a l’intégralité du format d’un fichier de dose n’est
besoin d’outils de vérification des résultats pas connue, la classe crée un nouveau fichier
trouvés, ce qui s’est traduit par le en copiant l’intégralité d’un autre fichier de
développement d’un outil d’extraction de dose, et remplace ensuite la matrice de dose
coupe d’image 3D et un mélangeur d’image. située en fin de fichier.

II.4 Phase d’investigation II.5.2 Les exécutables


Cette phase a été la plus longue. En effet, les clitkCMSDoseToImage
besoins étaient bien définis, mais le moyen
pour y arriver était à découvrir. Nous pouvons Cet exécutable extrait la boîte de calcul d’un
vraiment appeler cela de l’investigation, car fichier de dose et la stock sous forme d’image.
nous cherchions le moindre petit indice Cette dernière a les mêmes caractéristiques
pouvant nous amener à découvrir la matrice que la boîte de calcul créée sous XiO
de dose voulue. (résolution, taille, nombre de points). Cet
exécutable se sert de la classe
Nous pensions au départ que les données CMSDoseFileWriter.
pouvaient être stockées dans les fichiers
DICOM-RT générés par XiO, mais nous avons
fini par abandonner l’idée puisque nous ne
trouvions absolument rien.

Nous nous sommes alors tournés vers les


fichiers générés par XiO lors de la sauvegarde
des plans de traitements. CMS nous a fournit
le code d’une procédure de lecture en Fortran,
qui m’a permis de comprendre un peu mieux la
structure du fichier. Toutefois, il manquait
encore beaucoup d’informations et il a encore
fallu deviner les choses. De plus, ces fichiers
ont une partie ASCII et une partie binaire, ce
Figure 2 : visualisation d’une boîte de calcul extraite par
qui ne facilite pas les choses. Toutefois, avec clitkCMSDoseToImage dans les 3 dimensions
l’aide de David Sarrut, nous avons finalement
pu extraire les données qui nous intéressaient. clitkCMSImageToDose

Cet exécutable crée un nouveau fichier de


II.5 Développement dose à partir d’une image de boîte de calcul et
d’un fichier de dose. Il est conseillé de donner
Le développement a été réalisé en C++ avec en paramètre un fichier de dose dont les
les librairies ITK et CLITK. La STL est aussi paramètres correspondent (taille et résolution
utilisée, notamment la classe vector. de la boîte), car ce fichier sera d’abord copié
entièrement avant la modification de sa
II.5.1 Les classes utilitaires matrice de dose. Cet exécutable fait appel à la
classe CMSDoseFileWriter. Le fichier de dose
CMSDoseData produit est parfaitement lisible par XiO.

clitkCMSSliceExtractor
Classe de stockage de toutes les données
intéressantes concernant la boîte de calcul de Cet exécutable est très utile pour des tests. Il
dose et extraite dans les fichiers de dose de permet en effet d’extrait une coupe d’une boîte
XiO de calcul de dose directement à partir d’un
fichier de dose (partie binaire). De plus, XiO
CMSDoseFileReader permet de crée des fichiers ne concernant
qu’une seule coupe (entièrement en ASCII), et
Sa méthode Read() parcours un fichier de cet exécutable permet aussi de l’extraire. Nous
dose et remplit une instance de avons donc pu comparer des coupes entre
CMSDoseData. elles, pour valider l’extraction de la dose en
3D.
CMSDoseFileWriter
clitkDoseTranslation

4
entre 0 et 255 pour chaque composante de
Cet exécutable constitue la dernière phase de couleur (rouge, vert et bleu). Les valeurs
la récupération de données de dose. Comme rouges correspondent aux pixels ayant les plus
nous l’avons vu sur la figure 1, la boîte de grandes valeurs (typiquement là où le plus de
calcul de dose est située quelque part dans le dose est déposé)
repère 3D du patient. Hors, la boîte de calcul
extraite avec clitkCMSDoseToImage a son
origine dans le coin supérieur gauche. Il faut
par conséquent la décaler pour pouvoir la
superposer sur l’image du patient, ceci dans
les 3 dimensions.

Figure 4 : Superposition d’une image de patient avec une


dose traitée avec clitkDoseTranslation
Figure 3 : Décalage à réaliser pour mettre la dose extraite
à la bonne origine (ici dans le plan X/Y). clitkDoseImageToCMSFile

Le décalage peut soit être donné en Exécute la séquence complète du sens


paramètre, soit être automatiquement calculé recherche – clinique concernant la dose.
par le programme. L’image de dose est sous-échantillonnée pour
L’image de dose à décaler passée en retrouver la taille initiale de la boîte de calcul.
paramètre doit déjà avoir la même résolution Ici encore, on utilise un filtre d’interpolation
que l’image patient. ITK. Toutefois, comme c’est un sous-
échantillonnage, on applique aussi un filtre
clitkCMSDoseExtractor gaussien afin d’éviter au maximum les erreurs
d’interpolation en « lissant » les valeurs.
Exécute la séquence complète d’extraction de [GAUSS01]
dose dans le sens clinique – recherche, à La fin des opérations est similaire à
partir de clitkCMSDoseToImage jusqu’à clitkImageToDose. Le fichier de dose produit
clitkDoseTranslation. Tout est fait est parfaitement lisible par XiO.
automatiquement, comme le changement de
résolution, qui fait appel au filtre d’interpolation
de ITK. En effet, la résolution de la boîte de II.6 Tests
calcul est toujours plus grande que celle de
l’image du patient. Pour pouvoir les L’informatique dans le monde médical se doit
superposer, elles doivent avoir les mêmes d’être la plus précise possible. Une part
paramètres (taille, résolution). L’utilisation importante du temps a donc été consacré aux
d’une interpolation permet de minimiser les tests. Certains outils que j’ai développés nous
erreurs. ont permis de faire des premiers tests
L’image de dose produite est prête à être approximatifs :
superposée à celle du patient.
clitkImageOverlap : bon positionnement de la
clitkImageOverlap dose sur le patient et bonne distribution de
dose. Ceci reste visuel et donc assez peu
Cet utilitaire permet de superposer deux précis.
images 3D de même taille, avec un facteur de
transparence au choix et une colorisation de clitkCMSSliceExtractor : permet de vérifier
l’image placée au dessus. Cette colorisation que les données binaires extraites sont
est réalisée grâce à un fenêtrage dont les correctes, en comparant une coupe d’image
valeurs sont choisies par l’utilisateur. En 3D extraite en ASCII avec une coupe d’image
fonction de cela, chaque pixel aura une valeur 3D extraite en binaire.

5
Je tiens aussi à remercier Marian Scuturici,
Toutefois, les tests très précis sont impossibles tuteur INSA, pour avoir répondu à mes
puisque la chaîne de traitement comporte des questions concernant le PFE.
interpolation qui fausse forcément les valeurs.

Le sens recherche – clinique était plus simple Références bibliographiques


à tester, puisque XiO est un puissant logiciel
de visualisation de dose. Il nous suffisait ainsi [RAD01] Description des activités du Service du
de comparer les valeurs maximales de dose et Radiothérapie du CLB :
http://oncora1.lyon.fnclcc.fr/
de voir si la distribution de dose était correcte.
[XIO1] CMS products : XiO
http://www.cms-euro.com/xio.php
II.7 Production de documentation
[DIC01] S. Seda, rapport de DESS
J’ai documenté chaque exécutable sur le Wiki Introduction à la norme DICOM et l’extension
de l’équipe de recherche [CLITK01]. Cette DICOM-RT
documentation est en anglais et reprend le
schéma utilisé par l’équipe. [ITK01] Site officiel de la librairie ITK
http://www.itk.org

III Gestion du temps [CLITK01] Documentation de CLITK


http://www.creatis.insa-lyon.fr/rio/CLITK
La planification a été très difficile, car le temps
[WIKI01] Wiki Rayonnement, Images, Oncologie
d’investigation était indéterminé. Toutefois, je
http://www.creatis.insa-lyon.fr/rio
m’étais fixé pour objectif de finir ce travail pour
la fin de la période en alternance, c’est-à-dire [GAUSS01] I. Bloch, ENST
fin Mars. Ce délai a été respecté et le temps Filtrage des images
de développement a été légèrement plus cours http://www.tsi.enst.fr/~bloch/ANIM/filtrage.pdf
que prévu, ce qui m’a permis de mieux tester
les outils et les résultats obtenus.

Conclusions
Ce projet a été enrichissant aux niveaux
professionnel et personnel. J’ai tout d’abord dû
être très rigoureux, puisque la précision était le
maître mot. Le travail qui a été réalisé répond
bien aux besoins des chercheurs, et les
objectifs initiaux ont été atteints. Je suis de
plus assez satisfait de ma planification initiale,
qui, bien que n’ayant pas été tout à fait
précise, correspond plutôt bien à la réalité
malgré la difficulté d’évaluer les phases
d’investigation.

Ce projet m’a de plus permis de découvrir le


monde de la recherche et de l’imagerie
médicale. C’est une autre conception de
l’informatique, moins standardisée, peut-être
parfois plus libre, en tout cas très intéressante.

Remerciements
Je tiens à remercier mon tuteur de stage,
David Sarrut (CREATIS), qui m’a bien aidé et
encadré tout au long du projet, ainsi que le
reste de l’équipe, Vlad Boldéa, Simon Rit et
Jef Vandemeulebroucke avec qui j’ai beaucoup
travaillé.