Difference between revisions of "Documentation/4.0/SlicerApplication/MainApplicationGUI"

From Slicer Wiki
Jump to: navigation, search
(Created page with '='''CURRENTLY UNDER DEVELOPMENT'''= The dcumentation below for the main GUI of 3D Slicer version 4.0 is currently under development. =Overview= Slicer4's main desktop interfa…')
 
(Prepend documentation/versioncheck template. See http://na-mic.org/Mantis/view.php?id=2887)
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
='''CURRENTLY UNDER DEVELOPMENT'''=
+
<noinclude>{{documentation/versioncheck}}</noinclude>
 +
<!-- ---------------------------- -->
 +
{{documentation/{{documentation/version}}/slicerapplication-header}}
 +
<!-- ---------------------------- -->
  
The dcumentation below for the main GUI of 3D Slicer version 4.0 is currently under development.
 
  
 
=Overview=
 
=Overview=
 +
{|width="100%"
 +
|
 +
__TOC__
  
 +
|align="right"|
 +
[[image:Slicer4ApplicationGUIMap.jpg|450px|Slicer Main GUI]]
 +
|}
 +
Slicer4'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.
  
Slicer4'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 I in the "Individual frames" gallery a little further down on this page provide richer detail and will be described in the following sections.
+
==Application Menu==
  
[[image:SlicerGUIIntro.png ]]
+
Slicer's Application Menu contains many useful features. A brief overview of some of these is given below.
  
As shown above, the logical groupings of Slicer's interface elements include:
+
*File Menu
* The Application Menubar
+
**The File Menu contains options for loading a MRML scene, for downloading sample datasets from the internet, or individual datasets of various types. An option for saving scenes and data is also provided here.
* The Application Toolbar
+
*Edit Menu
* The Main GUI Panel, which consists of:
+
**The Edit menu contains an option to raise the Application Settings Interface. This interface allows users to customize their installation of Slicer. '''Edit->Application Settings'' can be used to include or suppress various Slicer modules, to customize the appearance of your Python Interactor, to select a custom font, to specify a temporary directory, and to accomplish other customizations as well.
** Slicer's Logo Panel
+
*View Menu
** The Module GUI Panel
+
**This menu contains options to raise the Python Interactor and the Error Log, both useful developer tools. Menu options to switch layouts, and to toggle the display of individual toolbars and the module GUI panels are also provided under the View Menu.
** 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.
+
[[image: Slicer4AppMenu.jpg  | center]]
  
=Individual Panels=
+
==Toolbar==
  
<gallery perrow="3" widths="300px" heights="200px">
+
The Toolbar provides shortcuts to many useful sets of functionality. The following toolbars appear here by default. Customization is possible from the Slicer View Menu.
Image:Slicer36-AppGUIMap.png | '''Figure A.''' Schematic of the main application GUI
 
Image:Slicer36-ToolbarMap.png | '''Figure B.''' Schematic of the Application Toolbar
 
Image:SCGUIMap.png | '''Figure C.''' Schematic of the Controller for all Slice Viewers
 
Image:VCGUIMap.png | '''Figure D.''' Schematic of the Controller for the 3D Viewer
 
image:Slicer36-SliceViewerMap.png | '''Figure E.''' Schematic of a Slice Viewer and Slice Controller
 
Image:Slicer36-ModuleGUIPanels.png | '''Figure F.''' Schematic of an expanding/collapsing module GUI panel
 
Image:Slicer36-SliceGUIMoreMap.png | '''Figure G.''' Schematic of Slice Viewer additional options
 
Image:AppSettingsGUIMap.png | '''Figure H.''' Schematics of the Application Settings Interface
 
Image:RemoteIOGUIMap.png | '''Figure I.''' Schematic of the Remote Data Handling Interface
 
</gallery>
 
  
= Application Menubar =
+
*Load & Save Options
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.
+
**The '''Load Scene''' option will raise a browser to select and load a collection of data as a MRML scene. This option clears the existing scene and resets the application state. The '''Save''' option will raise the "Save Data" Interface which offers a variety of options for saving MRML scenes and individual datasets.
 +
*Module Selection & Navigation
 +
**The Module Selection & Navigation toolbar provides options for searching for module names, selecting from a module menu, and moving backward and forward through the module selection history for convenience.
 +
*Core Modules
 +
**The Core Module Toolbar provides shortcuts to your "Home" module, and some of Slicer's core modules including
 +
*** Models
 +
*** Transforms
 +
*** Data
 +
*** Volumes
 +
*** Annotations
 +
*** Interactive Editor
 +
*Layouts
 +
**The Layout Toolbar provides a drop-down menu of layouts useful for many types of studies. When Slicer is exited normally, the selected layout is saved and restored as part of the Application state.
  
== File menu ==
+
[[image:Slicer4Layouts.jpg | center]]
 +
*Mouse Modes
  
Several loading options are available from the file menu. Below is a '''general overview''' of these options. For information about accessing the functionality described below and loading other types of data (like transforms, fiducial lists, color tables, DTI fiber bundles ''etc''.) through the Data Module, see [[Modules:Data-Documentation-4.0 | Slicer's Data Module documentation]].
+
[[image:Slicer4MouseModeToolbar.jpg | center]]
 +
**Slicer has two mouse modes: '''Transform''' (which allows interactive rotate, translate and zoom operations), and '''Place''' (which permits objects to be interactively placed in 3D or 2D). The toolbar icons that switch between these mouse modes are shown from left to right above, respectively. '''Place Fiducial''' is the default place option as shown above; options to place both '''Ruler''' and '''Region of Interest''' Widgets are also available from the drop-down Place Mode menu.
  
<br>
+
'''Hint: Transform''' mode is the default interaction mode. By default, '''Place''' mode persists for one "place"
<br>
+
operation after the Place Mode icon is selected, and then the mode switches back to Transform. Place mode
 +
can be made persistent (useful for creating multiple fiducial points, rulers, etc.) by checking the
 +
'''Persistent''' checkbox shown rightmost in the Mouse Mode Toolbar.
  
'''File->Load Scene:'''  
+
*Screenshots & Scene Views
 +
**This toolbar presents options for capturing screenshots and '''Scene Views'''. A Scene View is a description of the state of the MRML scene at the time of its capture that can be restored at any time. This mechanism is useful for preparing and viewing multiple interesting presentations of a complicated dataset.
 +
*Crosshair Options
 +
**The Crosshair Toolbar provides a set of options for customizing the appearance and behavior of the crosshairs across all Slice Viewers.
  
This command raises a file browser (shown below). Slicer's file browser has 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'''.
+
[[ image:Slicer4CrosshairOptions.jpg | center]]
  
[[image:FileBrowser.png]]
+
==Module Panel==
<br>
 
<br>
 
  
'''File->Import Scene:'''
+
Any selected module in Slicer will display its user interface in the '''Module Panel'''. The panel may be undocked (by left-clicking & dragging the panel chrome or by selecting its undock icon; hidden by selecting the hide (X) icon, or have its display toggled by selecting View->Module Panel. The panel can be re-docked by double-clicking on its chrome.
  
This command raises the same file browser shown above. Navigate to and select a scene file to be added to the existing Slicer scene. '''(The existing scene is not cleared)'''.
+
==Data Probe==
<br>
 
<br>
 
  
'''File->Add Data:'''
+
The Data Probe interactively reports data values at voxels indexed by the current mouse position in all layers (Label, Foreground and Background).
  
This command raises an "Add Data" widget (shown below) that allows you to select individual datasets to add to the existing scene. This load option is most useful when you want to load many different data types at once (volumes, models, ''etc.'') which may not yet be described by a scene file. It exposes the following functionality:
+
See the [[Documentation/{{documentation/version}}/Modules/DataProbe|Data Probe documentation]] for more information about the data values displayed.
  
* The array of buttons across the top allow you to select and deselect files in the file list, remove selected files from the list, o* The "Add Directory" button adds all files within the selected directory to the file list.
+
== 3D Viewer ==
* The "Add File(s)" button adds all selected files to the file list.
 
r describe how files should be loaded.
 
* The "Apply" button loads all datasets in the list, and
 
* The "Cancel" button aborts the entire load.
 
  
[[image:AppAddData.png]]
+
Access the 3D Viewer Controller by mousing over the '''push-pin''' icon in the top left corner of any 3D Viewer. The panel may be opened persistently by clicking the push-pin icon which effectively "pins" it open. Clicking again "unpins" the panel. Next to the push-pin, a unique ID may be found that distinguishes this 3D viewer from other 3D viewers that may have been created when other layouts were selected. The panel contains options for setting the viewpoint direction, and configuring the appearance and behavior of any 3D Viewer.  
  
<br>
+
[[image:Slicer43DViewController.jpg | center ]]
<br>
 
  
'''File->Add Volume:'''
+
== Slice Viewers ==
  
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. This load option is particularly useful for loading DICOM data, for which its DICOM information parsing panel can be helpful.
+
Access any Slice Viewer's Controller by mousing over its '''push-pin''' icon in the top left corner of any slice viewer. The panel may also be opened persistently by clicking the push-pin icon. Next to the push-pin a unique ID may be found that distinguishes the particular Slice Viewer from other Slice Viewers that may have been created when other layouts were selected. A '''Slice Scrollbar''' is provided for manually sweeping through slices and a slice number entry widget is also provided at the top right of the display for manually indexing a particular slice. Each Slice Viewer contains options for displaying each of the layers (Foreground, Background and Label) including their visibility in the 3D viewer.  
  
[[image:AppAddVolume.png]]
+
Some Slice Viewer configuration options may be applied to '''one or all''' Slice Viewers by using the '''Link''' option. When viewers are unlinked, an option applies only to the viewer being adjusted. When viewers are linked, the option will apply to '''all''' Slice Viewers. Link and Unlink are persistent settings, and the additional  '''Hot-Link''' option available from the pull-down menu applies only for one mouse operation.
<br>
 
<br>
 
  
'''File->Save:'''
+
[[image:Slicer4SliceViewController.jpg | center]]
  
This command displays the "Save Data" widget, which offers many options for saving a scene and/or individual datasets. The widget is shown below:
+
== Mouse & Keyboard Across Platforms ==
  
[[image:AppSaveData.png]]
+
Below is basic information about how to use the three-, two-, and one-button mouse (or trackpad) on
 +
Windows, Mac, and Linux platforms to perform basic interaction operations in Slicer.
  
'''Specifying a scene file to save:''' The ''Scene Description'' entry is always listed in the top row of the table. 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, either provide an alternate file name, or provide a new Data Directory. 
+
===Adjusting Window & Level on All Platforms===
  
'''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'' column. Any datasets in the scene can be checked/unchecked for saving/not saving using the checkboxes provided in this column. The icon buttons in the top left corner (from left to right) of the window provide shortcuts to modify the default selection:
+
Left-clicking and dragging the mouse in any Slice viewer is a quick way to adjust Window and Level. Adjust the middle value (level) of the greyscale window by moving the mouse up (increase level) or down (decrease level), and adjust the greyscale window size by moving the mouse to the left (decrease window size) or right (increase window size). Slicer's '''Volumes Module''' provides a "Display" interface panel for making more precise adjustments.
  
* '''Select Scene and Modified Data''',
+
===Selecting & Manipulating on All Platforms ===
* '''Select Modified Data''' only,
 
* '''Select All''', and
 
* '''Select None'''.
 
  
These icons are shown and annotated below, under the SaveData illustration. Any individual checkbox can also be used to modify the selection state.
+
Mousing over any "pickable" object in any of Slicer's viewers will cause the cursor to change from a "pointer"
 +
into a "picking hand". When the cursor shows a picking hand, left-clicking and dragging the mouse will pick and
 +
manipulate the object. Releasing the mouse button will deselect the object.
  
[[image:AppSaveDataIcons.png]]
+
===Viewer Cross-Reference on All Platforms ===
  
'''Converting to other data formats:''' Any dataset can be converted to a different (supported) format by editing the filename extension. '''Note that some format conversions may be lossy'''. To change formats, select from the list provided in the File Format column. A dataset's filepath and filename may be edited to save the dataset in a location different from that specified.  
+
Holding down the '''Shift-Key''' while moving the mouse in any Slice Viewer will cause other
 +
Slice Viewers to interactively scroll to the same RAS position indexed by the mouse. This feature
 +
is useful when inspecting multiple registered studies.
  
'''Supported formats:''' Formats that can be saved include:
+
===Zoom In & Out in Slice & 3D Viewers ===
* Volumes
 
** NRRD (.nrrd)
 
** NRRD (.nhdr)
 
** MetaImage (.mhd)
 
** MetaImage (.mha)
 
** VTK (.vtk)
 
** Analyze (.hdr)
 
** Analyze (.img)
 
** Analyze (.img.gz)
 
** BMP (.bmp, .BMP)
 
** BioRad (.pic)
 
** Brains2 (.mask)
 
** GIPL (.gipl, .gipl.gz)
 
** JPEG (.jpg, .jpeg, .JPG, .JPEG)
 
** LSM (.lms, .LSM)
 
** NifTI (.nia)
 
** NifTI (.nii, .nii.gz)
 
** PNG (.png, .PNG)
 
** Stimulate (.spr)
 
** TIFF (.tiff, .tif, .TIFF, .TIF)
 
* Models
 
** Poly Data (.vtk)
 
** XML Poly Data (.vtp)
 
** STL (.stl)
 
* Fiducials
 
** Fiducial List CSV (.fcsv)
 
** Text (.txt)
 
* Transforms
 
** Transform (.tfm)
 
** Text (.txt)
 
  
'''Saving data:''' Finally, selecting the ''Save Selected'' button will launch the scene/data saving process, and ''Cancel'' will abort it.
+
* '''Windows, Mac & Linux''' with
<br>
+
** '''3-Button Mouse:''' Right-click & drag down & up
<br>
+
** '''2-Button Mouse:''' Right-click & drag down & up
 +
** '''1-Button Mouse:''' Ctrl+Left-click & drag down & up
 +
* '''Mac with trackpad''': two-finger click & drag
  
'''File->Close Scene:'''
+
===Pan (Translate) in Slicer & 3D Viewers ===
  
This command closes the current scene and resets the application state.
+
* '''Windows, Mac & Linux''' with
<br>
+
** '''3-Button Mouse:''' Middle-click & drag
<br>
+
** '''2-Button Mouse:''' Shift+Left-click & drag
 +
** '''1-Button Mouse:''' Shift+Left-click & drag
  
'''File->Exit'''
+
===Rotate in 3D Viewers ===
  
This command exits Slicer.
+
* '''Windows, Mac & Linux''' with
 +
** '''3-Button Mouse:''' Left-click & drag
 +
** '''2-Button Mouse:''' Left-click & drag
 +
** '''1-Button Mouse:''' Left-click & drag
  
== Edit menu ==
+
<!-- ---------------------------- -->
 
+
{{documentation/{{documentation/version}}/slicerapplication-footer}}
 
+
<!-- ---------------------------- -->
'''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.
 
 
 
==View menu ==
 
 
 
'''View->Manage Extensions:'''
 
 
 
''This [[Modules:ExtensionsManagementWizard-Documentation-4.0 |Extensions Management Wizard]] provides status and information about available extensions for 3.6''
 
 
 
'''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.
 
 
 
[[image:RemoteIOGUIMap.png]]
 
 
 
Below, all of the Cache & Remote Data I/O Manager icons are listed and described:
 
 
 
[[image:RemoteIOIcons.png |center ]]
 
 
 
'''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.
 
 
 
[[image: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:
 
 
 
[[image:TclInteractor.png |center ]]
 
 
 
==Help menu ==
 
 
 
'''Help->Browse Tutorials:'''
 
 
 
Raises Slicer's training page in your web browser (Note:if using Mozilla Firefox you will need to have specified the location of Mozilla Firefox executable in Slicer's Application Settings Interface: '''Application Settings->Slicer Settings''').
 
 
 
'''Help->About Slicer4:'''
 
 
 
Provides a description of the Slicer3 effort and its support.
 
 
 
'''Help->Keyboard Shortcuts:'''
 
 
 
Raises a window that lists commonly-used keyboard shortcuts.
 
 
 
==Feedback menu ==
 
'''Note: for all commands in the Feedback Menu, you will need to have specified the location of your browser's executable in Slicer's Application Settings Interface: Application Settings->Slicer Settings) so Slicer knows how to launch the web browser.
 
 
 
'''Feedback->Report a Bug:'''
 
 
This command opens your 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 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:'''
 
<pb>
 
=HERE=
 
<pb>
 
This command opens your 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.
 
 
 
= 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.
 
 
 
[[image:Slicer36-ToolbarMap.png]]
 
 
 
The Window->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.
 
 
 
Brief '''Help Text''' and '''Module Attribution and Acknowledgements''' can be found in the topmost panel in any module.
 
 
 
[[image:Slicer36-ModuleGUIPanels.png |center ]]
 
 
 
= 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.6 is described below:
 
 
 
[[image:SCGUIMap.png |center ]]
 
 
 
= 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 six principle axes ('''S'''uperior, '''I'''nferor, '''A'''nterior, '''P'''osterior, '''L'''eft or '''R'''ight). Axis symbols highlight on mouse-over. The functionality included in the panel represented by icons and checkboxes is described in the diagram below. Finally, the rightmost 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 |center ]]
 
 
 
== 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 schmatic 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.
 
 
 
== Screen Captures ("Screenshots")==
 
Screen captures of the 3D Viewer can be saved by selecting the icon labeled "D" in the schematic above. This raises the Screen Capture interface (shown below) that allows you to specify a save destination, a filename, version number, image format and exposes the option for overwriting existing files.
 
 
 
[[image:VCGUI-Screenshots.png |center ]]
 
 
 
== 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 schematic above) to record a scenesnapshot.
 
* Use the pull down menu (labeled "L" in the schematic above) 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 |center ]]
 
 
 
= Slicer Viewers =
 
In this section, Slicer's Slice Viewers and Main 3D Viewer are described, and options for configuring their layout and display of information.
 
 
 
== Slice Viewers (and their Controllers) ==
 
 
 
Slicer's three main Slice Viewers are color-coded Red, Yellow and Green. By default, these correspond to '''Axial''', '''Saggital''' and '''Coronal''' slice orientations respectively, but this can be modified by a user. In Slicer's '''Compare View''' layout (described a little later), the Slice Viewers are color-coded Orange.
 
 
 
All Slice viewers have their own Slice Controller, which can be expanded or collapsed by clicking in the colored bar at their top, for convenience. The Red Viewer is shown below, expanded and collapsed as described. Note that corner annotations are displayed when the mouse hovers over any viewer.
 
 
 
[[image:SliceControllerGUICollapseAndExpand.png |center ]]
 
 
 
The Slice GUI Controller provides ways to manipulate its individual Slice View, and provides ways to manipulate all "linked" Slice Viewers. Below is a schematic of the individual controls provided with each Slice Viewer; these, and "linked" control are described (briefly) in subsequent sections.
 
 
 
[[image:SliceGUIMap.png |center ]]
 
 
 
===Slice orientation and Oblique reformats===
 
On each Slice Viewer, an '''Orientation''' menu button in the upper left of the control panel provides the option to display an  "Axial", "Coronal", "Sagittal", or "Reformat" slice orientation in the Viewer. 
 
 
 
Slice viewers can be used to specify oblique reformats in two ways:
 
* first by using the "Reformat" orientation and CTRL-Right-Button-Move (subject to change and something of an "art" to control).
 
* and second by selecting the '''Show Reformat Widget''' option ([[image:SliceControllerShowReformatWidget.png]]) from the Slice Controller's '''More Options''' menu ([[image:SliceControllerMoreOptions.png]]), and interacting with the widget. The widget can be toggled off using the menu's '''Hide Reformat Widget''' option ([[image:SliceControllerHideReformatWidget.png]]). Using this widget's interactive box & arrow to reformat the slice plane (illustrated below) causes the Orientation selector to display the "Reformat" orientation, and the Slice Viewer to display the reformatted plane.
 
''Note: Reformat widgets are like pop-up menus - their on/off state is not saved in the MRML scene or in scene snapshots.  The orientation of the oblique reformat is saved in the scene.''
 
 
 
[[image:AppDoc-ReformatWidget.png |center ]]
 
 
 
===Linking Control of Slice Viewers===
 
 
 
Control of slice viewers can be linked to save time setting them up and manipulating their display individually. The icons shown below, found in the leftmost of each Slice Controller's toolbar, toggle linking and unlinking of the viewers.
 
 
 
[[image:AppDoc-SliceLink.png]]
 
 
 
When Slice Viewers are linked, the "linked" icon ([[image:AppDoc-SlicesLinked.png]])is displayed. Clicking the icon-button will unlink the Viewers, and will display the "Unlinked" icon ([[image:AppDoc-SlicesUnlinked.png]]). When the Slice Viewers are linked, many but not all of the controllers' options apply to all viewers. The following controls are linked:
 
 
 
* Orientation
 
* FG, BG, Label selectors
 
* Visibility
 
* Fit To Window
 
* Adjust Label Map Opacity
 
* Show/Hide Label Volume Outlines
 
* Show/Hide Reformat Widget
 
 
 
===Slice Plane Visibility in 3D Viewer===
 
 
 
The Slices shown in each of the Slice Viewers may be displayed in the Main 3D Viewer as well. Their visibility in the 3D Viewer is controlled with the '''Visibility''' icon button in the Slice Controllers, as shown in the figure below. When Slices are visible in the 3D Viewer, the "visible" icon ([[image:AppDoc-SlicesVisible.png]])is displayed. Clicking the icon-button will hide the Slices in the 3D Viewer, and will display the "Invisible" icon ([[image:AppDoc-SlicesInvisible.png]]).
 
 
 
[[image:AppDoc-SliceVisibility.png |center ]]
 
 
 
===Other Slice GUI options===
 
 
 
The Slice controllers offer other options as well, available under the '''More Options''' menubutton ([[image:SliceControllerMoreOptions.png]]). Options here include some of those available in the '''Slices Controller GUI''' and some additional. These options, each shown in the figures '''A - I''' below, include:
 
 
 
* A. Fit a slice to the size of a Viewer's window
 
* B. Change orientation to match the Volume plane
 
* C. Adjust the opacity of a label map
 
* D. Show/Hide outlines around labels in a label map
 
* E. Show/Hide the Slice Reformat Widget
 
* F. Select options for compositing slice layers
 
* G. Choose manual or automatic slice spacing modes
 
* H. Create a lightbox view within a Slice Viewer
 
* I. Adjust the display of Foreground, Background or Label layers.
 
 
 
[[image:Slicer36-SliceGUIMoreMap.png]]
 
 
 
===Configuring Slice Viewers when the Controllers are collapsed ===
 
 
 
In Slicer's '''Slices Module''', all Slice Viewers' Slice Controllers are arrayed in a vertical stack; When screen real estate must be maximized, the individual Slice Viewers' Controllers can be collapsed and the GUI panel's controllers can be used to manipulate the Viewers instead. The Slices Module's GUI panel is shown below.
 
 
 
[[image:SlicesGUIPanel.png |center ]]
 
 
 
<br>
 
<br>
 
 
 
== Main 3D Viewer ==
 
 
 
=== Default elements and their visibility===
 
 
 
Slicer's Main 3D Viewer displays a three-dimensional view of the scene. By default, the scene includes some elements for spatial reference including a 3D wireframe cube centered around the origin (0,0,0) and labels along each of the principle axes ('''R'''ight, '''L'''eft, '''S'''uperior, '''I'''nferior, '''A'''nterior, and '''P'''osterior). Slicer's default blue background color, as well as the visibility of the spatial references in the view, can be modified in the View Control GUI panel's visibility menu, as shown below:
 
 
 
[[image:AppDoc-VCGuiVisibility.png]]
 
 
 
=== Interacting ===
 
 
 
You can adjust the view in the Main 3D Viewer using the mouse or keyboard (for information on the latter, please see the Keyboard Shortcuts section):
 
 
 
* '''Zoom in:''' Right-mouse-button click-and-drag toward you. (Imagine pulling the scene closer)
 
* '''Zoom out:''' Right-mouse-button click-and-drag away from you. (Imagine pushing the scene away)
 
* '''Pan''' (shift the look-at point): Middle-mouse-button click-and-drag left, right, up or down.
 
* '''Rotate Around''' a look-at point: Left-mouse-button click-and-drag.
 
 
 
If you need more precise control, or if the view gets into some hard-to-manage configuration, the View Control GUI panel can be used to reset the look-from and look-at point in a manageable way:
 
 
 
[[image:AppDoc-VCGuiSetView.png]]
 
 
 
=== GUI Panel Configurations ===
 
 
 
Slicer can be configured to show or hide the Module GUI panel, and to display it on the left or right side of the Viewers. These options are accessed as follows:
 
 
 
* Show/Hide Module GUI Panel: F5-key or Toolbar's Layout Menubutton ([[image:AppDoc-layoutIcon.png]])->Toggle GUI panel visibility
 
* Move Module GUI Panel to the Left/Right: Toolbar's Layout Menubutton ([[image:AppDoc-layoutIcon.png]])->Toggle GUI panel L/R
 
* Show/Hide Bottom Panel: F6-key (this option is only really useful in Slicer's Conventional View)
 
 
 
[[image:AppGUIBasicConfigure.png]]
 
 
 
=== Selecting Among Standard Layouts ===
 
 
 
In addition, there are a number of ways to arrange the Slice and 3D Viewers. We hope to offer a more extensible suite of configuration options in the future. At present, these options are available from Slicer's Application Toolbar's Layout Menubutton ([[image:AppDoc-layoutIcon.png]]), and are illustrated below:
 
 
 
 
 
[[image:Slicer36-AppLayouts.png]]
 
 
 
==== Notes about Multiple 3D Views ====
 
 
 
Slicer 3.6 contains partial support for multiple 3D views, but many of the slicer tools such as Measurements are only visible in the main view (the view on the left in the Dual 3D View layout).
 
 
 
= Error Log =
 
 
 
Finally, the application has an accessible error log in the event of unexpected behavior or error messages -- this readout is useful for reporting bugs or usability problems back to the Slicer Development Team. The error log can be raised in the following ways:
 
 
 
* Typing '''Ctrl+Alt+E'''
 
* Menubar's '''Window->Error Log'''
 
* Clicking the '''Error Log icon''', which is displayed only if any error reports are present, and as shown below.
 
 
 
[[image:RaiseErrorLog.png]]
 
 
 
[[image:ErrorLog.png]]
 
 
 
 
 
 
 
= Status Text and Progress Bar =
 
 
 
For some operations, loading, saving or processing may take awhile; Slicer may post status text at the bottom of the Application's window (shown below) that helps you to understand what it's working on. This readout isn't available as often as it should be; we hope to address this usability issue in future software releases. If you encounter any situation in which a status update would be especially useful but none exists, please report your discovery to Slicer's bug tracker as a usability issue.
 
 
 
[[image:AppDoc-StatusText.png  ]]
 
 
 
Progress is also displayed during processing operations. One progress readout commonly used by command-line modules is found in the lower right corner of the Slicer Window in the Progress Gauge, shown below:
 
 
 
[[image:AppDoc-ProgressBar.png |center ]]
 
 
 
Some Slicer modules also use a pop-up progress dialog, which assumes "focus" and prevents you from interacting with Slicer until the processing is finished; the dialog appears as below:
 
 
 
[[image:AppDoc-ProgressDialog.png |center ]]
 

Latest revision as of 07:36, 14 June 2013

Home < Documentation < 4.0 < SlicerApplication < MainApplicationGUI


For the latest Slicer documentation, visit the read-the-docs.



Overview

Slicer Main GUI

Slicer4'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.

Application Menu

Slicer's Application Menu contains many useful features. A brief overview of some of these is given below.

  • File Menu
    • The File Menu contains options for loading a MRML scene, for downloading sample datasets from the internet, or individual datasets of various types. An option for saving scenes and data is also provided here.
  • Edit Menu
    • The Edit menu contains an option to raise the Application Settings Interface. This interface allows users to customize their installation of Slicer. 'Edit->Application Settings can be used to include or suppress various Slicer modules, to customize the appearance of your Python Interactor, to select a custom font, to specify a temporary directory, and to accomplish other customizations as well.
  • View Menu
    • This menu contains options to raise the Python Interactor and the Error Log, both useful developer tools. Menu options to switch layouts, and to toggle the display of individual toolbars and the module GUI panels are also provided under the View Menu.
Slicer4AppMenu.jpg

Toolbar

The Toolbar provides shortcuts to many useful sets of functionality. The following toolbars appear here by default. Customization is possible from the Slicer View Menu.

  • Load & Save Options
    • The Load Scene option will raise a browser to select and load a collection of data as a MRML scene. This option clears the existing scene and resets the application state. The Save option will raise the "Save Data" Interface which offers a variety of options for saving MRML scenes and individual datasets.
  • Module Selection & Navigation
    • The Module Selection & Navigation toolbar provides options for searching for module names, selecting from a module menu, and moving backward and forward through the module selection history for convenience.
  • Core Modules
    • The Core Module Toolbar provides shortcuts to your "Home" module, and some of Slicer's core modules including
      • Models
      • Transforms
      • Data
      • Volumes
      • Annotations
      • Interactive Editor
  • Layouts
    • The Layout Toolbar provides a drop-down menu of layouts useful for many types of studies. When Slicer is exited normally, the selected layout is saved and restored as part of the Application state.
Slicer4Layouts.jpg
  • Mouse Modes
Slicer4MouseModeToolbar.jpg
    • Slicer has two mouse modes: Transform (which allows interactive rotate, translate and zoom operations), and Place (which permits objects to be interactively placed in 3D or 2D). The toolbar icons that switch between these mouse modes are shown from left to right above, respectively. Place Fiducial is the default place option as shown above; options to place both Ruler and Region of Interest Widgets are also available from the drop-down Place Mode menu.

Hint: Transform mode is the default interaction mode. By default, Place mode persists for one "place" operation after the Place Mode icon is selected, and then the mode switches back to Transform. Place mode can be made persistent (useful for creating multiple fiducial points, rulers, etc.) by checking the Persistent checkbox shown rightmost in the Mouse Mode Toolbar.

  • Screenshots & Scene Views
    • This toolbar presents options for capturing screenshots and Scene Views. A Scene View is a description of the state of the MRML scene at the time of its capture that can be restored at any time. This mechanism is useful for preparing and viewing multiple interesting presentations of a complicated dataset.
  • Crosshair Options
    • The Crosshair Toolbar provides a set of options for customizing the appearance and behavior of the crosshairs across all Slice Viewers.
Slicer4CrosshairOptions.jpg

Module Panel

Any selected module in Slicer will display its user interface in the Module Panel. The panel may be undocked (by left-clicking & dragging the panel chrome or by selecting its undock icon; hidden by selecting the hide (X) icon, or have its display toggled by selecting View->Module Panel. The panel can be re-docked by double-clicking on its chrome.

Data Probe

The Data Probe interactively reports data values at voxels indexed by the current mouse position in all layers (Label, Foreground and Background).

See the Data Probe documentation for more information about the data values displayed.

3D Viewer

Access the 3D Viewer Controller by mousing over the push-pin icon in the top left corner of any 3D Viewer. The panel may be opened persistently by clicking the push-pin icon which effectively "pins" it open. Clicking again "unpins" the panel. Next to the push-pin, a unique ID may be found that distinguishes this 3D viewer from other 3D viewers that may have been created when other layouts were selected. The panel contains options for setting the viewpoint direction, and configuring the appearance and behavior of any 3D Viewer.

Slicer43DViewController.jpg

Slice Viewers

Access any Slice Viewer's Controller by mousing over its push-pin icon in the top left corner of any slice viewer. The panel may also be opened persistently by clicking the push-pin icon. Next to the push-pin a unique ID may be found that distinguishes the particular Slice Viewer from other Slice Viewers that may have been created when other layouts were selected. A Slice Scrollbar is provided for manually sweeping through slices and a slice number entry widget is also provided at the top right of the display for manually indexing a particular slice. Each Slice Viewer contains options for displaying each of the layers (Foreground, Background and Label) including their visibility in the 3D viewer.

Some Slice Viewer configuration options may be applied to one or all Slice Viewers by using the Link option. When viewers are unlinked, an option applies only to the viewer being adjusted. When viewers are linked, the option will apply to all Slice Viewers. Link and Unlink are persistent settings, and the additional Hot-Link option available from the pull-down menu applies only for one mouse operation.

Slicer4SliceViewController.jpg

Mouse & Keyboard Across Platforms

Below is basic information about how to use the three-, two-, and one-button mouse (or trackpad) on Windows, Mac, and Linux platforms to perform basic interaction operations in Slicer.

Adjusting Window & Level on All Platforms

Left-clicking and dragging the mouse in any Slice viewer is a quick way to adjust Window and Level. Adjust the middle value (level) of the greyscale window by moving the mouse up (increase level) or down (decrease level), and adjust the greyscale window size by moving the mouse to the left (decrease window size) or right (increase window size). Slicer's Volumes Module provides a "Display" interface panel for making more precise adjustments.

Selecting & Manipulating on All Platforms

Mousing over any "pickable" object in any of Slicer's viewers will cause the cursor to change from a "pointer" into a "picking hand". When the cursor shows a picking hand, left-clicking and dragging the mouse will pick and manipulate the object. Releasing the mouse button will deselect the object.

Viewer Cross-Reference on All Platforms

Holding down the Shift-Key while moving the mouse in any Slice Viewer will cause other Slice Viewers to interactively scroll to the same RAS position indexed by the mouse. This feature is useful when inspecting multiple registered studies.

Zoom In & Out in Slice & 3D Viewers

  • Windows, Mac & Linux with
    • 3-Button Mouse: Right-click & drag down & up
    • 2-Button Mouse: Right-click & drag down & up
    • 1-Button Mouse: Ctrl+Left-click & drag down & up
  • Mac with trackpad: two-finger click & drag

Pan (Translate) in Slicer & 3D Viewers

  • Windows, Mac & Linux with
    • 3-Button Mouse: Middle-click & drag
    • 2-Button Mouse: Shift+Left-click & drag
    • 1-Button Mouse: Shift+Left-click & drag

Rotate in 3D Viewers

  • Windows, Mac & Linux with
    • 3-Button Mouse: Left-click & drag
    • 2-Button Mouse: Left-click & drag
    • 1-Button Mouse: Left-click & drag