Difference between revisions of "Slicer Day October 2008"
From NAMIC Wiki
Line 21: | Line 21: | ||
** Widgets and data objects will have different but related selectable and selected behavior | ** Widgets and data objects will have different but related selectable and selected behavior | ||
*** how do we communicate that a widget's handles are selectable (change color or size on mouseover)? | *** how do we communicate that a widget's handles are selectable (change color or size on mouseover)? | ||
− | *** how do we communicate that data objects are 'selectable' on mousover? Idea -- to have hover actor that displays the name of the pickable data object that mouse is over. To keep the main viewer clean, could display this name in the view control gui as user mouses around. Could also display name of widget when mouse is over a handle. Right click while over an object (model, for instance) brings up a menu with options that might include 'show transform widget, set visibility, set color, etc.', appropriate for that object. | + | *** how do we communicate that data objects are 'selectable' on mousover? Idea -- to have hover actor that displays the name of the pickable data object that mouse is over. To keep the main viewer clean, could display this name in the view control gui as user mouses around. Could also display name of widget when mouse is over a handle. Directly manipuate the widget, but manipulate a data object by proxy (widget): Right click while over an object (model, for instance) brings up a menu with options that might include 'show transform widget, set visibility, set color, etc.', appropriate for that object. |
*** "Select" versus "active"? Selecting is an explicit action. "Selected" = "Active", this state is the result of selecting. Users select a data object either via a NodeSelectorWidget, OR by invoking a proxy that manipulates the data object. For instance, to select a model for transforming, mouse over model, right click and select 'show transform widget' from menu, and get a transform widget attached to that object. Now manipulate the model via the widget -- this model is 'active'. Right click again to say 'hide transform widget' to stop transforming. Is model still the 'active' model? If so, this sometimes leads to operating on an 'active' dataset that's gone stale in the user's head. | *** "Select" versus "active"? Selecting is an explicit action. "Selected" = "Active", this state is the result of selecting. Users select a data object either via a NodeSelectorWidget, OR by invoking a proxy that manipulates the data object. For instance, to select a model for transforming, mouse over model, right click and select 'show transform widget' from menu, and get a transform widget attached to that object. Now manipulate the model via the widget -- this model is 'active'. Right click again to say 'hide transform widget' to stop transforming. Is model still the 'active' model? If so, this sometimes leads to operating on an 'active' dataset that's gone stale in the user's head. | ||
− | *** Multiple selections? | + | *** How will we handle Multiple selections that define multiple active datasets (command line modules operate on these)? |
Revision as of 18:22, 7 October 2008
Home < Slicer Day October 2008Back to Events
Likely date: October 7
Location: 1249 Bolyston
Likely attendees: Bob O'Bara, Yumin, Will schroeder
Agenda:
- 3D widgets in slicer
- Bug fix for the "attention deficit" in the current ones
- Module panels to accompany 3D widgets: How to duplicate a double oblique?
- Potential deployment of new 3D widgets in Slicer: e.g. measurement tools (again with matched quantitative panels)
- other low hanging fruits
- input widget interface behavior: eg. number input in transformation module
- design: create and delete widgets in slicer
- should be a consistent pattern for creating and positioning a widget in slice viewer or 3D viewer, and deleting or hiding a created widget (see reformat widget currently -- one widget, hidden or exposed thru a toggle button in SliceController).
- how do we position? Automatically or interactively (click to place)?
- design: clear & consistent selection behavior in slicer
- Widgets and data objects will have different but related selectable and selected behavior
- how do we communicate that a widget's handles are selectable (change color or size on mouseover)?
- how do we communicate that data objects are 'selectable' on mousover? Idea -- to have hover actor that displays the name of the pickable data object that mouse is over. To keep the main viewer clean, could display this name in the view control gui as user mouses around. Could also display name of widget when mouse is over a handle. Directly manipuate the widget, but manipulate a data object by proxy (widget): Right click while over an object (model, for instance) brings up a menu with options that might include 'show transform widget, set visibility, set color, etc.', appropriate for that object.
- "Select" versus "active"? Selecting is an explicit action. "Selected" = "Active", this state is the result of selecting. Users select a data object either via a NodeSelectorWidget, OR by invoking a proxy that manipulates the data object. For instance, to select a model for transforming, mouse over model, right click and select 'show transform widget' from menu, and get a transform widget attached to that object. Now manipulate the model via the widget -- this model is 'active'. Right click again to say 'hide transform widget' to stop transforming. Is model still the 'active' model? If so, this sometimes leads to operating on an 'active' dataset that's gone stale in the user's head.
- How will we handle Multiple selections that define multiple active datasets (command line modules operate on these)?
- Widgets and data objects will have different but related selectable and selected behavior
- MRML
- Overview of current design and goals
- Discussion of Generality (what's pure MRML vs. MRMLSlicer?)
- Efficiency Issues
- Other ongoing topics to touch on
- Build machines -
- Module building
- Platforms - old compilers (VS2003.NET), Solaris...
- Python
- BatchMake and Grids
- Build machines -