Skip to main content

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

Project description

Binder pypi travis-ci coveralls Documentation Status Code issues

Core functionality of 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 dose volume histogram (DVH) calculation if dose grid and structure data is present

Other information

Dependencies

  • numpy 1.2 or higher

  • pydicom 0.9.9 or higher

    • pydicom 1.0 is preferred and can be installed via pip using: pip install https://github.com/darcymason/pydicom/archive/master.zip

  • matplotlib 1.3.0 or higher (for DVH calculation)

  • six 1.5 or higher

  • Optional:

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

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.5.3 (2017-08-03)

  • Added support for plotting structure colors.

  • Support Python 2 unicode filenames in dicomparser.

  • Support DVH calculation of structures partially covered by the dose grid.

0.5.2 (2016-07-25)

  • Added DVH class for Pythonic access to dose volume histogram data.

  • Refactored and added unit tests for dvhcalc.

  • Added examples and usage for dvh and dvhcalc modules.

  • Jupyter notebook of examples can be found in Binder: dicom-notebooks

0.5.1 (2016-02-17)

  • Added support for pydicom 0.9.9 so releases from PyPI can be built.

0.5.0 (2016-02-11)

  • First release on PyPI.

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.3.tar.gz (2.6 MB view hashes)

Uploaded Source

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