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

This version

2.0.8

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.0.8.tar.gz (627.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

DicomRTTool-2.0.8-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file DicomRTTool-2.0.8.tar.gz.

File metadata

  • Download URL: DicomRTTool-2.0.8.tar.gz
  • Upload date:
  • Size: 627.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for DicomRTTool-2.0.8.tar.gz
Algorithm Hash digest
SHA256 9e943b3fbefde960939515f1e782901581c7fc9249a1e61d47522e6c771e38df
MD5 a536a457e191254c16c10bae0b507342
BLAKE2b-256 fd68778eac11a2991c66bb6e23ff80cf5b91717b125d0d282c016b868640d7cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: DicomRTTool-2.0.8-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for DicomRTTool-2.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 444c9221f5238f010eaa61e035a88a1da15c548145250008d133b990fb389b1d
MD5 fe42530081e5fda868d2a1f66e3f54aa
BLAKE2b-256 03f7f9c1ce900f1ed3db3926f4948d19594e43942632ba00f5dc86bcbd86abeb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page