Slicer3 FlexibleLayouts

From NAMIC Wiki
Revision as of 18:29, 24 June 2009 by Wjp (talk | contribs) (→‎NOTES:)
Jump to: navigation, search
Home < Slicer3 FlexibleLayouts


Key Investigators

  • GE: Jim Miller
  • BWH/Isomics: Steve Pieper
  • BWH: Wendy Plesniak
  • Kitware: Sebastien Barre (the multi-camera / multi-3D view code in the "cameraviewhell" branch has been ported to 3.4 and is being tested).

Objective

  • Continue implementing infrastructure and interface for generating custom layouts in Slicer3

Approach, Plan

  • Representation and Logic are currently being implemented; finish this implementation and begin testing.
  • Add functionality to read/write XML specification
  • Integrate with exiting vtkMRMLLayoutNode
  • Begin work on building GUI to support UXP design

Progress


References

NOTES:

  • Sebastien has been allowing creating multiple vtkMRMLViewerWidget or vtkMRMLCameraNode in the scenes
    • previously they were singletons
    • hard to patch underlying logic to take singleton status out.
    • sebastien made new branch off of 3.4 with his changes
    • found some bugs in trunk also (e.g. if close scene 3 or 4 times, can't exit slicer)
  • He is testing now with multiple cameras and views
  • Able to save, load, fiducials work ok
  • will give Ron his code to test soon
  • will patch 3.4 or put in 3.5 trunk after testing/fixing.
  • In current implementation, new 3D views will populate tabbed 3D views...
  • When populating custom layout, will have to count number of vtkMRMLViewNodes and assign to panes
  • Representation: vtkMRMLViewNode: state for a 3D view vtkSlicerViewerWidget, knows
  • Rep for cameras: vtkMRMLCameraNode: vtkMRMLViewNodes have vtkMRMLCameraNodes; ViewNodes can swap CameraNodes.
    • Seb mentions problem with a render being called in a viewer that has (temporarily) no camera, due to a swap -- vtk will create a new camera that has no MRML counterpart. need to fix.
  • Single scene contains all datasets; different datasets can be exposed/hidden in each view.
  • How will this work in use: how to configure a node's display parameters for each defined view on the scene?
  • Node's display params can consist of kwd/val pairs where kwd is the viewerID, value is the param for that viewer.
  • How to present this through the GUI in an intuitive way? Will think about this.