Difference between revisions of "Slicer4:SceneViewsModule"

From Slicer Wiki
Jump to: navigation, search
Line 6: Line 6:
  
 
In Slicer4, we've separated the concept of the scene view (the mrml scene at a particular point in time, showing/hiding various data) and screen snapshots (an image of the current interface, saved in .png or .jpg etc format). Scene views have a scene snapshot associated with them to provide a visual cue as to what the scene view contains. Screen snapshots now have storage nodes associated with them so that they are saved to disk with the MRML scene.
 
In Slicer4, we've separated the concept of the scene view (the mrml scene at a particular point in time, showing/hiding various data) and screen snapshots (an image of the current interface, saved in .png or .jpg etc format). Scene views have a scene snapshot associated with them to provide a visual cue as to what the scene view contains. Screen snapshots now have storage nodes associated with them so that they are saved to disk with the MRML scene.
 +
 +
== Developer Details ==
 +
 +
The Scene Views module is a QT loadable module.
 +
 +
=== Link to qMRMLThreeDViewsControllerWidget===
 +
 +
In order to bring up the scene view capture dialog from the Scene Views module from the 3d views controller widget, the qSlicerIOManager slot openScreenshotDialog goes through the application's module manager to access the "sceneviews" module:
 +
  qSlicerAbstractCoreModule *modulePointer = qSlicerApplication::application()->moduleManager()->module("sceneviews");
 +
Then it invokes a method on the module's top level widget:
 +
  QMetaObject::invokeMethod(modulePointer, "showSceneViewDialog");
 +
This moves control into the Scene Views module where the widget can access the widget representation's showSceneViewDialog() public slot. The module widget uses this same slot when the user clicks on the camera button to take a new scene view.
  
  

Revision as of 20:07, 16 June 2011

Home < Slicer4:SceneViewsModule
Return to Slicer 4 projects

Introduction

Actual view of the SceneViews Module

The Scene Views module allows a user to capture a screen snapshot to save with the scene view.

In Slicer4, we've separated the concept of the scene view (the mrml scene at a particular point in time, showing/hiding various data) and screen snapshots (an image of the current interface, saved in .png or .jpg etc format). Scene views have a scene snapshot associated with them to provide a visual cue as to what the scene view contains. Screen snapshots now have storage nodes associated with them so that they are saved to disk with the MRML scene.

Developer Details

The Scene Views module is a QT loadable module.

Link to qMRMLThreeDViewsControllerWidget

In order to bring up the scene view capture dialog from the Scene Views module from the 3d views controller widget, the qSlicerIOManager slot openScreenshotDialog goes through the application's module manager to access the "sceneviews" module:

  qSlicerAbstractCoreModule *modulePointer = qSlicerApplication::application()->moduleManager()->module("sceneviews");

Then it invokes a method on the module's top level widget:

 QMetaObject::invokeMethod(modulePointer, "showSceneViewDialog");

This moves control into the Scene Views module where the widget can access the widget representation's showSceneViewDialog() public slot. The module widget uses this same slot when the user clicks on the camera button to take a new scene view.


First implementation

Implemented in Slicer 4 circa Jan 2011

Mockup 2010-10

Mockup of the Scence Module
  • This is a mock-up for a proposed new module, the Scene Module
  • Take a new snapshot will have a toggle for 3d View only, red/yellow/green Slice viewer or the entire Slicer window as the ROI for the thumbnail