Why OpenGL

17 downloads 0 Views 2MB Size Report
reduction algorithm then computes the 4-value HSF in one go, which then scales fluence to- gether with the monitor units to become dose-in-air (DiA). ∫∫. ∫∫.
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.