perspectivas del monte carlo en la planificación de radioterapia

24
Perspectivas del Monte Carlo en la planificación de radioterapia Armando Alaminos Bouza Mevis São Paulo. Brasil

Upload: armando-alaminos-bouza

Post on 21-Feb-2017

186 views

Category:

Health & Medicine


3 download

TRANSCRIPT

Perspectivas del Monte Carlo en la planificación de radioterapia

Armando Alaminos Bouza

Mevis

São Paulo. Brasil

El Método de Monte Carlo (MC) tiene sus orígenes en trabajos desarrollados entre los años de 1930 y 1940 para resolver problemas de transporte de neutrones. Entre sus precursores se encuentran Enrico Fermi, Stanislaw Ulam, John von Neumann, Nicholas Metropolis y Robert Richtmyer.

Fragmento de carta de J. von Neumann a S.Ulam informando sus progresos en generación de numeros pseudo aleatorios con distribuciones especiales.

Fragmento de carta de 1947, en que John von Neumann, en Princeton, presenta a Robert Richtmyer, de Los Alamos National Lab, la posible factibilidad de usar la ENIAC para resolver los problemas de difusión y multiplicación de neutrones en problemas de fisión.En la última página conjetura que debía entrar en la capacidad lógica del ENIAC y que unas 100 historias de neutrones, con 100 colisiones cada uno, tardarían solamenteunas 5 horas.

Adopción del Monte Carlo en la Física Médica.

(+) Eje vertical izquierdo, total de referencias a MC. ( o ) Eje de la derecha % de códigos MC “in-house”. Tomado de Alan E Nahum, 1988. “Overview of Photon and Electron MC”.

Métrica basada en el total de pub. de Phys.Med.Biol +Medical Phys.

¿Como utilizamos los códigos de Monte Carlo en la Radioterapia?

Pencil Beam con eletrones de 10 MeV. MC3D (in-house).Voxel de 1x1x1 mm en volumen de 128x128x128 voxels.

Energy Deposition Kernel (EDK) para 6 MeV de fotones en agua, generado con EGSnrc / EDKnrc .

¿Como utilizamos los códigos de Monte Carlo en la Radioterapia?

Me limitaré a los usos más destacados, es imposible agotar el tema.

1. Generación de bibliotecas de “Energy Deposition Kernels” (EDK).2. Generación de bibliotecas de kernel para Pencil Beam.3. Complemento en la dosimetría de haces pequeños.4. Obtención de distribuciones de dosis alrededor de fuentes de braquiterapia

(radial dose functions, anisotropy functions, etc).5. Determinación de la razón de poder de frenado como función de la profundidad

(stopping-power ratios).6. Caracterización de detectores de radiación.7. Microdosimetría en el estudio del efecto biológico de la radiación.

8. Como motor de cálculo de un sistema de planificación de RT (TPS).

Generalmente, para las aplicaciones de 1 a 7 utilizamos códigos de Monte Carlo denominados de “propósito general” y algunas veces códigos desarrollados para objetivos específicos, conocidos como “In-House Monte Carlo Code” (MC casero).

Los códigos de propósito general más empleados para trabajos en RT son:

- EGS4 / EGS5 - SLAC- EGSnrc - National Research Council-Canada- PENELOPE - Universidad de Barcelona- MNCP - LANL- GEANT4 - CERN- FLUKA - INFN (Italia)

En particular se destacan los códigos de usuario BEAMnrc y DOSXYZnrc, que crearon un punto de inflexion en la relación entre la planificacion en Radioterapia y el Monte Carlo.

El uso de MC presentado como número ocho, “Como motor de cálculo de un sistema de planificación de RT (TPS)”, es, probablemente , el tema de mayor interés al momento de preparar esta charla.

La posibilidad teórica de conseguir errores menores que 3% para cualquier geometría y composición de los tejidos irradiados tornan al método de MC en objeto de deseo para los desarrolladores de TPS.

Pero la planificación de radioterapia tiene que ser interactiva, es necesario explorar muchas configuraciones de planes para elegir el mejor. Si el operador del TPS necesita esperar varios minutos cada vez que modifica el plan, comienza a crearse un rechazo a ese algoritmo o motor de cálculo. Esto imposibilita el uso directo de los MC de propósito general en los TPS.

¿Como resolver este conflicto sin sobrepasar las restricciones financieras de un servicio pequeño o medio de RT?

El Monte Carlo en la Planificación de radioterapia con haces de fotones.

• Del punto de vista dosimétrico y clínico, la planificación de RT basada en Monte Carlo es significativamente superior a todos los métodos derivados de Pencil Beam.

• Para efectos clínicos la superioridad dosimétrica del Monte Carlo en relación a la Superposición de EDK está menos clara, pero es, definitivamente, más preciso

• Varios trabajos recientes indican que, del punto de vista dosimétrico, los resultados en la planificación de RT con MC y Grid-Based Boltzmann Solver (GBBS) son muy próximos. (Acuros y Attila, creados por Transpire,Inc y comprados el 5 de Agosto de 2014 por Varian Medical Systems).

Códigos Rápidos de Monte Carlo.

Todos ellos contienen algún grado de simplificación en los modelos físicos del transporte de partículas (electrones por lo general), en relación a los MC de propósito general. Incluyen diversas técnicas de reducción de varianza.

Macro Monte Carlo (MMC) – Cada paso de los electrones se modela dentro de pequeñas esferas, de 0.5 a 3 mm. La distribución de partículas emergentes está precalculada en una biblioteca creada con el EGS4/EGSnrc.

La mejora de velocidad de convergencia, tomando como factor de referencia al EGS4 con la misma varianza va de 4 a 10 veces, para distintas condiciones.

Las versiones más modernas del MMC presentan discrepancias de hasta 4% en relación al EGSnrc

Códigos Rápidos de Monte Carlo.

Superposition Monte Carlo (SMC) – Utiliza una biblioteca de caminos (tracks) de electrones previamente creada con un MC de propósito general. Para electrones iniciales de 15 MeV el tamaño típico de la biblioteca es de 15 MB. Para cada energía de electrones iniciales que se necesite tendríamos que crear su correspondiente biblioteca.

Sus desvíos dosimétricos respecto al EGSnrc van de 2 a 5%.

La mejora de velocidad de convergencia, tomando como factor de referencia al EGS4 llega a 20 veces, para una misma varianza.

Códigos Rápidos de Monte Carlo.

PEREGRINE –Modela fotones, electrones, positrones, neutrones y partículas cargadas hasta unos 20 MeV. Admite un número limitado de átomos constituyentes, pero más que suficientes en la clínica. Emplea varias modalidades de reducción de varianza. Su velocidad depende de un sistema con varias CPUs trabajando en paralelo, la comunicación entre procesos (IPC) depende de una red de alta velocidad (computer cluster).Fue el primer TPS basado en MC que recibió FDA 510-K y fue el primer sistemacomercial de este género.

La idea de explotar al máximo el paralelismo de las historia en un código MC fueimportante y precursora. Por otra parte, los “cluster” son un recurso muyinteresante para “High Performance Computing” (HPC) en ambientes de investigación. Pero veo en ellos serios inconvenientes para los ambientes médicos en general.

Códigos Rápidos de Monte Carlo.

Voxel-Based MC (VMC, XVMC,VMC++) – Es más próximo a un MC de propósito general. Varias de las interacciones en el transporte de electrones se implementan con modelos simplificados, particularmente el tratamiento de la dispersión múltiple (multiple scattering). La repetición de historias de partícula fue una idea muy útil que se introdujo en el VMC. El rango de energía está limitado entre 1-30 MeV y la densidad de los materiales empleados también está limitada. Está presente en el Monaco de Elekta y el iPlan de BrainLab.

Existen estudios que muestran que la diferencia entre el VMC++ y el EGSnrc no supera el 1% en muchas condiciones analizadas.

La mejora de velocidad de convergencia en el VMC++, tomando como factor de referencia al EGSnrc va de 30 a 100 veces, para una misma varianza. (diversos trabajos muestran resultados diferentes).

Códigos Rápidos de Monte Carlo.

“Dose Planning Method” (DPM) – Mecanismo de transporte y dispersión múltiple modelados de forma que se puedan dar pasos grandes de historias condensadas, próximos a 5 mm para energías superiores a 6 MeV. DPM es un código clase II, con modelos simplificados de las colisiones inelásticas fuertes y del bremsstrahlung. Las interacciones de fotones se tratan en forma analógica.

Para haces de electrones primarios DPM consigue errores menores que 1.25% en relación a códigos de propósito general (PENELOPE y EGS4).

Conseguía 1E6 historias de electrones primarios de 16 MeV en unos 6 minutos, esto era en una CPU HP PA-8500. Existe una implementación en CUDA (Nvidia Tesla C1060) que es aproximadamente 5-6 más rápida que la versión secuencial.

Todos los códigos rápidos de MC para planificación directa de radioterapia explotan al máximo posible las técnicas de reducción de varianza.

e = 1 / (s2

T)

Donde: e es eficiencia de um MC, s es la varianza y T el tiempo de CPU total para conseguir la varianza. Note que la varianza es proporcional al inverso de la raíz cuadrada de N (número de historias) y T es proporcional a N (para un código secuencial). Por tanto la eficiencia no depende de N.Las técnicas que permiten disminuir la varianza, s , para um mismo número de historias (N), se denominan técnicas de reducción de varianza.Muchas de estas técnicas son viejas conocidas del MC. Otras son más novedosas, como re-uso de trayectorias de partículas, transporte simultáneo de conjuntos de partículas (STOPS creado por Kawrakow) y el empleo de números quasi-aleatórios, como las secuencias de Sobol o de Halton (secuencias de baja discrepancia).

También podemos intentar disminuir el tiempo de CPU medio por historia. Pero esto generalmente se consigue por optimización de código o por simplificación del modelo físico. Esto tiene un limite, pues podemos perder precision o realismo del modelo físico.

Pero: El tiempo de CPU no es igual al tiempo del reloj de pared !!

Si tenemos múltiples hilos de ejecución (threads) para historias en paralelo, una para cada CPU virtual podemos aspirar a que :

Twall = Tcpu / ncpu (en general no se consigue el factor ideal 1/ ncpu )

Esto apenas depende de preparar el código para explotar el paralelismo presente en el hardware, algo que hoy es muy fácil con OpenMP y con un poco más de esfuerzo empleando OpenCL, CUDA, MPI y otros métodos.

Tiempo de cálculo con Monaco, Elekta, ver. 2.03.00, método basado en XVMC++Haz de fotones de 6 MeV, Linac Elekta Synergy.

Tomado de Jailan Alshaikhi, Medical Faculty Mannheim, Ruprecht Karls University, Heidelberg

Gracias a la cortés comunicación de colegas que utilizan el Monaco versión 5.1 he montado los siguientes rangos de tiempo para campos de 6MeV.

Varianza 2% 1%

Voxel en mm 3 1

Tiempo en segundos

10-30 300-1200

También se confirma la fuerte dependencia respecto a la varianza estipulada. Estos tiempos, naturalmente, dependen fuertemente del hardware donde el sistema está instalado.

Workstation HP Z840 con doble XEON de 14 cores cada. Total de thread disponible: 56 !

Monaco (Elekta): Mejora de velocidad por evolución del código y del hardware

Considero que, dado el estado actual de algunos códigos de Monte Carlo rápidos y con la proliferación de la capacidad de procesamiento paralelo embarcada en el hardware, podremos llegar a conseguir tiempos de respuesta ideales para usoclínico en muy breve plazo.

Tenemos a nuestro alcance el llamadoparalelismo masivo, y esto puede serdeterminante para finalmenteestablecer al MC como el métodostandard en los TPS.

Existen dos vias al paralelismo masivoen este momento: Las GPU y los MIC(“Many Integrated Core Arquitecture”)

Tanto las GPU como los MIC disponibilizan centenares de threads al entorno de cálculo.Pero en las GPU somos obligados a efectuar alteraciones significativas del código fuentepara poder explotarlas. En el caso del Intel XEON Phi, practicamente no necesitamos alterar el código, continúasoportando OpenMP en forma de pragmas (casos de C, C++ y FORTRAN).

Un Xeon Phi 7250 presenta 68 cores y un total de 272 threads, con instruccionesvectoriales (SIMD), sin pérdidas de eficienciaen flotantes de 64 bits.

Su precio va de 1500 a 3000 US$.

¿Como serían los tiempos de la tabla del Monaco 5.11 si en lugar de 56 threads fueran 272 ?

Conclusiones:

- Los motores de cálculo de dosis basados en Monte Carlo son, en principio, la forma más precisa que conocemos de resolver este tipo de problemas de transporte.

- Los tiempos de convergencia en MC fueron el obstáculo que los mantuvo fuera de la planificación directa de Radioterapia.

- Progresos recientes en los algoritmos y fundamentalmente en la potencia de cálculo del hardware, financieramente accesible, abren las puerta para que los TPS reciban los motores de cálculo con Monte Carlo.

Consideraciones:• Pienso que en breve el MC será el standard para todo TPS.• El competidor que resta frente al MC son los “Grid-Based Boltzmann Solver”. • Aún es muy pronto para prever si alguno prevalecerá.

Muchas Gracias.

Bibliografía:“Stan Ulam, John von Neumann, and the Monte Carlo Method”. Robert Eckhardt. “Los Alamos Science”, Special Edition 1987.“Monte Carlo Transport of Electrons and Photons”, Edited by Theodore Jenkins, Walter R Nelson and Alessandro Rindi. Tech. Editors: A.E.Nahum and David W.O. Rogers., Plenum Press, NY 1988.“Stopping-Power Ratio for a photon spectrum as a weighted sum of the values for monoenergetic photon beams”, Pedro Andreo, A.E. Nahum. Phys.Med.Biol. 30 (1985).“Proceedings of the Seventeenth EGS Users’ Meeting in Japan”. Edited by Y. Namito, H.Hirayama and S.Ban. August 2010.“2D Monte Carlo Code for Fast X-Ray beam modeling on personal computers”. Armando Alaminos Bouza, Roberto Capote Noy. Proceedings World Congress on Medical Physics. Phys.Med.Biol. 39a, 1994.“Monte Carlo Treatment Planning. An Introduction”, Report 16 of the Nederlands Commission on Radiation Dosimetry. June 2006.“Validation of a new grid-based Boltzmann equation solver for dose calculation in radiotherapy with photon beams”. Vassiliev ON, Wareing TA, McGhee J, Failla G, Salehpour MR, Mourtada F. Phys. Med. Biol. Jan. 2010.“Review of Fast Monte Carlo Codes for Dose Calculation in Radiation Therapy Treatment Planning”, Keyvan Jabbari, J.Med.Signals Sens, Jan-Apr, 2011.“DPM, a fast, accurate Monte Carlo code optimized for photon and electron radiotherapy treatment planning dose calculations”. Sempau Josep, Wilderman SJ., Bielajew AF., Phys.Med.Biol, 45 (2000).“Development of a GPU-based Monte Carlo dose calculation code for coupled electron-photon transport”. Jia Xun, Gu X., Sempau Josep, Choi D., Majumdar A., Jiang SB.., Phys.Med Biol., Jun. 2010.

Bibliografía (cont).

“Monte Carlo techniques in medical radiation physics,” Pedro Andreo, Physics in Medicine and Biology, vol. 36, no. 7, pp. 861–920, 1991.“VMC++, Electron and Photon Monte Carlo Calculations Optimized for Radiation Treatment Planning”, IwanKawrakow. In: “Advanced Monte Carlo for Radiation Physics, Particle Transport Simulation and Applications”, Springer-Verlag, 2001, page 229.“Improved modeling of multiple scattering in the voxel Monte Carlo model”, Iwan Kawrakow, Med.Phys. 24(1997).“Feasibility assessment of the interactive use of a Monte Carlo algorithm in treatment planning for intraoperative electron radiation therapy”. Pedro Guerra, Udías JM., Herranz E., et.al. Phys.Med.Biol. 59 (2014).“Using PRIMO, a PENELOPE-based software, to improve the small field dosimetry of linear accelerators”. Hamza Benmakhlouf, L. Bruall, Pedro Andreo, Josep Sempau. Med.Phys. June 2016.“PEREGRINE: An all-particle Monte Carlo code for Radiation Therapy”, CL Hartmann Siantar, WP Chandler, JA Rathkopf, MM Svatos, RM White. Lawrence Livermore National Laboratory. Proceedings of “Int. Conference on Mathematics and Computations, Reactor Physics and Enviromental Analyses” Apr-May, 1995.“Influence on different Monte-Carlo variance at the dose calculation and the impact to the commissioning”, JailanAlshaikhi. Thesis, August 2010, Ruprecht Karls University, Heidelberg.“Report of the AAPM Task Group No. 105: Issues associated with clinical implementation of Monte Carlo-based photon and electron external beam treatment planning”. Ingrid Chetty, B.Curran, J.DeMarco, G.Ezzell, B.Faddegon, I. Kawrakow, P.Keall, H.Liu, C.M Charlie Ma, D.O. Rogers, J. Seuntjens, D. Sheikh-Bagheri, J.Siebers., Med.Phys. Dec. 2007.