Skip to main content

A library of core radiation therapy modules for DICOM / DICOM RT used by dicompyler

Project description

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

Dependencies

  • numpy 1.2 or higher

  • pydicom 0.9.9 or higher (pydicom 1.0 compatible)

  • matplotlib 1.3.0 or higher (for DVH calculation)

  • six 1.5 or higher

  • Optional:

    • Pillow (for image display)

    • Shapely (for structure volume calculation)

    • scikit-image (for DVH interpolation)

    • scipy (for dose grid summation using interpolation)

Basic Usage

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 and the audreyr/cookiecutter-pypackage project template.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dicompyler-core-0.5.6.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

dicompyler_core-0.5.6-py2.py3-none-any.whl (34.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dicompyler-core-0.5.6.tar.gz.

File metadata

  • Download URL: dicompyler-core-0.5.6.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for dicompyler-core-0.5.6.tar.gz
Algorithm Hash digest
SHA256 0e3c05920a8fa3f1c0ff05a5c21dab3ff3f735e00012b69b38926b219d07faee
MD5 e9e15c90972b36912e98ec11c713d1f1
BLAKE2b-256 190a10e5644df330a642132683f3c9939bb35df511e01ff4b1612d9a73fb82ad

See more details on using hashes here.

File details

Details for the file dicompyler_core-0.5.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dicompyler_core-0.5.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b00223c675e090231c660b7a0f90b3acfed44d128b2d91fb2a28761f4b427c31
MD5 17394357e4768fcd25d80794742033d5
BLAKE2b-256 204dd8a08a1122988fd4bdf75eca95df3a338be9b230eae45485c732f2b9579b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page