5. Differential Scatter Air Ratio algorithm
1. Introduction We describe the implementation of a differential scatter air ratio (DSAR) pencil beam (PB) dose engine in the OpenGL/GLSL application programming interface, optimized for OpenGL graphics processing power. We have modified the algorithm to model the lateral electron transport, making it suitable for independent dose calculation in modulated therapy (static and dynamic). Why OpenGL? a. A vendor-independent, widely implemented open industry standard, optimized on GPUs; b. No penalties of sharing devices and resources between OpenGL and other GPGPU APIs in mixed applications; c. Prior familiarity with OpenGL; d. Reusability of data between graphics and dose engine modules; e. Suitability of a PB dose engine to a graphics problem.
Density grid
SSD and deff GLSL
CT -> R.E.D.
Dose-in-Air Maps
Textures RGBA16F
Primary dose [2]
DPr imary (i, j , k ) Da (i, j ) ISL(k ) TAR0 (d eff (i, j , k )) LET (i, j , k )
Primary eequil. GLSL
SSD/deff
Primary LET GLSL
Primary
8 targets Scatter fact. GLSL
2. Pre-processor
Speed-up with multiple render targets in one pass.
Here ISL is the inverse square law and LET is the lateral electron transport correction (non-equilibrium):
Scatter GLSL
Scatter 3D
4 beam setups in 4 colour channels = 1 pipeline
GPU data is a 4-component colour vector. Beam setups are grouped by the pre-processor in sets of four to form RGBA quadruplets, for parallel computing in OpenGL’s colour space. Beam 2 (G1) The grouping criteria is based on the beam’s extent Beam 1 (R1) inside the patient. Closest matches of beam setups in terms of frustum depths are bundled in RGBA pipelines, for speeding up the calculation by miniBeam 7 (B2) mizing the ‘blank’ voxels computation.
Beam dose grids are implemented into a projective geometry, using 4D homogeneous coordinates. The Z-non-uniform divergent spaces are described by a 4x4 frustummatrix, as matrix and vector operations are very efficient in OpenGL. Final Dose Grid (Cartesian scalar)
Beam 3 (R2)
different dose regions Beam 6 (G2)
same fan box depth
Body
2xRGBA to sum dose
6. Is it good enough? (accuracy and speed)
Beam 4 (B1)
‘Blank’ voxels
Beam 5 (A1)
If one or more colour channels are empty in a pipeline with multi-segment beams, they are filled up by splitting up those setups having the largest number of segments.
3. Fluence algorithm Penumbra convolution with Pascal triangle, no Gauss
Round-tip MLC atten. 2D texture
Beam profile
The hardware used for tests and commissioning is a NVidia Quadro 5000 GPU on Dell Precision T3600 workstations. As a first stage in clinical rollout, we validated our dose engine for the prostate VMAT plans, using a relatively large pool of Monaco (Elekta) clinical plans (40), which were measured previously as part of department’s routine of patient QA. Prostate plan tests manifest agreement with pinpoint ion chamber within 2%. Shown below are a IMRT H&N 5-field plan (Superposition, XiO-Elekta) and a VMAT SABR lung plan (Monte Carlo, Monaco-Elekta). Our dose engine shows very good agreement with both planned cases, with high gamma pass rates at 3%/3mm (97-98%), while both sites exhibiting a wide range of densities, from air to vertebral bone. Along with the local gamma 3D colour maps (blue =0.0, red =1.0), profiles crossing various density regions show a very good match of the absolute dose. A small console window below displays the time per each pipeline (four beams) being 1.2—1.6 sec and for full 3D dose for the SABR lung case around 19 sec.
Textures RGBA16F Tongue-and-groove as cloned MLC geometry with transl. ± TaG/2 and blended Layers
Actual geometry of Jaws and MLC as input
MLC SSAA
MLC Mod
JawsX
JawsXMod
MSAA Layers Layers
JawsY MSAA
JawsY Mod
MLC convol.
Layer modulation
JawsXconvol.
Robidoux resample
JawsY convol.
Layers Aperture polygon
N/2 taps GL rendering API Convolution filter with linear sampling is ~ 60% faster than the discrete sampling
MU*HSF scaling & DiA accumulation Coll. angle rotations
Resample
Plan calc. time ~3.5 s
XFocal
Fluence builder
INCIDENT for Primary Robidoux
(Monaco, Elekta)
Focal XFocal Convol.
Aperture
Monte Carlo algorithm
DiA map to DSAR
INCIDENT for Scatter
Superposition algorithm (XiO, Elekta)
4. Head Scatter Factors (HSF) This is a 3-source model (focal + primary coll. + flattening filter) [1]:
A0 HSF C p Csp (rs )d exp( krs )d sp sf rs The 2nd term (PC) and the 3rd term (FF) are pre-generated as RGBA textures and stored. Each aperture quadruplet in the stack is projected over each radiation source’s distribution texture in its own plane, modulating the source areas in each colour channel independently. A reduction algorithm then computes the 4-value HSF in one go, which then scales fluence together with the monitor units to become dose-in-air (DiA).
7. Conclusion and future work Accounting for electron disequilibrium, with proper modelling of head scatter, MLC round tip and tongue-and-groove
effects, our complete Dose Engine is fit for purpose for small field and modulated radiation therapy computations. OpenGL is suited for such GPU dose computation algorithm, and using it avoids some of the drawbacks of GPGPU lan-
guages like vendor dependency, limited portability, possible resource problems when screen graphics and GPGPU APIs are mixed and an eventual steep learning curve. The precision shown by validation tests so far, combined with the fast calculation times, makes it a viable option of inde-
References [1] Y Yang et al., A three source model for the calculation of head scatter factors, Med. Phys. 29 (9), Sept. 2002 [2] A T Redpath, A beam model for three-dimensional radiotherapy planning, Br J Radiol, 68, 1356-1363, Dec 1995 †
Corresponding author:
[email protected]
pendent dose verification. For the future, we plan to improve our algorithm in some areas like long-distance scatter and spectrum radial softening,
and to optimize it further based on new OpenGL features, rendering techniques, hardware and drivers.