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.3.tar.gz (628.4 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.1.3-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for DicomRTTool-2.1.3.tar.gz
Algorithm Hash digest
SHA256 3590ca1d8f834a51b187fd83e2b8a74f9effeeabb98fc4ec13bc717c9517e80b
MD5 f5e82afe547e2cb9fe1f38fb264ee1f7
BLAKE2b-256 67333f107f13d32e3330c0ffadff3963933ef36b20a2b3eb50108468635fc587

See more details on using hashes here.

File details

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

File metadata

  • Download URL: DicomRTTool-2.1.3-py3-none-any.whl
  • Upload date:
  • Size: 39.1 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.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fd5b1afaa962b67e28be56b6a3379f37c973dfb4c5c89f1783067f53756e0a98
MD5 bb230fd0a700ff06a54b621f7863fb49
BLAKE2b-256 391fac92c1ebe750025f2745463cda068fff0c2e43bc3d3f798f76bdaae3fab1

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