Cannot set slice intersection thickness on display node


#1

Hello,

I am trying to set slice intersection thickness of simple poly data line.

modelsLogic = slicer.modules.models.logic()
model = modelsLogic.AddModel(track)
model.GetDisplayNode().SetSliceIntersectionVisibility(True)
model.GetDisplayNode().SetSliceIntersectionThickness(10)

In the slice view, I can see line intersection with a slice as a small square (probably just one pixel). I expected the function SetSliceIntersectionThickness() will set this intersection “indicator” larger.

The same goal I tried to achieve via Models module GUI by setting Slice Display > Line Width to 10px. After this, the result is still the same.

Am I checking the correct function for this, or this feature is just currently not working properly?

Slicer version: Slicer-4.10.1-win-amd64.exe

New%20Project


(Steve Pieper) #2

The intersections will need a surface not just a line to control the thickness. You should be able to use the curvemaker or similar method to make a surface from your line.

https://www.slicer.org/wiki/Documentation/Nightly/Extensions/CurveMaker


(Andras Lasso) #3

You can use “Markups to Model” extension to convert your line to a tube model. You may also try Models / Display / Slice Display / Mode / Distance encoded projection to show a certain length of the line near the slice plane (you can specify coloring scheme and length of displayed part by editing the color node).

We have recently added support for curves to the nightly version. Currently, you can only create, displaty, edit, and delete them, but we’ll add many more features in the coming months (various projection options, coloring schemes, compute of metrics, reslice volume along the line, etc.). Let us know what features you would need.


#4

Thank you @lassoan @pieper for your answers.

I ended up with using vtk.vtkTubeFilter to create needed surfaces.