Presentation is loading. Please wait.

Presentation is loading. Please wait.

Woong Cho tarotblue@gmail.com 11 of February, 2014 Principle of convolution/superposition algorithm for dose calculation for Treatment Planning System.

Similar presentations


Presentation on theme: "Woong Cho tarotblue@gmail.com 11 of February, 2014 Principle of convolution/superposition algorithm for dose calculation for Treatment Planning System."— Presentation transcript:

1 Woong Cho tarotblue@gmail.com
11 of February, 2014 Principle of convolution/superposition algorithm for dose calculation for Treatment Planning System Woong Cho

2 What is RTP System? Radiation Treatment Planning System
Eclipse, Pinnacle, RayStation, Xio …. CorePlan (?) Determining treatment parameters to deliver acceptable radiation dose to the patient Contouring Treatment simulation (planning) Dose calculation Evaluation of plans

3 Architecture of general RTP System
RTP Main Module Patient DB ETC module Study information Images(CT, MRI…) Planning Data Dose Data Patient Data I/O 3D Visual rendering Contouring Planning GUI Dose calculation Planning result analysis DVH calculator Isodose generator NTCP/TCP calculator Beam Data DB Linac geometry info Dosimetric Data PDD data Profile data Output factor Wedge/MLC info CT HU-density table ETC… Kernel table (hidden) Commissioning module RTP commissioning Data I/O interface Spectrum optimization Source modeling optimization Determine output factor: value/MU, cGy/MU Wedge shape… Dose calc Engine Photon Dose calculation - ETAR , CCC, AAA… Electron Dsoe - PBC Hogstrom algorithm IMRT Module Optimization engine Beam-let extraction Make Voxel lists per organ Constraint I/O Run optimization MLC sequencing Steepest decent method - for spectrum - for beam source model - for IMRT

4 Dose calculation engines
Most important to predict dose distribution Consisted of two parts Dose calculation part Interpolation based method: ETAR Semi-analytic model method Superposition/Convolution algorithm FFT, CCC, AAA… LBTE algorithm Acuros XB Monte Carlo based method Beam modeling part Based on measured dosimetric data Directly linked to RTP commissioning module

5 Convolution/superposition method
Two step of the process at depositing doses Photon and a media interaction making TERMA Electrons from a interaction point are traversed through the media making excitation and ionization (kernel) TERMA Total energy released per media Temporal energy deposition before electron transport Considering attenuation and divergence effect Kernel Relative energy spread from unit TERMA Energy deposition from electron transport Function of energy and media Dose = TERMA ⓧ kernel

6 Convolution/superposition method
Dose: Superposition: Sun of all kerma map at each voxel. Same as convolution of TERMA and kernel TERMA deposition: Pencil beam transfer energy at each voxels in tissue through its traveling way. Assume that directly give potential energy to each volume element Kernel spread: Deposited dose spread to 3D space from TERMA at each voxel.

7 General Process of Dose Calculation
Consider geometric infomations Calculate Photon fluence Calculate 3D TERMA Do convolution Photon beam source 2 source model 3 source model Beam aperture Collimators MLC Horn effects Beam Divergence Inverse square law Poly-energetic kernels C/S or CCC or AAA Differential kernels or Accumulative kernels Attenuation Beam hardening/softening Transmission through MLC /block/collimators

8 Geometric transformation
1 Block Source xb zb yb isocenter Beam coordinate Geometric definition Freedom of beam directions Gantry angles Collimator angles Couch angles Translations of couch 1 Block Source xb zb yb Beam coordinate Patient coordinate system World (global) coordinators Based on CT coordinators Define 3D dose Define contours xg yg zg CT coordinate Beam coordinate system Origin is beam source Z axis is beam center Fluence. Beam source, TERMA, kernels Defined per beams Transformation between Patient coordinate and Beam coordinate

9 Geometric transformation
Simple Example Pb at iso-center ( Xb, Yb, Zb) = (0, 0, 100) Assume Iso-center (Pg ) is (0, 5, 5) Converting Pb to Pg? Rotate based on Xb axis by 90’ counter clock wise Pb = (0,-100, 0) Translate Beam coordinate by (0, -100, 0) Beam coordinate origin shifted to isocenter Pb = ( 0,0,0) Translate Beam coordinate by (0, -5, -5) Beam coordinate is same to patient coordinate Pb = (0, 5, 5) = Pg xb zb yb Beam coordinate xb zb yb Beam coordinate Source Sb ( 0, 0, 0) xg yg zg xb zb yb Beam coordinate xb zb yb Beam coordinate 5 Isocenter Pb CT Origin Pg (0,0,0) 5

10 Process of TERMA Calculation
Calculation of Fluence and TERMA distribution in media 1 Source Beam source model Binary MLC plane Using Hit test Considering partially block Calculate Fluence at each voxel Calculate Beam divergence Calculate Horn effect Calculate effective depth for each voxels Calculate beam softening effect Calculation point Calculate Attenuation

11 Beam source Model: 3 source model
Gantry head Collimator or MLC Point of calculation (xb,yb,zb) Isocenter SCD = 100 cm Primary photon source Point source: Cp Srcprimary plane Point source Scattered photon source from other structures Disk shape Intensity function with r Srcsf plane Disk source Zsf = 12.5 cm Srcsp plane Annulus source Zsp = 4cm Scattered photon source from primary collimator Annulus shape

12 Beam source model: 3 source model
Collimator or MLC Point of calculation (xb,yb,zb) Isocenter Srcsp plane Annulus source Gantry head Srcprimary plane Point source Srcsf plane Disk source Fluence at an arbitrary point

13 Implementation of Beam source model
Define Binary MLC Grid from the position of MLC leaves Considering partially block Hit Test algorithm Beam Source center (0, 0, 0) Binary Block Plane 1 Prepare Binary 2DGrid For all voxels (xb,yb,zb) { Src1_fluence = Calc_OpenRatio(Subboxels) for (3x3x3 Subvoxels) do HitTest(SubVoxels) } Src2_fluene =Calc_ScatterSource2() Src3_fluene =Calc_ScatterSource3() Fluence Voxel (xb, yb, zb)

14 Implementation of Beam source model
MLC plane Z= 67 cm 0.1mm resolution Source plane Z = Z_src 5mm resolution (Xb,Yb,Zb) Calculation point: 101 x 101 x 101 Xs Ys 1 Hit_corner_grid: partially block Sub voxel Blocking ratio= 9/25 = 0.36 Src2_fluene =Calc_ScatterSource(): For all SourceGrid { Hit-test 4 corner bloks at first If not blocked Calculate Radius (Xb,Yb,Zb) Get source value from source functions Src_flue += source_value }

15 Process of TERMA Calculation
Calculation of Fluence and TERMA distribution in media 1 Source Calculate Fluence at each voxel Calculate Beam divergence Calculate Horn effect SPD Distref Calculate effective depth for each voxels Calculate beam softening effect Calculation point Calculate Attenuation

16 Process of TERMA Calculation
Calculation of Fluence and TERMA distribution in media 1 Source Calculate Fluence at each voxel Calculate Beam divergence Calculate Horn effect Calculate effective depth for each voxels OAD Calculate beam softening effect Calculation point Calculate Attenuation

17 Process of Dose Calculation
Calculation of Fluence and TERMA distribution in media 1 Source Calculate Fluence at each voxel Calculate Beam divergence Calculate Horn effect Calculate effective depth for each voxel Calculate beam softening effect Calculation point Calculate Attenuation

18 Process of Dose Calculation
Calculation of Fluence and TERMA distribution in media 1 Source Calculate Fluence at each voxel Calculate Beam divergence Calculate Horn effect Calculate effective depth for each voxels Calculate beam softening effect Calculation point Calculate Attenuation

19 Process of Dose Calculation
Calculation of Fluence and TERMA distribution in media 1 Source Calculate Fluence at each voxel Calculate Beam divergence Calculate Horn effect Calculate effective depth for each voxels Beam hardening effect Calculate beam softening effect Calculate Attenuation

20 Implementation of convolution
Photon source for all r’…(N voxels in volume) { Get TERMA(r’) for all r…. Get Kernel (r-r’) from Table Accumulate TERMA(r’) x Kernel (r-r’) to the r’ voxel } D(r) T(r’) r' r

21 Why Collapse Cone Convolution?
Limitation of convolution/superposition method Center of kernel has too steep gradient. Discrete kernel data  Significant error at the center voxels in dose calculation. Too long calculation time FFT is a good method. But no inhomogeneity correction. Not invariant kernel at inhomogeneous medium Iterative calculation: N6 number of iteration at N x N x N voxels From “Current Concepts in Dose Calculations”, Anders Ahnesjö.

22 Collapsed cone approximation
N number of Voxels M Number of Cones N M rays N voxels No of Iterations: N3 No of Iterations : M x N Can reduce calculation time because of computing dose to MxN points instead of NxNxN points. More accurate dose calculation in heterogeneous media by considering effective pathway through cone lines

23 Scatter particle transport directions
Near center voxels Spherical voxels are generally smaller than cubic voxels Far away voxels One spherical voxels covers several cubic voxels Only consider the voxels in axial lines Too much energy imparted. But small errors because of small fraction energy at far site.

24 Process of Convolution
Sphere Convolution Process Total 288 cone rays 24 divisions of theta 12 divisions of phi angle Extracting voxel lists traversed by each ray vector r. Heterogeneity correction by effective pathway through vector r Convolution kernel table with spherical coordinate system. Consideration of kernel tilting effect Adaption of accumulative kernel Y -Z θ φ A Collapsed Cone X A TERMA Voxel

25 Process of convolution
Prepare Poyenrgetic_Spherical_Kernel (r, θ, φ) Make Accumulative_Kernel (r, θ, φ) For (all 3D voxels with (Xp,Yp,Zp) ) { for (all r, θ, φ) Calc_vector() Get_transversed_voxel_Lists() Calculate eff_pathlength(voxel_Lists) for (all Listed voxels) Calculate θtilt Energy = Accumulative_Kernel(rinner) - Accumulative_Kernel(router) Get_TERMA(voxel) Dose +=TERMA x Energy } (r, θ, φ) (Xp, Yp, Zp)

26 Kernel tilting TERMA Voxel Dose Voxel θcone θbeam Divergent Beam

27 Considering Beam hardening
Poly-energetic kernel Photon spectrum is changed according to depths Solve: Get changed spectrums at every 10 cm depth Prepare each kernel tables from the changed spectrum Calculate interpolate kernel values between two tables using the depth of voxels

28 Discussion & Question


Download ppt "Woong Cho tarotblue@gmail.com 11 of February, 2014 Principle of convolution/superposition algorithm for dose calculation for Treatment Planning System."

Similar presentations


Ads by Google