Search

US-12616850-B2 - Virtual particle based Monte Carlo dose calculation for charged particle therapy treatment planning

US12616850B2US 12616850 B2US12616850 B2US 12616850B2US-12616850-B2

Abstract

Radiation treatment planning for charged particle therapy systems, such as proton therapy systems, includes calculating dose distribution(s) using a virtual particle Monte Carlo (“VPMC”) dose calculation engine that utilizes virtual particles. Virtual particles inherit the physical properties from realistic particles, but are conceptually designed for parallel computing in graphics processing units (“GPUs”) by avoiding the simulation of secondary particles. Simulation of virtual particles instead of realistic particles takes full advantage of the GPU hardware architecture (e.g., by avoiding thread divergence and racing conditions).

Inventors

  • Wei Liu
  • Jie Shan

Assignees

  • MAYO FOUNDATION FOR MEDICAL EDUCATION AND RESEARCH

Dates

Publication Date
20260505
Application Date
20220603

Claims (18)

  1. 1 . A treatment planning system for use with a charged particle therapy system, comprising: a memory having stored thereon: a pre-calculated continuous-slowing-down-approximation (CSDA) model comprising probability distribution functions (PDFs) of physics parameters associated with soft particle interactions of virtual particles; a pre-calculated ionization model comprising PDFs of physics parameters associated with ionization of virtual particles; and a pre-calculated large angle scattering event (LAE) model comprising PDFs of physics parameters associated with hard particle interactions of virtual particles; a graphics processing unit (GPU) configured to: load the CSDA model, the ionization model, and the LAE model into a shared memory of the GPU; simulate virtual particles using the CSDA model, the ionization model, and the LAE model, wherein the virtual particles are simulated by simulating both primary charged particles and secondary particles as virtual particles that start at a same starting location of a primary charged particle; and calculate a dose distribution of the primary charged particles and the secondary particles based on the simulated virtual particles; wherein the GPU is configured to simulate virtual particles by: assigning each virtual particle to a thread of the GPU thereby minimizing thread divergence and racing conditions in the GPU; and in each of a plurality of steps: calculating a phase space for each virtual particle based on at least one of the CSDA model, the ionization model, or the LAE model; and updating each virtual particle based on the calculated phase space.
  2. 2 . The treatment planning system of claim 1 , wherein the GPU is configured to load the CSDA model, the ionization model, and the LAE model into the shared memory of the GPU by storing the CSDA model, the ionization model, and the LAE model as compute unified device architecture (CUDA) textures look-up tables in the shared memory.
  3. 3 . The treatment planning system of claim 1 , wherein the GPU is configured to calculate the phase space for each virtual particle by calculating an updated phase space of each virtual particle based on at least one of the CSDA model, the ionization model, or the LAE model.
  4. 4 . The treatment planning system of claim 1 , wherein the GPU is configured to, for each virtual particle in each of the plurality of steps: calculate the phase space for the virtual particle based on the ionization model; compare an ionization probability calculated for the virtual particle with a sampled ionization probability; if the calculated ionization probability is less than the sampled ionization probability, update the phase space of the virtual particle based on the phase space calculated based on the ionization model.
  5. 5 . The treatment planning system of claim 1 , wherein the GPU is configured to, for each virtual particle in each of the plurality of steps: calculate the phase space for the virtual particle based on the LAE model; compare a nuclear reaction probability calculated for the virtual particle with a sampled nuclear reaction probability; if the calculated nuclear reaction probability is less than the sampled nuclear reaction probability, update the phase space of the virtual particle using the phase space calculated based on the LAE model.
  6. 6 . The treatment planning system of claim 1 , wherein the GPU is configured to calculate the dose distribution by, during a dose scoring stage, multiplying a weight gain value to a dose contribution of each virtual particle in each of the plurality of steps.
  7. 7 . The treatment planning system of claim 6 , wherein each weight gain value corresponds to a fractional share of a same path shared by multiple virtual particles in each of the plurality of steps.
  8. 8 . The treatment planning system of claim 1 , wherein the GPU is configured to simulate the virtual particles in a range shifter and a patient geometry, such that virtual particles are simulated in the range shifter using first CSDA data in the CSDA model, first ionization data in the ionization model, and first LAE data in the LAE model and virtual particles are simulated in the patient geometry using second CSDA data in the CSDA model, second ionization data in the ionization model, and second LAE data in the LAE model.
  9. 9 . The treatment planning system of claim 8 , wherein the GPU is configured to load the CSDA model, the ionization model, and the LAE model into the shared memory of the GPU by storing the CSDA model, the ionization model, and the LAE model as compute unified device architecture (CUDA) textures in the shared memory.
  10. 10 . The treatment planning system of claim 9 , wherein the first CSDA data, the first ionization data, and the first LAE data are stored as one-dimensional CUDA textures in the shared memory, and the second CSDA data, second ionization data, and the second LAE data are stored as two-dimensional CUDA textures in the shared memory.
  11. 11 . The treatment planning system of claim 1 , wherein the pre-calculated CSDA model, the pre-calculated ionization model, and the pre-calculated LAE model correspond to models generated based on a statistical analysis of realistic particle track histories generated using a Monte Carlo simulation.
  12. 12 . The treatment planning system of claim 1 , wherein the pre-calculated ionization model comprises PDFs of physics parameters comprising deposited energy, energy straggling, deflection angle, and ionization probability.
  13. 13 . The treatment planning system of claim 1 , wherein the pre-calculated LAE model comprises PDFs of physics parameters comprising deposited energy, energy loss, deflection angle, and nuclear reaction probability.
  14. 14 . The treatment planning system of claim 13 , wherein the pre-calculated LAE model further comprises weight gain values corresponding to fractional shares of a same path shared by multiple virtual particles in each of the plurality of steps.
  15. 15 . The treatment planning system of claim 1 , wherein the physics parameters are parameterized in the pre-calculated CSDA model, the pre-calculated ionization model, and the pre-calculated LAE model based on an energy (E) of a virtual particle and a Hounsfield unit value (HU) of a virtual particle.
  16. 16 . The treatment planning system of claim 1 , wherein the GPU is configured to simulate the virtual particles by initializing each virtual particle by sampling an energy, position, and momentum for each virtual particle.
  17. 17 . The treatment planning system of claim 16 , wherein the GPU is configured to sample an energy, position, and momentum for each virtual particle using a single set of phase space parameters.
  18. 18 . A method for generating treatment plan data for use with a charged particle therapy system, the method comprising: (a) loading to a shared memory of a graphics processing unit (GPU): a pre-calculated continuous-slowing-down-approximation (CSDA) model comprising probability distribution functions (PDFs) of physics parameters associated with soft particle interactions of virtual particles; a pre-calculated ionization model comprising PDFs of physics parameters associated with ionization of virtual particles; and a pre-calculated large angle scattering event (LAE) model comprising PDFs of physics parameters associated with hard particle interactions of virtual particles; (b) simulating virtual particles using the GPU, wherein simulating the virtual particles comprises simulating both primary charged particles and secondary particles as virtual particles that start at a same starting location of a primary charged particle by assigning each virtual particle to a thread of the GPU thereby minimizing thread divergence and racing conditions in the GPU, and in each of a plurality of steps: calculating a phase space for each virtual particle based on at least one of the CSDA model, the ionization model, or the LAE model; and updating each virtual particle based on its calculated phase space; (c) generating dose distribution data based on dose scoring the simulated virtual particles using a computer system; and (d) storing the dose distribution data as part of treatment plan data for use with a charged particle therapy system.

Description

BACKGROUND Monte Carlo (“MC”) simulations are considered as gold standards for dose calculation in radiation therapy. However, the general purpose MC codes (e.g. Geant4, MCNPX, FLUKA, and TOPAS), although accurate, are slow (e.g., taking several hours or days for one plan dose calculation) and thus unsuitable for clinical use. Fast MC codes (e.g., gMC, gPMC, FRED, and MCsquare) are dedicated to proton dose calculations with simplified physics models and/or with the help of graphic processing unit (“GPU”) acceleration. They significantly reduce the time for one plan dose calculation to several minutes. Unfortunately, these aforementioned MC codes are not yet fast enough for some advanced optimizations in spot scanning proton therapy (“SSPT”) treatment planning, for example, real-time on-the-bed adaptive proton therapy (ART), 4D robust optimization and linear-energy-transfer (“LET”)-guided robust optimization. In 4D robust optimization and linear-energy-transfer (“LET”)-guided robust optimization, tens of scenarios need to be considered, and for each scenario hundreds of iterations of dose calculations are needed. For real-time on-the-bed ART, the dose calculation time is very sensitive since patients are lying on the treatment bed. Thus, reducing the MC calculation time to seconds or sub-seconds is required for clinical implementation of the MC dose calculation engine for real-time treatment planning and advanced optimizations. Current fast MC codes use physics models to handle the interactions between particles and mediums. The generated secondary particles are stored in shared memory buffers. MC simulation must decide the chance, type, and momentum of the generation of various kinds of secondary particles and access the shared memory buffer at each MC step. This requires sophisticated logic controls and large shared memory buffers. Both can be handled well by central processing units (“CPUs”). However, unlike CPUs, the control logic and shared memory buffer for a single thread is very limited in GPUs. Within a block of threads, the threads are executed in groups of 32 called a warp. Thread divergence occurs when different threads in a warp need to execute different tasks. In the worst-case scenario, if one thread in a warp diverges, the 32 threads in this warp might need to stop and revert to the end of the previous step to redo the dose calculation. Therefore, GPUs might lose a factor of 32 in the computing performance. Thread divergence is a significant problem in GPU-based proton dose calculation engines if the “one particle per thread” technique (a GPU thread tracks a particle until the end conditions are satisfied) is adopted in the design of parallelization. Racing condition is another significant problem in large-scale shared memory parallel computation, where multiple threads happen to access and manipulate the same shared memory address simultaneously, resulting in possible memory conflicts among different threads. The generation of secondary particles is random and leads to sophisticated computation logic and unexpected computation burdens to the corresponding thread. The randomly increased number of particles per thread due to the generation of secondary particles greatly increases the chance of racing condition. These two problems (thread divergence and racing condition) are inherent to the hardware architecture of GPUs and prevent taking full advantage of the GPU computing power to achieve MC-based sub-second plan dose calculation based on GPUs. A real-time MC dose calculation engine that takes full advantage of the computing capabilities of GPUs is, therefore, still needed in SSPT treatment planning. SUMMARY OF THE DISCLOSURE The present disclosure addresses the aforementioned drawbacks by providing a treatment planning system for use with a charged particle therapy system. The treatment planning system includes a memory and a graphics processing unit (“GPU”). The memory has stored thereon a pre-calculated continuous-slowing-down-approximation (“CSDA”) model that includes probability distribution functions (“PDFs”) of physics parameters associated with soft particle interactions of virtual particles, a pre-calculated ionization model that includes PDFs of physics parameters associated with ionization of virtual particles, and a pre-calculated large angle scattering event (“LAE”) model including PDFs of physics parameters associated with hard particle interactions of virtual particles. The GPU is configured to load the CSDA model, the ionization model, and the LAE model into a shared memory of the GPU, and to simulate virtual particles using the CSDA model, the ionization model, and the LAE model, where the virtual particles are simulated by simulating both primary charged particles and secondary particles as virtual particles that start at the same starting location of a primary charged particle. The GPU is also configured to calculate a dose distribution of the primary charged particles and