User Tools

Site Tools


neuroelf_gui

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
neuroelf_gui [2010/06/10 14:37] – created jochenneuroelf_gui [2011/05/18 13:23] (current) – changing vertical resolution to 204 to include bar jochen
Line 7: Line 7:
  
 ===== GUI layout ===== ===== GUI layout =====
 +{{ youtube>pMY6fvv-Sj4?320x204| NeuroElf - basic browsing}}
 The GUI comes in two modes, full and minimized (whereas minimized removes some UI elements from the figure so as to save some space for other windows). The GUI comes in two modes, full and minimized (whereas minimized removes some UI elements from the figure so as to save some space for other windows).
 +\\
 +\\
 +\\
 +\\
 +\\
  
 To bring up the GUI, simply issue the To bring up the GUI, simply issue the
 +\\
  
 <code matlab>% bring up NeuroElf GUI <code matlab>% bring up NeuroElf GUI
-neuroelf_gui</code+neuroelf_gui</code
 +\\
  
-call. It will take a couple of seconds (especially if the xfigure class needs to be run-time compiled by Matlab on its first call), after which the following UI figure will appear:+call. It will take a couple of seconds (especially if the xfigure class needs to be run-time compiled by Matlab on its first call), after which the following UI figure will appear (watch the video on the right hand side, also available in [[NeuroElf basic browsing|full resolution]]):
  
-{{:neuroelf_viewer.png|NeuroElf Viewer (full mode)}}+{{:neuroelf_gui:main_ui_empty_v09c_110512.png?640|NeuroElf Viewer (full mode, no stats)}} 
 + 
 +After creating some additional files (see [[neuroelf_makefiles]] for more instructions), loading or creating some statistical map (and, in this case, the newly created Colin brain VMR) and using the Clustertable functionality, the display has more buttons un-grayed: 
 + 
 +{{:neuroelf_gui:main_ui_v09c_110512.png?640|NeuroElf GUI (full mode with stats)}} 
 + 
 +Here is a full-resolution version with numbered areas which are explained below: 
 + 
 +{{:neuroelf_gui:main_ui_panels_v09c_110512.png|NeuroElf GUI (full mode, panels)}}
  
 The numbered sections in turn mean: The numbered sections in turn mean:
-  - sagittal view of the selected anatomical (and/or functional/statistical) dataset(s) 
-  - coronal view of the selected anatomical (and/or functional/statistical) dataset(s) 
-  - axial/transversal view of the selected anatomical (and/or functional/statistical) dataset(s) 
-  - cursor position in space (TAL/MNI coordinate and BV system coordinate, as well as volume selector) 
-  - configuration of statistical map (only VMP format at this time) 
   - dataset selection (among loaded objects)   - dataset selection (among loaded objects)
   - statistical map selection (multi-select capable)   - statistical map selection (multi-select capable)
-  - configured clusters/regions of interest +  - (a) configured clusters/regions of interest and (b) output of cluster table (only for HDR/HEAD/VMP format at this time) or beta extracts (only for RFX-GLM objects) 
-  - output of cluster table (only for VMP format at this time)+  - progress bar area (only visible if a long-running task is executed) 
 +  - drawing tools (only HDR/NII/VMR at this time) 
 +  - view (page) selection buttons and global transformation configuration 
 +  - contrast/brightness setting (button and slider axis) 
 +  - cursor position in space (TAL/MNI coordinate and BV system coordinate, as well as volume selector) 
 +  - configuration of statistical map (only VMP format at this time) 
 +  - output of values at current cursor position (anatomical and statistical values of all selected maps)
   - optional time course display if selected dataset is functional and multi-volume (FMR, 4D NII, and VTC)   - optional time course display if selected dataset is functional and multi-volume (FMR, 4D NII, and VTC)
 +  - canonical slicing of anatomical (or functional + optional statistical) dataset(s)
 +    * a) sagittal view
 +    * b) coronal view
 +    * c) axial/transversal view
  
-The buttons in the red-marked box, from top to bottom, mean:+==== Dataset selection (1) ==== 
 +The dropdown controls allow to select any of the loaded datasets as the currently active dataset (both for anatomical and statistical datasets). Currently supported are 
 +  * as anatomical datasets 
 +    * FMR (BrainVoyager's Functional MR format) 
 +    * HDR/NII (Analyze/NIftI format, incl. 4D NIftI files) 
 +    * HEAD (AFNI's BRIK/HEAD format, anatomical auto-detect) 
 +    * MSK (BrainVoyager's Mask format) 
 +    * VMR (BrainVoyager's Volumetric MR format) 
 +    * VTC (BrainVoyager's Volumetric TimeCourse format) 
 +  * as statistical datasets 
 +    * CMP (BrainVoyager's Component Map format) 
 +    * GLM (BrainVoyager's General Linear Model format) 
 +    * HDR/NII (Analyze/NIftI format, requires special tokens in description or settings in ''RunTimeVars''
 +    * HEAD (AFNI's BRIK/HEAD format, statistical auto-detect) 
 +    * VMP (BrainVoyager's Volumentic Map format) 
 + 
 +In addition to the selection, for each dataset a transformation quaternion (origin) can be set separately, in case datasets from different programs are not initially compatible (3D transformation button). Once a dataset is no longer required in the list, it can be removed from the dropdown (using the x-button). 
 + 
 +==== Statistical map selection (2) ==== 
 +Once an object is loaded suitable for statistical map overlay, the maps therein can be displayed, also supporting a multi-selection of maps. Additionally, the following actions are supported: 
 +  * moving maps within their container (HEAD and VMP format, arrow up and down buttons
 +  * setting map properties (VMP format only, properties button) 
 +  * deleting maps from their container (HEAD and VMP format, trashcan button) 
 +  * computing a formula on the available map data (VMP format only, //f//-button, see [[vmp.ComputeFormula]] for more info) 
 +  * sampling the selected maps as surface maps (SMP) for the currently visible surfaces (SRF objects selected in Scenery listbox) 
 +  * propagating the map condition selection for other subjects (GLM format, ellipse-button) 
 + 
 +==== Configured clusters and table output (3a/3b) ==== 
 +Below the map area is the listbox that contains the currently configured clusters (comparable to BrainVoyager's ROI dialog). Each time the Clustertable button in the stats area is used, the clusters will be overwritten, so **make sure to save any desired/altered list of clusters** before using the Clustertable function again! 
 + 
 +The buttons next to the cluster list are (from top to bottom) 
 +  * mark cluster (sets voxel values in VMR project to specific code) 
 +  * restrict cluster (restricts the cluster to either a box or sphere around the first/peak voxel) 
 +  * find nearest peak (computes distances between current position and cluster peaks and selects closest peak/cluster) 
 +  * zoom on/off (enables a zoomed view on that cluster (potentially useful for screenshots with all three slicing views) 
 +  * cluster properties (edit cluster properties) 
 +  * delete selected clusters 
 +  * load cluster configuration 
 +  * save cluster configuration 
 +  * extract betas from currently selected GLM for selected clusters (auto-extract is enabled by default) 
 + 
 +Below the list of clusters is a multi-line text edit field which contains 
 +  * a text version of the clustertable after pressing on the Clustertable button (potentially also showing the nearest gray-matter Talairach label for each coordinate) 
 +  * a table of extracted betas (also showing each subject's name and the label of the cluster from which the data was drawn) 
 + 
 +==== Progress bar (4) ==== 
 +For some longer-running tasks (e.g. alphasim or robust regression of contrasts), a progress bar is shown and updated regularly. This allows the UI to remain mostly function (browsing, shorter tasks) while a longer task is completing in the back-ground. 
 + 
 +==== Dataset manipulation buttons (5) ==== 
 +From top to bottom, these buttons are associated with the following actions/settings: 
 +  * browsing mode (drawing disabled) 
 +  * 2D drawing mode (drawing within the slice that is clicked into) 
 +  * 3D drawing mode (drawing across slices, spherical or cubic around the clicked coordinate) 
 +  * floodfill (3D flood-filling of voxels that match the selected criteria) 
 +  * marker expansion (expanding the marked selection in a dilation fassion) 
 +  * smoothing of the gray-scale data (allowing a coordinate and value range selection, as well as setting a smoothing kernel) 
 +  * smoothing (the marked selection is smoothed to remove rough edges) 
 +  * undo drawing en/disable (drawing takes back values from the buffer) 
 +  * accept changes (copy current version into undo buffer) 
 +  * undo (copy undo buffer into current version) 
 +  * reload (reload dataset from disk) 
 +  * reload marked (reload dataset from disk and mask with marked color) 
 +  * reload unmarked (reload dataset from disk and inverse-mask with marked color) 
 +  * defining a new ROI (cluster) to be added to the list of clusters (VOI list) 
 +  * setting the underlay object 
 + 
 +==== View / Page selection (6) ==== 
 +The main UI has three different views: 
 + 
 +{{:neuroelf_gui:main_ui.png?320|Canonical three-slice view}}  {{:neuroelf_gui:main_ui_zoomedview.png?320|Zoomed single-slice view}}  {{:neuroelf_gui:main_ui_surfaceview.png?320|Surface rendering view}} 
 + 
 +The view/page selection buttons, from top to bottom, mean:
   * undocking (create a secondary, satellite figure containing the current view, allowing to investigate multiple maps/datasets, potentially at the same coordinate via linked browsing)   * undocking (create a secondary, satellite figure containing the current view, allowing to investigate multiple maps/datasets, potentially at the same coordinate via linked browsing)
-  * switch to three-slice view (default on startup) +  * toggle between linked and linked browsing (state obversable)
-  * switch to sagittal-zoomed view +
-  * switch to coronal-zoomed view +
-  * switch to axial-zoomed view +
-  * set global spatial transformation parameters (in case data comes from a different program) +
-  * switch to surface rendering view+
   * minimize/maximize window   * minimize/maximize window
 +  * switch to three-slice view (page 1, default on startup)
 +  * switch to sagittal-zoomed view (page 2, SAG)
 +  * switch to coronal-zoomed view (page 2, COR)
 +  * switch to axial-zoomed view (page 2, TRA)
 +  * set global spatial transformation parameters (in case data comes from a different program)
 +  * switch to surface rendering view (page 3)
 +  * invoke voxel-based rendering dialog
 +
 +==== Minimized mode ====
 +Upon clicking the third button (which will be replaced with a different version), the window will convert to minimized view (if it is in full mode, that is):
 +
 +{{:neuroelf_gui:neuroelf_gui_minimized_v09c_110512.png|NeuroElf GUI (minimized)}}
 +
 +The elements on the left side of the figure (file/map selector, cluster and table output) will be hidden from view to free up some space for other windows. The following sections remain:
 +  - sagittal view
 +  - coronal view
 +  - axial/transversal view
 +  - drawing tools
 +  - view/page selector
 +  - contrast/brightness slider (and settings button)
 +  - current position
 +  - statistics configuration
 +  - progress bar area
 +
 +==== Contrast/brightness setting (7) ====
 +It is now possible to change the contrast and brightness of a voxel-based anatomical object (FMR, HDR, HEAD, VMR) without changing the underlying data. To do so, you can click the **C/B** button, which allows the user to set the minimum value (black) and maximum value (white) for the scaling function, as well as the possible minimum and maximum value (slider range).
 +
 +Alternatively, you can click into the slider containing a (vertically aligned) histogram of all non-0 voxels of the dataset. When clicked closer to the maximum slider, the maximum can will be reset to the clicked position (which also works while the mouse button is held down to fine-tune the selection), and when the click occurs closer to the lower slider, the minimum is re-set.
 +
 +==== Cursor position in space (8) ====
 +The six spatial coordinate edit fields show and allow to set the current position (cursor/crosshair) in either TAL/MNI spatial convention (coordinate origin is the center of each slice at coordinate [0, 0, 0]) or the actual sampling coordinate of the dataset (coordinate origin for BrainVoyager objects is located in the upper, frontal and right "corner", so that the TAL-based center for a full-space VMR dataset is at BV coordinate [129, 129, 129]). Currently only integer coordinates are supported for input (but the zoomed view allows for interpolated/non-integer coordinates to be shown of course).
 +
 +Additionally, for four-dimensional datasets, a volume selector and edit field allows to change the currently shown volume.
 +
 +==== Configuration of statistical maps (9) ====
 +The first row of controls allows to set minimum and maximum thresholds for coloring the statistical map (any value below the minimum will not be shown, values above the maximum will be shown in the color of the maximum), and if the type and degrees of freedom of a statistical map is well-configured, one of the pre-defined probability threshold values can be selected as well (which automatically honors the number of tails selected below for one- or two-tailed statistical thresholding).
 +
 +In the second row, the positive and negative tails of the configured map can be en- and disabled separately, and also the cluster size threshold can be set and dis/enabled. **Note: whenever the cluster size thresholding is enabled, the values of the map will be set to zero for all non-clustered areas, which then is reflected in the ''Sampled values'' box!**
 +
 +The further controls are
 +  * the ''alphasim p<.05'' button uses the current map as a template (values non-equal to zero) and runs alphasim with that template as a mask (using the correct spatial resolution) to determine the required cluster size threshold for the more typical uncorrected p-thresholds (results printed in the Matlab console window)
 +  * the ''Clustertable'' button will call the [[vmp.ClusterTable]] method for the currently select map (only for single map selection) and update the configured clusters list as well as the table output field. The checkbox right of the button dis/enables the splitting of larger clusters into sub-clusters, for which the peaks will be reported separately if enabled; optional setting for the Clustertable output can be set via the **File -> Options -> Clustertable** sub-menu
 +  * the ''icbm2tal'' checkbox controls whether, for any created cluster table, coordinates are converted from ICBM into TAL space/convention (by applying the [[icbm2tal]] function)
 +  * the ''TDclient'' checkbox controls whether, for any created cluster table, coordinates are passed on to tdclient, so that for each peak the nearest gray-matter label is looked up
 +  * the ''Interpolate'' checkbox controls whether statistical maps are interpolated into the spatial resolution of the UI (1x1x1 mm) or sampled with nearest-neighbor sampling
 +  * the ''LUT'' and ''RGB'' radio buttons alter the statistical-value to color coding from lookup table (LUT) to RGB color range
 +  * if the color coding is set to RGB, the colors for positive and negative minimum and maximum values (thresholds) can be configured using the four colored buttons
 +
 +==== Output of values (10) ====
 +This box simply contains the sampled value at the current (cursor/crosshair) position, both for the selected anatomical and any selected statistical map.
 +
 +==== Time course display (11) ====
 +For four-dimension datasets, this area displays the time course at the current (cursor/crosshair) position. A click into the timecourse will also set the volume selector to that position (which works more interactively than using the volume slider, as this requires the mouse button to be released!)
  
-Upon clicking this last, bottom-most button, the window will convert to minimized view (if it is in full mode, that is):+{{:neuroelf_gui:main_ui_with_timecourse.png?640|Main UI window with VTC and time course}}
  
-{{:neuroelf_viewer_mini.png|NeuroElf Viewer (minimized)}}+==== Slice display (12a/b/c) ==== 
 +In both the three-slices view and the zoomed one-slice view, any click into one of the slices will set the cursor to the clicked position within the sliceThis allows for relatively simply browsing of the dataset. The position will keep updating while the mouse button remains pressed (and the mouse moved).
  
-The elements on the left side of the figure (file/map selector, cluster and table outputwill be hidden from view to free up some space for other windows.+To reset the slice display to its original position (central coordinate), press the ''r'' key on the keyboard.
  
-===== File menu ===== +==== Surface display (12) ==== 
-The ''File'' menu allows to load any xff-supported objectbut only those displayable by the GUI will be added to the lists of selectable objects (FMRHDR/NII, HEAD, SMP, SRF, VMP, VMR, VTC)+For the surface display, the following viewpoint modifications are supported with the mouse (while the mouse button is pressed within the surface area and remains pressed throughout the mouse motion): 
 +  * without any modifier key pressed, the view will rotate (along the Z axes for left/right mouse movement -> longitude/azimuth, and along a perpendicular spatial axis -> latitude/zenith) 
 +  * with the ''SHIFT'' key pressed, the view will translate (shift) with the mouse movement 
 +  * with the ''ALT'' key pressed, the view will zoom (up -> smallerdown -> larger; intuitively as if the object were moved away/toward the user along with the mouse)
  
-Additionally, any file loaded via the GUI will (if appropriate) be added to the list of recently loaded objectsso that in an upcoming sessionformerly loaded files can be easily re-loaded.+To reset the surface display to its original view (azi: 180zen: 0zoom: 1), press the ''r'' key on the keyboard.
  
-Under the ''Options'' submenu, the following entries are available+===== Keyboard commands ===== 
-  * Stats colors (LUT+When no control is currently selected (click between controls, into the background of the figure), the following keyboard commands are supported
-    a list of files bundled with NeuroElf to alter the colortable for statistical maps +  * cursor left/right: for slice-based view change the current (cursor/crosshairposition in X direction +/- 1; for surface view rotate azimuth/longitude by +/- 5 
-  * Edit LUT palette this calls up ''colorpicker'' for the currently selected LUT object +  cursor up/down: for slice-based view change the current (cursor/crosshair) position in Z direction +/- 1; for surface view rotate zenith/latitude by +/- 5 
-  * Linked browsing -  if several voxel-views (at least one satellite figure with an anatomical dataset) is openthis will set the coordinate in all open windows upon clicking into any of those figures +  * ''SHIFT'' + cursor left/right: for surface view translate view by +/
-  * Echo function call/methods - if checkedthis will cause NeuroElf GUI to print a line of code into the Matlab prompt window that can be used as a template for writing your own scripts+  * ''SHIFT'' + cursor up/down: for slice-based view change the current (cursor/crosshair) position in Y direction +/- 1; for surface view translate view by +/- 5 
 +  * ''ALT'' + cursor up/down: for slice-based view change alpha-blending in 0.1 increments up/down 
 +  * ''CTRL'' + cursor up/down: for surface view zoom by factor 1.01/0.99 
 +  * ''a'' key: toggle crosshair display on/off 
 +  * ''c'' key: toggle cluster-check for current map on/off (same as checkbox, which is automatically updated) 
 +  * ''i'' key: toggle interpolation on/off (same as checkboxwhich is automatically updated) 
 +  * ''j'' key: switch between multi-map join modes: color-sum-blending and later-map-wins 
 +  * ''l'' key: toggle cluster-split checkbox on/off 
 +  * ''m'' key: switch between interpolation methods: trilinear and cubic 
 +  * ''n'' key: negate alpha-blending optionpossibly auto-level for multi-map selection 
 +  * ''o'' key: toggle between radiological and neurological display convention 
 +  * ''r'' key: reset view 
 +  * ''s'' key: toggle between minimized and full view 
 +  * ''t'' key: switch through three-slices view and the three single-slice zoomed views (order: 3-slice, sagittal, coronal, axial/transversal) 
 +  * ''u'' key: toggle undo drawing on/off 
 +  * ''x'' key: switch cluster auto-beta-extraction on/off 
 +  * ''z'' key: toggle brain zooming flag (for cluster-based zoom) 
 +  * ''1'' key: toggle positive statistical tail on/off 
 +  * ''2'' key: toggle negative statistical tail on/off
  
-===== Visualization menu ===== +===== Menus ===== 
-Currently this menu has only one entry: +For a list of menu items, please continue to the [[neuroelf_gui menu tree|menu tree]] page.
-  * Create montage images - this will bring up the [[NeuroElf montage UI]]+
neuroelf_gui.1276180654.txt.gz · Last modified: 2010/06/10 14:37 by jochen