Load dicom binary mask as segmentation onto dicom images

I have a dicom CT series, and a binary mask series (with same number of slices as dicom series), with only the tumors having a value of 1 in the mask. So if the tumor is on slice 10, then only those pixels on slice 10 will have a value of 1, while all other pixels will be 0.

I would like to load the dicom CT images, and overlay the binary mask series on it (as a segmentation), and run the Radiomics module on it.

Can you please help me do that?

Operating system:Windows
Slicer version:4.10.2
Expected behavior:
Actual behavior:

If the “mask series” is valid DICOM then Slicer should be able to read it the same way as it can load the CT. How the mask is stored? As a DICOM segmentation object or as a fake CT image?

I would recommend to use the most recent Slicer Preview release as it contains lots of fixes and improvements compared to Slicer-4.10.2.

Thank you for your response. The dicom segmentation file has the same dicom tags as the original image, except different dicom tags below

  • SeriesDescription
  • SeriesNumber
  • SeriesInstanceUID

I am able to read the two series. I just need to load the mask as segmentation to put onto the original CT image to run the Radiomics module.

You can convert a “CT” to segmentation node by segmenting it with a threshold of 0.5. If you don’t want to use the Segment Editor then you can convert it to labelmap (Volumes module / Volume information / Convert to labelmap -> Convert) then in Data module, right-click and choose “Convert labelmap to segmentation node”. You can also do this by a few lines of Python code.

In the long term, I would not recommend to use fake CT volumes for storing segmentation, but to use proper DICOM segmentation objects instead. Then they would be directly read as segmentation nodes and would be compatible with other DICOM-compliant software. If you don’t care about DICOM compliance then simply save the segmentation into a NRRD file, which can be loaded directly as segmentation node.