Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 8 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.4%) to scientific vocabulary
Repository
PYthon Dicom Image ConvertER
Basic Info
- Host: GitHub
- Owner: AustralianCancerDataNetwork
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://australiancancerdatanetwork.github.io/pydicer/
- Size: 15.6 MB
Statistics
- Stars: 35
- Watchers: 7
- Forks: 9
- Open Issues: 9
- Releases: 2
Metadata Files
README.md
PyDicer: PYthon Dicom Image ConvertER
Welcome to PyDicer, a tool to ease the process of converting Radiotherapy DICOM data objects into a format typically used for research purposes. In addition to data conversion, functionality is provided to help analyse the data. This includes computing radiomic features, radiotherapy dose metrics and auto-segmentation metrics. PyDicer uses the NIfTI format to store data is a well defined file system structure. Tracking of these data objects in CSV files, also stored on the file system, provides an easy and flexible way to work with the converted data in your research.
The PyDicer documentation provides several examples and guides to help you get started with the tool. Here are a few PyDicer principles to keep in mind as you get started:
- The working directory structure is standardised and generalisable for use with any DICOM dataset.
- Use Pandas DataFrame's to work with converted data objects.
- SimpleITK and PlatiPy are used under the hood for the image conversion, visualisation and analysis tasks.
- Always inspect visualisations, plots and metrics produced by PyDicer in your working directory. Remember, PyDicer is a research tool so only use it for research purposes and expect the unexpected!
Installation
PyDicer currently supports Python version 3.8, 3.9 and 3.10. Install PyDicer in your Python
environment using pip:
bash
pip install pydicer
Supported Modalities
PyDicer currently supports converting and analysing the following DICOM modalities:
- CT
- MR
- PT (Experimental)
- RTSTRUCT
- RTPLAN (Not converted since this only consists of meta data)
- RTDOSE
Directory Structure
PyDicer will place converted and intermediate files into a specific directory structure. Visualisation, metrics computed and plots are also stored along side the converted data objects. Within the configured working directory [working], the following directories will be generated:
[working]/data: Directory in which converted data will be placed[working]/quarantine: Files which couldn't be preprocessed or converted will be placed in here for you to investigate further[working]/.pydicer: Intermediate files as well as log output will be stored in here[working]/[dataset_name]: Clean datasets prepared using the Dataset Preparation Module will be stored in a directory with their name and will symbolically link to converted in the[working]/datadirectory
PyDicer working directory structure. Ref. Chlap, P. et al. SoftwareX
Pipeline
The pipeline handles fetching of the DICOM data to conversion and preparation of your research dataset. Here are the key steps of the pipeline:
Input: various classes are provided to fetch DICOM files from the file system, DICOM PACS, TCIA or Orthanc. A TestInput class is also provided to supply test data for development/testing.
Preprocess: The DICOM files are sorted and linked. Error checking is performed and resolved where possible.
Conversion: The DICOM files are converted to the target format (NIfTI).
Visualistion: Visualistions of data converted are prepared to assist with data selection.
Dataset Preparation: The appropriate files from the converted data are selected to prepare a clean dataset ready for use in your research project!
Analysis: Radiomics and Dose Metrics are computed on the converted data.
Getting Started
Running the pipeline is easy. The following script will get you started:
```python from pathlib import Path
from pydicer.input.test import TestInput from pydicer import PyDicer
Configure working directory
directory = Path("./testdata") directory.mkdir(exist_ok=True, parents=True)
Fetch some test DICOM data to convert
dicomdirectory = directory.joinpath("dicom") dicomdirectory.mkdir(existok=True, parents=True) testinput = TestInput(dicomdirectory) testinput.fetch_data()
Create the PyDicer tool object and add the dicom directory as an input location
pydicer = PyDicer(directory) pydicer.addinput(dicomdirectory)
Run the pipeline
pydicer.run_pipeline() ```
How to Cite
If you make use of PyDicer within your research work, please consider citing our SoftwareX paper:
Chlap P, Al Mouiee D, Finnegan RN, et al. PyDicer: An open-source python library for conversion and analysis of radiotherapy DICOM data. SoftwareX. 2025;29:102010. doi:10.1016/j.softx.2024.102010
Contributing
PyDicer is an open-source tool and contributions are welcome! Here are some ways you might consider contributing to the project:
- Reporting issues on GitHub.
- Correcting/extending the documentation.
- Contributing a bug fix or extending some functionality.
- Providing functionality to support additional DICOM modalities.
- Giving the PyDicer project a star on GitHub.
For more information, see the Contributing documentation.
Authors
PyDicer was developed by the Ingham Medical Physics team in South-Western Sydney. It was developed as part of the Australian Cancer Data Network supported by the Australian Research Data Commons.
- Phillip Chlap - phillip.chlap@unsw.edu.au
- Daniel Al Mouiee - d.almouiee@gmail.com
Owner
- Name: Australian Cancer Data Network
- Login: AustralianCancerDataNetwork
- Kind: organization
- Email: Tim.Churches@inghaminstitute.org.au
- Location: Australia
- Website: https://australian-cancer-data.network
- Repositories: 2
- Profile: https://github.com/AustralianCancerDataNetwork
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: PyDicer
message: >-
If you use this software, please cite our SoftwareX article.
type: software
authors:
- given-names: Phillip
family-names: Chlap
email: phillip.chlap@unsw.edu.au
affiliation: University of New South Wales
orcid: "https://orcid.org/0000-0002-6517-8745"
- given-names: Daniel
family-names: Al Mouiee
affiliation: Ingham Institute
- given-names: Robert N.
family-names: Finnegan
affiliation: University of Sydney
orcid: "https://orcid.org/0000-0003-4728-8462"
- given-names: Xinyi
family-names: Cui
affiliation: University of New South Wales
- given-names: Shrikant
family-names: Deshpande
affiliation: South Western Sydney Local Health District
- given-names: Vicky
family-names: Chin
affiliation: University of New South Wales
- given-names: Lois
family-names: Holloway
affiliation: University of New South Wales
repository-code: "https://github.com/AustralianCancerDataNetwork/pydicer"
url: "https://australiancancerdatanetwork.github.io/pydicer/"
keywords:
- medical imaging
- DICOM
- radiotherapy
license: Apache-2.0
version: 0.2.0
date-released: "2023-12-20"
preferred-citation:
authors:
- family-names: Chlap
given-names: Phillip
orcid: "https://orcid.org/0000-0002-6517-8745"
- given-names: Daniel
family-names: Al Mouiee
- family-names: Finnegan
given-names: Robert N.
orcid: "https://orcid.org/0000-0003-4728-8462"
- given-names: Janet
family-names: Cui
- given-names: Chin
family-names: Vicky
- given-names: Deshpande
family-names: Shrikant
- given-names: Holloway
family-names: Lois
date-published: "2024-12-14"
doi: 10.1016/j.softx.2024.102010
journal: SoftwareX
issn: 2352-7110
publisher:
name: Elsevier
title: "PyDicer: An open-source python library for conversion and analysis of radiotherapy DICOM data"
type: article
url: "https://doi.org/10.1016/j.softx.2024.102010"
volume: 29
year: 2025
GitHub Events
Total
- Issues event: 15
- Watch event: 12
- Delete event: 1
- Issue comment event: 11
- Push event: 22
- Pull request review comment event: 6
- Pull request review event: 10
- Pull request event: 14
- Fork event: 4
- Create event: 7
Last Year
- Issues event: 15
- Watch event: 12
- Delete event: 1
- Issue comment event: 11
- Push event: 22
- Pull request review comment event: 6
- Pull request review event: 10
- Pull request event: 14
- Fork event: 4
- Create event: 7
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 2
- Total pull requests: 2
- Average time to close issues: almost 3 years
- Average time to close pull requests: about 1 month
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 1.5
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: about 1 month
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 1.5
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- pchlap (10)
- dalmouiee (5)
- rnfinnegan (2)
- rbrown333 (1)
Pull Request Authors
- pchlap (5)
- dalmouiee (4)
- ArthurRochette (1)
- rbrown333 (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 31 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
- Total maintainers: 1
pypi.org: pydicer
PYthon Dicom Image ConvertER
- Documentation: https://pydicer.readthedocs.io/
- License: Apache-2.0
-
Latest release: 0.2.0
published about 2 years ago
Rankings
Maintainers (1)
Dependencies
- 140 dependencies
- Sphinx ^4.5.0 develop
- black ^22.3.0 develop
- m2r2 ^0.3.2 develop
- pylint ^2.13.5 develop
- pytest 6.2.5 develop
- sphinx-rtd-theme ^1.0.0 develop
- SimpleITK >=2.0.2
- Sphinx ^4.4.0
- argparse >=1.4.0
- black ^22.1.0
- m2r2 ^0.3.2
- platipy >=0.2.1
- pydicom >=2.1.2
- pylint ^2.12.2
- pyorthanc >=0.2.14
- pyradiomics >=3.0.1
- pytest ^6.2.5
- python ^3.7
- scikit-image >=0.19.2
- sphinx-rtd-theme ^1.0.0
- black *
- m2r2 *
- numpy *
- pylint *
- pytest *
- sphinx *
- sphinx_rtd_theme *
- SimpleITK >=2.0.2
- argparse >=1.4.0
- platipy >=0.2.1
- pydicom >=2.1.2
- pyorthanc >=0.2.14
- pyradiomics >=3.0.1
- actions/checkout v2 composite
- actions/setup-python v2 composite
- peaceiris/actions-gh-pages v3 composite
- abatilo/actions-poetry v2.0.0 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite