Simulations for the virtual prototyping of a radiotherapy MRI-accelerator system: Linear accelerator output, CT-data implementation, dose deposition in the presence of a 1.5 T magnetic field. A.J.E. Raaijmakers, B. Liu, B.W. Raaymakers, J.J.W. Lagendijk B = 0 T B = 1.5 T
Outline Introduction MRI-accelerator Work done so far - Comparison of GEANT4 to TPS PLATO - Simulation results of dose deposition in B-field - First results for simulation of ionization chamber in B-field Problems, pitfalls and solutions working with GEANT4 - Testing CT-data implementation with inhomogeneity - Nearest neighbour navigation - Parameterized volume CopyNo mismatch - ROG energy misdeposition Final remarks and future work
MRI-scanner + 6 MV linear accelerator Radiotherapy accelerator 1.5 T MRI system
MRI-scanner + 6 MV linear accelerator
Validation of CT-data implementation Comparison of simulation results to TPS Plato
Validation of CT-data implementation Comparison of simulation results to TPS Plato Plato y GEANT4 y x x
Validation of CT-data implementation Comparison of simulation results to TPS Plato Rel. Dose 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 Central X-profile Plato Monte Carlo 0-20.0-15.0-10.0-5.0 0.0 5.0 10.0 15.0 20.0 Position (cm)
Validation of CT-data implementation Comparison of simulation results to TPS Plato 1.1 Central Y-profile 1 0.9 0.8 Rel. Dose 0.7 0.6 0.5 0.4 0.3 0.2 Plato Monte Carlo 0.1 0-10.0-5.0 0.0 5.0 10.0 Position (cm)
Dose deposition around larynx using 4-field box technique
Dose deposition around larynx using 4-field box technique B = 0 T Raaijmakers et al, Integrating a radiotherapy accelerator Physics in Medicine and Biology, 2005 B = 1.5 T
Dose deposition around larynx using 4-field box technique B = 0 T B = 1.5 T
Manipulating the dose around the larynx Applying different weight factors B = 0 T B = 1.5 T
Manipulating the dose around the larynx Applying different weight factors B = 0 T B = 1.5 T
Manipulating the dose around the larynx Applying different weight factors B = 0 T B = 1.5 T
Simulation of ionization chamber in B-field On-site 1.25 T Bruker magnet
Simulation of ionization chamber in B-field Best obtained result so far after parameter study. Energy deposition with B field Calculation: 0.6cc air cavity with graphite wall (water phantom) Measurement: 0.6cc Thimble chamber with builded up cap Relative response 1.10 1.08 1.06 1.04 1.02 1.00 0.98 Meas. Calculation Parameters: MS=1 m RC=0.005 mm fr=0.01 SF=0.1/100 nm B field, RK4 model 0.96 0.000 0.500 1.000 1.500 2.000 2.500 3.000 B (T) Boxue Liu
Testing the CT-data implementation with inhomogeneity
Testing the CT-data implementation
Testing the CT-data implementation
Testing the CT-data implementation
Testing the CT-data implementation This tests shows on a very basic level the validity of the CT-data implementation. It also exposes the need for stepsize restrictions when dealing with high density-low density boundaries. E. Poon, J. Seuntjens and F. Verhaegen, Consistency test of the electron transport algorithm in the GEANT4 Monte Carlo code, Phys, Med. Biol. 50 (2005)
Nearest neighbour navigation Navigation in a voxelised phantom (CT-data set), conventionally, is done using a superimposed SmartVoxel grid. The SmartVoxel grid navigation is meant for a general situation, regardless of voxel size, shape or positioning. Moreover, the SmartVoxel grid requires a lot of memory. A typical geometry with CT-data implementation consists of fixed-size, adjacent cubes. This creates the possibility for nearest-neighbour navigation. H. Jiang and H. Paganetti, Adaptation of GEANT4 to Monte Carlo dose calculations based on CT-data Med. Phys. 31, 2004
Nearest neighbour vs. conventional navigation
Calculation speed and memory consumption For conventional navigation vs. nearest-neighbour navigation Calculation speed and memory consumption 0.4 100 0.36 90 0.32 80 Speed (Mevent/h) 0.28 0.24 0.2 0.16 0.12 0.08 Speed, Conventional Speed, Nearestneighbour Memory consumption 70 60 50 40 30 20 Memory (%) 0.04 10 0 0 0.01 0.1 1 10 Optimisation Factor
Not placing the air voxels By not placing the air voxels, and instead defining the mother volume material as air, speed is increased.
Calculation speed and memory consumption without air voxel placement 0.5 0.45 0.4 100 90 80 Speed (Mevent/h) 0.35 0.3 0.25 0.2 0.15 0.1 Speed, Conventional Speed, Nearestneighbour Memory consumption 70 60 50 40 30 20 Memory (%) 0.05 10 0 0 0 0.01 0.1 1 10 100 Optimisation Factor
copyno mismatch for parameterized volumes CopyNo: Run 1 0 1 2 3 4 Run 0 x-coord: -2.5-1.5-0.5 0.5 1.5 2.5
copyno mismatch for parameterized volumes CopyNo: 0 1 2 3 4 Step# 1 2 3 4 5 6 7 x-coord: -2.5-1.5-0.5 0.5 1.5 2.5 ### Run 0 start. ---------- /vis/scene/notifyhandlers Start Run processing. 1.1: gamma (-2.7,0,0)->(-2.5,0,0) in 'Param. mother vol.' copyno: 0 Mat: Air 1.2: gamma (-2.5,0,0)->(-1.5,0,0) in 'cn1' copyno: 1 Mat: Water 1.3: gamma (-1.5,0,0)->(-0.5,0,0) in 'cn2' copyno: 2 Mat: Air 1.4: gamma (-0.5,0,0)->(0.5,0,0) in 'cn3' copyno: 3 Mat: Water 1.5: gamma (0.5,0,0)->(1.5,0,0) in 'cn4' copyno: 4 Mat: Air 1.6: gamma (1.5,0,0)->(2.5,0,0) in 'cn4' copyno: 4 Mat: Water 1.7: gamma (2.5,0,0)->(10,0,0) in 'Param. mother vol.' copyno: 0 Mat: Air 1.8: gamma (10,0,0)->(50,0,0) in 'World' copyno: 0 Mat: Air Run terminated. Run Summary Number of events processed : 1 User=0s Real=0s Sys=0s /vis/viewer/update
copyno mismatch for parameterized volumes CopyNo: 0 1 2 3 4 Step# 7 6 5 4 3 2 1 x-coord: -2.5-1.5-0.5 0.5 1.5 2.5 ### Run 1 start. ---------- /vis/scene/notifyhandlers Start Run processing. 1.1: gamma (2.7,0,0)->(2.5,0,0) in 'Param. mother vol.' copyno: 0 Mat: Air 1.2: gamma (2.5,0,0)->(1.5,0,0) in 'cn3' copyno: 3 Mat: Water 1.3: gamma (1.5,0,0)->(0.5,0,0) in 'cn2' copyno: 2 Mat: Air 1.4: gamma (0.5,0,0)->(-0.5,0,0) in 'cn1' copyno: 1 Mat: Water 1.5: gamma (-0.5,0,0)->(-1.5,0,0) in 'cn0' copyno: 0 Mat: Air 1.6: gamma (-1.5,0,0)->(-2.5,0,0) in 'cn0' copyno: 0 Mat: Water 1.7: gamma (-2.5,0,0)->(-10,0,0) in 'Param. mother vol.' copyno: 0 Mat: Air 1.8: gamma (-10,0,0)->(-50,0,0) in 'World' copyno: 0 Mat: Air Run terminated. Run Summary Number of events processed : 1 User=0s Real=0s Sys=0s
copyno mismatch for parameterized volumes void OwnSteppingAction::UserSteppingAction(const G4Step* astep) { G4int trackid = astep->gettrack()->gettrackid(); G4int stepid = astep->gettrack()->getcurrentstepnumber(); } G4String particlename = astep->gettrack()->getdefinition()->getparticlename(); G4ThreeVector startpoint = astep->getpresteppoint()->getposition(); G4ThreeVector endpoint = astep->getpoststeppoint()->getposition(); G4String volname = astep->getpresteppoint()->getphysicalvolume()->getname(); G4int copyno = astep->getpresteppoint()->getphysicalvolume()->getcopyno(); //G4String volname = astep->gettrack()->getvolume()->getname(); //G4int copyno = astep->gettrack()->getvolume()->getcopyno(); G4String matname = astep->gettrack()->getmaterial()->getname(); G4cout.precision(10); G4cout<<trackID<<"."<<stepID<<": " <<particlename<<" " <<startpoint<<"->" <<endpoint<<" in '" <<volname<<"' copyno: " <<copyno <<G4endl;
ROG energy deposition biasing Too much In balance Too little
ROG energy deposition biasing (maximum stepsize) Too much In balance Too little
ROG energy deposition biasing (maximum stepsize) 5 Too much 5 5 In balance 5 Too little
ROG energy deposition biasing (maximum stepsize) 5 Too much 5 5 In balance 5 Too little
In-depth dose profile for ROG-based energy deposition in comparison to parameterized volume. 8000 7500 7000 EnergyDep (MeV) 6500 6000 5500 5000 4500 4000 3500 3000 Continuous Voxelized SL=0.5mm WithLayer 2500 0 5 10 15 20 25 30 35 40 Depth (mm)
ROG energy deposition biasing When the dose distribution of a vertically irradiated phantom is determined using a ROG, the simulated dose levels of the upper and lower voxel plane may be biased. The effects are reduced, but not diminished, by - scoring the energy deposition of a step in the voxel at the middle point of the step - limiting the maximum stepsize to a fraction of the voxel size Best results are obtained by using an algorithm that divides the energy deposition of each step over the voxels that are traversed.
Final remarks and future work Simulation of a radiotherapy accelerator has been achieved CT-data implementation is working fine and is showing agreement with TPS PLATO Already, physicians come up with clinical cases of inhomogeneous target volumes in patients, where they want to know the dose distribution more accurately Need to validate our simulated dose distributions in a magnetic field Ionization chamber response in a magnetic field is still a problem GEANT4 is a very practical tool for our purposes, though there is room for some improvement (navigation, boundary crossing)
THANK YOU FOR YOUR ATTENTION A.J.E. Raaijmakers, B.W. Raaymakers, J.J.W. Lagendijk B = 0 T B = 1.5 T