Perspective of Monte Carlo in Radiation Therapy Planning.
Se presenta es estado actual de los códigos especializados para planificar radioterapia basados en Monte Carlo. Discutimos el impacto que la difusión del paralelismo masivo puede tener en la implantación generalizada de MC en los TPS. Presenta los dos caminos que tenemos para adoptar el paralelismo masivo.
Instrumental Quirúrgico 2° ed - Renee Nemitz (2).pdf
Perspectivas del Monte Carlo en La Planificación de Radioterapia.
1. Perspectivas del Monte Carlo en
la planificación de radioterapia
Armando Alaminos Bouza
Mevis
São Paulo. Brasil
2. 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.
3. 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 solamente
unas 5 horas.
4. 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.
5. ¿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 .
6. ¿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).
7. 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.
8. 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?
9. 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).
10. 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
11. 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.
12. 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 sistema
comercial de este género.
La idea de explotar al máximo el paralelismo de las historia en un código MC fue
importante y precursora. Por otra parte, los “cluster” son un recurso muy
interesante para “High Performance Computing” (HPC) en ambientes de
investigación. Pero veo en ellos serios inconvenientes para los ambientes médicos
en general.
13. 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).
14. 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.
15. 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 / (s
2
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).
16. 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.
17. 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
18. 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.
19. 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
20. 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 uso
clínico en muy breve plazo.
Tenemos a nuestro alcance el llamado
paralelismo masivo, y esto puede ser
determinante para finalmente
establecer al MC como el método
standard en los TPS.
Existen dos vias al paralelismo masivo
en este momento: Las GPU y los MIC
(“Many Integrated Core Arquitecture”)
21. 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 fuente
para poder explotarlas.
En el caso del Intel XEON Phi, practicamente no necesitamos alterar el código, continúa
soportando 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 instrucciones
vectoriales (SIMD), sin pérdidas de eficiencia
en 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 ?
22. 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.
23. 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.
24. 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”, Iwan
Kawrakow. 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”, Jailan
Alshaikhi. 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.