TRiP98 Raster scanner data format
| GSI Biophysics | TRiP98 long write-up |

Raster scanner data format

CAVE M Scanner Data

Format 19960415

   rstfile          19960415
   sistable         <yyyymmdd>
   patient_id       <barcode>
   machine#         0
   projectile       <projectile-name>
   charge           <charge>
   mass             <mass/amu>
   #submachines     <m>
   #particles       <totalmin> <totalmax> <totalsum>
   submachine#      <eindex1> <energy1> <findex1> <focus1>
   #particles       <cutmin> <cutmax> <cutsum>
   #points          <n>
   <xpos1 /mm > <ypos1 /mm > <#particles1>
   <xpos2 /mm > <ypos2 /mm > <#particles2>
   ...
   <xposn /mm > <yposn /mm > <#particlesn>
   submachine#      <eindex2> <energy2> <findex2> <focus2>
   #particles       <cutmin> <cutmax> <cutsum>
   ...
   submachine#      <eindexm> <energym> <findexm> <focusm>
   #particles       <cutmin> <cutmax> <cutsum>
   ...

Format 19980701

   rstfile          19980701
   sistable         <yyyymmdd>
   patient_id       <barcode>
   machine#         0
   projectile       <projectile-name>
   charge           <charge>
   mass             <mass/amu>
   gantryangle      <angle/degree> 
   couchangle       <angle/degree> 
   stereotacticcoordinates <x/mm>  <y/mm> <z/mm>
   #submachines     <m>
   #particles       <totalmin> <totalmax> <totalsum>
   submachine#      <eindex1> <energy1> <findex1> <focus1>
   #particles       <cutmin> <cutmax> <cutsum>
   stepsize         <deltax/mm>  <deltay/mm> 
   #points          <n>
   <xpos1 /mm > <ypos1 /mm > <#particles1>
   <xpos2 /mm > <ypos2 /mm > <#particles2>
   ...
   <xposn /mm > <yposn /mm > <#particlesn>
   submachine#      <eindex2> <energy2> <findex2> <focus2>
   #particles       <cutmin> <cutmax> <cutsum>
   stepsize         <deltax/mm>  <deltay/mm> 
   ...
   submachine#      <eindexm> <energym> <findexm> <focusm>
   #particles       <cutmin> <cutmax> <cutsum>
   stepsize         <deltax/mm>  <deltay/mm> 
   ...

Format 19990128

   rstfile          19990128
   sistable         <yyyymmdd>
   patient_id       <barcode>
   machine#         0
   projectile       <projectile-name>
   charge           <charge>
   mass             <mass/amu>
   gantryangle      <angle/degree> 
   couchangle       <angle/degree> 
   stereotacticcoordinates <x/mm> [,] <y/mm> [,] <z/mm>
   bolus            <H2O-equiv. thickness/mm> 
   ripplefilter     <mm>
   ...

Format 20010201

   rstfile          20010201
   sistable         <yyyymmdd>
   patient_id       <barcode>
   machine#         0
   projectile       <projectile-name>
   charge           <charge>
   mass             <mass/amu>
   gantryangle      <angle/degree> 
   couchangle       <angle/degree> 
   stereotacticcoordinates <x/mm> [,] <y/mm> [,] <z/mm>
   bolus            <H2O-equiv. thickness/mm> 
   ripplefilter     <mm>
   [ shifter        <s1>   <s2> ... <sn> ]  
   ...
   submachine# ...
   #particles  ...
   stepsize    ...
   [ slices         <on_off1> <on_off2> ... <on_offn> ]   
   ...
That is, optional range shifter information is included, where the <s i> are the individual range shifter slice thicknesses (in mm water equivalent) and the <on_off i> indicate slice in/out by specifying a 1 or a 0, respectively. Note that as many slices settings must be specified as there are shifter slices.

Format 20030630

   rstfile          20030630
   sistable         <yyyymmdd>
   patient_id       <barcode>
   machine#         0
   projectile       <projectile-name>
   charge           <charge>
   mass             <mass/amu>
   gantryangle      <angle/degree> 
   {
   couchangle       <angle/degree> 
   |
   chair            <rotation/degree> <tilt/degree>
   }
   stereotacticcoordinates <x/mm> [,] <y/mm> [,] <z/mm>
   bolus            <H2O-equiv. thickness/mm> 
   ripplefilter     <mm>
   [ shifter        <s1>   <s2> ... <sn> ]  
   ...
   submachine# ...
   #particles  ...
   stepsize    ...
   [ slices         <on_off1> <on_off2> ... <on_offn> ]   
   ...
That is, optional range shifter information is included, where the <s i> are the individual range shifter slice thicknesses (in mm water equivalent) and the <on_off i> indicate slice in/out by specifying a 1 or a 0, respectively. Note that as many slices settings must be specified as there are shifter slices. Note that couchangle and chair are mutually exclusive.

For all format versions all values must be present and reasonable (i.e. no mass < 0 ).
The files are named <pppppp>1<vv><bb>.rst, where <pppppp> denotes the patient id, <vv> the plan version number and <bb> the field number in order to distinguish for multiport treatment.

The usual file name extension is .rst. An example is here

New CAVE A Scanner Data

Their format is virtually identical with the CAVE M format 20010201 and later. The only difference is the sistable, which may be 0 because no MEFI operation is possible.

Old (pre-2001) CAVE A Scanner Data

Although this format is obsolete, it is described here for backward compatibility. It was used for the old scanner system in CAVE A. For m energy slices there are m+1 files. The first one (allcuts.dat) is a steering file for all others. Format:
   <mass [amu]>
   <charge>
   <max field extent [mm]>
   <n>
   <dose-scale-factor>
   <shifter-slice 1 [mm]> ... <shifter-slice 5 [mm]> 
   <totalmin> <totalmax>
   <energy 1> <IC-cal. factor 1>
   ...
   <energy n> <IC-cal. factor n>
The energies start with the highest one. The dosefactor is optional and causes all particle numbers to be multiplied with that factor.
The remaining m files (cutxx.dat, xx=0..m-1, padded to the left with a zero) describe one energy slice each.

Format:
   <energy>
   <shifter-on-off 1> ... <shifter-on-off 5>
   <min-particles> <max-particles>
   <n>
   <xpos1 [mm]> <ypos1 [mm]> <#particles1>
   <xpos2 [mm]> <ypos2 [mm]> <#particles2>
   ...
   <xposn [mm]> <yposn [mm]> <#particlesn>

| GSI Biophysics | TRiP98 long write-up |
Last updated: M.Kraemer@gsi.de, 29-Oct-2003