Caret7:Design/UserInterface

From Van Essen Lab

(Difference between revisions)
Jump to: navigation, search
(Open Items)
Line 27: Line 27:
Meeting discussion 1/12:  
Meeting discussion 1/12:  
-
Border options should be Select, Revise and Create. Select would bring up an Options button, which would bring up a pop-up box with more detailed options-- see DVE 1/12 entry for details. Add a Photoshop/Illustrator-type panel on the right for border "layers" and make the tree collapsable; see JH suggestion below. This will require change in border files- will require groups. Remove sampling, variance and topography numbers. Rename uncertainty to magnitude and/or have a way for user to add other attributes. Store colors within border files. Each border will be assigned to a structure, and multiple structures can exist within one file. Store border coordinates as anatomical surface coordinates. Would like to eventually make Labels and Foci work in a similar way to Borders, including Photoship-type selection of layers.
+
Border options should be Select, Revise and Create. Select would bring up an Options button, which would bring up a pop-up box with more detailed options-- see DVE 1/12 entry for details. [DVE (12jan): Add Resample as another pulldown option, which shows resample interval (in mm) and buttons for 'Apply to displayed' and 'Apply to All'. Add a Photoshop/Illustrator-type panel on the right for border "layers" and make the tree collapsable; see JH suggestion below. This will require change in border files- will require groups. Remove sampling, variance and topography numbers. Rename uncertainty to magnitude and/or have a way for user to add other attributes. Store colors within border files. Each border will be assigned to a structure, and multiple structures can exist within one file. Store border coordinates as anatomical surface coordinates. Would like to eventually make Labels and Foci work in a similar way to Borders, including Photoship-type selection of layers.
 +
 
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.
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.

Revision as of 04:28, 13 January 2012

Contents

Open Items

Ranking of open items (most to least important):

  1. TimeCourse Graph (Jon S)
  2. Fix display of first frame of timeseries on file load (Jon S)
  3. Fix CIFTI in place writing (Jon S) Fixed by Tim?
  4. Fix/Implement NIFTI Volume Extensions (Jon S)
  5. Commandline options for Caret7 (Tim)
  6. Metric/Label Dilation (Tim)
  7. Next caret_commands to be converted&improved? (Tim)
  8. Ability to choose which surface is used for volume/surface interaction (John)
  9. Borders (with ability to generate labels/metric patches, i.e. values 0,1 from closed borders) (Started, JWH, 05 Jan 2012).
  10. Proper Volume Scaling (like Caret5 so volumes always start fitted in the window)
  11. Volume Yoking (crosshairs, slice plane, translation, zoom) (John)
  12. Foci
  13. [DVE 12jan] T-fMRI visualization - begin discussions regarding wish list and priorities
  14. [DVE 12jan] Parcellated connectome visualization - begin discussions regarding wish list and priorities
  15. Scenes
  16. Identification
  17. Optimize parcel/atlas constrained smoothing/resampling code (Tim/Jon)

Not prioritized:

  • Splash Screen


Borders

Meeting discussion 1/12: Border options should be Select, Revise and Create. Select would bring up an Options button, which would bring up a pop-up box with more detailed options-- see DVE 1/12 entry for details. [DVE (12jan): Add Resample as another pulldown option, which shows resample interval (in mm) and buttons for 'Apply to displayed' and 'Apply to All'. Add a Photoshop/Illustrator-type panel on the right for border "layers" and make the tree collapsable; see JH suggestion below. This will require change in border files- will require groups. Remove sampling, variance and topography numbers. Rename uncertainty to magnitude and/or have a way for user to add other attributes. Store colors within border files. Each border will be assigned to a structure, and multiple structures can exist within one file. Store border coordinates as anatomical surface coordinates. Would like to eventually make Labels and Foci work in a similar way to Borders, including Photoship-type selection of layers.


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.

Border Viewing

  • 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.

DVE (12jan) Border drawing currently applies to corresponding structures for different tabs within a window, but not across windows. Reasonable at first blush, but is that indeed what we want? I really like the added 1-line toolbar tab when you switch to Borders mode. I suggest expanding that to include a "Select" pulldown option (at the top, as default), which would include toggle buttons for 'options' (previously 'main'), 'Class/Color' (previously 'color'; what's a better expression?), and 'Name' (or a better term for selecting individual borders). Default display location for popup windows would be alongside the window (perhaps on left if 'Info' is on right by default?).

  • 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


JH:Two important items for discussion are: (1) is the Border Toolbar the way to go; and (2) how is the display of borders controlled (Display Control, existing toolbox, or a new toolbox). Perhaps the existing toolbox becomes the horizontally oriented 'Overlay' toolbox is always at the bottom (or floated) and a new vertically oriented 'Layers' toolbox is always on the right (or floated) and is used for controlling the display of borders, and foci.

Border Operations

  • User clicks an icon in the Toolbar's Tools group ('B'). This results in a border controls added at the bottom of the Toolbar. On the left is a combo box for selecting a class (related group) of border operations.

Border Drawing

  • 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 finished drawing the border, the user clicks the Finish button to set the name/color/sampling of the border.
  • Additional buttons towards the right allow corrections when the border is being drawn.

Border Editing

Border Point Editing

Border Updates

Border Miscellaneous

  • Keeping with the Caret7 theme, when border files are loaded, they are no longer consolidated into a single file. Thus, when drawing border, should the user be allowed to choose an existing border file or create a new border file? Another button 'File' in the border toolbar?
  • Should colors be stored within each border file rather than a separate file? It prevents 'losing' the colors. However, if multiple border files are loaded, each file could have a color with an identical name but different color components.

Border References

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


Cursor

  • 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")


Foci

  • 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.

Parcellated connectome

[DVE 12jan]

  • Top of my wish list: option to click on a brainordinate, calculate and display average connectivity map for all brainordinates within selected parcel, based on highest-level label file and its selected map (whether or not it is 'on = displayed')
  • Wish #2: click on a brainordinate, calculate and display the parcellated connectome for the selected parcel. Among other things, this requires generating a 'parcellated connectome' (connectivity matrix between parcels) and may entail revisiting exactly how these are defined in CIFTI format.

Task fMRI

[DVE 12jan - moved up] 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.

GUI Bugs

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


Identification

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.


Scenes

  • 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?

Thresholding

  • 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.

View

JE:

  • 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.


Toolbox

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

Layers

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

Connectivity

  • 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


Yoking

  • 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

Metadata

  • How is metadata viewed and edited?

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


Overdesign

  • 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 (Done 09 Jan 2012, John)
  2. Fix duplicate map name bug (Done 09 Jan 2012John). Tie map name to a file name from which it was loaded. Need to revisit cross-hemisphere and managing CIFTI files. Each map metadata contains a UUID (Universally Unique Identifier) that is used to maintain selection.
  3. Fix bug in displaying volumes of different resolutions in volume viewer (lets not worry about whole brain for this) (Done 09 Jan 2012, John and Tim) Volume slice drawing rewritten to draw each volume separately.
  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.
  1. CIFTI/GIFTI external binary interconversion (Tim) - completed 1/11/12.

Closed Discussion

Volume Surface Outline (implemented)

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

Yoking

  • 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)

Orientation

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)

Links

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

Thresholding

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