Automatic Annotation Label Updates for Axial/Coronal/Sagittal Views with vtkResliceImageViewer & vtkResliceCursor

Hi all,

I’m working on a Qt + VTK (v8.2) application in C++ that displays three orthogonal slice views (axial, coronal, sagittal) using vtkResliceImageViewer and a shared vtkResliceCursor from axial to coronal and sagittal. I’ve successfully:

  • Added orientation labels(tags)(“L/R”, “A/P”, “I/S”) via camera GetViewUp() and camera ‐normal angle in each vtkResliceImageViewer.
  • Rotated an individual slice viewer and updated its annotation labels accordingly by getting it’s GetViewUp() and angle with rotational direction.

However, when I rotate or move the cursor in one view (e.g. via a secondary view’s vtkResliceCursorWidget or in the 3D view using vtkImagePlaneWidget), the other slice viewers do not giving their orientation labels as expected.

After moving/ rotate the reslicecursor, I tried forcing each vtkResliceImageViewer camera to re‐compute ViewUp/FocalPoint, but it doesn’t gives the expected annotations.

What I’m Looking for any suggestions from existing examples/event­-driven approach or alternative ideas. Thanks in advance for any pointers, code samples, or best practices you can share!

I’m attaching the my expected labelling image for MPR…

@lassoan @dgobbi @LucasGandel @mwestphal @ben.boeckel @pieper