# Caret7:Development/UserInterfaceDesign

(Difference between revisions)
 Revision as of 22:58, 10 August 2011 (view source)Elam (Talk | contribs) (→Menus)← Older edit Revision as of 23:11, 10 August 2011 (view source)Elam (Talk | contribs) (→Toolbar)Newer edit → Line 113: Line 113: * (JH) How should oblique volume viewing operate?  Should there be controls to set the stereotaxic coordinate *(millimeters) around which rotation occurs and the distance (millimeters) of the ''slice'' from the rotation point along a vector that points to the user? * (JH) How should oblique volume viewing operate?  Should there be controls to set the stereotaxic coordinate *(millimeters) around which rotation occurs and the distance (millimeters) of the ''slice'' from the rotation point along a vector that points to the user? * (MG) I don't quite understand the volume slice in oblique view.  Shouldn't this have axial, coronal, sagittal options?  Why does it have L R A P D V X?  I thought we had agreed that to manipulate 2D oblique view, the user would grab the corners of the slices in the 3D all structure view.  The rotation should happen around the current slice center (the user can translate the slices according to a "slices P # C: # A: #). * (MG) I don't quite understand the volume slice in oblique view.  Shouldn't this have axial, coronal, sagittal options?  Why does it have L R A P D V X?  I thought we had agreed that to manipulate 2D oblique view, the user would grab the corners of the slices in the 3D all structure view.  The rotation should happen around the current slice center (the user can translate the slices according to a "slices P # C: # A: #). + + === Overlay Button === + + (JE) Controls all Window-specific display options, popup (with page selector) or drop down? + + * Surface + * 2D Volume + * 3D Volume (Slices or Cloud) + * Surface Clipping + + Apply to All Windows button at bottom of each of these == Viewers == == Viewers ==

# Caret7 User-Interface Design

## Main Window

• (JH) Should there be a viewer in the main window? Similar to AFNI/GIMP, the main window would be used for operations. By default, the contents of the main window is the identification panel (contents of identification window in Caret5/6). When the user selects an operation (ie: draw border) from a menu, the controls for entering the name of the border, setting the color, etc. appear in the main window. The identification panel will always reappear in the main window anytime an identification operation occurs or via a toolbar button. Viewing windows are accessed via toolbar buttons (1, 2, 3, etc) in the main window's toolbar.
• (DVE) This is an interesting idea but gets somewhat complex when I think about various usages. I suggest we focus first on visualization aspects that will be more commonly used than border drawing. Could we use this main window as the place for display control options that apply to all windows (e.g., foci display)? Not sure what else will fall into this category, though. Integrating the Identify Window into the main window might be a useful consolidation unless it gets complicated managing the window layout as other options are turned on or off. A good next step might be a mock-up of what would be in the main window under commonly used situations.

• Quit
• Preferences
• Set Current Directory (needed? Opening a Spec File sets the current directory to the directory containing the SpecFile): Might be useful if you don't want to do a spec file (e.g. you are loading a few files for a specialized task) --Matt
• Open File (selects supported files for opening including the Spec File). (JE) I like this consolidation
• Open Previous Spec Files (goes to submenu).
• Close Spec File.
• Capture Images and Recording.
• Exit (not on Apple).
• Data Menu -- (JE) May not need to list most of these functions as "operations", may want to list menu in order of highest use rather than alphabetically
• Annotation Operations
• Border Operations
• Connectivity Operations -- (JE) Needs to be moved to a more prominent place
• Foci Operations
• Label Operations
• Metric Operations
• Shape Operations: Combine with metric --Matt
• Study Operations
• Map Surface Data to Volume
• Map Group Volume via Atlas to Surface Data: Is this used? --Matt
• Map Individual Volume to Surface Data.
• Identify Node/Triangle (possibly move to Identify Window)
• Information
• Geometry Operations
• Region of Interest Operations
• Registration Operations
• Topology Operations
•  ?? ROI options would be good --Matt
• Viewing Window 2
• Viewing Window 3
• Viewing Window 4
• Viewing Window 5: Need more than 5 (probably at least 8: 4 on each of two screens) --Matt
• Identify
• Run Command
• Bring All to Front
• About Caret (not on Apple)
• Help (Online)
• Search Help (Online)
• Automatic Rotation
• Brain Tips
• Connectivity Color Mapping (or Settings)
• Foci Settings
• Labels
• Metric Settings (Includes Selection and Shape Settings)
• Scenes
• Surface Drawing
• Surface and Volume Identification Interaction ?
• Volume Settings (would like to include thresholds)
• Volume Surface Outline

### Keyboard Commands

Individual menu items can be activated using a CTRL (Apple) key combined with another key. For example, CTRL-O to display the Open Dialog.

### Status Bar

Is the status bar needed? It does display the mouse function.

## Viewing Windows

### Viewing Window Toolbar

#### Yoking

Currently, yoking couples the view orientation to that in the main window.

## Toolbar

• (JH) Standard view buttons. For single hemisphere viewing should the buttons contain L, and M for lateral and medial. When yoked, pressing L or M would switch to lateral or medial views in all yoked windows. For whole brain views, should L and R for left and right be displayed?
• (SC) I think that alll these should be spelled out instead of abbreviated with single letters. Lateral, medial, dorsal, ventral, anterior and posterior could be part of a pull-down menu. Left and Right could be kept separate from a pull-down per Matt's preferences. X could be labeled 'Reset'.

### Whole Brain

(DVE) I like the general idea, but have one suggestion and some comments.

• Typically when I want to change one surface configuration I'd like to change all without needing to pull down 2 or 3 separately. How about an 'All' button that has 'anatomiical', inflated, very_inflated, and sphere options for whatever configurations exist for at least 1 of left, right, and cerebellum. If I choose 'anatomical' when, say, there are pial, white, and midthickness versions available, then I'd need to use the left and right pulldowns to adjust.
• For the volume, the option of toggling P, C, and A on and off independently is very nice.
• I presume that pressing Overlay will bring up a window-specific Overlay (display control) window that controls surface and volume (because data will be internally represented in CIFTI format)

### Volume Slices in One or More Planes

(JE) Is the idea here to show one plane at a time in 2D and all three (all Axis) in 3D (orthogonal to each other)? It would be helpful if you could select more than one plane to have a view of 2 or 3 2D planes (or 2 3D planes) (JH) Using the control there are four options. View a (1) parasagittal slice, (2) coronal slice, (3), axial slice, and (4) show the parasagittal, coronal, and axial views in different quadrants of the window. The fourth quadrant could show a 3D view of all three slices, possibly intersection surface(s). This four views are identical to Caret5's P(XY), C(XZ), H(XY), and All VOLUME views.

### Volume Slices Montage in One Plane

• (MG) I don't think "All Axes" would work for montage.

### Volume Slice in an Oblique View

• (JH) How should oblique volume viewing operate? Should there be controls to set the stereotaxic coordinate *(millimeters) around which rotation occurs and the distance (millimeters) of the slice from the rotation point along a vector that points to the user?
• (MG) I don't quite understand the volume slice in oblique view. Shouldn't this have axial, coronal, sagittal options? Why does it have L R A P D V X? I thought we had agreed that to manipulate 2D oblique view, the user would grab the corners of the slices in the 3D all structure view. The rotation should happen around the current slice center (the user can translate the slices according to a "slices P # C: # A: #).

### Overlay Button

(JE) Controls all Window-specific display options, popup (with page selector) or drop down?

• Surface
• 2D Volume
• 3D Volume (Slices or Cloud)
• Surface Clipping

Apply to All Windows button at bottom of each of these

## Viewers

Viewers provide a view of the data. Viewers from Caret5 and Caret6 include:

• Suface
• Surface and Volume (Caret5)
• Orthogonal Volume Slice
• Orthogonal Volume Slice All displays three orthogonal slices and a surface) (Caret5)
• Oblique Volume Slice (Caret5)
• Montage Volume Slice (Caret5)
• All Structures (Caret6)