Skip to content

ENH: Added ViewGroup property to view nodes

Andras Lasso requested to merge github/fork/lassoan/viewgroup into master

ViewGroup is used for restricting scope of:

  • linked slice view property changes (if slices are linked, a property change will only change views in the same group)
  • crosshair jump to slice (if crosshair is moved with shift+mousemove and slice jump is enabled, only those slices will be moved that are in the same group as the view where the mouse was)
  • slice intersection display (slice intersections will only shown of those slices that are in the same group)

Implementation:

  • Added new ViewGroup member to abstract view node (string, empty by default)
  • In default layouts "Three over three" and "Four over four" separated top/bottom rows (view IDs changed to Red+, Yellow+, Green+, 1+; unique node IDs were necessary because on layout change view group is not updated, so we cannot share view nodes between layouts the same group ID for all views)
  • Updated vtkMRMLSliceNode::JumpAllSlices to only jump those slices that have matching viewgroup
  • Updated vtkMRMLSliceLinkLogic::OnMRMLNodeModified(vtkMRMLNode* node) to make aware of groups
  • Updated slice displayable manager to only show slice intersections in the same group (and mapped in layout)
  • Updated 2D/3D displayable managers to only jump those slices on crosshair update (shift+mousemove) that are in the same group
  • Updated GUI: ** Added View group view/edit to Slice information widget (used in View Controllers module). ** Added viewGroup property to simple markups widget (that can restrict slice jumping to a specific view group)

Merge request reports