Difference between revisions of "Modules:MainApplicationGUI-Documentation"

From Slicer Wiki
Jump to: navigation, search
m (Undo revision 27601 by Dmwelch (Talk))
 
(29 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Documentation|Return to Slicer Documentation]]
 
[[Documentation|Return to Slicer Documentation]]
  
<gallery>
+
<gallery perrow="3" widths="300px" heights="200px">
Image:AppGUIMap.png | '''Figure A.''' Schematic of the main application GUI
+
Image:AppGUIMap.png | '''Figure A.''' Schematic of the [[ Modules:MainApplicationGUI-Documentation#Main_Application_GUI_organization | main application GUI ]]
Image:AppToolbarMap.png | '''Figure B.''' Schematic of the Application Toolbar
+
Image:AppToolbarMap.png | '''Figure B.''' Schematic of the [[Modules:MainApplicationGUI-Documentation#Application_Toolbar | Application Toolbar ]]
Image:SCGUIMap.png | '''Figure C.''' Schematic of the Controller for all Slice Viewers
+
Image:SCGUIMap.png | '''Figure C.''' Schematic of the [[Modules:MainApplicationGUI-Documentation#Slice_Viewer_Control_Panel | Controller for all Slice Viewers ]]
Image:VCGUIMap.png | '''Figure D.''' Schematic of the Controller for the 3D Viewer  
+
Image:VCGUIMap.png | '''Figure D.''' Schematic of the [[Modules:MainApplicationGUI-Documentation#3D_Viewer_Control_Panel | Controller for the 3D Viewer ]]
image:SliceGUIMap.png | '''Figure E.''' Schematic of a Slice Viewer and Slice Controller
+
image:SliceGUIMap.png | '''Figure E.''' Schematic of a [[Modules:MainApplicationGUI-Documentation#Slice_Viewers_.26_Controllers | Slice Viewer and Slice Controller]]
Image:SliceGUIMoreMap.png | '''Figure F.''' Schematic of Slice Viewer additional options
+
Image:SliceGUIMoreMap.png | '''Figure F.''' Schematic of [[Modules:MainApplicationGUI-Documentation#Slice_Viewers_.26_Controllers | Slice Viewer additional options ]]
Image:AppSettingsGUIMap.png | '''Figure G.''' Schematics of the Application Settings Interface
+
Image:AppSettingsGUIMap.png | '''Figure G.''' Schematics of the [[Modules:MainApplicationGUI-Documentation#View-.3EApplication_Settings_Interface: | Application Settings Interface ]]
Image:RemoteIOGUIMap.png | '''Figure H.''' Schematic of the Remote Data Handling Interface
+
Image:RemoteIOGUIMap.png | '''Figure H.''' Schematic of the [[Modules:MainApplicationGUI-Documentation#View-.3ECache_.26_RemoteIO_Manager: | Remote Data Handling Interface ]]
 
</gallery>
 
</gallery>
  
Line 200: Line 200:
  
 
== Slice Viewer Control Panel ==
 
== Slice Viewer Control Panel ==
The Slice Viewer Control Panel allows configuration of all Slice GUIs at once. The list of functionality included in Version 3.2 is diagrammed below:
+
The Slice Viewer Control Panel allows configuration of all Slice GUIs at once. The functionality represented by icons in Slicer Version 3.2 is described below:
  
 
[[image:SCGUIMap.png]]
 
[[image:SCGUIMap.png]]
Line 206: Line 206:
 
== 3D Viewer Control Panel ==
 
== 3D Viewer Control Panel ==
  
 +
The 3D Viewer Control Panel provides many options for configuring the 3D viewer. The left-most panel allows the view to be oriented along any of the principle axes. Axes highlight on mouse-over. The functionality included in the panel represented by icons and checkboxes is described in the diagram below. Finally, the right most viewer duals as a birds-eye-view display of the entire scene, or a slice magnifier window when the mouse moves over any of the slice windows.
  
 
[[image:VCGUIMap.png]]
 
[[image:VCGUIMap.png]]
 +
 +
==== Stereoscopic and Kinetic Depth ====
 +
The 3D Viewer provides a number of options for assessing depth and layout in complicated scenes. The stereo viewing pull-down menu, labeled "M" in the diagram above, provides several stereo viewing options, and the view rock (labeled "O") and view spin (labeled "N") animate the scene to help clarify feature shape, depth and layout.
  
 
==== Scene Snapshots====
 
==== Scene Snapshots====
* Scene snapshots are a good way to record a particular composition of a view. Among the things recorded are: Models turned on or off. Thresholds, window level, are the cross sections on or off, etc.
+
Scene snapshots provide a way to record particular compositions of a scene. These compositions are saved with the scene and can be restored for later inspection. Among the things recorded in each snapshot are:  
* Click on the camera icon to record a scenesnapshot.  
+
* Model visibility,
* Use the pull down menu to select from a list of existing ones.  
+
* Volume display threshold, window and level settings,  
* Click on the arrow to restore the view.
+
* Slice visibility in the 3D view.
 +
 
 +
To create or restore a scene snapshot:
 +
* Click on the camera icon (labeled "H" in the diagram below) to record a scenesnapshot.  
 +
* Use the pull down menu (labeled "L" in the diagram below) to select from a list of existing snapshots.  
 +
* Click on the arrow icon to restore the snapshot.
 +
* You can also click on the trashcan icon to delete the snapshot.
  
 
[[image:SceneSnapshots.png]]
 
[[image:SceneSnapshots.png]]
Line 232: Line 242:
  
 
[[image:AppLayouts.png]]
 
[[image:AppLayouts.png]]
 +
 +
 +
== Application Hot-keys (keyboard accelerators) ==
 +
 +
{| class="wikitable"
 +
|- border="1"
 +
! align="left" |Key(s)
 +
! align="left" |Action bound to key(s)
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+O'''
 +
| align="left" |Load a new scene (clears existing scene)
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+A'''
 +
| align="left" |Import a scene (does not clear existing scene)
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+W'''
 +
| align="left" | Close a scene
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+H '''
 +
| align="left" | Set the current module to be the "home" module -- the module that's exposed when Slicer starts up.
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+Z '''
 +
| align="left" | Undo the last undoable action
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+Y '''
 +
| align="left" | Redo the last redoable action
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Space-key '''
 +
| align="left" | Toggles the display of Slicer's Edit Box.
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+P '''
 +
| align="left" | Display the Python console
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+L '''
 +
| align="left" | Create a new fiducial list.
 +
|}
 +
 +
== Slice Viewer Hot-keys (keyboard accelerators) ==
 +
 +
{| class="wikitable"
 +
|- border="1"
 +
! align="left" |Key(s)
 +
! align="left" |Action bound to key(s)
 +
|-
 +
| style="width:200px" | <font color="blue"> '''` (back-tick key)'''
 +
| align="left" |Navigate to next fiducial in the active Slice Viewer, or in all viewers if they are linked
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+` (back-tick key)'''
 +
| align="left" |Navigate to next fiducial in all Slice Viewers, independent of their linked state
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Shift+` (back-tick key)'''
 +
| align="left" | Navigate to the previous fiducial in the active Slice Viewer, or in all viewers if they are linked
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Ctrl+Shift+` (back-tick key)'''
 +
| align="left" | Navigate to the previous fiducial in all Slice Viewers, independent of their linked state
 +
|-
 +
| style="width:200px" | <font color="blue"> '''p-key'''
 +
| align="left" | Place a new fiducial in the active Slice Viewer(adds to the current fiducial list, or creates a list if there are none)
 +
|-
 +
| style="width:200px" | <font color="blue"> '''o-key'''
 +
| align="left" | Turn on the Slice Plane reformat widget in the active Slice Viewer
 +
|-
 +
| style="width:200px" | <font color="blue"> '''v-key'''
 +
| align="left" | Toggles the slice plane visibility in the main 3D Viewer
 +
|-
 +
| style="width:200px" | <font color="blue"> '''r-key'''
 +
| align="left" | Fits the slice view to the volume extents in the active Slice Viewer, or in all viewers if they are linked (the first non-none volume will be used in order of Background, Foreground and Label layers)
 +
|-
 +
| style="width:200px" | <font color="blue"> '''b-key'''
 +
| align="left" | Decrement slice in the active Slice Viewer (left or down) by one unit of background pixel spacing
 +
|-
 +
| style="width:200px" | <font color="blue"> '''f-key'''
 +
| align="left" | Increment slice in the active Slice Viewer (right or up) by one unit of backgroun dpixel spacing
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Backspace-key'''
 +
| align="left" | When the mouse is hovering over a fiducial in the Slice Viewer (turning it yellow), delete that fiducial
 +
|-
 +
| style="width:200px" | <font color="blue"> '''Delete-key'''
 +
| align="left" | When the mouse is hovering over a fiducial in the Slice Viewer (turning it yellow), delete that fiducial
 +
|}
  
 
== Error Log ==
 
== Error Log ==

Latest revision as of 15:04, 11 July 2012

Home < Modules:MainApplicationGUI-Documentation

Return to Slicer Documentation

Contents

Main Application GUI organization

Slicer3's main desktop interface provides top-level access to most commonly-used features, and organizes them into logical groupings. These groups of features are presented in a number of interface panels on the GUI, as is illustrated in the basic layout below. The interface is designed to be easy to learn and remember, to ease navigation of Slicer's large (and growing) functionality, and to easily collapse and hide when you don't need to see it. Figures A through H in the gallery at the top of this page provide richer detail and will be described in sections below.

SlicerGUIIntro.png

As shown above, the logical groupings of Slicer's interface elements include:

  • The Application Menubar
  • The Application Toolbar
  • The Main GUI Panel, which consists of:
    • Slicer's Logo Panel
    • The Module GUI Panel
    • The Slice Viewer Controls
    • The 3D Viewer Controls
  • The 3D Viewer
  • Three Main Slice Viewers (Red, Yellow, and Green)and additional Slice Viewers
  • The Message Bar and Progress Gauge
  • And the Error Log Button

An overview of the functionality provided in each of these interface elements is provided below.


Application Menubar

The Application menubar is at the very top of Slicer3's main window, as noted above and in Figure A. Its menus and functionality are briefly listed below.

File menu

File->Load Scene:

This command raises a file browser (shown below). Slicer's file browser has a 'favorites' icon that allows you to save often-visited directories on the browser's left panel. Other features, including icons that allow you to navigate your browsing history, pop up a level in the directory structure (or folder hierarchy) and create new folders. To load a scene, navigate to a file of the appropriate format (.mrml, .xcat (XCEDE catalog file), or .xml (Slicer2 scene file) and select it for loading into Slicer. The command first clears any existing scene in Slicer and resets the application state.

FileBrowser.png


File->Import Scene:

This command raises a file browser to that you can navigate to a scene file and select it to be added to the existing Slicer scene. (The existing scene is not cleared).


File->Add Data:

This command raises an "Add Data" widget (shown below) that allows you to select individual datasets to add to the existing scene. It exposes the following functionality:

  • The "Add Directory" button adds all files within the selected directory to the file list.
  • The "Add File(s)" button adds all selected files to the file list.
  • The array of buttons across the top allow you to select and deselect files in the file list, remove selected files from the list, or describe how files should be loaded.
  • The "Apply" button loads all datasets in the list, and
  • The "Cancel" button aborts the entire load.

AppAddData.png


File->Add Volume:

This command raises an "Add Volume" widget (shown below) that allows you to select a volumetric dataset to add to the existing scene. The "Volume Options" panel can be used to clarify how a selected dataset should be loaded and displayed.

AppAddVolume.png


File->Save:

This command displays the "Save Data" widget, which offers many options for saving a scene and/or individual datasets. The widget includes a "Save Scene" panel and a "Save Data" panel beneath it.


Specifying a scene file to save: The Scene File button raises a file browser from which a file can be selected or a new scene file can be specified. If a scene has already been loaded from a MRML file, then its filename is presented as the default choice. To save the scene into a new MRML file, first select the directory/folder and then provide a file name. The Save Scene checkbox just below must be selected in order to save the scene file; otherwise, only selected datasets will be saved.

Indicating new and unsaved datasets: When the panel is first displayed, all datasets which have been newly created or modified since the scene was saved are checked by default in the "Save Data" panel's Save column. Any datasets in the scene can be checked/unchecked for saving/not saving using the checkboxes provided in this column. The Save All and Save None buttons check or uncheck all listed datasets, respectively. Any dataset's filepath and filename may be edited to save the dataset in a location different from that specified. To save an individual model/volume, first select it for storing and THEN select the directory/folder.

Converting to other data formats: Any dataset can be converted to a different (supported) format by editing the filename extension. Click at the end of the filepath/name string and edit. (nrrd is for nrrd files).

Supported formats: Formats that can be saved include (list here).

Saving data: Finally, selecting the Save button will launch the scene/data saving process, and Cancel will abort it.


AppSaveData.png


File->Close Scene:

This command closes the current scene and resets the application state.


File->Exit

This command exits Slicer.

Edit menu

====Edit->Set Home==== This command sets a user's 'home module', which is the module displayed by default each time the Slicer application is started. The home module is saved in the Application Registry.


Edit->Undo

This command undoes the history of undoable commands, from last to first.

Edit->Redo

This command re-does the history of commands most recently undone, from last to first.

Edit->Edit Box

This command raises the Edit-box, a lightweight image editing tool.

Edit->New Fiducial List

This command creates a new list of fiducial points.

View menu

View->Module Search:

View->Cache & RemoteIO Manager:

The Cache and Remote Data Handling interface provides status and information about all remote data transfers, and allows some control over the local cache. Remote I/O and Cache preferences can also be set in the Application Settings Interface, described next. Whether you set preferences here or there, they are saved in the Application Registry so that your settings are preserved each time you start up the Slicer Application.

The pop-up interface is shown below. Checkbuttons at the top left provide choices about download and caching behavior, and the cache directory, cache size limit, and cache free space buffer can be set at the interface bottom. Icon buttons at the top right allow global operations on all data transfers (cache clearing and transfer cancellation) and display updates (transfer panel cleanup and cache report refreshing). Each data transfer is listed in the transfer panel along with some information about its type and status.

Note: In version 3.2 of Slicer, downloads of datasets represented by multiple data files (such as DICOM) or separate data and header files (like Analyze) are not yet supported.

RemoteIOGUIMap.png

Below, all of the Cache & Remote Data I/O Manager icons are listed and described:

RemoteIOIcons.png

View->Application Settings Interface:

The Application Settings interface provides options for saving many of Slicer's Interface and Remote Data Handling options to the Application Registry, so they are preserved across sessions. The first time you start the application, it is recommended that you browse these settings and select options that you prefer. Some of the options provided in the interface are listed below:

  • Slicer Settings allow you to specify whether Slicer should confirm on delete, and set the location for other applications that Slicer may need to use (Firefox, Zip, etc.).
  • Font Settings options allows you to choose among several fonts and relative font sizes to be displayed in the GUI.
  • Module Settings options allow you to select a Temporary directory, a home module (that will be displayed each time Slicer starts up) and whether Slicer should include loadable and command-line modules on startup.
  • Remote Data Handling Settings options allow the specification of Cache and Remote Data I/O settings which are also configurable from the Cache and Remote Data I/O Manager described above.

AppSettingsGUIMap.png

Window menu

Window->Hide/Show Main Panel (Hotkey = F5):

This command collapses or expands the GUI panel and allows Slicer's viewers to occupy the entire application window, as shown below in Application Layouts figure C.

Window->Hide/Show Bottom Panel (Hotkey = F6):

This command collapses or expands the bottom split-panel in which Slice viewers are conventionally displayed, allowing the 3D view to occupy the vertical extent of the application window. The behavior of this command will vary, and may not be appropriate, depending on the selected layout (-- available layouts are described below.)

Window->Toolbars:

This command allows hiding or exposing sub-toolbars in the application toolbars, including the Load/Save toolbar, the undo/redo toolbar, the layout configuration, and the mouse mode toolbar.

Window->Log Window (Hotkey = Ctrl+Alt+E):

This command raises the error log display.

Window->Tcl Interactor (Hotkey = Ctrl+T):

This command raises the Tcl interactor for scripted interaction with Slicer data:

TclInteractor.png

Help menu

Help->Browse Tutorials:

This functionality is being developed.

Help->About Slicer3:

Provides a description of the Slicer3 effort and its support.

Feedback menu

Feedback->Report a Bug:

This command opens your Firefox web browser to http://www.na-mic.org/Bug/my_view_page.php so that any bug you encounter can quickly and easily be reported. Be sure to select the appropriate category for the bug and estimate its severity. It's recommended that you provide as much information as you can so that the bug can be reproduced by the development team.

Feedback->Report a Usability Issue:

This command opens your Firefox web browser to http://www.na-mic.org/Bug/my_view_page.php so that any usability issue you encounter can quickly be captured. Be sure to select the "usability" category for the issue and estimate its severity. We request that you describe the way in which the usability issue is impacting your work so that the usability and development team can address the issue appropriately. Suggestions and ideas are welcome!

Feedback->Make a Feature Request:

This command opens your Firefox web browser to http://www.na-mic.org/Bug/my_view_page.php so that community feature requests can easily be collected. We request that you clearly mark your submission as a "feature request" in the description field of the form.

Feedback->Community:

This command opens your Firefox web browser to http://www.slicer.org/slicerWiki/index.php/Slicer3:VisualBlog where you can post screenshots of interesting ways you are using the Slicer3 software package in your research and share them with the Slicer community.

Application Toolbar

Slicer's toolbar provides quick access to centralized load / save functionality, options for searching for and navigating among modules, undo/redo capability, ability to select different application layouts and change among mouse modes. Using and indicating mouse modes in Slicer is still under development, so this part of the toolbar will likely change in future releases. For now, "Mouse place" is used to create new objects, like fiducial points. "Mouse pick" is intended for selecting objects. "Transform view" is the default mode, used to pan, zoom and rotate the camera in the 3D viewer. Individual icons in the toolbar are labeled below.

AppToolbarMap.png

The Windows->Toolbars submenu allows showing/hiding parts of this toolbar, including the Load/Save toolbar, the undo/redo toolbar, the layout configuration, and the mouse mode toolbar.

Module GUI Panel

Conventions and window position:

By default, the Module GUI panel is located on the left of the application window. The panel that contains the Module GUI, Slices Control GUI and 3D Viewer Control GUI (both described below) can be moved to the right side also by selecting that option from the layout menu on the toolbar, if that working configuration is found to be more convenient. Each Slicer module populates the Module GUI panel with its interface; all modules have a Help & Acknowledgement frame that presents brief help text and pointers to additional information, and appropriate acknowledgement for the work as shown in the figure below.

Collapsing and expanding frames:

Each module GUI contains its functionality inside collapsing and expanding frames, also shown below, to minimize the need to scroll among individual blocks of functionality within a module. The frames can be collapsed or expanded by clicking in the title frame. The Slices Control and 3D Viewer Control GUI panels also can be collapsed to make more space for a module GUI.

ModuleGUIPanel.png

Slice Viewer Control Panel

The Slice Viewer Control Panel allows configuration of all Slice GUIs at once. The functionality represented by icons in Slicer Version 3.2 is described below:

SCGUIMap.png

3D Viewer Control Panel

The 3D Viewer Control Panel provides many options for configuring the 3D viewer. The left-most panel allows the view to be oriented along any of the principle axes. Axes highlight on mouse-over. The functionality included in the panel represented by icons and checkboxes is described in the diagram below. Finally, the right most viewer duals as a birds-eye-view display of the entire scene, or a slice magnifier window when the mouse moves over any of the slice windows.

VCGUIMap.png

Stereoscopic and Kinetic Depth

The 3D Viewer provides a number of options for assessing depth and layout in complicated scenes. The stereo viewing pull-down menu, labeled "M" in the diagram above, provides several stereo viewing options, and the view rock (labeled "O") and view spin (labeled "N") animate the scene to help clarify feature shape, depth and layout.

Scene Snapshots

Scene snapshots provide a way to record particular compositions of a scene. These compositions are saved with the scene and can be restored for later inspection. Among the things recorded in each snapshot are:

  • Model visibility,
  • Volume display threshold, window and level settings,
  • Slice visibility in the 3D view.

To create or restore a scene snapshot:

  • Click on the camera icon (labeled "H" in the diagram below) to record a scenesnapshot.
  • Use the pull down menu (labeled "L" in the diagram below) to select from a list of existing snapshots.
  • Click on the arrow icon to restore the snapshot.
  • You can also click on the trashcan icon to delete the snapshot.

SceneSnapshots.png

Main 3D Viewer

Slice Viewers & Controllers

Slice orientation and Oblique reformats

On each viewer, there is a menu button in the upper left of the control pane that usually says "axial", "coronal", or "sagittal". There is a forth option that one can select from the button which is "reformat". Slice viewers can be used to specify oblique reformats using the 'Reformat' orientation (instead of axial, coronal, sagittal) and CTRL-Right-Button-Move (subject to change).


SliceGUIMap.png SliceGUIMoreMap.png

Window and layout configurations

AppGUIBasicConfigure.png

AppLayouts.png


Application Hot-keys (keyboard accelerators)

Key(s) Action bound to key(s)
Ctrl+O Load a new scene (clears existing scene)
Ctrl+A Import a scene (does not clear existing scene)
Ctrl+W Close a scene
Ctrl+H Set the current module to be the "home" module -- the module that's exposed when Slicer starts up.
Ctrl+Z Undo the last undoable action
Ctrl+Y Redo the last redoable action
Space-key Toggles the display of Slicer's Edit Box.
Ctrl+P Display the Python console
Ctrl+L Create a new fiducial list.

Slice Viewer Hot-keys (keyboard accelerators)

Key(s) Action bound to key(s)
` (back-tick key) Navigate to next fiducial in the active Slice Viewer, or in all viewers if they are linked
Ctrl+` (back-tick key) Navigate to next fiducial in all Slice Viewers, independent of their linked state
Shift+` (back-tick key) Navigate to the previous fiducial in the active Slice Viewer, or in all viewers if they are linked
Ctrl+Shift+` (back-tick key) Navigate to the previous fiducial in all Slice Viewers, independent of their linked state
p-key Place a new fiducial in the active Slice Viewer(adds to the current fiducial list, or creates a list if there are none)
o-key Turn on the Slice Plane reformat widget in the active Slice Viewer
v-key Toggles the slice plane visibility in the main 3D Viewer
r-key Fits the slice view to the volume extents in the active Slice Viewer, or in all viewers if they are linked (the first non-none volume will be used in order of Background, Foreground and Label layers)
b-key Decrement slice in the active Slice Viewer (left or down) by one unit of background pixel spacing
f-key Increment slice in the active Slice Viewer (right or up) by one unit of backgroun dpixel spacing
Backspace-key When the mouse is hovering over a fiducial in the Slice Viewer (turning it yellow), delete that fiducial
Delete-key When the mouse is hovering over a fiducial in the Slice Viewer (turning it yellow), delete that fiducial

Error Log

RaiseErrorLog.png

ErrorLog.png

Message and Progress Bar