====== 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//, //pbs_machine_spec// 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:
- [[dosimetry:commissioning_guide:commissioning_guide#Machine Geometry|Machine Geometry]]
- [[dosimetry:commissioning_guide:commissioning_guide#Device Information|Device Information]]
- [[dosimetry:commissioning_guide:commissioning_guide#Apertures|Apertures]]
- [[dosimetry:commissioning_guide:commissioning_guide#Range Compensators|Range Compensators]]
- [[dosimetry:commissioning_guide:commissioning_guide#Dose Model|Dose Model]]
This data is primarily captured within the dosimetry app's facility model. The facility model definition and schema is described in the [[http://docs.apps.dotdecimal.com/|Dosimetry App Manifest Documentation]] as the named type "facility". An empty {{ :dosimetry:commissioning_guide:sample_facility.json |sample facility model}} is provided as a json file to aid with initial setup and commissioning of a site's facility model. Please note that this sample file provides descriptions of all required model information without providing any default values. __**Users must start from this empty file**__ when creating a new machine / equipment model as it ensures that no unintended values are erroneously included into the model.
==== 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 ====
=== SOBP / Double Scattering Models ===
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
=== PBS Models ===
Since the Astroid Dosimetry App is primarily concerned with computing proton dose, the Astroid PBS machine model (//pbs_machine_spec//) consists of only a small set of parameters and machine geometric information. Other data, such as device mounting locations and snout extension limits for example, are used at a higher level and such information should have already been used to develop the input data necessary to use the Dosimetry App Dose Calculation Functions. The required beam data is described below:
* **deliverable_energies**: List of treatment energies that this machine is actually capable of delivering
* For continuous energy machines, this list should be left as an empty list
* For discrete energy machines, this list should contain each energy that can be obtained from the machine
* **modeled_energies**: List of modeled treatment energies with each item containing the full data necessary to describe the treatment spots
* Modeled energies provide Astroid with the actual data necessary to compute dose from a PBS beam
* Not all deliverable energies need to be modeled and Astroid will use an interpolation/extrapolation approach to compute the necessary data when deliverable energies are not specifically modeled; however, such estimation approaches are accurate when Bragg Peak shapes are not changing significantly between provided energies, as such users are encouraged to provide additional model energies if their delivery equipment produces variable shape Bragg Peaks
* The determination of which energies and how many to model is left to the user, as this is unique to each treatment machine and users should test the accuracy of the dose calculations for a range of energies before beginning clinical use
* **source_rotation_function**: Function that maps the beam source rotation to the gantry angle
* Use 0 for gantry independent scanning magnet system
* **sad**: The scanning magnet source-to-axis distances for the IEC BEV X and Y directions
* **aperture_sad**: The "apparent" SAD for aperture construction
* **halo_sigma_sq_function**: A simplified spot size function to use for verification dose calculations (this function is not used at this time)
== Deliverable Energy ==
Each deliverable energy is specified simply by its energy value (MeV), range/R90 distance (mm), and optionally the R80 range (mm).
== Modeled Energy ==
Each modeled energy is specified by its energy value (MeV), range/R90 distance (mm), optionally the R100 range (mm), the bragg peak width W80 (mm), the in-air central axis spot size/sigma at the isocenter plane, and the pristine peak data (Depth dose curve in Gy(RBE)mm^2/Gp for an infinite broad beam at infinite source distance). Note that many of Astroid's PBS energy layer calculation functions utilize the provided W80 value to compute appropriate energy layer spacing.
**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: {
"bcm": [
0.87680,
0.87680,
.
.
.
1.29510,
1.30080
],
"id": "B3",
"max_mod": 95.490,
"max_range": 95.490,
"min_range": 74.9000,
"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.5100, 32.88120 ],
[ -13.5100, 32.90570 ],
[ -12.5100, 32.91630 ],
.
.
.
[ 92.490, 98.46320 ],
[ 93.490, 99.9826000 ],
[ 94.490, 97.19420 ],
[ 95.490, 90.0 ],
[ 96.490, 75.5267999 ],
[ 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.009599999, 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.20520000,
"theta": 260.990,
"weight": 0.76350
},
{
"dR": 94.462900,
"theta": 266.60,
"weight": 0.64430
},
{
"dR": 99.74160000,
"theta": 272.510,
"weight": 0.58110
}
],
"track_length": 754.0,
"wts1": 0.57760
}
==== Example 2: PBS Machine ====
{
"aperture_sad": [2310.0, 1930.0],
"deliverable_energies": [],
"halo_sigma_sq_function":
{
"a": 0.00078,
"b": -0.34,
"c": 65.0
},
"modeled_energies": [
{
"energy": 91.0,
"pristine_peak": {
"outside_domain_policy": "always_zero",
"samples": [
[ 0.10, 137.340 ],
[ 0.30, 141.930 ],
[ 0.50, 143.860 ],
[ 0.70, 145.110 ],
[ 0.90, 146.240 ],
[ 1.10, 147.0 ],
[ 1.30, 147.790 ],
[ 1.50, 148.610 ],
[ 1.70, 149.360 ],
[ 1.90, 150.040 ],
[ 2.10, 150.70 ],
[ 2.30, 151.260 ],
[ 2.50, 151.760 ],
[ 2.70, 152.140 ],
[ 2.90, 152.750 ],
[ 3.10, 153.190 ],
[ 3.30, 153.490 ],
[ 3.50, 153.950 ],
[ 3.70, 154.330 ],
[ 3.90, 154.620 ],
[ 4.10, 154.970 ],
[ 4.30, 155.390 ],
[ 4.50, 155.790 ],
[ 4.70, 156.090 ],
[ 4.90, 156.490 ],
[ 5.10, 156.860 ],
[ 5.30, 157.090 ],
[ 5.50, 157.390 ],
[ 5.70, 157.710 ],
[ 5.90, 157.940 ],
[ 6.10, 158.160 ],
[ 6.30, 158.280 ],
[ 6.50, 158.540 ],
[ 6.70, 158.780 ],
[ 6.90, 158.990 ],
[ 7.10, 159.30 ],
[ 7.30, 159.530 ],
[ 7.50, 159.70 ],
[ 7.70, 160.0 ],
[ 7.90, 160.350 ],
[ 8.10, 160.640 ],
[ 8.30, 160.880 ],
[ 8.50, 161.120 ],
[ 8.70, 161.270 ],
[ 8.90, 161.450 ],
[ 9.10, 161.760 ],
[ 9.30, 162.120 ],
[ 9.50, 162.440 ],
[ 9.70, 162.670 ],
[ 9.90, 162.890 ],
[ 10.10, 163.120 ],
[ 10.30, 163.310 ],
[ 10.50, 163.460 ],
[ 10.70, 163.630 ],
[ 10.90, 163.890 ],
[ 11.10, 164.210 ],
[ 11.30, 164.460 ],
[ 11.50, 164.70 ],
[ 11.70, 164.990 ],
[ 11.90, 165.220 ],
[ 12.10, 165.390 ],
[ 12.30, 165.60 ],
[ 12.50, 165.850 ],
[ 12.70, 166.110 ],
[ 12.90, 166.410 ],
[ 13.10, 166.720 ],
[ 13.30, 166.990 ],
[ 13.50, 167.240 ],
[ 13.70, 167.510 ],
[ 13.90, 167.790 ],
[ 14.10, 168.090 ],
[ 14.30, 168.390 ],
[ 14.50, 168.670 ],
[ 14.70, 168.920 ],
[ 14.90, 169.180 ],
[ 15.10, 169.430 ],
[ 15.30, 169.710 ],
[ 15.50, 169.990 ],
[ 15.70, 170.270 ],
[ 15.90, 170.520 ],
[ 16.10, 170.750 ],
[ 16.30, 170.980 ],
[ 16.50, 171.240 ],
[ 16.70, 171.540 ],
[ 16.90, 171.880 ],
[ 17.10, 172.240 ],
[ 17.30, 172.570 ],
[ 17.50, 172.880 ],
[ 17.70, 173.170 ],
[ 17.90, 173.490 ],
[ 18.10, 173.840 ],
[ 18.30, 174.20 ],
[ 18.50, 174.560 ],
[ 18.70, 174.910 ],
[ 18.90, 175.240 ],
[ 19.10, 175.540 ],
[ 19.30, 175.840 ],
[ 19.50, 176.160 ],
[ 19.70, 176.540 ],
[ 19.90, 176.940 ],
[ 20.10, 177.330 ],
[ 20.30, 177.680 ],
[ 20.50, 178.0 ],
[ 20.70, 178.320 ],
[ 20.90, 178.660 ],
[ 21.10, 179.040 ],
[ 21.30, 179.440 ],
[ 21.50, 179.830 ],
[ 21.70, 180.180 ],
[ 21.90, 180.50 ],
[ 22.10, 180.80 ],
[ 22.30, 181.110 ],
[ 22.50, 181.440 ],
[ 22.70, 181.780 ],
[ 22.90, 182.130 ],
[ 23.10, 182.480 ],
[ 23.30, 182.830 ],
[ 23.50, 183.190 ],
[ 23.70, 183.550 ],
[ 23.90, 183.920 ],
[ 24.10, 184.280 ],
[ 24.30, 184.630 ],
[ 24.50, 184.990 ],
[ 24.70, 185.360 ],
[ 24.90, 185.730 ],
[ 25.10, 186.120 ],
[ 25.30, 186.50 ],
[ 25.50, 186.880 ],
[ 25.70, 187.240 ],
[ 25.90, 187.580 ],
[ 26.10, 187.910 ],
[ 26.30, 188.230 ],
[ 26.50, 188.570 ],
[ 26.70, 188.920 ],
[ 26.90, 189.290 ],
[ 27.10, 189.670 ],
[ 27.30, 190.060 ],
[ 27.50, 190.430 ],
[ 27.70, 190.80 ],
[ 27.90, 191.150 ],
[ 28.10, 191.490 ],
[ 28.30, 191.820 ],
[ 28.50, 192.140 ],
[ 28.70, 192.480 ],
[ 28.90, 192.830 ],
[ 29.10, 193.190 ],
[ 29.30, 193.550 ],
[ 29.50, 193.910 ],
[ 29.70, 194.280 ],
[ 29.90, 194.640 ],
[ 30.10, 195.0 ],
[ 30.30, 195.370 ],
[ 30.50, 195.750 ],
[ 30.70, 196.130 ],
[ 30.90, 196.530 ],
[ 31.10, 196.950 ],
[ 31.30, 197.370 ],
[ 31.50, 197.80 ],
[ 31.70, 198.230 ],
[ 31.90, 198.660 ],
[ 32.10, 199.090 ],
[ 32.30, 199.520 ],
[ 32.50, 199.960 ],
[ 32.70, 200.40 ],
[ 32.90, 200.850 ],
[ 33.10, 201.310 ],
[ 33.30, 201.780 ],
[ 33.50, 202.260 ],
[ 33.70, 202.760 ],
[ 33.90, 203.280 ],
[ 34.10, 203.80 ],
[ 34.30, 204.350 ],
[ 34.50, 204.90 ],
[ 34.70, 205.460 ],
[ 34.90, 206.040 ],
[ 35.10, 206.620 ],
[ 35.30, 207.20 ],
[ 35.50, 207.790 ],
[ 35.70, 208.380 ],
[ 35.90, 208.960 ],
[ 36.10, 209.550 ],
[ 36.30, 210.150 ],
[ 36.50, 210.740 ],
[ 36.70, 211.340 ],
[ 36.90, 211.930 ],
[ 37.10, 212.520 ],
[ 37.30, 213.110 ],
[ 37.50, 213.690 ],
[ 37.70, 214.270 ],
[ 37.90, 214.840 ],
[ 38.10, 215.420 ],
[ 38.30, 215.990 ],
[ 38.50, 216.570 ],
[ 38.70, 217.150 ],
[ 38.90, 217.730 ],
[ 39.10, 218.330 ],
[ 39.30, 218.940 ],
[ 39.50, 219.560 ],
[ 39.70, 220.20 ],
[ 39.90, 220.830 ],
[ 40.10, 221.470 ],
[ 40.30, 222.10 ],
[ 40.50, 222.720 ],
[ 40.70, 223.340 ],
[ 40.90, 223.960 ],
[ 41.10, 224.590 ],
[ 41.30, 225.220 ],
[ 41.50, 225.870 ],
[ 41.70, 226.520 ],
[ 41.90, 227.180 ],
[ 42.10, 227.850 ],
[ 42.30, 228.530 ],
[ 42.50, 229.220 ],
[ 42.70, 229.910 ],
[ 42.90, 230.60 ],
[ 43.10, 231.310 ],
[ 43.30, 232.030 ],
[ 43.50, 232.750 ],
[ 43.70, 233.50 ],
[ 43.90, 234.250 ],
[ 44.10, 235.030 ],
[ 44.30, 235.820 ],
[ 44.50, 236.640 ],
[ 44.70, 237.480 ],
[ 44.90, 238.340 ],
[ 45.10, 239.230 ],
[ 45.30, 240.150 ],
[ 45.50, 241.10 ],
[ 45.70, 242.070 ],
[ 45.90, 243.070 ],
[ 46.10, 244.090 ],
[ 46.30, 245.120 ],
[ 46.50, 246.160 ],
[ 46.70, 247.210 ],
[ 46.90, 248.270 ],
[ 47.10, 249.340 ],
[ 47.30, 250.410 ],
[ 47.50, 251.480 ],
[ 47.70, 252.550 ],
[ 47.90, 253.630 ],
[ 48.10, 254.70 ],
[ 48.30, 255.770 ],
[ 48.50, 256.840 ],
[ 48.70, 257.920 ],
[ 48.90, 259.0 ],
[ 49.10, 260.090 ],
[ 49.30, 261.190 ],
[ 49.50, 262.30 ],
[ 49.70, 263.430 ],
[ 49.90, 264.580 ],
[ 50.10, 265.750 ],
[ 50.30, 266.950 ],
[ 50.50, 268.180 ],
[ 50.70, 269.440 ],
[ 50.90, 270.740 ],
[ 51.10, 272.080 ],
[ 51.30, 273.450 ],
[ 51.50, 274.870 ],
[ 51.70, 276.330 ],
[ 51.90, 277.830 ],
[ 52.10, 279.380 ],
[ 52.30, 280.960 ],
[ 52.50, 282.590 ],
[ 52.70, 284.270 ],
[ 52.90, 285.980 ],
[ 53.10, 287.740 ],
[ 53.30, 289.540 ],
[ 53.50, 291.380 ],
[ 53.70, 293.250 ],
[ 53.90, 295.170 ],
[ 54.10, 297.120 ],
[ 54.30, 299.110 ],
[ 54.50, 301.130 ],
[ 54.70, 303.180 ],
[ 54.90, 305.270 ],
[ 55.10, 307.390 ],
[ 55.30, 309.560 ],
[ 55.50, 311.780 ],
[ 55.70, 314.050 ],
[ 55.90, 316.390 ],
[ 56.10, 318.790 ],
[ 56.30, 321.280 ],
[ 56.50, 323.850 ],
[ 56.70, 326.510 ],
[ 56.90, 329.270 ],
[ 57.10, 332.130 ],
[ 57.30, 335.110 ],
[ 57.50, 338.190 ],
[ 57.70, 341.390 ],
[ 57.90, 344.70 ],
[ 58.10, 348.140 ],
[ 58.30, 351.70 ],
[ 58.50, 355.40 ],
[ 58.70, 359.240 ],
[ 58.90, 363.230 ],
[ 59.10, 367.40 ],
[ 59.30, 371.740 ],
[ 59.50, 376.290 ],
[ 59.70, 381.060 ],
[ 59.90, 386.070 ],
[ 60.10, 391.350 ],
[ 60.30, 396.920 ],
[ 60.50, 402.810 ],
[ 60.70, 409.040 ],
[ 60.90, 415.670 ],
[ 61.10, 422.720 ],
[ 61.30, 430.260 ],
[ 61.50, 438.330 ],
[ 61.70, 447.020 ],
[ 61.90, 456.40 ],
[ 62.10, 466.580 ],
[ 62.30, 477.670 ],
[ 62.50, 489.80 ],
[ 62.70, 503.080 ],
[ 62.90, 517.620 ],
[ 63.10, 533.510 ],
[ 63.30, 550.760 ],
[ 63.50, 569.290 ],
[ 63.70, 588.920 ],
[ 63.90, 609.280 ],
[ 64.10, 629.850 ],
[ 64.30, 649.870 ],
[ 64.50, 668.420 ],
[ 64.70, 684.390 ],
[ 64.90, 696.550 ],
[ 65.10, 703.640 ],
[ 65.30, 704.460 ],
[ 65.50, 697.960 ],
[ 65.70, 683.40 ],
[ 65.90, 660.440 ],
[ 66.10, 629.280 ],
[ 66.30, 590.620 ],
[ 66.50, 545.590 ],
[ 66.70, 495.670 ],
[ 66.90, 442.60 ],
[ 67.10, 388.210 ],
[ 67.30, 334.290 ],
[ 67.50, 282.50 ],
[ 67.70, 234.20 ],
[ 67.90, 190.320 ],
[ 68.10, 151.670 ],
[ 68.30, 118.490 ],
[ 68.50, 90.7380 ],
[ 68.70, 68.1080 ],
[ 68.90, 50.1070 ],
[ 69.10, 36.1390 ],
[ 69.30, 25.550 ],
[ 69.50, 17.7250 ],
[ 69.70, 12.0710 ],
[ 69.90, 8.07981 ],
[ 70.10, 5.3290 ],
[ 70.30, 3.47680 ],
[ 70.50, 2.2570 ],
[ 70.70, 1.47190 ],
[ 70.90, 0.97818 ],
[ 71.10, 0.674540 ],
[ 71.30, 0.492410 ],
[ 71.50, 0.386060 ],
[ 71.70, 0.325480 ],
[ 71.90, 0.292250 ],
[ 72.10, 0.274080 ],
[ 72.30, 0.264690 ],
[ 72.50, 0.259960 ],
[ 72.70, 0.257480 ],
[ 72.90, 0.256280 ],
[ 73.10, 0.255470 ],
[ 73.30, 0.255080 ],
[ 73.50, 0.254680 ],
[ 73.70, 0.254160 ],
[ 73.90, 0.253640 ],
[ 74.10, 0.253040 ],
[ 74.30, 0.252440 ],
[ 74.50, 0.251770 ],
[ 74.70, 0.250590 ],
[ 74.90, 0.250020 ],
[ 75.10, 0.249310 ],
[ 75.30, 0.248680 ],
[ 75.50, 0.247530 ],
[ 75.70, 0.246330 ],
[ 90.00, 0.246000 ]
]
},
"r100": {
"some": 65.30
},
"r90": 66.060,
"sigma": {
"x": {
"a": 0.0,
"b": 0.0,
"c": 400.123
},
"y": {
"a": 0.0,
"b": 0.0,
"c": 425.234
}
},
"w80": 3.000
},
.
.
.
{
"energy": 214.290,
"pristine_peak": {
"outside_domain_policy": "always_zero",
"samples": [
[ 0.10, 75.080 ],
[ 0.30, 78.1210 ],
[ 0.50, 79.2740 ],
[ 0.70, 80.1210 ],
[ 0.90, 80.7210 ],
[ 1.10, 81.2860 ],
[ 1.30, 81.7020 ],
[ 1.50, 81.9930 ],
[ 1.70, 82.22799 ],
[ 1.90, 82.3590 ],
[ 2.10, 82.6130 ],
[ 2.30, 82.7360 ],
[ 2.50, 82.94199 ],
[ 2.70, 83.0320 ],
[ 2.90, 83.3060 ],
[ 3.10, 83.4150 ],
[ 3.30, 83.69799 ],
[ 3.50, 84.0220 ],
[ 3.70, 84.0650 ],
[ 3.90, 84.230 ],
[ 4.10, 84.3370 ],
[ 4.30, 84.4830 ],
[ 4.50, 84.5570 ],
[ 4.70, 84.5400 ],
[ 4.90, 84.8510 ],
[ 5.10, 84.9220 ],
[ 5.30, 85.0870 ],
[ 5.50, 85.1760 ],
[ 5.70, 85.1970 ],
[ 5.90, 85.2390 ],
[ 6.10, 85.46299 ],
[ 6.30, 85.46599 ],
[ 6.50, 85.59099 ],
[ 6.70, 85.6020 ],
[ 6.90, 85.6630 ],
[ 7.10, 85.8310 ],
[ 7.30, 85.8890 ],
.
.
.
[ 262.30, 161.360 ],
[ 262.50, 161.660 ],
[ 262.70, 161.970 ],
[ 262.90, 162.30 ],
[ 263.10, 162.610 ],
[ 263.30, 162.940 ],
[ 263.50, 163.280 ],
[ 263.70, 163.60 ],
[ 263.90, 163.950 ],
[ 264.10, 164.30 ],
[ 264.30, 164.640 ],
[ 264.50, 165.0 ],
[ 264.70, 165.360 ],
[ 264.90, 165.710 ],
[ 265.10, 166.090 ],
[ 265.30, 166.460 ],
[ 265.50, 166.830 ],
[ 265.70, 167.220 ],
[ 265.90, 167.60 ],
[ 266.10, 167.990 ],
[ 266.30, 168.390 ],
[ 266.50, 168.780 ],
[ 266.70, 169.180 ],
[ 266.90, 169.590 ],
[ 267.10, 169.990 ],
[ 267.30, 170.410 ],
[ 267.50, 170.820 ],
[ 267.70, 171.240 ],
[ 267.90, 171.660 ],
[ 268.10, 172.080 ],
[ 268.30, 172.510 ],
[ 268.50, 172.940 ],
[ 268.70, 173.370 ],
[ 268.90, 173.810 ],
[ 269.10, 174.260 ],
[ 269.30, 174.690 ],
[ 269.50, 175.160 ],
[ 269.70, 175.610 ],
[ 269.90, 176.050 ],
[ 270.10, 176.540 ],
[ 270.30, 177.0 ],
[ 270.50, 177.460 ],
[ 270.70, 177.950 ],
[ 270.90, 178.430 ],
[ 271.10, 178.910 ],
[ 271.30, 179.410 ],
[ 271.50, 179.910 ],
[ 271.70, 180.420 ],
[ 271.90, 180.940 ],
[ 272.10, 181.450 ],
[ 272.30, 181.990 ],
[ 272.50, 182.520 ],
[ 272.70, 183.080 ],
[ 272.90, 183.640 ],
[ 273.10, 184.20 ],
[ 273.30, 184.790 ],
[ 273.50, 185.370 ],
[ 273.70, 185.970 ],
[ 273.90, 186.590 ],
[ 274.10, 187.20 ],
[ 274.30, 187.830 ],
[ 274.50, 188.470 ],
[ 274.70, 189.130 ],
[ 274.90, 189.780 ],
[ 275.10, 190.450 ],
[ 275.30, 191.140 ],
[ 275.50, 191.820 ],
[ 275.70, 192.530 ],
[ 275.90, 193.250 ],
[ 276.10, 193.960 ],
[ 276.30, 194.720 ],
[ 276.50, 195.450 ],
[ 276.70, 196.210 ],
[ 276.90, 197.0 ],
[ 277.10, 197.770 ],
[ 277.30, 198.580 ],
[ 277.50, 199.390 ],
[ 277.70, 200.20 ],
[ 277.90, 201.050 ],
[ 278.10, 201.890 ],
[ 278.30, 202.760 ],
[ 278.50, 203.640 ],
[ 278.70, 204.540 ],
[ 278.90, 205.450 ],
[ 279.10, 206.380 ],
[ 279.30, 207.330 ],
[ 279.50, 208.30 ],
[ 279.70, 209.290 ],
[ 279.90, 210.310 ],
[ 280.10, 211.330 ],
[ 280.30, 212.40 ],
[ 280.50, 213.490 ],
[ 280.70, 214.590 ],
[ 280.90, 215.740 ],
[ 281.10, 216.890 ],
[ 281.30, 218.090 ],
[ 281.50, 219.320 ],
[ 281.70, 220.560 ],
[ 281.90, 221.860 ],
[ 282.10, 223.170 ],
[ 282.30, 224.520 ],
[ 282.50, 225.910 ],
[ 282.70, 227.330 ],
[ 282.90, 228.80 ],
[ 283.10, 230.290 ],
[ 283.30, 231.840 ],
[ 283.50, 233.420 ],
[ 283.70, 235.050 ],
[ 283.90, 236.740 ],
[ 284.10, 238.460 ],
[ 284.30, 240.250 ],
[ 284.50, 242.080 ],
[ 284.70, 243.970 ],
[ 284.90, 245.930 ],
[ 285.10, 247.940 ],
[ 285.30, 250.020 ],
[ 285.50, 252.170 ],
[ 285.70, 254.370 ],
[ 285.90, 256.670 ],
[ 286.10, 259.010 ],
[ 286.30, 261.450 ],
[ 286.50, 263.940 ],
[ 286.70, 266.520 ],
[ 286.90, 269.190 ],
[ 287.10, 271.890 ],
[ 287.30, 274.710 ],
[ 287.50, 277.570 ],
[ 287.70, 280.50 ],
[ 287.90, 283.510 ],
[ 288.10, 286.560 ],
[ 288.30, 289.670 ],
[ 288.50, 292.820 ],
[ 288.70, 296.0 ],
[ 288.90, 299.210 ],
[ 289.10, 302.430 ],
[ 289.30, 305.660 ],
[ 289.50, 308.860 ],
[ 289.70, 312.050 ],
[ 289.90, 315.170 ],
[ 290.10, 318.240 ],
[ 290.30, 321.210 ],
[ 290.50, 324.070 ],
[ 290.70, 326.80 ],
[ 290.90, 329.370 ],
[ 291.10, 331.750 ],
[ 291.30, 333.920 ],
[ 291.50, 335.830 ],
[ 291.70, 337.50 ],
[ 291.90, 338.830 ],
[ 292.10, 339.850 ],
[ 292.30, 340.510 ],
[ 292.50, 340.750 ],
[ 292.70, 340.610 ],
[ 292.90, 340.0 ],
[ 293.10, 338.930 ],
[ 293.30, 337.40 ],
[ 293.50, 335.330 ],
[ 293.70, 332.760 ],
[ 293.90, 329.660 ],
[ 294.10, 326.020 ],
[ 294.30, 321.860 ],
[ 294.50, 317.140 ],
[ 294.70, 311.910 ],
[ 294.90, 306.150 ],
[ 295.10, 299.880 ],
[ 295.30, 293.130 ],
[ 295.50, 285.910 ],
[ 295.70, 278.250 ],
[ 295.90, 270.190 ],
[ 296.10, 261.740 ],
[ 296.30, 252.980 ],
[ 296.50, 243.90 ],
[ 296.70, 234.570 ],
[ 296.90, 225.050 ],
[ 297.10, 215.340 ],
[ 297.30, 205.550 ],
[ 297.50, 195.660 ],
[ 297.70, 185.770 ],
[ 297.90, 175.90 ],
[ 298.10, 166.070 ],
[ 298.30, 156.420 ],
[ 298.50, 146.840 ],
[ 298.70, 137.530 ],
[ 298.90, 128.40 ],
[ 299.10, 119.530 ],
[ 299.30, 110.980 ],
[ 299.50, 102.680 ],
[ 299.70, 94.7960 ],
[ 299.90, 87.1880 ],
[ 300.10, 79.9950 ],
[ 300.30, 73.1570 ],
[ 300.50, 66.6880 ],
[ 300.70, 60.6410 ],
[ 300.90, 54.9270 ],
[ 301.10, 49.6460 ],
[ 301.30, 44.6920 ],
[ 301.50, 40.1430 ],
[ 301.70, 35.9260 ],
[ 301.90, 32.0570 ],
[ 302.10, 28.5340 ],
[ 302.30, 25.2940 ],
[ 302.50, 22.3890 ],
[ 302.70, 19.7310 ],
[ 302.90, 17.3620 ],
[ 303.10, 15.2280 ],
[ 303.30, 13.3160 ],
[ 303.50, 11.6330 ],
[ 303.70, 10.1180 ],
[ 303.90, 8.80460 ],
[ 304.10, 7.63340 ],
[ 304.30, 6.61280 ],
[ 304.50, 5.72970 ],
[ 304.70, 4.94660 ],
[ 304.90, 4.28810 ],
[ 305.10, 3.70260 ],
[ 305.30, 3.2110 ],
[ 305.50, 2.7880 ],
[ 305.70, 2.42080 ],
[ 305.90, 2.12190 ],
[ 306.10, 1.85410 ],
[ 306.30, 1.64150 ],
[ 306.50, 1.45420 ],
[ 306.70, 1.30030 ],
[ 306.90, 1.17430 ],
[ 307.10, 1.06390 ],
[ 307.30, 0.979550 ],
[ 307.50, 0.904010 ],
[ 307.70, 0.845030 ],
[ 307.90, 0.79660 ],
[ 308.10, 0.755170 ],
[ 308.30, 0.722890 ],
[ 308.50, 0.697840 ],
[ 308.70, 0.672970 ],
[ 308.90, 0.660320 ],
[ 309.10, 0.641140 ],
[ 309.30, 0.633320 ],
[ 309.50, 0.623060 ],
[ 309.70, 0.613690 ],
[ 309.90, 0.611650 ],
[ 310.10, 0.600530 ],
[ 310.30, 0.603030 ],
[ 310.50, 0.592670 ],
[ 310.70, 0.594440 ],
[ 310.90, 0.588280 ],
[ 311.10, 0.58650 ],
[ 311.30, 0.584850 ],
[ 311.50, 0.580190 ],
[ 311.70, 0.580870 ],
[ 311.90, 0.575810 ],
[ 312.10, 0.576360 ],
[ 312.30, 0.572450 ],
[ 312.50, 0.572260 ],
[ 312.70, 0.569290 ],
[ 312.90, 0.568670 ],
[ 313.10, 0.566240 ],
[ 313.30, 0.565490 ],
[ 313.50, 0.563680 ],
[ 313.70, 0.563130 ],
[ 313.90, 0.561690 ],
[ 314.10, 0.561870 ],
[ 314.30, 0.560110 ],
[ 314.50, 0.561130 ],
[ 314.70, 0.560250 ],
[ 314.90, 0.559430 ],
[ 315.10, 0.561570 ],
[ 315.30, 0.558950 ],
[ 315.50, 0.562320 ],
[ 315.70, 0.558850 ],
[ 315.90, 0.561570 ],
[ 316.10, 0.560020 ],
[ 316.30, 0.560260 ],
[ 316.50, 0.560250 ],
[ 316.70, 0.558950 ],
[ 316.90, 0.559450 ],
[ 317.10, 0.557150 ],
[ 317.30, 0.557710 ],
[ 317.50, 0.555920 ],
[ 317.70, 0.555360 ],
[ 317.90, 0.55420 ],
[ 318.10, 0.553260 ],
[ 318.30, 0.552390 ],
[ 318.50, 0.550650 ],
[ 318.70, 0.55050 ],
[ 318.90, 0.547670 ],
[ 319.10, 0.548220 ],
[ 319.30, 0.545410 ],
[ 319.50, 0.545450 ],
[ 319.70, 0.543291 ],
[ 319.90, 0.543220 ],
[ 320.10, 0.540860 ],
[ 320.30, 0.541010 ],
[ 320.50, 0.53930 ],
[ 320.70, 0.538840 ],
[ 320.90, 0.537640 ],
[ 321.10, 0.536801 ],
[ 321.30, 0.535940 ],
[ 321.50, 0.534720 ],
[ 321.70, 0.533840 ],
[ 321.90, 0.532940 ],
[ 322.10, 0.531550 ],
[ 322.30, 0.531361 ],
[ 322.50, 0.52910 ],
[ 322.70, 0.529410 ],
[ 322.90, 0.5260 ],
[ 323.10, 0.527280 ],
[ 323.30, 0.522470 ],
[ 323.50, 0.52490 ],
[ 323.70, 0.518720 ],
[ 323.90, 0.521840 ],
[ 324.10, 0.515860 ],
[ 324.30, 0.517770 ],
[ 324.50, 0.514120 ],
[ 324.70, 0.51310 ],
[ 324.90, 0.512920 ],
[ 325.10, 0.508680 ],
[ 325.30, 0.512270 ],
[ 325.50, 0.505570 ],
[ 325.70, 0.511180 ],
[ 325.90, 0.50420 ],
[ 326.10, 0.509150 ],
[ 326.30, 0.504850 ],
[ 326.50, 0.507360 ],
[ 326.70, 0.505960 ],
[ 350.00, 0.50 ]
]
},
"r100": {
"some": 292.50
},
"r90": 294.880,
"sigma": {
"x": {
"a": 0.0,
"b": 0.0,
"c": 100.000
},
"y": {
"a": 0.0,
"b": 0.0,
"c": 105.678
}
},
"w80": 8.500
}],
"sad": [2310.0, 1930.0],
"source_rotation_function":
{
"intercept": 0.0,
"slope": 0.0
}
}
==== Example 3: 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