Clarification re RTSTRUCT display

When I load RTSTRUCT, I see the following:

I would like to clarify:

  • do I see the original RTSTRUCT-defined contours in the slice viewers, or those are interpolated contours?
  • is it possible to show the original RTSTRUCT-defined contours in 3d view?

When I try to create the Ribbon model, I get this error:

image

I am using the latest stable release on mac.

SlicerRT importer imports the original contours without any changes and stores it in planar contours representation. If you create closed surface representation then the original contours are still exactly preserved at slice positions but a surface is created between them by triangulation. Conversion from planar contours to ribbon representation was broken in Slicer-4.11-20200930 version but it is fixed in recent Slicer Preview Releases.

1 Like

Andras, I did not do anything myself to create a closed surface representation - it is created automatically when I load RTSTRUCT (this behavior is identical both in stable and latest releases). Because the surface representation is created and shown by default, I was not sure what is being shown in the 2d viewers, and the discretization of the 3d surface was very coarse, which made me suspicious. Thanks for the clarification.

You can choose which representation is shown in 2D/3D views in Segmentations module / Display / Advanced section.

1 Like

Thank you, this is very helpful! Although, if I toggle “Planar contour” for 2d view, I see points in the reformats, but not in the contour plane.

https://www.screencast.com/t/gdPUxAeY048m

image

This is expected - you only see the contour in-plane if it is exactly in the slice view’s plane. This is exact match may be hard to achieve, that is why we added the ribbon representation, which is much better visible in slice views.

Planar contours:

Ribbon model:

These features are somewhat hidden, but both planar contours and ribbon model are useful mainly for diagnostic purposes (when closed surface representation does not look good then you can check the original data).

1 Like

Seems like I can’t render RTSTRUCT in the 2D views as planar contour either (see video below).
As Andras mentioned above it is due to the exact plane situation but shouldn’t it change the plane when holding shift and dragging on the other views? and basically just hit it? I tried zoom A LOT in the other views so that I can control the shift right click drag but still can’t, I’m wondering how much precision is needed?

I tried using various RTSTRUCT, I tried with the RT samples here too (SlicerRtData/HIT-H1-head at master · SlicerRt/SlicerRtData · GitHub)

As you see below I have zoomed A LOT and the shift mouse drag is changing in the 1/100 of the z
I understand the Ribbon is the solution, but I’m more interested in the rendering of contours for now.

You need the exact position match of the slice plane position (with a tolerance of something like 1e-8mm), which is practically impossible to achieve it by manual positioning. Therefore, you will not see the intersection in the contour plane, only the dots in orthogonal views.

The ribbon representation has an intersection with the slice plane, that’s why we added it. If you want to see the contour representation in slice views then you can export the contours to a model and apply a tube filter with a small radius.

Note that we consider the contour and ribbon representations to be only useful for debugging of the smooth surface generation algorithm. It allows us to see if the input contours that we get are messed up in some way (some contours are missing, duplicated, don’t match the image, etc.).

1 Like