Woong Cho tarotblue @gmail.com

28
Principle of convolution/ superposition algorithm for dose calculation for Treatment Planning System Woong Cho [email protected] 11 of February, 2014

description

11 of February, 2014. Principle of convolution/superposition algorithm for dose calculation for Treatment Planning System. Woong Cho tarotblue @gmail.com. What is RTP System?. Radiation Treatment Planning System Eclipse, Pinnacle, RayStation , Xio …. CorePlan (?). - PowerPoint PPT Presentation

Transcript of Woong Cho tarotblue @gmail.com

Page 1: Woong  Cho tarotblue @gmail.com

Principle of convolution/superposition algorithm for dose calculation for Treat-

ment Planning System

Woong Cho

[email protected]

11 of February, 2014

Page 2: Woong  Cho tarotblue @gmail.com

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?

Page 3: Woong  Cho tarotblue @gmail.com

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

Page 4: Woong  Cho tarotblue @gmail.com

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

Page 5: Woong  Cho tarotblue @gmail.com

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

Page 6: Woong  Cho tarotblue @gmail.com

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

Page 7: Woong  Cho tarotblue @gmail.com

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

Page 8: Woong  Cho tarotblue @gmail.com

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

lock0

Source

xb

zb yb Beam

coordinate

Page 9: Woong  Cho tarotblue @gmail.com

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

tt

zyx

z

y

x

coscoscossinsinsinsincoscossinsinsinsincoscossincos

cossincossinsincossinsinsincoscoscos

Page 10: Woong  Cho tarotblue @gmail.com

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

10

Source• Beam source model

• Binary MLC plane• Using Hit

test• Considering

partially block

Calculation point

Calculate Attenuation

Calculatebeam softening effect

Page 11: Woong  Cho tarotblue @gmail.com

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 rkrArSrcsf

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

Page 12: Woong  Cho tarotblue @gmail.com

Beam source model: 3 source model

3_30

2_2

1_1

)exp(

)(

srcISWsrcsf

srcISWsrcspsp

srcISWsrcp

fdArkrA

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

Page 13: Woong  Cho tarotblue @gmail.com

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 2DGridFor all voxels (xb,yb,zb){

Src1_fluence = Calc_OpenRatio(Subboxels){ for (3x3x3 Subvoxels) do HitTest(SubVoxels)}Src2_fluene =Calc_ScatterSource2()Src3_fluene =Calc_ScatterSource3()

}

Page 14: Woong  Cho tarotblue @gmail.com

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

XsYs

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 blockedCalculate Radius (Xb,Yb,Zb)Get source value from source func-tionsSrc_flue += source_value

}

Page 15: Woong  Cho tarotblue @gmail.com

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

10

Source

Calculation point

Calculate Attenuation

Calculatebeam softening effect

2)100(

SPDcmDist

FluenceFluence

ref

Init

Div

Distref

SPD

Page 16: Woong  Cho tarotblue @gmail.com

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

10

Source

Calculation point

Calculate Attenuation

Calculatebeam softening effect

OADOADHornFFluence

Fluence

Div

Horn

100)(

OAD

Page 17: Woong  Cho tarotblue @gmail.com

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

10

Source

Calculation point

rr

rdr

d

voxelr

sourceri

rr

sourcer

Effective

i

)(

)(

Page 18: Woong  Cho tarotblue @gmail.com

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

10

Source

Calculation point

Effective

soften

dOAD

OADd

atioSofteningRf1

1

)(

Page 19: Woong  Cho tarotblue @gmail.com

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

10

Source

max

min

)(

)())(exp(

)(

E

Emono

soften

Hornmono

ETERMATERMA

EEdE

FluenceETERMA

• Beam hardening effect

Page 20: Woong  Cho tarotblue @gmail.com

VrrKernelrTERMA

rdrrKernelrTERMArDN

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’)

Page 21: Woong  Cho tarotblue @gmail.com

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

Page 22: Woong  Cho tarotblue @gmail.com

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

Page 23: Woong  Cho tarotblue @gmail.com

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.

Page 24: Woong  Cho tarotblue @gmail.com

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

Page 25: Woong  Cho tarotblue @gmail.com

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, θ, φ)

Page 26: Woong  Cho tarotblue @gmail.com

Kernel tilting

Divergent Beam

Dose Voxel

θbeam

θcon

e

TERMA Voxel

conesrcisosrcg

srcisosrcgconebeamtilt rrrr

rrrr

)

)()()()(

arccos(

srcg rr

srciso rr

gr

TERMA Voxel

Page 27: Woong  Cho tarotblue @gmail.com

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

Page 28: Woong  Cho tarotblue @gmail.com

Discussion & Question