Using machine description file - topasmc/dicom-interface GitHub Wiki
Method 1. Using machine description file
see the file: rti/treatment_machines/pbs/rbe_1p1.table
[geometry]
# key value1 value2
SAD(mm) 1800 2000
rangeshifter(mm) 300 300
#rangeshifter(mm) 80 0 #circle
#rangeshifter_wet 1.15
aperture(mm) 400 400
#aperture(mm) 70 0 #circle
[rangeshifter_thickness]
"30mm" 30
"40mm" 40
"50mm" 50
"60mm" 60
"70mm" 70
"80mm" 80
[spot]
# Nominal Energy (MeV), Energy(MeV), Energy Spread (MeV), ratio, xp (rad), yp (rad), x (mm), y (mm)
60.0 60.0 0.0 1.0 0.0 0.0 0.0 0.0
250.0 250.0 0.0 1.0 0.0 0.0 0.0 0.0
[time]
# key value
E(sec) 2
I(nA) 2
dT_up(ms) 3
dT_down(ms) 3
set_x(ms) 0.005
set_y(ms) 0.005
velocity_x(m/sec) 30
velocity_y(m/sec) 3
The file consists of sections and key-value pairs in each section. Currently keys are hard-coded so you cannot change except for [rangeshifter_thickness]. # character is reserved for comment.
We support four-sections, such as [geometry], [rangeshifter_thickness], [spot], and [time].
[geometry]
SAD(mm) sad_x sad_y: source to axis distance for x and y axis, respectivelyrangeshifter(mm) val1 val2: cross-sectional dimension of range shifter, ifval2is0, range shifter is considered as cylinder. For non zeroval2, a box rangeshifter is created.rangeshifter_wet val: Unlike TPS, MC tracks particles through physical rangeshifters mostly. If the range-shifter's thickness is given in water equivalent in your DICOM RT-Ion, thevalwill be used to calculate the physical thickness.aperture(mm) val1 val2: cross-sectional dimension of aperture, ifval2is0, aperture is considered as cylinder. For non zeroval2, a box type aperture is created.
[rangeshifter-thickness]
This section can be omiited if your DICOM-RT Ion gives the thickness value in water equivalent value (300A,0366). However, depending on TPS and institute, the RangeShifter ID is often used to imply the thickness. This section describes how to convert range-shifter ID to physical thickness in mm.
"key" val:"key"is rangeshifter ID andvalis its thickness.
[spot]
This specifies the conversion rule from Nominal Beam Energy (300A,0114) to the specification of beamlet distribution functions, e.g., mean and std of a spatial distribution, momentum direction distribution, and MU or NP to number of histories to be simulated.
key:Nominal Beam Energyin a control point.val1 val2: mean and std of energy distribution, respectively.val3: conversion ratio of number of histories to be simulated per MU or NP.val4 val4: std of direction cosine of X-Yval5 val6: std of spatial distribution at SID. Ifval4andval5are ommited, FWHM/2.355 will be taken for this distribution.
[time]
Parameters to calculate time-structure of beam on/off.
E(sec) val: Time required for energy changingI(nA) val: Constant beam current. beam-on time is calculated NP/valor MU/valdT_up(ms) val: pulse latency to ondT_down(ms) val: pulse latency to offset_x(ms) val: pulse settling time in xset_y(ms) val: pulse settling time in yvelocity_x(m/sec) val: scan speed along x axisvelocity_y(m/sec) val: scan speed along y axis
Thus, Beam on time is MU/I(nA) or NP/I(nA). Beam off time is the sum of energy changing, latency (on-off), spot settling time, and spot moving time. However, when energy is changed, the latency, settling time, and moving time will be included in energy changing time.
To test your machine description file with command line tool, see below chapter 3.