Occluded visibility cannot be set for Markups labels

Occluded visibility does not seem to impact the markups label. Adjustment works fine for the fiducials, including making it invisible when they are occluded. But their text labels are always visible.

This seems to crowd the scene, and reduce the visibility. Is this intentional?

Yes, I think it was intentional, but perhaps it should be optional.

If that’s intentional, the purpose is not clear (like being able to see their label without seeing the actual point). Is there a python code to block this for the time being? It is interfering my ability pickup the points I wanted to (text themselves can be highlighted and grabbed even though the point is not visible).

What we also need a field to offset labels a bit, so they are not centered on the point…

Occluded labels are faded out the same way as the glyphs. So, occluded visibility works well.

What you see is the labels of the regular (non-occluded) markup labels. You can turn off occluded visibility and you will see that all labels are displayed. This is a technical limitation of the filter that determines visibility of a landmark. It relies on the Z buffer to be fast but it means that it ignores semitransparent surfaces and volume rendering.

As a workaround, you can quickly create an opaque model with thresholding (with some margin shrinking to make sure it does not peek out under the volume rendering anywhere) and that will take care of the proper occlusion.

Proper solution would be for VTK to take into account volume rendering when it creates the Z buffer (then it could be utilized in hardware pickers, etc.). If that is impossible then vtkSelectVisiblePoints and point pickers could use additional inputs from volume renderers (or potentially these information could be combined at Slicer level, too). All these options would be quite complex to implement.

Ok, extracting a 3D model does solve the issue for me (at least for the time being).