Difference between revisions of "2010 NAMIC Project week: Viewer Manager Factory"
Line 37: | Line 37: | ||
<h3>Progress</h3> | <h3>Progress</h3> | ||
− | * created architecture and coded initial implementation | + | * created architecture and coded initial implementation of new vtkMRMLDisplayableManager library including |
** vtkMRMLDisplayableManagerFactory class | ** vtkMRMLDisplayableManagerFactory class | ||
** vtkMRMLAbstractDisplayableManager class | ** vtkMRMLAbstractDisplayableManager class | ||
− | ** vtkMRMLModelDisplayableManager | + | ** vtkMRMLModelDisplayableManager class |
</div> | </div> |
Latest revision as of 03:38, 25 June 2010
Home < 2010 NAMIC Project week: Viewer Manager Factory
Key Investigators
- Alex Yarmarkovich, Kilian, Steve, Nicole, JC, Julien
Objective
Create a pluggable structure for managing MRML<-->VTK Rendering and Widget interactions in the context of Slicer4. This include mapping MRML annotation nodes to and from vtkWidgets, mapping vtkMRMLModelNode and hierarchies to vtkActors/vtkMappers.
Others:
- Fidicials (all annotations)
- ROIs
- VolumeRendering
- Module-specific rendering (should be possible for loadable module to register a class that maps MRML nodes to-from elements in the vtkRenderWindow
Approach, Plan
Create a vtkSlicerManagerFactory and vtkSlicerAbstractManager. The vtkSlicerAbstractManager is parameterized by a vtkRenderWindow and is subclassed for each purpose. The vtkSlicerManagerFactory holds a registry of manager types so that when a new 3D Viewer is create, a set of managers is associated with the viewer.
Loadable modules should be able to access to ManagerFactory and register custom manager types to handle their custom nodes.
Progress
- created architecture and coded initial implementation of new vtkMRMLDisplayableManager library including
- vtkMRMLDisplayableManagerFactory class
- vtkMRMLAbstractDisplayableManager class
- vtkMRMLModelDisplayableManager class
Delivery Mechanism
This work will be delivered to the NA-MIC Kit as a (please select the appropriate options by noting YES against them below)
- ITK Module
- Slicer Module
- Built-in
- Extension -- commandline
- Extension -- loadable
- Other (Please specify) YES: Slicer4 base code.