0% found this document useful (0 votes)
20 views14 pages

Instructions For Use

Uploaded by

golem azul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views14 pages

Instructions For Use

Uploaded by

golem azul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

INSTRUCTIONS FOR USE

Profeel v. 1.18

12TH OCTOBER 2021


TOMPPA PAKARINEN, JARKKO OJALA
Contents
Citation 2
Tooltips 2
Installation / running the program 2
Importing data 2
Data truncation during import 3
Normalization and interpolation during the import 3
CAX correction checkbox (not recommended) 3
Extracting lower dimension data 5
Quick profile tool 5
Data normalization 7
Profile- and PDD parameters 7
Assigning computed parameters 8
Processing tools 8
1D 8
2D and 3D processing 9
Adding custom operators 9
Gamma, DTA and DD (Low 1998) 10
Passing criteria 11
Gamma computation resolution (interp-interval) 11
Isodose limit 11
Performing a gamma, DTA and DD analysis 11
Saving the data and results 12
Citation
Cite Profeel and all of its documentation as:

Pakarinen, T., Ojala, J. Profeel - An Open Source Dosimetry Data Visualization and Analysis Software.
Computer Methods and Programs in Biomedicine, 2021, 106457, ISSN 0169-2607,
https://doi.org/10.1016/j.cmpb.2021.106457.

Tooltips
Tooltips are supported in this program. Tooltips are revealed by hovering the cursor above the given
UI object.

Installation / running the program


Method 1 (recommended): Download Profeel.exe from the Github repository
(https://github.com/TPakar/Profeel). Profeel.exe is a stand-alone application and does not require
Matlab programming environment to be installed. However, in order to run Profeel.exe the user
must download and install the Matlab Run time R2020a (v.9.8), which are freely available from
Mathworks (https://se.mathworks.com/products/compiler/matlab-runtime.html). Other runtime
versions will not work.

Method 2: If Matlab environment is already installed, Profeel can be run from the script (Profeel.m).
Download all the necessary .m files from the Github repository (https://github.com/TPakar/Profeel)
and place them in the same Matlab path. Run Profeel.m from the command line (type ‘Profeel’). In
order to run all functionality, such as quick profiles and gamma calculation, Image processing, signal
processing and parallel computing toolboxes must be installed. Basic functionality can be run also
without the toolboxes. It is recommended to use Matlab version R2020 (v. 9.8). NOTE. Newer
version of Matlab may not support the GUI development environment. The user interface must be
first migrated for App designer compatibility.

Importing data

Figure 1. Add data button


Data can be imported by clicking the ‘Add data’ button. Chosen data folder must contain only a
single data type (may contain multiple files). Different datatypes can be opened by repeating the
same process. The supported data types are currently:

• PTW beamscan exports (.mcc)


• IBA Omnipro ASCII exports (.OmmiIMRT, .opg)
• PTW software exports (ASCII)
• EGSnrc (.3ddose)
• DICOM RT RD dose files
• Matlab structures (.mat, previous sessions).

The last chosen path will be shown under the UI data button. Imported data will be appended to the
UI listbox.

Data truncation during import


2D and 3D data resolution will be automatically lowered if the resolution exceeds a given, hard
coded threshold. Lower resolution data is used only to speed up 2D and 3D visualization and as
default resolution for gamma, DTA and DD computation.

Normalization and interpolation during the import


Different normalizations are computed during data import. All possible normalizations are computed
for 1D data and all applicable normalizations for 2D and 3D data. Failed computations will be printed
to the terminal. Data will be automatically linearly interpolated with x10 from the original resolution.
Interpolated data will not be displayed in the program, but is used in profile and PDD parameter
computation and in data extraction operations.

CAX correction checkbox (not recommended)


Central axis (CAX) is corrected for the profile data only during import, if the checkbox is checked. The
correction will not be visualized, but is used in processing. Preferred method is to import the data
without the CAX correction and if necessary, correct the CAX using shift operator by the amount of
CAX deviation (profile parameter). CAX correction checkbox will be modified in future version.
Visualization and removal of data
Imported data is found in the GUI list box (Figure 3). Listbox members are activated for processing
and displayed in the UI figure by choosing them from the listbox. Multiple files can be activated
simultaneously. Chosen data is shown as bold and the word ‘**Chosen**’ is added in the end of the
file name. All activated data is visualized in the main GUI figure.

Figure 2. Main UI figure with example 1D data

Data is unchosen by re-clicking it.

Figure 3. Imported data will appear to the UI list box

Data can be removed from the program by using the ‘Remove data’ -button, located under the list
box. Button affects all chosen data.
Extracting lower dimension data
Lower dimensions can be extracted from higher dimension data, i.e., 1D line profiles and 2D planes
can be extracted from 3D data and 1D-line profiles from 2D data. Extraction is performed from the
add line/plane -buttons.

Figure 4. Extracting lower dimension data button locations

Before extraction of 2D planes, the extracted plane and the plane depth are defined. For 2D->1D,
the user can also define the extraction range.

Figure 5. 1D profile extraction from 3D dicom RT-file


Note that leaving the extracted axis empty, the whole axis will be extracted. Extracted range is
chosen with syntax a:b, where a and b correspond to the range limits. Profile and PDD parameters
are automatically computed for extracted 1D data.

Note 1. If the requested 2D plane depth does not exist in the data, the plane will be interpolated from
the requested position.

Note 2. For 1D planes, data is extracted from the nearest existing point in the data structure’s x10
interpolated data. The extracted positions are added to the filename.

Quick profile tool


1D line profiles can be interactively previewed by using the quick profile tool
Figure 6. Quick profile can be dragged and rotated

Quick profiles can also be used to inspect Gamma, DTA and DD results.

Figure 7. Quick profile from DTA 2D result. DTA and dose profiles are shown in the same figure
Data normalization
Data can be normalized in multiple different ways. Normalizations are chosen from the drop box
under Normalization and analysis panel.

Figure 8. Normalization options

● ‘No normalization’ is the default option


● ‘CAX normalization’ normalizes the data to the central axis (0-position). Only for 1D profiles
● ‘Max 100%’ normalizes the data to the maximum value found in the data
● ‘Distance/%’ normalizes the set axis point (distance) to the set percentage
● ‘Mean value from range’ normalizes the data to the mean value of a given range
● ‘Normalize to value’ normalizes the data (100%) to a set value

Profile- and PDD parameters


The program tries automatically to detect profile and PDD (1D only). Corresponding parameters are
computed and presented in the UI. Parameters are computed based on IEC 60976 recommendations
(IEC 2011).

Figure 9. Profile and PDD parameters

Profile parameters:

● CAX dev [cm] = Offset between computed CAX and data position axis
● Sym [%] = Symmetry is defined inside the flattened region as 𝑚𝑎𝑥(𝑑(𝑥)/𝑑(−𝑥)
● Homog. [%] = Homogeneity is the relative max-min dose -deviation within the flattened
region
● Dmax [%] = Maximum dose
● Dmin [%] = Minimum dose
● Dev [%] = Dose deviation between CAX and the minimum dose within the flattened region
● Fieldsize [cm] = Fieldsize is 50% dose value from the central axis
● PenR & PenL [cm] = Distance between the 80%-20% dose values
● Flattened region is defined (IEC) for fieldsizes >= 5cm. For smaller fields the program
computes the flattened region as for 5cm <= fieldsize <= 10cm.
PDD parameters:

● R100, R80, R50 [cm] = 100 %, 80 % and 50 % dose depths from the surface
● D100, D200 [%] = Relative doses at depths of 10 and 20 cm from the surface
● Ds [%] = Surface dose relative to the maximum
● J100/200 = Quality parameter, ratio between doses at 10 and 20 cm

Assigning computed parameters


If the automatic profile/PDD recognition fails, data can be assigned as profile or PDD from tool bar
menu. Profile/PDD parameters are re-computed automatically.

Figure 10. Assigning the curve type manually

Processing tools
Data can be processed with processing tools found under the data processing UI panel. All activated
data will be processed.

Figure 11. Processing options for 1D, 2D and 3D data

1D
1D data is shifted along the position axis by inserting the shift length in cm to the edit box. Shift is
executed from the Shift-button. Data position axis is updated to the data structure.

Data can be mirrored either along the 0-axis point (includes axis shift) or axis can be inverted.

Data can be filtered by using Savitzky-Golay smoothing filter. Using the filter requires the user to set
the polynomial order and frame length (must be larger or equal to the order).
Figure 12. Savitzky-Golay pop-up window

Processing is always executed for each existing data normalization and to the interpolated data
saved in the data structure.

2D and 3D processing
● Data can be mirrored (axis inverted) in each dimension.
● Savitzky-Golay filtering is applicable also for 2D data.
● 2D and 3D data can be manually scaled
● Original resolution can be displayed by unchecking the ‘’low res. Visualization” button.
● 3D data plane can be changed by clicking the “Y<->Z”, “X<->Z” or “Rot.” buttons. Two first
buttons will swap the chosen axes, which corresponds to 3D rotation: E.g., “Y<->Z” will swap
the displayed (default) Y-axis to Z-axis, i.e., XZ plane is displayed.
• Rot. -button will rotate the displayed plane along the 3rd axis. Note that position axes are
always presented in ascending order, regardless of the data orientation!

Adding custom operators


All data can be processed with custom made operators.

Figure 13. Add operators button location

Clicking ‘Add operators’ button will open a file browser. Choose a custom made ASCII function file,
containing the processing instructions. Function.txt files should contain the processing instructions
as presented in the example file:
Figure 14. Example file for creating a custom data processing function

● 1st line should include the function, which operates the data. The program evaluates the
function directly as Matlab syntax.
● 2nd line contains the predefined variable names.
● 3rd line contains the variables, which will be prompted. Also, data unit will be prompted by
default.
● Lines starting with ‘id: name’ will be interpreted as ids for different variable sets. All
variables in the 2nd line should be defined under each id. There is no maximum limit for
different variable sets (ids). All id’s are added to a dropdown menu as shown in the Figure 15
for the example file.

Figure 15. Variable set id list

Choosing e.g. “Example 1_TB_6X” would use variables under this id, while evaluating the function in
the 1st line. Use end -keyword to terminate the file.

Gamma, DTA and DD (Low 1998)


Distance to agreement (DTA) is computed for 1D and 2D data by searching the nearest point with
same dose between two dose distributions (reference and target). DTA is computed either using
interpolation and a threshold value (‘brute force’), or by finding dose points crossing the reference
line/plane and solving the DTA at the cross section (‘analytical’). Dose difference (DD) is computed as
an absolute value for each data point (subtraction) and as relative value to the reference data.
Passing criteria, computation resolution and isodose limit can be modified by the user.

Figure 16. Gamma, DTA and DD analysis tools

Gamma computation is performed by minimizing the squared sum of the gamma components (DTA,
DD) relative to gamma criteria for each data point. Profeel uses an open-source gamma function to
compute gamma indices (Geurts, 2014).

Passing criteria
Gamma analysis passing criteria can be changed from the edit boxes next to gamma analysis -
button. Criteria is also used directly for the passing criteria in DTA and DD computation.

Gamma computation resolution (interp-interval)


The computation grid resolution can be lowered or increased by setting value to the ‘Interp-interval
(mm)’ edit box. Lowering the resolution will speed up the analysis substantially. Thus, the default
resolution equals the data display resolution (Low resolution checked => gamma will be computed
using the low resolution, Unchecked => original resolution will be used). Changing the interp-interval
will override the default resolution by interpolating the original data the computation resolution to
the requested value.

Isodose limit
Minimum dose included in the analysis can be defined from the Min 𝛾-dose/% -edit box for 2D data.

Figure 17. DD analysis using the isodose limit

Performing a gamma, DTA and DD analysis


Reference and the target data are chosen from the listbox by clicking them, respectively. If you wish
to compute only DTA and DD, leave the checkbox ‘only DTA/DD’ chosen. If unchecked -> gamma
parameter will be computed additionally to DTA and DD.
For 1D gamma (Geurts, 2014), DTA and DD curves are presented after computation and the results
(pass percentage) will be presented in the figure legend. The results and computed data are saved in
the reference data structure. DTA and DD results and data are exported as CSV, when .CSV export is
used.

For 2D data gamma index (Geurts, 2014), DTA and DD are computed either from raw data (‘low
resolution’ unchecked) or from low resolution data (‘low resolution’ checked). Consider low-
resolution computation for large files. Gamma, DTA and DD computation results are displayed by
clicking a corresponding checkbox (‘gam’, ‘DTA’, ‘DD’). Note that gamma, DTA and DD results are
activated only for the reference data, after the 2D gamma computation. Gamma data and results
are saved to the reference data structure, which can be saved in the MATLAB workspace folder.
Unlike in 1D case, the gamma data is not exported as CSV, but only the gamma computation results
(pass percentage for gamma index, DTA and relative DD).

Each data structure may contain multiple gamma results (user prompt).

Figure 18. User prompt for multiple gamma results

Where the indices gamma_i_j corresponds the main UI listbox indices.

Saving the data and results

Figure 19. Data export buttons (v. 1.17)

All data can be saved as .mat file. The saved file is a structure set, containing all imported and
computed data.

2D data can be saved as Omnipro Generic ASCII format (from v.1.18).

1D data, gamma, DTA and DD results can be exported as .csv file. New exports with same filenames
won’t append existing files but create a new file with indexed filename: “filename_n”.
REFERENCES

IEC - International Electrotechnical Commission. Medical electrical equipment - Dosimeters with


ionization chamber as used in radiotherapy. IEC Standard 60976, Genève: IEC, 2011.

Low DA, Harms WB, Mutic S, Purdy JA. A technique for the quantitative evaluation of dose
distributions. Med Phys. 1998. 25(5):656-61. doi: 10.1118/1.598248. PMID: 9608475

Geurts, Mark. 2014. CalcGamma() MATLAB-function. Available at:


https://github.com/mwgeurts/gamma

You might also like