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
Free software: BSD license
Documentation: Read the docs
Tested on Python 3.7+
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'))
Citing dicompyler-core
A DOI for dicompyler-core with various citation styles can be found at Zenodo:
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
Release files for dicompyler-core 0.5.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dicompyler-core-0.5.6.tar.gz | 2.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dicompyler_core-0.5.6-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 2.7 MB
Release files / dicompyler-core-0.5.6.tar.gz
| Download URL | dicompyler-core-0.5.6.tar.gz |
|---|---|
| Size | 2.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e3c05920a8fa3f1c0ff05a5c21dab3ff3f735e00012b69b38926b219d07faee
|
|
BLAKE2b-256 checksum How to use checksums |
190a10e5644df330a642132683f3c9939bb35df511e01ff4b1612d9a73fb82ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.3
|
Release files / dicompyler_core-0.5.6-py2.py3-none-any.whl
| Download URL | dicompyler_core-0.5.6-py2.py3-none-any.whl |
|---|---|
| Size | 34.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
b00223c675e090231c660b7a0f90b3acfed44d128b2d91fb2a28761f4b427c31
|
|
BLAKE2b-256 checksum How to use checksums |
204dd8a08a1122988fd4bdf75eca95df3a338be9b230eae45485c732f2b9579b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.3
|