dicompyler-core
===============
|Binder| |pypi| |Python Version| |GH Actions| |Documentation Status| |coveralls| |Codacy| |Codecov| |Total Lines| |Code Size| |Zenodo|
A library of core radiation therapy modules for DICOM / DICOM RT used by `dicompyler <http://www.dicompyler.com>`__. This
package includes:
- ``dicomparser``: parse DICOM objects in an easy-to-use manner
- ``dvh``: Pythonic access to dose volume histogram (DVH) data
- ``dvhcalc``: Independent DVH calculation using DICOM RT Dose & RT Structure Set
- ``dose``: Pythonic access to RT Dose data including dose summation
Other information
-----------------
- Free software: `BSD license <https://github.com/dicompyler/dicompyler-core/blob/master/LICENSE>`__
- Documentation: `Read the docs <https://dicompyler-core.readthedocs.io>`__
- Tested on Python 3.7+
Dependencies
------------
- `numpy <http://www.numpy.org>`__ 1.2 or higher
- `pydicom <https://pydicom.github.io>`__ 0.9.9 or higher (pydicom 1.0 compatible)
- `matplotlib <http://matplotlib.org>`__ 1.3.0 or higher (for DVH calculation)
- `six <https://pythonhosted.org/six/>`__ 1.5 or higher
- Optional:
- `Pillow <https://pillow.readthedocs.io>`__ (for image display)
- `Shapely <https://github.com/Toblerity/Shapely>`__ (for structure volume calculation)
- `scikit-image <http://scikit-image.org/>`__ (for DVH interpolation)
- `scipy <https://scipy.org/>`__ (for dose grid summation using interpolation)
Basic Usage
------------
.. code-block:: python
from dicompylercore import dicomparser, dvh, dvhcalc
dp = dicomparser.DicomParser("rtss.dcm")
# i.e. Get a dict of structure information
structures = dp.GetStructures()
>>> structures[5]
{'color': array([255, 128, 0]), 'type': 'ORGAN', 'id': 5, 'empty': False, 'name': 'Heart'}
# Access DVH data
rtdose = dicomparser.DicomParser("rtdose.dcm")
heartdvh = dvh.DVH.from_dicom_dvh(rtdose.ds, 5)
>>> heartdvh.describe()
Structure: Heart
DVH Type: cumulative, abs dose: Gy, abs volume: cm3
Volume: 437.46 cm3
Max Dose: 3.10 Gy
Min Dose: 0.02 Gy
Mean Dose: 0.64 Gy
D100: 0.00 Gy
D98: 0.03 Gy
D95: 0.03 Gy
D2cc: 2.93 Gy
# Calculate a DVH from DICOM RT data
calcdvh = dvhcalc.get_dvh("rtss.dcm", "rtdose.dcm", 5)
>>> calcdvh.max, calcdvh.min, calcdvh.D2cc
(3.0899999999999999, 0.029999999999999999, dvh.DVHValue(2.96, 'Gy'))
Advanced Usage and Examples can be found in Binder: |Binder|
Citing dicompyler-core
----------------------
A DOI for dicompyler-core with various citation styles can be found at Zenodo: |Zenodo|
Credits
-------
This package was created with
`Cookiecutter <https://github.com/audreyr/cookiecutter>`__ and the
`audreyr/cookiecutter-pypackage <https://github.com/audreyr/cookiecutter-pypackage>`__ project template.
.. |Binder| image:: http://mybinder.org/badge.svg
:target: http://mybinder.org/repo/bastula/dicom-notebooks
.. |pypi| image:: https://img.shields.io/pypi/v/dicompyler-core.svg
:target: https://pypi.python.org/pypi/dicompyler-core
.. |Python Version| image:: https://img.shields.io/badge/python-3.7+-blue.svg
:target: https://pypi.python.org/pypi/dicompyler-core
.. |GH Actions| image:: https://github.com/dicompyler/dicompyler-core/actions/workflows/build.yml/badge.svg
:target: https://github.com/dicompyler/dicompyler-core/actions
.. |Documentation Status| image:: https://readthedocs.org/projects/dicompyler-core/badge/?version=latest
:target: https://dicompyler-core.readthedocs.io/en/latest/
.. |coveralls| image:: https://coveralls.io/repos/github/dicompyler/dicompyler-core/badge.svg?branch=master
:target: https://coveralls.io/github/dicompyler/dicompyler-core?branch=master
.. |Codacy| image:: https://api.codacy.com/project/badge/Grade/27ebb3802baf4d96b0783a2ae5904264
:target: https://app.codacy.com/gh/dicompyler/dicompyler-core/dashboard
.. |Codecov| image:: https://codecov.io/gh/dicompyler/dicompyler-core/branch/master/graph/badge.svg
:target: https://codecov.io/gh/dicompyler/dicompyler-core
.. |Total Lines| image:: https://img.shields.io/tokei/lines/github/dicompyler/dicompyler-core
:target: https://img.shields.io/tokei/lines/github/dicompyler/dicompyler-core
.. |Code Size| image:: https://img.shields.io/github/languages/code-size/dicompyler/dicompyler-core
:target: https://img.shields.io/github/languages/code-size/dicompyler/dicompyler-core
.. |Zenodo| image:: https://zenodo.org/badge/51550203.svg
:target: https://zenodo.org/badge/latestdoi/51550203
Raw data
{
"_id": null,
"home_page": "https://github.com/dicompyler/dicompyler-core",
"name": "dicompyler-core",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "dicompyler-core,dicompylercore,dicompyler",
"author": "Aditya Panchal",
"author_email": "apanchal@bastula.org",
"download_url": "https://files.pythonhosted.org/packages/19/0a/10e5644df330a642132683f3c9939bb35df511e01ff4b1612d9a73fb82ad/dicompyler-core-0.5.6.tar.gz",
"platform": null,
"description": "dicompyler-core\n===============\n\n|Binder| |pypi| |Python Version| |GH Actions| |Documentation Status| |coveralls| |Codacy| |Codecov| |Total Lines| |Code Size| |Zenodo|\n\nA library of core radiation therapy modules for DICOM / DICOM RT used by `dicompyler <http://www.dicompyler.com>`__. This\npackage includes:\n\n- ``dicomparser``: parse DICOM objects in an easy-to-use manner\n- ``dvh``: Pythonic access to dose volume histogram (DVH) data\n- ``dvhcalc``: Independent DVH calculation using DICOM RT Dose & RT Structure Set\n- ``dose``: Pythonic access to RT Dose data including dose summation\n\nOther information\n-----------------\n\n- Free software: `BSD license <https://github.com/dicompyler/dicompyler-core/blob/master/LICENSE>`__\n- Documentation: `Read the docs <https://dicompyler-core.readthedocs.io>`__\n- Tested on Python 3.7+\n\nDependencies\n------------\n\n- `numpy <http://www.numpy.org>`__ 1.2 or higher\n- `pydicom <https://pydicom.github.io>`__ 0.9.9 or higher (pydicom 1.0 compatible)\n- `matplotlib <http://matplotlib.org>`__ 1.3.0 or higher (for DVH calculation)\n- `six <https://pythonhosted.org/six/>`__ 1.5 or higher\n- Optional:\n\n - `Pillow <https://pillow.readthedocs.io>`__ (for image display)\n - `Shapely <https://github.com/Toblerity/Shapely>`__ (for structure volume calculation)\n - `scikit-image <http://scikit-image.org/>`__ (for DVH interpolation)\n - `scipy <https://scipy.org/>`__ (for dose grid summation using interpolation)\n\nBasic Usage\n------------\n\n.. code-block:: python\n\n from dicompylercore import dicomparser, dvh, dvhcalc\n dp = dicomparser.DicomParser(\"rtss.dcm\")\n\n # i.e. Get a dict of structure information\n structures = dp.GetStructures()\n\n >>> structures[5]\n {'color': array([255, 128, 0]), 'type': 'ORGAN', 'id': 5, 'empty': False, 'name': 'Heart'}\n\n # Access DVH data\n rtdose = dicomparser.DicomParser(\"rtdose.dcm\")\n heartdvh = dvh.DVH.from_dicom_dvh(rtdose.ds, 5)\n\n >>> heartdvh.describe()\n Structure: Heart\n DVH Type: cumulative, abs dose: Gy, abs volume: cm3\n Volume: 437.46 cm3\n Max Dose: 3.10 Gy\n Min Dose: 0.02 Gy\n Mean Dose: 0.64 Gy\n D100: 0.00 Gy\n D98: 0.03 Gy\n D95: 0.03 Gy\n D2cc: 2.93 Gy\n\n # Calculate a DVH from DICOM RT data\n calcdvh = dvhcalc.get_dvh(\"rtss.dcm\", \"rtdose.dcm\", 5)\n\n >>> calcdvh.max, calcdvh.min, calcdvh.D2cc\n (3.0899999999999999, 0.029999999999999999, dvh.DVHValue(2.96, 'Gy'))\n\nAdvanced Usage and Examples can be found in Binder: |Binder|\n\nCiting dicompyler-core\n----------------------\nA DOI for dicompyler-core with various citation styles can be found at Zenodo: |Zenodo|\n\n\nCredits\n-------\n\nThis package was created with\n`Cookiecutter <https://github.com/audreyr/cookiecutter>`__ and the\n`audreyr/cookiecutter-pypackage <https://github.com/audreyr/cookiecutter-pypackage>`__ project template.\n\n.. |Binder| image:: http://mybinder.org/badge.svg\n :target: http://mybinder.org/repo/bastula/dicom-notebooks\n.. |pypi| image:: https://img.shields.io/pypi/v/dicompyler-core.svg\n :target: https://pypi.python.org/pypi/dicompyler-core\n.. |Python Version| image:: https://img.shields.io/badge/python-3.7+-blue.svg\n :target: https://pypi.python.org/pypi/dicompyler-core\n.. |GH Actions| image:: https://github.com/dicompyler/dicompyler-core/actions/workflows/build.yml/badge.svg\n :target: https://github.com/dicompyler/dicompyler-core/actions\n.. |Documentation Status| image:: https://readthedocs.org/projects/dicompyler-core/badge/?version=latest\n :target: https://dicompyler-core.readthedocs.io/en/latest/\n.. |coveralls| image:: https://coveralls.io/repos/github/dicompyler/dicompyler-core/badge.svg?branch=master\n :target: https://coveralls.io/github/dicompyler/dicompyler-core?branch=master\n.. |Codacy| image:: https://api.codacy.com/project/badge/Grade/27ebb3802baf4d96b0783a2ae5904264\n :target: https://app.codacy.com/gh/dicompyler/dicompyler-core/dashboard\n.. |Codecov| image:: https://codecov.io/gh/dicompyler/dicompyler-core/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/dicompyler/dicompyler-core\n.. |Total Lines| image:: https://img.shields.io/tokei/lines/github/dicompyler/dicompyler-core\n :target: https://img.shields.io/tokei/lines/github/dicompyler/dicompyler-core\n.. |Code Size| image:: https://img.shields.io/github/languages/code-size/dicompyler/dicompyler-core\n :target: https://img.shields.io/github/languages/code-size/dicompyler/dicompyler-core\n.. |Zenodo| image:: https://zenodo.org/badge/51550203.svg\n :target: https://zenodo.org/badge/latestdoi/51550203\n",
"bugtrack_url": null,
"license": "BSD License",
"summary": "A library of core radiation therapy modules for DICOM / DICOM RT used by dicompyler",
"version": "0.5.6",
"project_urls": {
"Homepage": "https://github.com/dicompyler/dicompyler-core"
},
"split_keywords": [
"dicompyler-core",
"dicompylercore",
"dicompyler"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "204dd8a08a1122988fd4bdf75eca95df3a338be9b230eae45485c732f2b9579b",
"md5": "17394357e4768fcd25d80794742033d5",
"sha256": "b00223c675e090231c660b7a0f90b3acfed44d128b2d91fb2a28761f4b427c31"
},
"downloads": -1,
"filename": "dicompyler_core-0.5.6-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "17394357e4768fcd25d80794742033d5",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 34707,
"upload_time": "2023-05-08T16:20:38",
"upload_time_iso_8601": "2023-05-08T16:20:38.379947Z",
"url": "https://files.pythonhosted.org/packages/20/4d/d8a08a1122988fd4bdf75eca95df3a338be9b230eae45485c732f2b9579b/dicompyler_core-0.5.6-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "190a10e5644df330a642132683f3c9939bb35df511e01ff4b1612d9a73fb82ad",
"md5": "e9e15c90972b36912e98ec11c713d1f1",
"sha256": "0e3c05920a8fa3f1c0ff05a5c21dab3ff3f735e00012b69b38926b219d07faee"
},
"downloads": -1,
"filename": "dicompyler-core-0.5.6.tar.gz",
"has_sig": false,
"md5_digest": "e9e15c90972b36912e98ec11c713d1f1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 2657213,
"upload_time": "2023-05-08T16:20:41",
"upload_time_iso_8601": "2023-05-08T16:20:41.470821Z",
"url": "https://files.pythonhosted.org/packages/19/0a/10e5644df330a642132683f3c9939bb35df511e01ff4b1612d9a73fb82ad/dicompyler-core-0.5.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-08 16:20:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dicompyler",
"github_project": "dicompyler-core",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"tox": true,
"lcname": "dicompyler-core"
}