While the toolbox is primarily written for advanced users who know there way around Matlab and are able to make full use of the toolbox functionality, the need for a rudimentary graphical user interface (GUI) arose soon after introducing the toolbox to my fellow lab members.
neuroelf_gui is the response to that need and might, in future versions, show extented capabilities.
To bring up the GUI, simply issue the
% bring up NeuroElf GUI neuroelf_gui
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 full resolution):
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:
Here is a full-resolution version with numbered areas which are explained below:
The numbered sections in turn mean:
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
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).
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:
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)
Below the list of clusters is a multi-line text edit field which contains
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.
From top to bottom, these buttons are associated with the following actions/settings:
The main UI has three different views:
The view/page selection buttons, from top to bottom, mean:
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):
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:
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.
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.
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
alphasim p<.05button 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)
Clustertablebutton 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
icbm2talcheckbox controls whether, for any created cluster table, coordinates are converted from ICBM into TAL space/convention (by applying the icbm2tal function)
TDclientcheckbox 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
Interpolatecheckbox controls whether statistical maps are interpolated into the spatial resolution of the UI (1x1x1 mm) or sampled with nearest-neighbor sampling
RGBradio buttons alter the statistical-value to color coding from lookup table (LUT) to RGB color range
This box simply contains the sampled value at the current (cursor/crosshair) position, both for the selected anatomical and any selected statistical map.
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!)
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 slice. This allows for relatively simply browsing of the dataset. The position will keep updating while the mouse button remains pressed (and the mouse moved).
To reset the slice display to its original position (central coordinate), press the
r key on the keyboard.
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):
SHIFTkey pressed, the view will translate (shift) with the mouse movement
ALTkey pressed, the view will zoom (up → smaller, down → larger; intuitively as if the object were moved away/toward the user along with the mouse)
To reset the surface display to its original view (azi: 180, zen: 0, zoom: 1), press the
r key on the keyboard.
When no control is currently selected (click between controls, into the background of the figure), the following keyboard commands are supported:
SHIFT+ cursor left/right: for surface view translate view by +/- 5
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
akey: toggle crosshair display on/off
ckey: toggle cluster-check for current map on/off (same as checkbox, which is automatically updated)
ikey: toggle interpolation on/off (same as checkbox, which is automatically updated)
jkey: switch between multi-map join modes: color-sum-blending and later-map-wins
lkey: toggle cluster-split checkbox on/off
mkey: switch between interpolation methods: trilinear and cubic
nkey: negate alpha-blending option, possibly auto-level for multi-map selection
okey: toggle between radiological and neurological display convention
rkey: reset view
skey: toggle between minimized and full view
tkey: switch through three-slices view and the three single-slice zoomed views (order: 3-slice, sagittal, coronal, axial/transversal)
ukey: toggle undo drawing on/off
xkey: switch cluster auto-beta-extraction on/off
zkey: toggle brain zooming flag (for cluster-based zoom)
1key: toggle positive statistical tail on/off
2key: toggle negative statistical tail on/off
For a list of menu items, please continue to the menu tree page.