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, respectively
  • rangeshifter(mm) val1 val2 : cross-sectional dimension of range shifter, if val2 is 0, range shifter is considered as cylinder. For non zero val2, 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, the val will be used to calculate the physical thickness.
  • aperture(mm) val1 val2 : cross-sectional dimension of aperture, if val2 is 0, aperture is considered as cylinder. For non zero val2, 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 and val is 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 Energy in 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-Y
  • val5 val6 : std of spatial distribution at SID. If val4 and val5 are 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 changing
  • I(nA) val : Constant beam current. beam-on time is calculated NP/val or MU/val
  • dT_up(ms) val : pulse latency to on
  • dT_down(ms) val : pulse latency to off
  • set_x(ms) val : pulse settling time in x
  • set_y(ms) val : pulse settling time in y
  • velocity_x(m/sec) val : scan speed along x axis
  • velocity_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.