Question
What is the exact specification of the comma separated generic ascii for the COMPASS Beam Modelling Tool dose curve import?
Answer
- .csv files is an ASCII-type export of a one-sheet Microsoft Office Excel file. The example file is shown in ASCII.
- White space and case are disregarded.
- Each item is one line.
- Line end is windows (CR/LF).
- Literals are in bold.
- The number format must equal to the number format of the windows system settings.
- The list separator in the file must match to the list separator of the windows system settings.
- Several measurement scans can be stored in the same file.
- The coordinate system used, is a left-handed system with the X- and Y-axes in accordance with the IEC61217 standard for the gantry coordinate system. The Z-axis is along the depth axis, indicating the depth from the surface downwards, i.e. in the opposite direction from the Z-axis in the IEC61217 standard.
- There are three different dose curve types: Depth, Crossline, and Inline. The Depth curve is measured along the Z-axis, the Crossline curve along the X-axis, and the Inline curve along the Y-axis.
- The field size must be reflection symmetric around the depth axis (X = 0, Y = 0).
- The start point must be on the central axis (x = 0, y = 0). For dose profiles (Crossline and Inline curves), the Z-point is read from the three coordinates in the start point specification; it indicates the depth from the surface downwards. For depth dose curves, the Z coordinate of the start point specification must be equal to 0, since it is assumed that given coordinates along the profile are absolute and not relative to the starting point.
The data set consists of two columns. In the first column, depending on curve type, one of the coordinates X, Y or Z is given, and in the second column, the dose is given. The coordinate system is described in section 6.2.
Structure
EnergySpecification := energy[MV]: SepChar IntegerValue
SourceSurfaceDistanceSpecification := SSD[mm]: SepChar DoubleValue
FieldSizeSpecification1 := Fieldsize[mm]: SepChar X1 SepChar Y1
SepChar X2 SepChar Y2
X1 := DoubleValue
Y1 := DoubleValue
X2 := DoubleValue
Y2 := DoubleValue
CurveTypeSpecification := CurveType: SepChar CurveTypeEnumerator
CurveTypeEnumerator := Depth | Inline | Crossline
RadiationTypeSpecification := RadiationType: SepChar
RadiationTypeEnumerator
RadiationTypeEnumerator := Photon | Electron
QuantitySpecification := Quantity: SepChar QuantityEnumerator
QuantityEnumerator := RelativeDose | AbsoluteDose
StartPointSpecification2 := StartPoint[mm]: SepChar X SepChar Y SepChar Z
X := DoubleValue
Y := DoubleValue
Z := DoubleValue
PointList := { MeasuredPoint }+
MeasuredPoint := { Distance SepChar MeasurementValue}+
Distance := DoubleValue
MeasurementValue := DoubleValue
EndTag := End
Example
energy[MV]:; 6
SSD[mm]:; 1000
Fieldsize[mm]:; -15; -15; 15; 15;
CurveType:; Depth
RadiationType:; Photon
Quantity:; RelativeDose
StartPoint[mm]:; 0; 0; 0
0.0; 43.420
5.0; 78.330
10.0; 96.840
15.0; 99.740
20.0; 97.340
25.0; 95.240
30.0; 93.140
35.0; 90.240
40.0; 87.540
45.0; 84.640
50.0; 82.340
55.0; 79.740
60.0; 77.830
End