This is an old revision of the document!
Table of Contents
astroid Doismetry App Commissioning Guide
Overview
As described in IAEA-TECDOC-1583, “Commissioning is one of the most important parts of the entire QA programme for both the RTPS and the planning process. Commissioning involves testing of system functions, documentation of the different capabilities and verification of the ability of the dose calculation algorithms to reproduce measured dose calculations.” As part of the new customer startup and implementation process, our customer support staff will assist with the commissioning process. However, this guide is provided to act as a manual to describe how to perform this commissioning process for the astroid dosimetry app so that end users can be familiar and comfortable with the process.
An astroid machine model is a collection of several data types that are used as input parameters to allow dose calculation and other provided functions the flexibility to compute accurate results for a variety of proton radiation treatment machine types and models. The major components of a machine model include the following: double_scattering_machine_spec, double_scattering_option and proton_material_properties. Additional information, including off-axis-ratio data in the form of an image2, may also be necessary depending upon the specific machine type being commissioned.
Purpose
This astroid Proton Dosimetry Commissioning Guide is provided to help guide developers along the right path for developing the input data required to fully commission and test their treatment machine model. With this resource and a solid understanding of treatment planning system use, commissioning, and QA, our customer support team will help developers to create stable and accurate machine models that meet their unique clinical and/or research needs.
User Profile
The astroid dosimetry application is intended to be used by experienced computer programmers, researchers, and physicists that maintain a strong working knowledge of proton radiation therapy and general treatment planning processes. In addition, users performing clinical beam commissioning are expected to have a solid understanding of the use, commissioning, and quality assurance of radiation treatment planning software. Commissioning users should be familiar with guidance documents such as IAEA-TRS-430 and/or IAEA-TECDOC-1583. Also users should understand that while the DCF and DTF have been cleared for clinical use, this does not remove the need or reduce the burden to provide final testing and approval of any derived programs that utilize a commissioned machine before releasing to clinical staff.
Getting Started
The first step is to read this guide to gain an understand of the measurement data and machine information that will be required to commission your treatment machine. After reading this guide, data collection should be undertaken. The data can then be formatted according to the instructions in this guide and uploaded to the immutable storage service to create the machine model for your site with all the desired options. Finally, the model can be tested following the guidance provided herein. Once the testing passes, your machine is ready for clinical use.
Data Requirements
The data required to fully commission a proton treatment machine with the astroid dosimetry app can be split in several major categories:
Machine Geometry
- Source to Axis Distance (SAD) [op]: This value is the distance from the isocenter to the virtual source position, specified in mm, and may include independent X and Y field direction values.
- Snout Names & Geometries: This is a list of snout names, shapes (rectangle or circle), and sizes (diameter or length width) in mm.
- Snout Positioning Limits: Provide the maximum and minimum distance, specified in mm, from the beam side aperture surface to isocenter (max and min will match for a non-movable snout).
- Upstream Devices: Devices located upstream of the beam limiting devices (apertures) are modeled as described by Hong et al using variation of the effective source size and position, this allows for sufficient flexibility to model most clinical beamline (energy selection systems, ESS) systems in use today, including both IBA and Mevion vendor systems.
Device Information
astroid dose calculation functions allow the use of two primary types of beam modifying devices, apertures and range compensators. By nature these devices are designed specifically for each individual patient and treatment field, however, typically many of the device properties are constant for each treatment center. This section of machine information captures this (typically) constant device properties.
Apertures
Apertures are used to define the treatment extents for each individual treatment field and must provide enough material such that protons outside the desired treatment field are fully stopped. The following properties are required for apertures:
- Material Name: This name is used for selection and exporting purposes only, as all astroid calculations assume that apeture material is fully absorbent outside the aperture opening.
- Milling Tool Radius: This is the value of the minimum tool size used for machining aperture devices, specified in mm. The minimum allowable size is 1.5875mm (0.0625“).
Range Compensators
Range compensators are used to modify the proton range locally throughout the treatment field. The change in range caused by the local thickness of the device is therefore critical. Proper computation of this requires accurate material information for density and proton water equivalent thickness (WET). Note that astroid utilizes a smooth continuous surface representation for range compensators that inherently limits the maximum surface gradient and minimum “valley” size to maintain full device machinability.
- Material Name: This name is used for selection and exporting purposes only, as the other material properties required fully define the material in terms of the needs of the astroid dosimetry app.
- Material Density: Physical density of the material relative to water (also commonly referred to as specific gravity).
- Material Water Equivalent Ratio: This value specifies the effective proton stopping power of the material relative to that of water, and although the stopping power itself is dependent on proton energy, this ratio is quite insensitive to energy changes and a single value of sufficient for the full range of clinical treatment energies.
Dose Model
Due to the physical construction of SOBPs within most machine beamlines, the properties and parameters of a treatment beam typically vary with energy (range) and modulation selection. Due to this variability, astroid allows machines to be defined as a list of “options”, where each option contains all the required dose model data as well as the limits over which it can be used.
For any production proton system model, there is a need to translate the Range (R) and Mod (M) into SOBP base pristine peaks that serve as input to the dose calculation functions (DCFs) for modeling the dose from the SOBP field. Thus we need a function that has as input (R, M) and yields the set of pristine peaks for input into the DCFs. For double scattering (DS) machines, this function is provided herein as compute_double_scattering_layers. This functions accepts the (Rd,M) combination and selects an option through a lookup table (each option contains the SOBP construction information), it then computes the set of pristine peaks (where each peak is range-shifted from the single option pristine peak by a range-modulator wheel) and the weights of each peak to achieve the desired SOBP. The set of peaks and weights are selected from user defined lookup tables which are stored within the double_scattering_option as described below (note: if an external executable is available to construct SOBPs, then the user can generate the required lookup table data using that program, following the format of the examples given at the end of this guide). For uniform scanning (US) machines that use a range modulator wheel to pull-back a single pristine peak per option, the DS approach can also be used. For single scattering (SS) machines, a lookup table should be defined containing the tabulated weights and pull-backs for each option. The required layers can then be built directly using these known values once the proper option is determined.
The following data values are required to fully define the double_scattering_option (note this information is available in the app manifest, but is repeated here for convenience):
- name: Name for the machine option
- id: Unique identifier for the machine option
- min_range: Value for the minimum range (inclusive) that this option can produce
- max_range: Value for the maximum range (inclusive) that this option can produce
- max_mod: Value for the maximum modulation that this option can produce (min is assumed zero, i.e. pristine peak although zero may not yield to true monoenergetic bragg peak)
- wts1: This is an overall scaling factor that ensures the SOBP has a plateau value of 100 for open field conditions in water
- track_length: This is the physical track diameter that, combined with the source_size_on_track, allows us to compute whether the incident proton beam crosses over into a neighbouring track step
- penumbral_source_size: The penumbral_source_size is the virtual source of the proton scattered beam. It is used to compute the penumbra contribution in the patient in the dose algorithm (it is not used to compute the SOBP parameters)
- source_size_on_track: The source_size_on_track determines, given a stop_angle (see below), how much of the proton beam passes through one track segment and its neighbor
- sdm:The modulation width is converted to a stop_angle (0-sum(theta[NSTEP] at which the beam is turned off to only pass and pull-back proton bragg peaks that create the desired SOBP. Theta_stop = F(sdm, M). sdm is the conversion function used by IBA in CONVALGO
- mod_correction: Polynomial coefficients allowing non-linear correction of modulus (cm)
- steps: List of double scattering steps defined for the machine where a step is an angular subdivision of a circular range-shifter (track)
- Each step includes:
- theta: Angular width of range shifter segment.
- weight: Weighting (relative) of the step to achieve flat SOBP
- dR: Difference in range between max_range and this modulation step
- bcm: Weights representing current modulation over the RM wheel
- pristine_peak: List of depth & relative dose value pairs [Depth, % dose] for the pristine peak at the given max_range
Note:
It is recommended that users have only one active machine model to avoid potential mis-use.
Testing Responsibilities
The major goal of the commissioning process is to ensure that safe and accurate results are being generated by a planning system relative to the actual treatment machine. As such, it is a key step in the process to perform various dose calculations and compare the results to actual measured beam data. As indicated by IAEA-TECDOC-1583, “The purpose of this testing is to confirm that the logistic chain starting from CT scanning, anatomic modelling, treatment planning and monitor unit calculation is operable for typical treatment techniques and leads to the desired results with sufficient accuracy.” While very useful in terms of establishing the purpose and scope of commissioning and acceptance testing, the most widely used TPS commissioning guidance documents (IAEA-TECDOC-1583, IAEA-TRS-430, and AAPM-Report-47) do not directly address the issue of proton TPS commissioning. Details specific to proton systems are well documented by Park (http://chapter.aapm.org/GLC/media/2012/Park.pdf) and these four documents serve as the basis for the testing recommendations provided herein. Also, note that the guidelines provided herein are the minimum recommendations, and the user is encouraged to perform additional testing depending upon the type and complexity of treatment techniques that are employed at their facility.
The following table provides a summary of the recommended test configurations that should be performed for each machine option. Comparisons should be based on standard clinical performance metrics, such as gamma index, with appropriate acceptance criteria selected based on the nature and risk of the data in a particular area (for example Park 2012 suggests <1mm error in range, up to 3% error in proximal “knee” region, and up to 5% error at the initial entrance region). It is recommended that each user adopt a similar region specific acceptance criteria for each option and maintain your selected standards throughout the life of the machine and this planning application. In addition to comparing to measured beam data, it is recommended to compare to existing TPS data if a commissioned TPS is currently available.
Measurement Type | No. Energies | Locations |
---|---|---|
PDD Curve (water) | 3-5 | Along CAX |
Z Fluences (air) | 3-5 | Along CAX |
X Profiles (air) | 3-5 | 3-5 Z levels |
X & Y Profiles w/ field size (water) | 1-2 | 1-2 Z levels |
Half Block Profile (air) | 3-5 | 3-5 Z levels |
Additionally, since this application does not know the limitations and scope of your testing, it is important for derived applications to implement checks for limits being exceeded and either prevent out of range use or allow it with proper warning messages provided back to the end user.
Saving Model Data
All data stored into the thinknode ISS is automatically saved and retrievable without ability of being changed, therefore machine model data is immediately stored once it is passed into the system. Due to this behavior it is important to properly manage the commissioned model that you are utilizing. The proper approach to managing machine models for those developing tools that are used clinically is to create a specific thinknode “realm” for your clinical machine data. All commissioning, research, and testing of machine models should be done outside this clinical realm. Once a machine model has been successfully created and it passed all acceptance testing for your site, the thinknode RKS () should be used to create a record of this machine model within the clinical realm (or to replace the existing model in the clinical realm if one already exists). Since no data is ever deleted from the system, the user is free to revert to previous model versions by accessing the RKS history for that record and replacing the current UID by the desired previously approved version. All programs and scripts accessing the machine model should therefore do so by querying the RKS for the machine model record to get the UID of the approved clinical machine model. The RKS holds a full history of each model version (UID) that it has held, along with the date of creation and the user ID of the creator. By accessing the machine model in this way, users are prevented from using local or out-dated copies and proper user access and restrictions can be put in place through management of the permissions within the established clinical realm.
Example Data
Below are various example machine related data definitions that can be consulted to help users understand the format and implementation details for constructing a machine model.
Example 1: Double Scattering Machine Option
An example double_scattering_machine_spec sobp machine can be accessed directly from within the dosimetry app. The get_example_sobp_machine(int id) function currently provides the following example machines based on the integer passed in as the argument:
- 0 - IBA SOBP Proton Machine
Note: This machine should be used for testing reference only. For clinical use, you must commission and setup your own machine spec. Refer to the dosimetry user's guide for more information.
The following is the complete specification of one option from the MGH SOBP clincal proton machine.
- machine_double_scatter.json
Machine: { "bcm": [ 0.87680, 0.87680, . . . 1.29510, 1.30080 ], "id": "B3", "max_mod": 95.490, "max_range": 95.490, "min_range": 74.90000000000001, "mod_correction": [ 0.0, 0.0, 0.0, 1.0, 0.0 ], "name": "B3", "penumbral_source_size": 29.750, "pristine_peak": { "outside_domain_policy": "always_zero", "samples": [ [ -14.51000000000001, 32.88120 ], [ -13.51000000000001, 32.90570 ], [ -12.51000000000001, 32.91630 ], . . . [ 92.490, 98.46320 ], [ 93.490, 99.98260000000001 ], [ 94.490, 97.19420 ], [ 95.490, 90.0 ], [ 96.490, 75.52679999999999 ], [ 97.490, 60.90950 ], [ 98.490, 45.77150 ], [ 99.490, 31.92740 ], [ 100.490, 19.7420 ], [ 101.490, 11.68980 ], [ 102.490, 5.430 ], [ 103.490, 2.67020 ], [ 104.490, 1.20680 ], [ 105.490, 0.50080 ], [ 106.490, 0.17530 ], [ 107.490, 0.06090 ] ] }, "sdm": [ 105.410, 36.7770, -4.19010, 0.31260, -0.009599999999999999, 9.91750, 0.71850 ], "source_size_on_track": 12.0, "steps": [ { "dR": 0.0, "theta": 79.740, "weight": 1.50270 }, { "dR": 5.25460, "theta": 108.30, "weight": 1.60410 }, { "dR": 10.51250, "theta": 129.930, "weight": 1.77020 }, { "dR": 15.75770, "theta": 146.430, "weight": 1.56950 }, . . . { "dR": 89.20520000000001, "theta": 260.990, "weight": 0.76350 }, { "dR": 94.46290000000001, "theta": 266.60, "weight": 0.64430 }, { "dR": 99.74160000000001, "theta": 272.510, "weight": 0.58110 } ], "track_length": 754.0, "wts1": 0.57760 }
Example 2: Acrylic Proton Material
"density": 1.150, "water_equivalent_ratio": 1.0 "theta_curve": { "outside_domain_policy": "extend_with_copies", "x0": 2.0, "x_spacing": 1.0, "samples": {{ "delta": 1.970000000000010e-005, "value": 0.00294420 } ,{ "delta": 1.539999999999962e-005, "value": 0.00296390 } . . . ,{ "delta": 1.800000000000152e-006, "value": 0.00312650 } ,{ "delta": 1.600000000000039e-006, "value": 0.00312830 } ,{ "delta": 1.699999999999879e-006, "value": 0.00312990 } } }
USR-002
.decimal LLC, 121 Central Park Place, Sanford, FL. 32771