Skip to main content

Services for reading dicom files, RT structures, and dose files, as well as tools for converting numpy prediction masks back to an RT structure

Project description

We're published! Please check out the Technical Note here: https://www.sciencedirect.com/science/article/abs/pii/S1879850021000485 and reference this work if you find it useful

DOI:https://doi.org/10.1016/j.prro.2021.02.003

This code provides functionality for turning dicom images and RT structures into nifti files as well as turning prediction masks back into RT structures

Installation guide

pip install DicomRTTool

Highly recommend to go through the jupyter notebook in the Examples folder and to read the Wiki

Quick use guide

from DicomRTTool.ReaderWriter import DicomReaderWriter, ROIAssociationClass
Dicom_path = r'.some_path_to_dicom'
Dicom_reader = DicomReaderWriter(description='Examples', arg_max=True)
Dicom_reader.walk_through_folders(Dicom_path) # This will parse through all DICOM present in the folder and subfolders
all_rois = Dicom_reader.return_rois(print_rois=True) # Return a list of all rois present

Contour_names = ['tumor'] # Define what rois you want
associations = [ROIAssociationClass('tumor', ['tumor_mr', 'tumor_ct'])] # Any list of roi associations
Dicom_reader.set_contour_names_and_assocations(contour_names=Contour_names, associations=associations)

Dicom_reader.get_images_and_mask()

image_numpy = Dicom_reader.ArrayDicom
mask_numpy = Dicom_reader.mask
image_sitk_handle = Dicom_reader.dicom_handle
mask_sitk_handle = Dicom_reader.annotation_handle

Other interesting additions

Adding information to the Dicom_reader.series_instances_dictionary

from DicomRTTool.ReaderWriter import Tag
plan_pydicom_string_keys = {"MyNamedRTPlan": Tag((0x300a, 0x002))}
image_sitk_string_keys = {"MyPatientName": "0010|0010"}
Dicom_reader = DicomReaderWriter(description='Examples', arg_max=True, plan_pydicom_string_keys=plan_pydicom_string_keys, image_sitk_string_keys=image_sitk_string_keys)
If you find this code useful, please provide a reference to my github page for others www.github.com/brianmanderson , thank you!
Ring update allows for multiple rings to be represented correctly

multiple_rings.png

Works on oblique images for masks and predictions*

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

dicomrttool-2.1.9.tar.gz (628.8 kB view details)

Uploaded Source

Built Distribution

DicomRTTool-2.1.9-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

File details

Details for the file dicomrttool-2.1.9.tar.gz.

File metadata

  • Download URL: dicomrttool-2.1.9.tar.gz
  • Upload date:
  • Size: 628.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for dicomrttool-2.1.9.tar.gz
Algorithm Hash digest
SHA256 5aa6fa152fd76cded09448ba1c7321337c04b1317338f8e87be9a070685402bc
MD5 b6f4dcd97258fa726b6b3dd26233d81e
BLAKE2b-256 61c2a51539c875f5d1549dd00d43bc3121d7367ba4f870bf5606bb8e867dc8b5

See more details on using hashes here.

File details

Details for the file DicomRTTool-2.1.9-py3-none-any.whl.

File metadata

  • Download URL: DicomRTTool-2.1.9-py3-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for DicomRTTool-2.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 94e535b3acdb428fac9c8557bfad460e148ccc2ab84ed470e29bbea5aa22e1b2
MD5 0e0401b68f25626d750f97c3576972b0
BLAKE2b-256 316657a5cdfc0ed07710da5dea07040bd1d7e8a80b4c114512c41633d2004915

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