Skip to content

BUG: Fixed volume rendering at incorrect position

Modification of any transforms applied on any volume may alter location where volume rendering appears.

How to reproduce:

  • Load MRHead sample (MRHead)
  • Load MRHead sample (MRHead_1)
  • Apply a new linear transform (LinearTransform_3) to MRHead
  • Go to Volume Rendering module
  • Switch to MRHead_1, show volume rendering => volume rendering of MRHead_1 is displayed
  • Go to transforms module
  • Modify LinearTransform_3 => ERROR: volume rendering of MRHead_1 moves on the image (while the transform is only applied to MRHead)
  • Slightly rotate the 3D view => volume rendering of MRHead_1 jumps (back to the location where it should be)

Problem root cause: vtkMRMLVolumeRenderingDisplayableManager observes all TransformModifiedEvent changes and updates the position of the current volume based on that (even if not the current volume's transform is changed)

Solution: ignore transform modified changes if not the current volume's transform is modified

Merge request reports