Date post: | 25-Dec-2015 |
Category: |
Documents |
Upload: | buddy-hall |
View: | 256 times |
Download: | 9 times |
Principle of convolution/superposition algorithm for dose calculation for Treat-
ment Planning System
Woong Cho
11 of February, 2014
Radiation Treatment Plan-ning System
Eclipse, Pinnacle, RayStation, Xio ….
CorePlan (?)
Determining treatment pa-rameters to deliver accept-able radiation dose to the patient
Contouring Treatment simulation (plan-
ning) Dose calculation Evaluation of plans
What is RTP System?
Patient DB• Study information• Images(CT, MRI…)• Planning Data• Dose Data
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…
RTP Main Module• Patient Data I/O• 3D Visual rendering• Contouring• Planning GUI• Dose calculation• Planning result analysis
Dose calc Engine
• Photon Dose calculation - ETAR , CCC, AAA…• Electron Dsoe - PBC Hogstrom algorithm
ETC module• DVH calculator• Isodose generator• NTCP/TCP calculator
Optimization engine• Steepest decent method - for spectrum - for beam source model - for IMRT
IMRT Module• Beam-let extraction• Make Voxel lists per organ• Constraint I/O• Run optimization• MLC sequencing
Architecture of general RTP System
Dose calculation engine 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
Dose calculation engines
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ⓧ
Convolution/superposition method
')'(ker)'()( 3rdrrnelrTrD p
TERMA deposition: Pencil beam transfer energy at
each voxels in tissue through its traveling way.
Assume that directly give po-tential energy to each volume element
Kernel spread: Deposited dose spread to 3D
space from TERMA at each voxel.
')'(ker)'()( 3rdrrnelrTrD p
Dose: Superposition: Sun of all
kerma map at each voxel. Same as convolution of
TERMA and kernel
Convolution/superposition method
General Process of Dose Calcu-lation
),,,(ker
),,(
EnergyrnelMono
rKernelEnergyall
Calculate 3D TERMA
Calculate Photon fluence
Do convolution
• Attenuation• Beam hardening/
softening• Transmission
through MLC /block/collimators
• Photon beam source• 2 source model• 3 source model
• Beam aperture• Collimators• MLC
• Horn effects• Beam Divergence
• Inverse square law
• Consider geometric infomations
Poly-energetic kernels
• C/S or CCC or AAA• Differential kernels or
Accumulative kernels
Geometric transformation
• Patient coordinate system• World (global) coordinators• Based on CT coordinators• Define 3D dose• Define contours
xg
yg
zg
CT coordinate
1Block
0
Source
xb
zb
yb
isocenter
Beam coordinate • Geometric definition• Freedom of beam directions
• Gantry angles• Collimator angles• Couch angles• Translations of couch
• 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
1B
lock
0
So
urce
xb
zb yb Beam
coo
rdin
ate
Geometric transformation
xg
yg
zg
CT Origin Pg (0,0,0)
Source
Isocenter Pb
xb
zb
ybBeam coordinate
• 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 pa-
tient coordinate• Pb = (0, 5, 5) = Pg
Sb ( 0, 0, 0)
5
5
xb
zbyb
Beam coordinate
xb
zbyb
Beam coordinate
xb
zbyb
Beam coordinate
z
y
x
b
b
b
g
g
g
t
t
t
z
y
x
z
y
x
coscoscossinsin
sinsincoscossinsinsinsincoscossincos
cossincossinsincossinsinsincoscoscos
Process of TERMA Calculation
• Calculation of Fluence and TERMA distribution in media
Calculate Fluence at each voxel
Calculate effective depth for each voxels
CalculateBeam divergence
Calculate Horn effect
1
0
Source• Beam source model
• Binary MLC plane• Using Hit
test• Considering
partially block
Calculation point
Calculate Attenuation
Calculatebeam softening effect
Beam source Model: 3 source model
Collimator or MLCCollimator or
MLC
Point of calculation(xb,yb,zb)
Isocenter
SCD = 100 cm
pprimary CrSrc )(
Primary photon source Point source: Cp
Srcprimary plane
Point source
)exp()( 0 rkr
ArSrcsf
Scattered photon source from other structures
Disk shape Intensity function with r
Srcsf plane
Disk sourceZsf = 12.5 cm
otherwise
RrRCrSrc spsp
,0
)(,)( 0201
Srcsp plane
Annulus sourceZsp = 4cm
Scattered photon source from primary collimator
Annulus shape
Gantry head
Beam source model: 3 source model
3_30
2_2
1_1
)exp(
)(
srcISWsrcsf
srcISWsrcspsp
srcISWsrcp
fdArkr
A
fdArC
fdACFluence
Fluence at an arbitrary point
Srcprimary plane
Point source
Collimator or MLCCollimator or
MLC
Point of calculation(xb,yb,zb)
Isocenter
Srcsp plane
Annulus source
Gantry head
Srcsf plane
Disk source
Binary Block Plane
1 1 0
Implementation of Beam source model• Define Binary MLC Grid
from the position of MLC leaves– Considering partially
block– Hit Test algorithm
Fluence Voxel
Beam Source center (0, 0, 0)
(xb, yb, zb)
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()
}
Implementation of Beam source model
MLC planeZ= 67 cm0.1mm resolution
Source planeZ = Z_src5mm resolution
(Xb,Yb,Zb)Calculation point: 101 x 101 x 101
Xs
Ys
0
0 0
1
Hit_corner_grid: partially block
Sub voxelBlocking ratio=9/25 = 0.36
Src2_fluene =Calc_ScatterSource():
For all SourceGrid{
Hit-test 4 corner bloks at firstIf not blocked
Calculate Radius (Xb,Yb,Zb)Get source value from source
functionsSrc_flue += source_value
}
Process of TERMA Calculation
• Calculation of Fluence and TERMA distribution in media
Calculate Fluence at each voxel
Calculate effective depth for each voxels
CalculateBeam divergence
Calculate Horn effect
1
0
Source
Calculation point
Calculate Attenuation
Calculatebeam softening effect
2)100(
SPD
cmDist
Fluence
Fluence
ref
Init
Div
Distref
SPD
Process of TERMA Calculation
• Calculation of Fluence and TERMA distribution in media
Calculate Fluence at each voxel
Calculate effective depth for each voxels
CalculateBeam divergence
Calculate Horn effect
1
0
Source
Calculation point
Calculate Attenuation
Calculatebeam softening effect
OAD
OADHornFFluence
Fluence
Div
Horn
100
)(
OAD
Process of Dose Calculation
• Calculation of Fluence and TERMA distribution in media
Calculate Fluence at each voxel
Calculate effective depth for each voxel
CalculateBeam divergence
Calculate Horn effect
Calculate Attenuation
Calculatebeam softening effect
1
0
Source
Calculation point
rr
rdr
d
voxelr
sourceri
rr
sourcer
Effective
i
)(
)(
Process of Dose Calculation
• Calculation of Fluence and TERMA distribution in media
Calculate Fluence at each voxel
Calculate effective depth for each voxels
CalculateBeam divergence
Calculate Horn effect
Calculate Attenuation
Calculatebeam softening effect
1
0
Source
Calculation point
Effective
soften
dOAD
OADd
atioSofteningRf1
1
)(
Process of Dose Calculation
• Calculation of Fluence and TERMA distribution in media
Calculate Fluence at each voxel
Calculate effective depth for each voxels
CalculateBeam divergence
Calculate Horn effect
Calculate Attenuation
Calculatebeam softening effect
1
0
Source
max
min
)(
)())(exp(
)(
E
Emono
soften
Hornmono
ETERMATERMA
EEdE
FluenceETERMA
• Beam hardening effect
VrrKernelrTERMA
rdrrKernelrTERMArD
N
rp
p
1'
3
)'()'(
')'()'()(
Implementation of convolution
for all r’…(N voxels in volume){
Get TERMA(r’)for all r….{
Get Kernel (r-r’) from TableAccumulate TERMA(r’) x Kernel (r-r’) to the r’ voxel
}}
Photon source
r' r
D(r)T(r’)
Limitation of convolution/superposition method
Center of kernel has too steep gradient.
Discrete kernel data Signifi-cant error at the center voxels in dose calculation.
From “Current Concepts in Dose Calculations”, Anders Ahnesjö.
Why Collapse Cone Convolu-tion?
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
Collapsed cone approximation
• Can reduce calculation time because of computing dose to MxN points instead of NxNxN points.
• More accurate dose calculation in heterogeneous me-dia by considering effective pathway through cone lines
N
N
M rays
N voxels
No of Iterations: N3 No of Iterations : M x N
N num-ber of Voxels
M Number of Cones
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.
Process of Convolution
• 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 ef-fective pathway through vector r
• Convolution kernel table with spherical coordinate system.
• Consideration of kernel tilting effect
• Adaption of accumulative ker-nel
• Sphere Convolution Process
VrrxkrxkrTERMA
rxDxD
scatterprimary
sub
)()()()(
)()(
288
1
288
1
Y
-Z
θ
φ
A Col-lapsed Cone
X
A TERMA Voxel
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
}
}
}
(Xp, Yp, Zp)
(r, θ, φ)
Kernel tilting
Divergent Beam
Dose Voxel
θbeam
θcon
e
TERMA Voxel
cone
srcisosrcg
srcisosrcgconebeamtilt
rrrr
rrrr
)
)()(
)()(arccos(
srcg rr
srciso rr
gr
TERMA Voxel
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 spec-
trum– Calculate interpolate kernel values between two ta-
bles using the depth of voxels
Discussion & Question