From Van Essen Lab

Revision as of 18:36, 9 January 2012 by John (Talk | contribs)
Jump to: navigation, search


Open Items

Ranking of open items (most to least important):

  1. TimeCourse Graph (Jon S)
  2. CIFTI/GIFTI external binary interconversion (Tim)
  3. Commandline options for Caret7 (Tim)
  4. Borders (with ability to generate labels/metric patches, i.e. values 0,1 from closed borders) (Started, JWH, 05 Jan 2012).
  5. Proper Volume Scaling (like Caret5 so volumes always start fitted in the window)
  6. Foci
  7. Scenes
  8. Identification
  9. Optimize parcel/atlas constrained smoothing/resampling code (Tim/Jon)

Not prioritized:

  • Splash Screen


Meeting discussion 1/5: need to have an additional meeting to discuss borders use cases and options. Mockups may be helpful here. Draw Borders and Draw Border Update are both very useful and should be near the top level rather than hidden in a menu. Borders should apply to all structures.

  • Where do controls for the display of border go (Display Control)?

JE: I vote for a Borders tab in the Toolbox, with controls on the tab or accessible as a setting option from that tab DVE: We need to discuss. JH's point about toolbox being tab-specific and DC pan tab/window is important.

  • Are the numerous pages for controlling the display of borders from Caret5/Caret6 really needed?

DVE: All 3 pages (Main; color; name) have important uses. Option 1: Configure DC so that it has a general pulldown for Borders, which reveals 3 tabs for main, color name. (Ditto for Foci) Option 2: Create a Borders button in Toolbar: Tools that opens a popup with the above 3 tabs. Pressing Borders again would close this popup. (Ditto for Foci) Another aspect of this is that Layers: Borders in Caret5 currently has 28 (yes!) separate options. Only a minority of these will make it into Workbench (at least in the near term), but some of these should be made more prominent, e.g., in Borders: Main. Draw Borders and Draw Border Update are especially useful, and should be easily toggled on/off.

  • Are borders displayed in all windows, all tabs, one window, one tab???

DVE: By default, I think they should display for all windows/tabs, but only for the appropriate structure as in caret6. An option to toggle borders on/off within each tab might be useful but might also sow confusion so I vote not to do this at present

Border Drawing

  • User clicks an icon in the Toolbar's Tools group.
  • User draws border by dragging (moving mouse with left mouse button down), clicking the mouse (press and release left mouse button without moving mouse), and/or any combination of dragging and clicking. Thus, drawing a border does not require one contiguous mouse drag.
  • When finisehd drawing the border, the user performs a mouse-click while holding down the shift key, presses a Toolbar button, or ?
  • When border is complete, a dialog pops up allowing the user to set the name, sampling, and color for the border. Or create an ROI?
  • Is there a way the user can 'Undo' border points while drawing?
  • User can rotate surface by dragging the mouse with the Control (Apple) key depressed.
  • When border drawing is enabled, should there be new icons in the Toolbar's Tools group (replace Tools group), or a new 'Border Group' with buttons like 'Draw', 'Rotate', 'Undo', 'Finish', etc. Should other border operations be included (Edit Borders, Delete Border, Delete Border Point, Edit Border Attributes, Resample, Reverse, etc).
  • The border 'toobar' could have modes to the left (Draw, Edit, Delete, etc) with any buttons specific to the mode on the right.

For more:

  • See Caret5's Border's Menu
  • Caret6's Border Operations Dialog.

Meeting discussion 1/5: the group liked these suggestions. John will mock up some options. Additional ideas: would be good if the program would draw a border from nodes, then be able to move the points to adjust the border.

Command Line Options (Workbench)

Add options (parameters) for those that launch Workbench from a Terminal window.

  • -spec <spec file> [-nodialogue]
    • Opens a spec file with the open spec file dialogue (or not) with default tabs (i.e. as if you had opened it from within the GUI)
  • -files <file that caret understands> [additional file that caret understands]
    • Opens any number of files that caret understands (i.e. nii.gz, surf.gii, etc)
  • -help
    • Display brief help describing commandline options
  • -scene <scene file> <scene name>
    • Future option for when scenes are implemented

Notes from JWH: (MG: All okay with me)

  • -spec to show spec file in Spec File Dialog.
  • -spec-load to load all files in spec file and skip display of Spec File Dialog.
  • May want options to set the logging level and direct the logging messages to a file.
  • May want OpenGL timing option, -gl-timing.
  • May want options to set the GUI style: -style style-name

Notes from TC: (MG: I would be fine if it could handle whatever was specified without -spec or -files options)

  • Do -spec and -files actually need to be options rather than just specifying the files? (allowing multiple arguments to a single "-files" would complicate parsing, as opposed to all non-option arguments being considered as files) What else would specifying strings that are not options, or arguments to options, mean?

Note from JWH: (MG: I would be fine with autoloading of files without an option)

  • When parsing parameters, one could assume that the first parameter encountered that does not begin with a hyphen is the first file and that any additional parameters are files. (TC - How about just anything that doesn't begin with a hyphen, and doesn't follow an option that requires an argument, is expected to be a file? This matches most command line parsing.)
  • If more that one file listed and if the list contains a spec file, is this an error? My vote is yes. (DLD seconds that vote.)
  • Should files be automatically loaded unless an option is selected in which case the files (or contents of spec file) are shown in the Spec File Dialog (even if there is not a Spec File)? Or, should files be shown in Spec File Dialog unless an option is specified?
  • Thus, "workbench [options...] [file(s)]"

Notes from DLD:

  • Before moving to ubuntu, I used to use -style Cleanlooks in order to navigate lengthy menus (e.g., D/C: Page Selection when many files are loaded). I don't know if other users will miss the -style options.
  • The old -xy option was handy for making movies.

Connectivity Time Series

  • Display timecourse in a graph


  • Change cursor style to represent mouse mode (view, draw border, etc).

Display Control

  • Use for controlling display of borders, foci, volume surface outlines?

Note from JE: I vote for these controls to be tabs in the toolbox and be viewing tab/window specific

  • Displayed with button in tab bar (next to toolbar/toolbox buttons at right side)?

Note from JE: Generally, I don't like having a Display Control in Workbench (or DC button in the top right of the toolbar). As a general rule, I thought we were trying to incorporate Display Control functions into the Toolbox. For example, we could add a "Surface Outline" button to the bottom of the Layers tab to popup settings for Volume Surface Outlines.

Notes from JH: It is my understanding that 'local' controls (those that pertain the viewed tab) go into the Toolbox and 'global' controls (those that pertain to all tabs, go into the Display Control). For example, one can select borders (or foci) by name, color, class, etc. and we would not want the user to have to perform these selections for each tab. On the other hand, enabling the display of borders (on/off) might be tab specific and be placed into the Toolbox.

DVE (4jan): By this logic, volume surface outline is generally tab-specific (the way I use it), so it should be a Toolbox tab (e.g., "Surf-Contour")


  • Where do controls for the display of foci go? (Display Control)?

Note from JE: Again, I vote for "Foci" to be a tab in the toolbox with controls that are viewing tab/window specific

  • Are the numerous pages for controlling the display of foci from Caret5/Caret6 really needed?

DVE (4jan): Caret5 has 7 pages. The first 5 (main, class, color, keyword, and name) are all useful if we preserve the current file format (which I favor). 'Search' and 'Table' can wait, for sure. I vote to mirror what we do for borders (e.g., Tools: Foci)

  • Are foci displayed in all windows, all tabs, one window, one tab???

Note from JE: viewing tab/window specific with the option to Display on all tabs, etc. DVE: Foci are often useful to toggle display onto the opposite hem as well as the mapped hem.

1/5 Meeting outcome: There is a lot of discussion around this. Mockups of alternatives to retaining Display Control would be helpful.

GUI Bugs

  • If map is in the Palette Editor and the map is deleted, this may result in a crash.


Contralateral Identification

DVE (4jan) This is very nice, now that I discovered it. However, I vote to move the control to the 'Info' window (e.g., as a 'Contra' button just below 'RID') because it's not something I would want to use all the time. Being able to switch it on and off easily would make it more useful.

Node identification

  • 1/5 Meeting outcome: Jon S. to update this section (deselecting spheres- click sphere to get rid of it).
  • 1/5 Meeting outcome: Change sphere size in Info Box
  • 1/5 Meeting outcome: Hovering over sphere changes its color

Info Window

  • Move out of toolbox?
  • If so is it docked; right side of window? Or is a standalone window link in Caret5/Caret6?
  • Displayed with button in tab bar (next to toolbar/toolbox buttons at right side)?

Note from JE: I vote for moved out of toolbox docked at the top right of the viewing window. DVE (4jan) I agree

Info Window Contents

  • Format of information?

DVE (4jan) looks good as a default. Adding filters will be nice. I like Caret6 filter layout better than caret5 except it needs a #digits option.

Surface/Volume Identification Interaction

  • When a surface node is identified, volume crosshairs jump to location.
  • When a voxel is identified, the corresponding node is identified. If there is more than one anatomical surface loaded for a structure, which surface is used? MG: it is necessary to allow the user to pick this. Perhaps a Surface tab is needed in the toolbox that contains this (and eventually other settings from surface miscellaneous).

Note from JE: I think this could be a "Preferences" setting available in the Surface menu or in some other global "Preferences" in the File menu or elsewhere.

Note from JH: In Caret6, there was a Display Control page that allowed the user to select, for each structure (right/left/cerebellum) the anatomical surface used for surface/volume identification. DVE (4jan) That is my preference.


  • Generic (Data independent). Needed?
  • Full (Data dependent).

Meeting discussion 12/1: Do we want a scene exporting functionality (including files)? Yes: can achieve this using spec files-- packaging this more efficiently.

Splash Screen

Consider a Splash Screen similar to that provided by Xcode (Apple's Software Development Tool).

  • Displayed prior to the Main Window.
  • The left side provide information (links) about Workbench and HCP.
  • The right side lists previously loaded spec files with the last opened spec file selected, and at the top.
  • Open Other launches the file dialog for selection of a Spec File. If a spec file is selected, a Browser Window is displayed and the Spec File Dialog is shown with the contents of the Spec File.
  • Cancel simply displays the Browser Window.
  • Open displays the Main Window with the Spec File selected on the right side of the Splash Screen in the Spec File Dialog.

Note from JE: I like this idea a lot-- it could be a nice "welcome" to new users. Would the more experienced user would find this annoying at all?

Note from EkR (1/3/12) I think it could get annoying for regular users, so could we put one of those "don't display again" kind of check boxes for those who don't care to see it anymore? DVE (4jan): These are all great suggestions. File:XCodeSplashScreen.jpg

Status Bar

  • Both Caret5 and Caret6 contained a status bar at the bottom of the main window. The status bar lists the current mouse mode and the function of the mouse buttons. Is this needed in Workbench?

Task fMRI

For T-fMRI task selection we need a better way to show various task contrasts than just time points in a dense time series. It needs pulldown or rows, not just time points. Or perhaps it should be readable as a file type that has maps. This should be a topic for discussion in January. DVE (4jan): Now that Matt has a lot of T-fMRI datasets mapped, this will be of increased importance/priority, to be discussed.


  • Retain Mapped and Mapped Area?
  • Allow more than one threshold per map?

JE: This sounds like a good idea if you could save multiple threshold settings kind of like a user view, or as meta data in the metric file

  • Move colorbar toggle to the settings (thresholds) box
  • Need to have ability to apply thresholds to other surfaces, especially for the same kind of metric data in the other hemisphere. Button to apply to all active layers? Could there be a type of "yoking" of settings?

ToolBar Width (shrink width)

The minimum width of the toolbar and the toolbox constrains the minimum width of the browser window.



  • Use 2 lines for "Whole Brain" and center the radio button between the two lines of text.
  • Save even more space by making "Surface", "Volume", and "Whole Brain" into clickable, mutually exclusive buttons.

Montage Controls

  • In Caret5/Caret6, the first slice displayed was the selected slice (listed in Slice Indices/Coords) of Workbench ToolBar). Should the selected slice be the slice at the center of the montage? This may be better than starting at (xdim/4, ydim/6, zdim/15).

DVE (4jan) YES! Also, make the default step = 15 and keep rows and cols = 3. This will get close enough for whole-brain coverage.

Slice Indices/Coords

Notes from JE: Make P, C, and A clickable buttons and get rid of the check boxes. (DVE 12/30) Good, if it is feasible. But only if the shading changes so selections are highlighted.

Surface Options (Whole Brain)

Reorganize controls so width is reduced.

  • Row 1: Surface Type selection combo box.
  • Row 2: 'L' checkbox, 'R' checkbox, Left/Right separation spin box.
  • Row 3: 'C' checkbox, L&R/Cerebellum separation spin box.

Can the separation spin boxes be changed to integers (is sub-millimeter resolution needed?)?

Notes from JE: Could we change the "L", "R", and "C" to clickable buttons and get rid of the check boxes? (DVE 12/30) Good, if it is feasible. But only if the shading changes so that it's obvious what is and isn't selected. (And I suspect that's not the case) In any case, I vote to expand 'C' to Cerebellum or 'Cbllm'. Note from JE: I think separation can be changed to integers. Need "Separation" to clue the user in to what the spinbox to the right is used for. (DVE 12/30) Agreed. Note from JE: Could we add a "separation" button below the L, R, and C buttons to pop up a settings box for this (which could be saved as a preference)? (DVE 12/30) I think this is worth considering.


The minimum width of the toolbar and the toolbox constrains the minimum width of the browser window.


  • What is maximum number of characters for File items.
  • What is maximum number of characters for Map items.


  • What is maximum number of characters for 'File'? Just list name and exclude path?

Toolbox "Pop-outs"

A desire has been expressed to be able to move a panel from the toolbox and place the panel into its own window (such as the info panel).

This probably can be done in Qt by removing the panel from the 'tab widget' and then re-parenting the panel into a special dialog. Closing the dialog would move the panel back to the toolbox.

Volume Slice Viewing - Oblique

  • How should this operate (from user-perspective).
  • DVE: Revisit features people like in Caret 5


  • MG: I think volume slice coordinate yoking is a medium priority. Ideally the position of the volume and zoom would also be yoked.

Ideas from Brain Explorer 2

Notes from JE:

  • There are a few things that stand out right away in Brain Explorer 2 (Allen Brain Institute visualization program) that we might consider:

1. There are no distinctions between showing structures, volume sections, or both. You just turn on what structures/slices you want to see, much like our whole brain mode.

2. Even when only one plane of volume sections are showing, you can pan, rotate or flip the slice (also available in our whole brain mode)

3. There is a zoom bar slider at the bottom of the viewing window for more obvious zoom capability. Also the mouse wheel can be used for zooming.

4. In selection mode, you can grab a volume plane and pull it through the surface to show different slices (rather than set the volume slice number).

5. Clipping planes can be viewed as a transparent box, and in selection mode, grabbed to cut through a surface.

6. The 3D structures themselves (not just layers) can be displayed as transparent.

7. Clicking on “Find genes” in Brain Explorer 2 opens a default web browser and takes you to the gene search page on the Allen Brain Atlas site. IF you start at the Allen Brain Atlas site you can click on Brain Explorer and a launch application dialog comes up with Brain Explorer 2 as an option. -I particularly like the ability to link between the web search and program from both directions.

Deferred Items


  • How is metadata viewed and edited?

Meeting discussion 12/1: have a follow-up discussion next week


  • Is Workbench being 'overdesigned'? That is, too many controls/features?
  DVE: IMHO, not yet!! But it’s good to keep asking.
  Meeting discussion 12/1: Good principle to take a hard look at every request. That said, keep Whole Brain view.

Closed Items

  1. Click on ID Node Clears previous sphere, as in Caret5/6 (John)
  2. Fix duplicate map name bug (John). Tie map name to a file name from which it was loaded. Need to revisit cross-hemisphere and managing CIFTI files.
  3. Fix bug in displaying volumes of different resolutions in volume viewer (lets not worry about whole brain for this) (John and Tim- resolved?)
  4. Caret5 style Volume Surface Outline (Done, JWH, 04 Jan 2012) Caret6 style added since better quality. Problems with overlapping line segments was corrected by enabling anti-aliasing. Improper half voxel offset has also been corrected.
  5. Surface/Volume Identification Interaction (Done, JWH, 28 Dec 2011, JWH/TC 04 Jan 2012) Works well when clicking surface and jumping to volume. Appearance of "No volume transformation defined in cifti extension" message has been resolved.
  6. Dialogue to set a structure if a file does not have one set (instead of the error message that currently appears) (Done, JWH, 04 Jan 2012).
  7. GUI Improvements (Cursor, Display Control, Info Window, Status Bar, Thresholding, ToolBar Width, Links, Montage Controls, Orientation, Slice Indices/Coords, Surface Options (Whole Brain), Toolbox, Layers, Connectivity) (Toolbar Done, JWH 29 Dec 2011).
  8. Yoking (groups and volume) (Done, JWH, 04 Jan 2012).
  9. Contralateral Identification (implemented)
  • Allow identification of corresponding node in 'contralateral' structures (Done)
  • How is this controlled? Through Preferences (Done)
  • What is color of an interhemispheric identified node symbol? Blue. (Done)
  • DVE (4jan) This is very nice, now that I discovered it. However, I vote to move the control to the 'Info' window (e.g., as a 'Contra' button just below 'RID') because it's not something I would want to use all the time. Being able to switch it on and off easily would make it more useful.

Closed Discussion

Volume Surface Outline (implemented)

  • Where do the controls for this go?
  • Are they displayed in all windows/tabs or selected windows?


  • Add yoking groups (Implemented)

Contralateral Identification (implemented)

  • Allow identification of corresponding node in 'contralateral' structures (Done)
  • How is this controlled? Through Preferences (Done)
  • What is color of an interhemispheric identified node symbol? Blue. (Done)


Reorganize controls so width is reduced (Done)

  • Column 1: L, D, P
  • Column 2: R (M), V, A
  • Column 3: Reset, User Views (User View is two lines; User on top of View)

Note from JE: I like the more vertical rearrangement of the Orientation buttons.

Slice Indices/Coords

  • Holding down buttons of spin boxes should continuously change value until button is released. (Done)
  • Reduce width of coordinate spin boxes and show only one digit to right of decimal. (Done)

Montage Controls

  • Shrink width of controls by changing labels to "Rows:", "Cols:", "Space:" (or "Skip:") (Done)


  • Move button to Tools and create menu with entries (or button with popup) 'Allen Human Brain Atlas' and 'Connectome DB'. (Done)


  • Have colorbar range in the viewing window reflect the thresholds (Done)
Personal tools
Sums Database