• Aucun résultat trouvé

Plusieurs codes de simulation MC ont été développés en radiothérapie : on peut citer parmi les plus connus EGSnrc [220] et ses dérivés BEAMnrc [286] et DOSXYZnrc [287], GEANT4 [288]/GATE [289], MCNPX [290] et PENELOPE [291]. Tous ces codes sont de classe II à l’exception de MCNPX. Certains codes, plus rapides, sont dédiés à un usage en routine clinique et intégrés à des systèmes de planification de traitement, encore appelés TPS pour treatment planning system. On peut citer par exemple DPM [292], PEREGRINE [293], MMC [294] et MCDOSE [295]. Les plus utilisés sont sans doute XVMC [251], incorporé aux TPS iPlan RT Dose (BrainLab), Xio et Monaco (Elekta), et VMC++ [296]. . MMC est utilisé dans le TPS Eclipse (Varian). Ces codes sont présentés dans plusieurs revues, comme par exemple celles de Chetty et al. [297], Verhaegen et al. [298], Reynaert et al. [299] ou encore Jabbari et al. [300].

Durant cette thèse, deux de ces codes de calcul ont été étudiés plus en détails, EGSnrc et PENELOPE. Les spécificités et fonctionnalités de ces deux codes ont été comparées de manière à déterminer lequel des deux était le plus adapté aux deux objectifs poursuivis dans cette thèse, à savoir la modélisation de traitements RCMI step-and-shoot et la prédiction des images portales associées.

2.5.1 PENELOPE

Le code MC PENELOPE (PENetration and Energy Loss of Positrons and Electrons) a été développé à l’université de Barcelone par Salvat, Fernandez-Varea et Sempau au milieu des années 90. Il permettait au départ de modéliser le transport des électrons et des positons, puis dans les versions ultérieures des photons. C’est un code de classe II écrit en Fortran 77. PENELOPE est particulièrement connu pour sa fiabilité à basse énergie et permet le transport de particules dont l’énergie est comprise entre 50 eV et 1 GeV [301]. Les développeurs attirent cependant l’attention sur le fait que les modèles d’interactions implémentés ne sont pas fiables en dessous de 1 keV. Le Laboratoire Modélisation et Simulation des Systèmes (LM2S) dans lequel a été effectuée cette thèse possède une forte expertise de ce code pour les

64

applications en physique médicale. La version 2006 du code PENELOPE [291] a été parallélisée [302] puis enrichi de nombreuses fonctionnalités (réductions de variance, nouveaux modèles de transport) pour la radiothérapie [22-24], la protonthérapie et l’imagerie par rayons X.

2.5.2 EGSnrc et ses codes dérivés BEAMnrc et DOSXYZnrc

Le code EGS (Electron Gamma Shower), devenu EGSnrc [220], est l’un des codes MC les plus utilisés en physique médicale. Il a été développé par le conseil national de recherches du Canada (NRC). Comme PENELOPE, c’est un code de classe II et il ne permet pas de transporter les protons et les neutrons. Il est codé en Mortran, qui est un langage voisin du Fortran. Les codes dérivés BEAMnrc [286] et DOSXYZnrc [287] ont été développés dans le cadre du projet OMEGA (Ottawa Madison Electron Gamma

Algorithm) et ont chacun leur domaine d’utilisation. BEAMnrc est consacré à la modélisation

d’accélérateurs linéaires d’électrons et permet d’enregistrer des fichiers d’espace des phases. DOSXYZnrc permet d’une part de simuler des sources simples et d’utiliser les fichiers d’espace des phases calculés par BEAMnrc, et d’autre part de créer des géométries voxellisées. Il réalise ensuite le transport des particules dans ces géométries et calcule des distributions de dose. Ces deux codes, complémentaires, s’appuient sur la physique implémentée dans EGSnrc. Le suivi des électrons est réalisé entre 1 keV et plusieurs GeV. Ces deux codes sont parallélisés. BEAMnrc et DOSXYZnrc sont de plus tous les deux dotés d’une interface graphique qui facilite leur prise en main et leur utilisation en générant automatiquement les fichiers de configuration.

2.5.3 Choix du code Monte-Carlo

L’objectif principal de cette thèse, sur lequel nous reviendrons en détail à la fin de ce chapitre, est de développer une méthode de prédiction de l’image EPID de référence basée sur la simulation MC utilisable en routine clinique pour le contrôle qualité des plans de traitement en RCMI. Pour cela, le code MC choisi doit permettre (1) de modéliser un linac, son MLC et l’EPID associé, pour prédire des images portales issues de traitements RCMI step-and-shoot, (2) intégrer un nouveau modèle de sources virtuelles pour les photons adapté à la prédiction d’images portales. Les fonctionnalités actuelles des codes EGSnrc et PENELOPE ont donc été considérées face à ces besoins et sur la base d’arguments d’ordre pragmatique.

Modéliser les traitements RCMI step-and-shoot et prédire les images portales

associées

Le code MC qui va être utilisé doit permettre la modélisation de traitements RCMI step-and-shoot, i.e. de simuler le(s) faisceau(x) d’irradiation délivrés en RCMI, la distribution de dose 3D délivrée en résultant dans un fantôme ou un patient, ainsi que l’image portale associée.

Pour décrire la géométrie du linac et du MLC, BEAMnrc et PENELOPE adoptent une philosophie complètement différente. BEAMnrc propose des modules géométriques pré-établis pour décrire chaque composant d’un linac (cible, collimateur primaire, cône égalisateur, MLC, etc.). Ces modules permettent une description très aisée de la plupart des modèles existants de linacs puisqu’ils permettent à

65

l’utilisateur de décrire le composant géométrique en spécifiant ses cotes géométriques via une interface graphique. Face à un nouveau modèle de linac, ou des changements importants dans la géométrie d’un composant géométrique, l’utilisateur doit développer en Mortran son propre module géométrique, dérivé ou non d’un module déjà existant. Dans PENELOPE, tous les éléments géométriques du linac doivent être intégralement construits à partir de surfaces géométriques élémentaires, ce qui permet de modéliser très fidèlement toutes les géométries.

De nombreux modèles sont disponibles dans EGSnrc/BEAMnrc pour définir la source primaire d’électrons : on peut par exemple définir une source de forme elliptique et d’intensité gaussienne. Dans la version de PENELOPE actuellement utilisée au laboratoire, la source d’électrons primaires est modélisée par une tâche circulaire d’intensité uniforme, ce qui au regard de la littérature est un modèle acceptable. Il est cependant possible d’intégrer dans le code un nouveau modèle de source.

La simulation de traitements dynamiques est possible dans EGSnrc/BEAMnrc seulement pour certains modèles de MLC : pour le MLCi2 qui sera étudié dans cette thèse, ce n’est pas le cas. Même si on se limite dans le cadre de cette à thèse à la simulation de plans de traitement step-and-shoot, le modèle doit pouvoir être utilisable ultérieurement pour des traitements dynamiques de type sliding windows. Dans PENELOPE, les simulations de traitement dynamiques sont actuellement en cours de développement au laboratoire.

Enfin, les calculs de distribution de dose dans un fantôme/patient et dans l’imageur EPID pour former l’image portale sont, là encore, gérés différemment dans EGSnrc et PENELOPE :

– EGSnrc offre la possibilité de définir des grilles de dose avec des voxels de taille variable dans chacune des trois directions de l’espace, ce qui permet de disposer de davantage de voxels au niveau des zones à forts gradients qu’au niveau des plateaux. PENELOPE n’offre pas cette souplesse et les voxels doivent être définis suivant un schéma régulier,

– Dans EGSnrc comme dans PENELOPE, décrire dans une même simulation la géométrie d’un fantôme ou d’un patient et d’un imageur EPID n’est pas une chose facile. Dans PENELOPE, cela est dû au fait que les natures de ces deux géométries sont différentes : le modèle de l’EPID est décrit par une géométrie quadratique tandis que celle du fantôme ou du patient est décrite, grâce à un développement réalise au sein du laboratoire, par une matrice de voxels, à partir des images scanner CT du patient par exemple. Ces deux types de géométries ne peuvent pas être mélangés dans la même scène de simulation. Une solution est de stocker un nouveau PSF en sortie du modèle CT du patient, puis de l’utiliser comme source en entrée de l’EPID. Cette solution est particulièrement intéressante, car elle nous permet d’utiliser plusieurs fois le PSF comme source. On réduit ainsi le temps de simulation (voir la technique de splitting du PSF, chapitre 3). Dans DOSXYZnrc, on ne peut pas non plus décrire le patient et l’EPID dans la même simulation sans faire quelques développements. En revanche, on ne peut pas stocker un PSF entre les deux géométries car DOSXYZnrc ne propose pas cette fonctionnalité par défaut. Il est donc impossible d’utiliser plusieurs fois les particules qui entrent dans l’EPID ce qui rallonge le temps de simulation. Cette limitation d’EGSnrc est particulièrement handicapante pour notre étude. Certaines équipes se sont heurtées aux

66

mêmes difficultés et ont modifié DOSXYZnrc pour pouvoir enregistrer un PSF pour la mise au point d’une méthode de rétropropagation de la dose à partir des images portales [281]. Cette modification de DOSXYZnrc n’est cependant pas disponible dans la version actuelle d’EGSnrc.

Développer un modèle de sources virtuelles

L’une des raisons fortes qui nous a poussés à nous intéresser à EGSnrc est le fait que BEAMnrc propose un modèle de sources virtuelles pour les faisceaux d’électrons ainsi que des utilitaires pour créer ces modèles de sources virtuelles.

Le modèle de sources virtuelles que nous avons choisi de développer dans cette thèse repose sur une analyse poussée du fichier d’espace des phases calculé par simulation MC. Pour rappel, le fichier d’espace des phases, ou PSF, permet de stocker les caractéristiques des particules constituant le faisceau d’irradiation, et ce, en n’importe quel endroit de la géométrie du linac. La création des histogrammes corrélés repose ensuite sur le tri des particules contenues dans le fichier PSF : ce fichier doit donc contenir les informations nécessaires à ce tri. Les fichiers PSF générés par PENELOPE et EGSnrc/BEAMnrc contiennent sensiblement les mêmes informations : le type de particule, son énergie, sa position, sa direction, son poids, ainsi que plusieurs variables qui renseignent sur l’histoire de la particule. Ces informations sont organisées de façon un peu différente. Dans PENELOPE, le fichier PSF peut être stocké au niveau de n’importe quel élément de la géométrie modélisée, quelle que soit sa forme. Le fichier débute par un entête, puis les informations de chaque particule sont stockées dans un registre binaire de 92 octets : le type de particule (photon, électron ou positon), son énergie, sa position, sa direction, son poids, son numéro de gerbe (ou shower) et cinq variables, notées ILB1, ILB2, ILB3, ILB4 et ILB5 qui donnent des informations sur l’histoire de la particule. Une limite de stockage est fixée à 264

1particules, soit une taille d’environ 1,4.109 To. Dans BEAMnrc, le fichier PSF commence également par

un entête, puis chaque particule est décrite par un registre binaire de 28 ou 32 octets comprenant huit ou neuf variables selon le souhait de l’utilisateur : son énergie, sa position X et Y (la position Z est donnée par l’altitude du plan dans lequel est enregistré le PSF), sa direction, son poids, et une dernière variable nommée LATCH. LATCH est codée sur 32 bits et stocke des informations sur la charge de la particule, son histoire et son lieu de création. Selon son paramétrage, LATCH indique le trajet de la particule et le module géométrique dans lequel elle a interagi pour la dernière fois. Elle joue donc un rôle très important dans l’élaboration des MSV car elle est utilisée pour trier les particules en fonction du lieu de leur dernière interaction. Enfin, une dernière variable facultative (ZLAST) indique l’altitude de la dernière interaction de la particule. On remarquera que les PSF issus d’EGSnrc sont donc environ trois fois plus compacts que ceux générés par PENELOPE mais contiennent sensiblement les mêmes informations. La variable qui identifie les particules est signée et codée sur 32 bits, le PSF ne peut donc pas contenir plus de 231 -1 particules. Sa taille maximale est donc d’environ 56 Go. L’outil BEAMdp permet d’analyser le

PSF.

2.5.4 Conclusion : motivations pour le choix du code MC

Les méthodes MC sont reconnues comme étant les plus précis des algorithmes disponibles en radiothérapie. Elles permettent de réaliser des calculs dosimétriques fiables là où les algorithmes conventionnels échouent. Elles sont en effet robustes quelle que soit la complexité des configurations

67

d’irradiation (hétérogénéités, obliquité de surface) et permettent de modéliser leurs détails les plus fins lorsqu’ils sont bien connus. Le succès des méthodes MC se mesure au nombre croissant d’études qui les utilisent depuis une cinquantaine d’années [297], [298], [303]–[307] et à la variété des codes existants.

En réponse à l’objectif de modéliser des traitements RCMI step-and-shoot, EGSnrc et PENELOPE offrent des fonctionnalités très proches. Les simulations réalisées à l’aide d’EGSnrc au début de cette thèse nous ont toutefois permis de mettre en exergue un point fortement bloquant pour notre travail : il est impossible avec EGSnrc d’écrire un PSF en sortie d’un fantôme (cuve à eau, patient, etc.) comme résultat de la simulation, pour réutilisation ultérieure. La modification d’EGSnrc pour combler cette lacune n’est pas évidente. PENELOPE autorisant la mise en œuvre de cette solution, il s’agit d’un premier argument qui nous a poussés à privilégier le code PENELOPE dans la suite de ce travail. EGSnrc/BEAMnrc offre cependant une information capitale lors de l’élaboration d’un modèle de sources virtuelles, à savoir le lieu de dernière interaction de la particule stockée dans la variable LATCH. Cette information n’est pas disponible par défaut dans PENELOPE mais peut être ajoutée moyennant une modification des variables ILB qui a été apportée au code.