Conversion of planar contours to closed surfaces of RT Structs is corrupted

I have brain RT structs exported from the software “MIM” which when I import into Slicer via SlicerRT have corrupted closed surfaces.

As you can see the slice fill has patches missing and points are connected that shouldn’t be. An MRI is the background volume but I’ve made it black because this is anonymous patient data. Any ideas why this is happening?

It may be just a rendering artifact. Could you please check if the appearance is fixed if you create “Closed surface” representation from n Segmentations module?

When the RT struct is loaded a closed surface representation is automatically created. So per your suggestion I removed the closed surface rep:

then created it again by clicking create
exact same result

I’ve uploaded the RT struct here

This structure set has lots of errors. There slightly non-parallel contours and slightly inconsistent distance between contour planes. There also seem to be a number of left-to-right direction cuts in the contours (see orange arrows; maybe they are keyholes, but then there should be holes in the cross-sections, but no holes are visible).

Some of the contour visualization problems are due to the default slice plane (in red

  • in default axial direction) is not parallel with the contours, which makes the cuts extra complicated. If you load the source image (that was used to create the contours) then you can align the slice views with the contour planes, which will somewhat reduce the rendering artifacts. However, the problem is primarily not the rendering of these complex intersections (and in your screenshot you have already made this alignment, probably because you loaded the referenced image).

The general problem is that RT structure set is not suitable as a general-purpose 3D shape representation and here you are trying to use it for representing a complex shape. RT structure set usually works acceptably for simple, smooth shapes - such as hand-drawn contours. However, automatic segmentation methods that derive complex shapes directly from image content are usually too complex to be represented in an RT structure set. Even if a software can save a complex 3D shape and reconstruct it consistently from the saved file, other software applications may not be able to reproduce the same shape, because there are so many ways to resolve ambiguities and numerical inaccuracies.

If you don’t work with radiation treatment planning systems then I would recommend to just avoid RT structure sets (use DICOM Segmentation object instead). If you must use RT structure set because you must import the results into a treatment planning system that only supports RT structure sets then you can try to simplify the shape and reduce the number of contours.

MIM has a menu option for “Save surface segmentation” that I used and it created a “SEG” series file
However now when I try to load it into Slicer along with the associated volume I see this error window

I click OK and see this

MIM also has a tool to clean each axial slice

I used this and also smoothed the contour. After loading into slicer the closed surface is a lot less corrupted:

Do you know why the DICOM SEG is not loading?

Slicer supports loading of DICOM Segmentation IOD (via QuantitativeReporting extension).

However, DICOM Surface Segmentation IOD is not yet supported. It should not be hard to add support for it (you could write an importer Python script), but surface segmentation IOD is rarely used in medical image computing, so there has not been any demand for importing it. You could create a topic for it in the “Feature requests” category and if it gathers enough votes then we’ll work on it.

Here’s a thread on options for surface segmentations:

The script to view SEG surface is here, it works. S. options at the beginning to save as VTK or STL to load into Slicer, the script itself only shows the SEG mesh.