dicompyler-core

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

https://github.com/dicompyler/dicompyler-core

Science Score: 33.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 15 committers (6.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.7%) to scientific vocabulary

Keywords

dicom dicom-rt dvh hacktoberfest python radiation-oncology radiation-physics

Keywords from Contributors

genomics standardization interactive autograding interpretability hacking pypi bioinformatics patterns energy-system
Last synced: 6 months ago · JSON representation

Repository

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

Basic Info
Statistics
  • Stars: 151
  • Watchers: 9
  • Forks: 67
  • Open Issues: 27
  • Releases: 7
Topics
dicom dicom-rt dvh hacktoberfest python radiation-oncology radiation-physics
Created about 10 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing Funding License Security Authors

README.rst

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 `__. 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.10+

Dependencies
------------

-  `numpy `__ 1.2 or higher
-  `pydicom `__ 2.4.0 or higher
-  `matplotlib `__ 1.3.0 or higher (for DVH calculation)
-  Optional:

   -  `Pillow `__ (for image display)
   -  `Shapely `__ (for structure volume calculation)
   -  `scikit-image `__ (for DVH interpolation)
   -  `scipy `__ (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 `__ and the
`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.10+-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/endpoint?url=https://ghloc.vercel.app/api/dicompyler/dicompyler-core/badge?style=flat&logoColor=white&label=Lines%20of%20Code
   :target: https://ghloc.vercel.app/dicompyler/dicompyler-core?branch=master
.. |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

Owner

  • Name: dicompyler
  • Login: dicompyler
  • Kind: organization

GitHub Events

Total
  • Issues event: 7
  • Watch event: 10
  • Delete event: 1
  • Issue comment event: 10
  • Push event: 4
  • Pull request review event: 5
  • Pull request review comment event: 18
  • Pull request event: 8
  • Fork event: 5
  • Create event: 1
Last Year
  • Issues event: 7
  • Watch event: 10
  • Delete event: 1
  • Issue comment event: 10
  • Push event: 4
  • Pull request review event: 5
  • Pull request review comment event: 18
  • Pull request event: 8
  • Fork event: 5
  • Create event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 218
  • Total Committers: 15
  • Avg Commits per committer: 14.533
  • Development Distribution Score (DDS): 0.376
Past Year
  • Commits: 12
  • Committers: 4
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.333
Top Committers
Name Email Commits
Aditya Panchal a****l@b****g 136
pyup.io bot g****t@p****o 62
Dan Cutright d****t@g****m 4
github-actions[bot] 4****] 2
dependabot[bot] 4****] 2
Darcy Mason d****n@g****m 2
Gabriel Couture g****4@g****m 2
Akihisa Wakita w****4@g****m 1
Nicolas Galler n****r@g****m 1
Samuel Ouellet 5****3 1
cvelten c****5@c****u 1
LGTM Migrator l****r 1
gertsikkema s****a@d****l 1
David Hall d****s@g****m 1
Hideki_Nakamoto i****5 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 28
  • Total pull requests: 103
  • Average time to close issues: 10 months
  • Average time to close pull requests: 27 days
  • Total issue authors: 20
  • Total pull request authors: 11
  • Average comments per issue: 2.36
  • Average comments per pull request: 0.99
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 36
Past Year
  • Issues: 5
  • Pull requests: 5
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 5 days
  • Issue authors: 4
  • Pull request authors: 3
  • Average comments per issue: 1.0
  • Average comments per pull request: 1.2
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • sama2689 (4)
  • sebastic (2)
  • darcymason (2)
  • shaokn (2)
  • TBurlacu-tud (2)
  • sjswerdloff (2)
  • SaharYaz (1)
  • smichi23 (1)
  • fdekerme (1)
  • marcmorcos (1)
  • thompa2 (1)
  • bastula (1)
  • Alxaline (1)
  • genhao3 (1)
  • MLRadfys (1)
Pull Request Authors
  • pyup-bot (46)
  • dependabot[bot] (30)
  • bastula (10)
  • darcymason (4)
  • SteEcker (2)
  • github-actions[bot] (2)
  • a-detiste (2)
  • lgtm-com[bot] (1)
  • cvelten (1)
  • smichi23 (1)
  • SaharYaz (1)
Top Labels
Issue Labels
enhancement (2) invalid (1) bug (1)
Pull Request Labels
dependencies (29) python (23) github_actions (6) invalid (1) wontfix (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 1,000 last-month
  • Total dependent packages: 3
  • Total dependent repositories: 22
  • Total versions: 7
  • Total maintainers: 1
pypi.org: dicompyler-core

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

  • Versions: 7
  • Dependent Packages: 3
  • Dependent Repositories: 22
  • Downloads: 1,000 Last month
Rankings
Dependent packages count: 2.3%
Dependent repos count: 3.1%
Average: 5.3%
Forks count: 5.4%
Stargazers count: 6.3%
Downloads: 9.4%
Maintainers (1)
Last synced: 7 months ago

Dependencies

requirements_dev.txt pypi
  • Sphinx ==4.2.0
  • bumpversion ==0.6.0
  • coverage ==6.0
  • cryptography ==35.0.0
  • flake8 ==3.9.2
  • sphinx-rtd-theme ==1.0.0
  • tox ==3.24.4
  • wheel ==0.37.0
setup.py pypi
  • matplotlib >=1.3.0
  • numpy >=1.2
  • pydicom >=0.9.9
  • six >=1.5
.github/workflows/build.yml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/codacy.yml actions
  • actions/checkout v3 composite
  • codacy/codacy-analysis-cli-action d840f886c4bd4edc059706d09c6a1586111c540b composite
  • github/codeql-action/upload-sarif v2 composite
.github/workflows/dependency-review.yml actions
  • actions/checkout v3 composite
  • actions/dependency-review-action v2 composite