Dosepy


NameDosepy JSON
Version 0.11.0 PyPI version JSON
download
home_pageNone
SummaryFilm dosimetry and gamma analysis for dose distributions in radiotherapy
upload_time2025-07-21 16:35:26
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords radiotherapy dose distribution gamma index python
VCS
bugtrack_url
requirements imageio matplotlib numpy pydantic pydicom scipy scikit-image tifffile tomlkit tqdm pyyaml plotly ipykernel nbformat
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 Python library to perform radiochromic film dosimetry.

Dosepy is intended to be an accessible tool for medical physicists in radiation oncology to perform film dosimetry effortlessly.

## 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

* Automatic film detection.
* Uncertainty analysis.
* Quality control test for error detection.
* Average of multiple scans for noise reduction.
* Handle lateral scanner response artifact.

## 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](https://imageio.github.io/) 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 platform to store and develop the software.
* To report software bugs, create an 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 repository, 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.11",
    "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/82/b8/e4743ef16c5b4e41d386b1ff2c6cdfa3bce2193c4b77307b3eb78dbbaff9/dosepy-0.11.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 Python library to perform radiochromic film dosimetry.\n\nDosepy is intended to be an accessible tool for medical physicists in radiation oncology to perform film dosimetry effortlessly.\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* Automatic film detection.\n* Uncertainty analysis.\n* Quality control test for error detection.\n* Average of multiple scans for noise reduction.\n* Handle lateral scanner response artifact.\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](https://imageio.github.io/) 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 platform to store and develop the software.\n* To report software bugs, create an 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 repository, 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.11.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": null,
            "digests": {
                "blake2b_256": "b9737b815791dc0b028f04e9c5dc624031860aa80434ea77b5563795218de7d7",
                "md5": "a7d55e817a9a3c78e406fffae696b196",
                "sha256": "08fbae9f6d3ce7825e4af2427d4279d4e9f125e4124c0543a718c3e7bfd2ae83"
            },
            "downloads": -1,
            "filename": "dosepy-0.11.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a7d55e817a9a3c78e406fffae696b196",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 2199601,
            "upload_time": "2025-07-21T16:35:20",
            "upload_time_iso_8601": "2025-07-21T16:35:20.933307Z",
            "url": "https://files.pythonhosted.org/packages/b9/73/7b815791dc0b028f04e9c5dc624031860aa80434ea77b5563795218de7d7/dosepy-0.11.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "82b8e4743ef16c5b4e41d386b1ff2c6cdfa3bce2193c4b77307b3eb78dbbaff9",
                "md5": "35f7a4b95e49ad1f074707ee7ec712d4",
                "sha256": "d5e93c867a4eddaa125f8577242889a577c11d831d1c53f2394159aca201c87d"
            },
            "downloads": -1,
            "filename": "dosepy-0.11.0.tar.gz",
            "has_sig": false,
            "md5_digest": "35f7a4b95e49ad1f074707ee7ec712d4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 2182390,
            "upload_time": "2025-07-21T16:35:26",
            "upload_time_iso_8601": "2025-07-21T16:35:26.444947Z",
            "url": "https://files.pythonhosted.org/packages/82/b8/e4743ef16c5b4e41d386b1ff2c6cdfa3bce2193c4b77307b3eb78dbbaff9/dosepy-0.11.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-21 16:35:26",
    "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": "scipy",
            "specs": [
                [
                    "==",
                    "1.14.1"
                ]
            ]
        },
        {
            "name": "scikit-image",
            "specs": [
                [
                    ">=",
                    "0.25"
                ]
            ]
        },
        {
            "name": "tifffile",
            "specs": [
                [
                    "==",
                    "2024.9.20"
                ]
            ]
        },
        {
            "name": "tomlkit",
            "specs": [
                [
                    "==",
                    "0.13.2"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.66.5"
                ]
            ]
        },
        {
            "name": "pyyaml",
            "specs": [
                [
                    "==",
                    "6.0.2"
                ]
            ]
        },
        {
            "name": "plotly",
            "specs": [
                [
                    ">=",
                    "6.0.0"
                ]
            ]
        },
        {
            "name": "ipykernel",
            "specs": [
                [
                    ">=",
                    "6.29.5"
                ]
            ]
        },
        {
            "name": "nbformat",
            "specs": [
                [
                    ">=",
                    "5.10.4"
                ]
            ]
        }
    ],
    "lcname": "dosepy"
}
        
Elapsed time: 1.54070s