qurit / rt-utils

A minimal Python library to facilitate the creation and manipulation of DICOM RTStructs.
MIT License
181 stars 56 forks source link

rt-utils fails on "Radiation therapy simulation head ..." #106

Open dyollb opened 4 months ago

dyollb commented 4 months ago

Trying to get ROI masks from this dataset: https://figshare.com/s/a5e09113f5c07b3047df

I had to use following hack in image_helper.py:

def get_slice_contour_data(series_slice: Dataset, contour_sequence: Sequence):
    slice_contour_data = []

    # Traverse through sequence data and get all contour data pertaining to the given slice
    for contour in contour_sequence:
        for contour_image in contour.ContourImageSequence:
            if contour_image.ReferencedSOPInstanceUID == get_UID(series_slice.filename): #series_slice.SOPInstanceUID:
                slice_contour_data.append(contour.ContourData)

    return slice_contour_data

where get_UID obtaines the UID from the file name. Not sure if this means the dataset is "broken", or if this is just a real problem that is not covered by rt-utils.