Main documentation
Dosepy is an open source application to perform radiochromic film dosimetry.
Dosepy is intended to be an accessible tool for medical physicist in radiation oncology to perform patient-specific dose verification based on film measurements.
The software works with scanned films (in TIFF format) and a DICOM file (typically exported from a treatment planning system, TPS). A 2D gamma analysis can be performed in order to evaluate the similarity between the measured (scanned film) and the planed (DICOM file) dose distributions.
Dosepy is distributed as a Python library under the Python Package Index (PyPI). Open a console (or 'terminal', or 'command prompt') and use the pip command:
pip install Dosepy
See the Python for Beginners getting started tutorial for an introduction to using your operating system’s console and interacting with Python.
Dosepy has a graphical user interface (GUI) to perform film dosimetry. Once a TIFF file is loaded, scanned films are automatically detected. Multiple scans of the same film can be loaded and averaged automatically for noise reduction.
Dose distributions comparison can be performed using the 2-dimensional gamma index test according to Low's definition Daniel_Low_gamma_1998, as well as some AAPM TG-218 Miften_TG218_2018 recommendations:
- The acceptance criteria for dose difference can be selected in absolute mode (in Gy) or relative mode (in %).
- In relative mode, the percentage could be interpreted with respect to the maximum dose (global normalization), or with respect to the local dose (local normalization); according to user selection.
- Dose threshold can be adjusted by the user.
- The reference distribution can be selected by the user.
- It is possible to define a search radius as an optimization process for calculation.
- By default, percentile 99 from dose distribution is used as maximum dose. This is used to avoid the possible inclusion of artifacts or user markers.
- Interpolation is not yet supported.
- Matplotlib for data visualization.
- Numpy for data array manipulation.
- PySide6 for graphical user interface (GUI).
- Pydicom to read files in DICOM format.
- Imageio to read files in TIFF format.
- Scikit-image and scipy for image processing.
To use a software as a medical device, it is required to demonstrate its safety and efficacy through a risk categorization structure, a quality management system and a clinical evaluation; as described in the International Forum of Medical Device Regulators working group guidelines (IMDRF).
Dosepy is currently under development to meet quality standards. To achieve this in Mexico the regulatory mechanism is through NOM-241-SSA1-2021, in addition to the IMDRF guidelines.
Dosepy uses GitHub as a plataform to store and develop the software.
- To report software bugs create a issue here
- To commit changes, create an issue, fork the respository, make your changes and make a new pull request.
Have questions? Ask them on the Dosepy discussion forum.