I am trying to open Dicom images that I directly downloaded from the image viewer of the hospital. The software is called Sectra. The images should contain a segmentation made with Sectra.
When I am loading the images with Slicer (or any other Dicom viewer I could find), the images are correctly opened, but not the segmentation.
It looks like this is empty. However, if I load the Dicom file back in Sectra, the segmentation is correctly shown.
I suspect it is a weird Dicom file from Sectra, not meant to be opened with anything else.
On top of that, my image file contains 40 slices, and the segmentation only 15, which corresponds to the number of slices the segmentation is present.
I also cannot open it with pydicom.
Have a nice day!
Yes, that’s probably some proprietary format wrapped in dicom just so it can be stored in the pacs. With some examples and some effort someone might be able to reverse engineer it.
DICOM standard compliant software can use “SEG” or “RTSTRUCT” modality for storing a segmentation. Probably Sectra decided to store segmentation in private fields of a “PR” (presentation state) object because:
- It was simpler for them to store the data in their own internal format instead of spending time with understanding and implementing DICOM compliant saving.
- Vendor lock-in. If you switch to a different software vendor then you may lose access to these segmentations that only Sectra software can interpret. This is very good for the software vendor.
Since it is so favorable for vendors to use private DICOM fields, it is the responsibility of users to speak up and ask vendors to use standard DICOM information objects instead. If the vendor does not listen then users should switch to a different vendor (it is better for everyone if they listen).
So I should directly address Sectra?
Thanks for your time!
Yes, ask them to provide you with data in standard DICOM.
In case someone ever has similar issues, Sectra gave me more details about those segmentations:
- It is not meant to be a real segmentation, that is why it is not saved as segmentation and thus, they cannot be loaded outside sectra
- There is a possibility to create segmentation as volume, that can be saved as meshes with an obj format