Curve visible in 2D views?

This is probably for Andras (@lassoan). When I make an open curve by placing points, I generally do it using a custom layout of stacked 3D views with various layers visible. I noticed this morning when I switched to 4-up view that the curve projection is visible throughout the volume in the 2D viewers. I can disable the projection of the control points and labels, but the curve is always there. Is there a separate visibility setting for the curve itself? I can turn it off in the individual views (Red, Green, Blue) but it I was surprised that the 2D projection visibility “eye” toggle didn’t affect the curve.

Thanks!

-Hollister

Quick update on this for Andras (@lassoan).

Markup curves do appear to fade in 2D views as I scroll through slices, however it looks like the scale of the volume has an effect. If I make curves in a big volume like one of the example CT scans, the curves fade away as I scroll through slices. In a scan with a much smaller scale (insect scan, voxel size of like 10 microns) it looks like the scale is set such that the curves don’t fade quickly enough and stick around through most of the scan.

Is there a scaling or distance factor that feeds into when to fade the curve line in the 2D view? I’m happy to look into this and debug if you can point me in the right direction.

Thanks!!

-Hollister

Quick example - you can see in the lower middle part of the image that some of the curve is faded, but much of it is still visible. Hopefully this helps!

The curve starts to fade out at “fading start” distance and completely disappears at “fading end” distance. These values are not exposed on the GUI but you can adjust using the Python console:

markupsNode = slicer.mrmlScene.GetFirstNodeByClass("vtkMRMLMarkupsNode")
markupsNode.GetDisplayNode.SetLineColorFadingStart(1.0)
markupsNode.GetDisplayNode.SetLineColorFadingEnd(10.0)

It would be nice to add the option to allow using fade-out distance that is somehow relative to the image size. Maybe we could allow specifying fade-out relative to slice spacing (instead of 10.0mm it could be 10 x slice spacing)?

Sure, I can look into adding that. Maybe a check box in the “Curve Settings” section? Yes/No for “Fade out relative to slice spacing”?

Thanks!

It could be similar to the markups control point sizing (absolute or relative to screen size) and could be implemented similarly: toggle button to switch between sizing modes on the GUI, and a LineFadingMode enum in the markups MRML to switch between fading modes (for now it would only be 2 modes: absolute and relative-to-slice-spacing; but in the future more may be added).

OK, I’ll take a look. (No promises!!)

Thanks!!!

-Hollister

1 Like