Dosepy


NameDosepy JSON
Version 0.7.0 PyPI version JSON
download
home_pageNone
SummaryFilm dosimetry and gamma analysis for dose distributions in radiotherapy
upload_time2024-10-01 02:14:59
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords radiotherapy dose distribution gamma index python
VCS
bugtrack_url
requirements imageio matplotlib numpy pydantic pydicom PyQt6 PyQt6_sip PySide6 relative_dose_1d scipy skimage tifffile tomlkit tqdm
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Dosepy-Logo](https://dosepy.readthedocs.io/en/latest/_static/Logo_Dosepy.png)

![PyPI - Version](https://img.shields.io/pypi/v/Dosepy)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Dosepy)
![PyPI - Downloads](https://img.shields.io/pypi/dm/Dosepy)
![GitHub commit activity](https://img.shields.io/github/commit-activity/m/LuisOlivaresJ/Dosepy)

# Welcome to Dosepy

Main [documentation](https://dosepy.readthedocs.io/en/latest/intro.html)

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.

## Installation

Dosepy is distributed as a Python library under the [Python Package Index](https://pypi.org/) (PyPI).
Open a console (or 'terminal', or 'command prompt') and use the pip command:

```bash
pip install Dosepy
```

See the Python for Beginners [getting started tutorial](https://opentechschool.github.io/python-beginners/en/getting_started.html#what-is-python-exactly) for an introduction to using your operating system’s console and interacting with Python.

## Features

## Film dosimetry

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.

## Gamma index

 Dose distributions comparison can be performed using the 2-dimensional gamma index test according to Low's definition [Daniel_Low_gamma_1998](https://doi.org/10.1118/1.598248), as well as some AAPM TG-218 [Miften_TG218_2018](https://doi.org/10.1002/mp.12810) 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.

## Used technologies

* [Matplotlib](https://matplotlib.org/) for data visualization.
* [Numpy](https://numpy.org/) for data array manipulation.
* [PySide6](https://doc.qt.io/qtforpython-6/) for graphical user interface (GUI).
* [Pydicom](https://pydicom.github.io/) to read files in DICOM format.
* [Imageio](imageio) to read files in TIFF format.
* [Scikit-image](https://scikit-image.org/) and [scipy](https://scipy.org/) for image processing.

## Warning!
To use a software as a [medical device](https://www.imdrf.org/documents/software-medical-device-samd-key-definitions), it is required to demonstrate its safety and efficacy through a [risk categorization structure](https://www.imdrf.org/documents/software-medical-device-possible-framework-risk-categorization-and-corresponding-considerations), a [quality management system](https://www.imdrf.org/documents/software-medical-device-samd-application-quality-management-system) and a [clinical evaluation](https://www.imdrf.org/documents/software-medical-device-samd-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.

## Contributing

Dosepy uses GitHub as a plataform to store and develop the software.
* To report software bugs create a issue [here](https://github.com/LuisOlivaresJ/Dosepy/issues)
* To commit changes, create an issue, [fork](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project) the respository, make your changes and make a new pull request.

## Discussion
Have questions? Ask them on the Dosepy [discussion forum](https://groups.google.com/g/dosepy).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "Dosepy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "Radiotherapy, Dose distribution, gamma index, python",
    "author": null,
    "author_email": "Luis Alfonso Olivares Jimenez <alfonso.cucei.udg@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/aa/12/1b420ed52694271985140e34d97e9843ab18937eaf70f418cddadb843f73/dosepy-0.7.0.tar.gz",
    "platform": null,
    "description": "![Dosepy-Logo](https://dosepy.readthedocs.io/en/latest/_static/Logo_Dosepy.png)\n\n![PyPI - Version](https://img.shields.io/pypi/v/Dosepy)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/Dosepy)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/Dosepy)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/LuisOlivaresJ/Dosepy)\n\n# Welcome to Dosepy\n\nMain [documentation](https://dosepy.readthedocs.io/en/latest/intro.html)\n\nDosepy is an open source application to perform radiochromic film dosimetry.\n\nDosepy is intended to be an accessible tool for medical physicist in radiation oncology to perform patient-specific dose verification based on film measurements.\n\nThe software works with scanned films (in TIFF format) and a DICOM file (typically exported from a treatment planning system, TPS).\nA 2D gamma analysis can be performed in order to evaluate the similarity between the measured (scanned film) and the planed (DICOM file) dose distributions.\n\n## Installation\n\nDosepy is distributed as a Python library under the [Python Package Index](https://pypi.org/) (PyPI).\nOpen a console (or 'terminal', or 'command prompt') and use the pip command:\n\n```bash\npip install Dosepy\n```\n\nSee the Python for Beginners [getting started tutorial](https://opentechschool.github.io/python-beginners/en/getting_started.html#what-is-python-exactly) for an introduction to using your operating system\u2019s console and interacting with Python.\n\n## Features\n\n## Film dosimetry\n\nDosepy 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.\n\n## Gamma index\n\n Dose distributions comparison can be performed using the 2-dimensional gamma index test according to Low's definition [Daniel_Low_gamma_1998](https://doi.org/10.1118/1.598248), as well as some AAPM TG-218 [Miften_TG218_2018](https://doi.org/10.1002/mp.12810) recommendations:\n\n* The acceptance criteria for dose difference can be selected in absolute mode (in Gy) or relative mode (in %).\n  * 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.\n* Dose threshold can be adjusted by the user.\n* The reference distribution can be selected by the user.\n* It is possible to define a search radius as an optimization process for calculation.\n* 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.\n* Interpolation is not yet supported.\n\n## Used technologies\n\n* [Matplotlib](https://matplotlib.org/) for data visualization.\n* [Numpy](https://numpy.org/) for data array manipulation.\n* [PySide6](https://doc.qt.io/qtforpython-6/) for graphical user interface (GUI).\n* [Pydicom](https://pydicom.github.io/) to read files in DICOM format.\n* [Imageio](imageio) to read files in TIFF format.\n* [Scikit-image](https://scikit-image.org/) and [scipy](https://scipy.org/) for image processing.\n\n## Warning!\nTo use a software as a [medical device](https://www.imdrf.org/documents/software-medical-device-samd-key-definitions), it is required to demonstrate its safety and efficacy through a [risk categorization structure](https://www.imdrf.org/documents/software-medical-device-possible-framework-risk-categorization-and-corresponding-considerations), a [quality management system](https://www.imdrf.org/documents/software-medical-device-samd-application-quality-management-system) and a [clinical evaluation](https://www.imdrf.org/documents/software-medical-device-samd-clinical-evaluation); as described in the International Forum of Medical Device Regulators working group guidelines (IMDRF).\n\nDosepy 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.\n\n## Contributing\n\nDosepy uses GitHub as a plataform to store and develop the software.\n* To report software bugs create a issue [here](https://github.com/LuisOlivaresJ/Dosepy/issues)\n* To commit changes, create an issue, [fork](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project) the respository, make your changes and make a new pull request.\n\n## Discussion\nHave questions? Ask them on the Dosepy [discussion forum](https://groups.google.com/g/dosepy).\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Film dosimetry and gamma analysis for dose distributions in radiotherapy",
    "version": "0.7.0",
    "project_urls": {
        "Bug-Tracker": "https://github.com/LuisOlivaresJ/Dosepy",
        "homepage": "https://dosepy.readthedocs.io/en/latest/intro.html",
        "repository": "https://pypi.org/project/Dosepy/"
    },
    "split_keywords": [
        "radiotherapy",
        " dose distribution",
        " gamma index",
        " python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8c6d7a85ff8fe7c453658f5cee8a3301aba9dfd32e3141db08f2655572c29d29",
                "md5": "167e2cfae6e72f65ab6f1c6dd7a397e2",
                "sha256": "67d089ce72e19ac02a24194bcb7ac21c69e148eff0c0069d4a9cac448537c86b"
            },
            "downloads": -1,
            "filename": "Dosepy-0.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "167e2cfae6e72f65ab6f1c6dd7a397e2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 795578,
            "upload_time": "2024-10-01T02:14:57",
            "upload_time_iso_8601": "2024-10-01T02:14:57.494948Z",
            "url": "https://files.pythonhosted.org/packages/8c/6d/7a85ff8fe7c453658f5cee8a3301aba9dfd32e3141db08f2655572c29d29/Dosepy-0.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aa121b420ed52694271985140e34d97e9843ab18937eaf70f418cddadb843f73",
                "md5": "6f937ba568574cc27c2d724af4f056be",
                "sha256": "ede39efe5f18668ca1834bcb1a7a4fb757181eeff3c3edb593c9c160364a605e"
            },
            "downloads": -1,
            "filename": "dosepy-0.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6f937ba568574cc27c2d724af4f056be",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 780865,
            "upload_time": "2024-10-01T02:14:59",
            "upload_time_iso_8601": "2024-10-01T02:14:59.755252Z",
            "url": "https://files.pythonhosted.org/packages/aa/12/1b420ed52694271985140e34d97e9843ab18937eaf70f418cddadb843f73/dosepy-0.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-01 02:14:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "LuisOlivaresJ",
    "github_project": "Dosepy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "imageio",
            "specs": [
                [
                    "==",
                    "2.35.1"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    "==",
                    "3.9.2"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "2.1.1"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.9.2"
                ]
            ]
        },
        {
            "name": "pydicom",
            "specs": [
                [
                    "==",
                    "3.0.1"
                ]
            ]
        },
        {
            "name": "PyQt6",
            "specs": [
                [
                    "==",
                    "6.7.1"
                ]
            ]
        },
        {
            "name": "PyQt6_sip",
            "specs": [
                [
                    "==",
                    "13.8.0"
                ]
            ]
        },
        {
            "name": "PySide6",
            "specs": [
                [
                    "==",
                    "6.7.2"
                ]
            ]
        },
        {
            "name": "relative_dose_1d",
            "specs": [
                [
                    "==",
                    "0.1.7"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "==",
                    "1.14.1"
                ]
            ]
        },
        {
            "name": "skimage",
            "specs": [
                [
                    "==",
                    "0.0"
                ]
            ]
        },
        {
            "name": "tifffile",
            "specs": [
                [
                    "==",
                    "2024.9.20"
                ]
            ]
        },
        {
            "name": "tomlkit",
            "specs": [
                [
                    "==",
                    "0.13.2"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.66.5"
                ]
            ]
        }
    ],
    "lcname": "dosepy"
}
        
Elapsed time: 0.54117s