• Aucun résultat trouvé

4.3 ISOgray

4.3.5 Intégration du calcul Monte Carlo au TPS

Le plan de traitement de SSRT comporte typiquement une balistique de 10 faisceaux. Lors du lancement d’un calcul pour cette balistique, ISOgray crée un répertoire spécifique à chaque faisceau afin d’y créer les fichiers d’entrée nécessaires aux calculs. Un script est ensuite exécuté dans ce répertoire pour le lancement des calculs. Puis ISOgray lit dans le répertoire le résultat du calcul de dose pour ce faisceau. La modification du code d’ISOgray a donc porté sur cette étape de génération de fichiers d’entrée, et sur le script de lancement des simulations.

4.3.5.1 Fichiers générés par ISOgray

Les fichiers générés par ISOgray dans le répertoire propre à chaque faisceau sont les suivants. Ceux utilisés pour la simulation dans la géométrie dépendante du patient en géométrie analy-tique (simulation b, dans le cache notamment) sont :

• penlinac.in, fichier d’entrée au programme penlinac, contenant des informations sur les réglages et accessoires de la machine utilisés pour l’irradiation (un LINAC lors d’une utilisa-tion standard d’ISOgray, la ligne médicale de l’ESRF dans notre cas). Dans le cas de l’ESRF, il indique surtout la présence d’un fichier décrivant un cache personnalisé de collimation. • uptray.geo, le fichier décrivant la géométrie du cache personnalisé au format PENGEOM.

Dans ISOgray, les caches personnalisés avaient été dessinés par l’utilisateur dans le module simulation, manuellement ou de manière automatique (en projetant la forme d’une structure (tumeur plus marges) dans le plan des caches, tout en tenant compte de la faible divergence du faisceau). Le dessin du cache réalisé ainsi est enregistré sous forme d’un ensemble de points délimitant un polygone. Une conversion du dessin en une géométrie PENGEOM (où les éléments sont décrits par des surfaces quadriques) est donc réalisée pour la génération du fichier uptray.geo.

La particularité de la SSRT ici est que les caches qui seront utilisés sont non focalisés. Le code (lib.[3]) est modifié par rapport à la version standard d’ISOgray, pour utiliser la conversion où les plans décrivant le bord du cache sont non focalisés, et pour attribuer aux éléments modélisés des matériaux corrects conformément aux éléments présents sur ID17.

• mask.in, fichier d’entrée au programme penmain, avec comme source le PSF1, et les para-mètresEabs,C1,C2,Wcc,Wcr et smaxchoisis. Ce fichier indique aussi le temps maximum alloué à la simulation b.

4.3 ISOgray

Les fichiers utilisés pour la simulation dans le modèle voxélisé du patient (simulation c) sont : • patient.geo, fichier décrivant le modèle voxélisé du patient. À chaque voxel est assigné un

matériau et une masse volumique. Comme déjà évoqué, une courbe de calibration est utilisée pour assigner la masse volumique, puis des seuils en unités Hounsfield pour l’attribution des matériaux air, eau (ou tissu mou), et os du crâne. Selon la maille de calcul choisie par l’utilisateur du TPS, un sous-échantillonnage du volume 3D du patient est éventuellement réalisé pour obtenir une matrice à la taille voulue.

Dans le code, des ajouts ont été faits aux fonctions réalisant le calcul de la grille 3D de voxels (lib. de gestion des données du plan de traitement[3]). La seconde série d’images (recalée) est chargée, et la série d’images de référence lui est soustraite pour obtenir la prise de contraste dans le volume du patient (∆HU). Dans les voxels où de l’eau (ou tissu mou) avait été attribuée à la première étape (attribution des matériaux non iodés), le matériau est éventuellement modifié en eau + iode, si la valeur de prise de contraste∆HU est comprise entre une des paires de seuils enregistrés dans la bibliothèque d’appareils d’imagerie. Enfin, lors de la prise en compte de correction d’hétérogénéités dans certaines structures, le code (lib.[3]) a également été complété pour corriger la présence d’iode si cette option est sélectionnée.

Un exemple de modélisation de patient est représenté à la figure 4.5. Notons qu’avant ou

(a) Matériaux. L’échelle est : 1 : eau, 2 : air, 3 : os, 4 à 13 : eau + iode à 1, 2, . . . 10 mg/ml

(b) Masse volumique (g/cm3

)

FIGURE4.5 – Coupe transversale du modèle voxélisé d’un patient porteur d’une tumeur, laquelle a fixé l’agent de contraste iodé. Pour cet exemple, le pas de concentration d’iode entre deux maté-riaux iodés est choisi à 1 mg/ml.

après le calcul, il est possible dans ISOgray d’inspecter visuellement la modélisation du pa-tient, pour vérifier l’intégrité de cette modélisation.

• merge.in, fichier d’entrée au programme penct, indiquant la source (PSF2), et les para-mètresEabs,C1,C2,Wcc, Wcr etsmax choisis. Le temps maximum alloué à ce calcul ainsi que l’éventuel splitting du PSF2sont également indiqués.

Pour la génération des deux fichiers d’entrée aux deux simulations, mask.in et merge.in, une fonction dédiée à l’ESRF a été créée dans le code source (lib.[3]). Elle génère ces fichiers de façon à respecter les formats attendus par les deux programmes personnalisés pour la SSRT penmain et penct.

4.3.5.2 Lancement des calculs

Pour le calcul par simulation Monte Carlo, après génération des fichiers d’entrée, ISOgray lance un script, auquel un paramètre indique le type de simulation à exécuter. Un type de simulation dédié à l’ESRF, nommé pen_CT, a été ajouté à la librairie de gestion des données du plan (lib.[3]), et est utilisé si le constructeur de la machine de traitement est l’ESRF. Et le script de lancement du calcul Monte Carlo (dans la lib.[5]) a été complété pour permettre que penmain puis penct soient lancés séquentiellement (si le type de calcul pen_CT lui est effectivement passé en paramètre).

Mais avant les simulations Monte Carlo, ce script commence par exécuter le programme penlinac.

4.3.5.3 Le programme penlinac

Le programme penlinac prend en paramètre le fichier penlinac.in et le fichier de géomé-trie uptray.geo et génère un fichier de géomégéomé-trie complet au format PENGEOM, en ajoutant les éléments fixes du porte cache et manquants à uptray.geo.

Le programme penlinac (faisant partie de la librairie de calcul Monte Carlo [5]) a donc été modifié pour pouvoir fonctionner avec un fichier d’entrée penlinac.in décrivant une machine de type ligne de lumière médicale de l’ESRF, et donc un porte cache (tray) particulier. Celui-ci est représenté sur la figure 4.6, ainsi que le modèle généré par penlinac au format PENGEOM.

(a) Porte cache en cabine de traitement (b) Cache modélisé. La surface violette repré-sente le plan d’enregistrement du PSF2.

FIGURE4.6 – Porte cache.

4.3.5.4 Simulation dépendante du patient en géométrie analytique

Le programme penmain est lancé sur l’ordinateur multiprocesseur où fonctionne ISOgray, avec comme fichier d’entrée mask.in, et comme fichier de géométrie celui généré plus tôt par penlinac.

4.3 ISOgray

Le fichier d’entrée mask.in indique la source du calcul : le PSF de la bibliothèque de faisceaux correspondant au faisceau utilisé (PSF1).

Les paramètres de ce calcul ont déjà été évoqués. Rappelons cependant que les particules du PSF1 sont chacune, avant simulation dans la géométrie, déplacées d’une distance verticale aléa-toire dans l’intervalle de mouvement de la chaise médicale (typiquement 7 cm). Le parcours des particules est ensuite simulé dans la géométrie jusqu’à un plan situé 137 cm avant l’isocentre de l’irradiation. Au niveau de ce plan est sauvegardé un nouveau PSF (PSF2).

Cette simulation continue jusqu’à la fin du temps qui lui est imparti, ou à l’épuisement des particules disponibles dans le PSF1. Le PSF1 utilisé désormais contient de toute façon assez de particules pour que cette simulation puisse durer plus d’une heure, ce qui est bien supérieur au temps total qui sera disponible.

4.3.5.5 Simulation dans le patient

Le programme penct développé pour la planification de traitement en SSRT a été ajouté à la librairie de calcul Monte Carlo (lib. [5]). Celui-ci est lancé à la suite de la simulation b (sur l’ordinateur multiprocesseur où fonctionne ISOgray), avec comme fichier d’entrée merge.in, et comme fichier de géométrie patient.geo. La simulation du transport des particules est effectuée depuis le PSF2généré à la simulation b.

À la fin de la simulation dans le patient (fin du temps imparti, ou épuisement des particules disponibles dans le PSF2), penct enregistre la distribution de dose calculée dans un fichier. ISOgray peut ensuite lire le résultat dans ce fichier.