Difference between revisions of "Projects:ARRA:SlicerAM:vtkWidgets"
From NAMIC Wiki
Line 9: | Line 9: | ||
=== Meeting at Summer Project Week === | === Meeting at Summer Project Week === | ||
* Attendees: Kilian, Wendy, Nicole and Daniel | * Attendees: Kilian, Wendy, Nicole and Daniel | ||
− | * every 3D widget also | + | * every 3D widget also has to exist for 2D (and vice-versa) |
− | ** same API for both in VTK | + | ** same API for both modes in VTK |
** probably through the Slicer MRML tree, displayNodes should be the same (one manager handles 2D and 3D) | ** probably through the Slicer MRML tree, displayNodes should be the same (one manager handles 2D and 3D) | ||
− | * variable names | + | * '''_tooltips_''' for every widget |
+ | * variable names '''_being consistent_''' through all widgets | ||
* Placement behavior: | * Placement behavior: | ||
− | ** placement modes: rubberband between clicks, click points and hotkey, default setting | + | ** placement modes: rubberband between clicks, click points and hotkey, parameterized place (f.e. from MRML or GUI panel) -> default setting is one case of parameters |
* Manipulation behavior: | * Manipulation behavior: | ||
** highlighting when something is selectable | ** highlighting when something is selectable | ||
− | ** left button would move the widget, right button opens context menu | + | ** user needs to know when something is selected and '''_which part_''' of the widget '''is selected''' |
+ | *** there is a selected property for most of the widgets | ||
+ | ** left button would move the widget, right button opens context menu for additional configuration (color,...) | ||
+ | |||
* ROI box: | * ROI box: | ||
+ | * Angle widget: | ||
+ | ** has crosses instead of spheres, should be changed for consistency | ||
+ | ** there are a lot of bugs in the widget | ||
+ | * Ruler widget: | ||
+ | ** when line is resized, text size does not change | ||
+ | ** see the ticks | ||
+ | * Textbox: | ||
+ | ** change text by right click or double click | ||
+ | |||
* we need a review session in a smaller group (maybe Nicole, Daniel with JC or who is responsible) | * we need a review session in a smaller group (maybe Nicole, Daniel with JC or who is responsible) | ||
** for Kitware: we need tests and examples | ** for Kitware: we need tests and examples | ||
+ | * we need '''_more documentation_''' | ||
+ | |||
+ | * widgets which don't exist: | ||
+ | ** a cone and cylinder | ||
+ | ** draw with autocomplete (maybe contour widget is the right one), spline open and close | ||
+ | ** also: hold down button and draw | ||
+ | ** cutting planes (any kind of cuts, maybe reformat widget is the right one, with clip outside option) | ||
== Annotations == | == Annotations == |
Revision as of 13:46, 25 June 2010
Home < Projects:ARRA:SlicerAM:vtkWidgetsBack to Slicer Report home page
Contents
General
WS: revisit the picking behavior in VTK so that the default approach is to use an accelerated method. NA: is updating Slicer so that Slicer compiles with the newest VTK cvs head and can test new widgets
Meeting at Summer Project Week
- Attendees: Kilian, Wendy, Nicole and Daniel
- every 3D widget also has to exist for 2D (and vice-versa)
- same API for both modes in VTK
- probably through the Slicer MRML tree, displayNodes should be the same (one manager handles 2D and 3D)
- _tooltips_ for every widget
- variable names _being consistent_ through all widgets
- Placement behavior:
- placement modes: rubberband between clicks, click points and hotkey, parameterized place (f.e. from MRML or GUI panel) -> default setting is one case of parameters
- Manipulation behavior:
- highlighting when something is selectable
- user needs to know when something is selected and _which part_ of the widget is selected
- there is a selected property for most of the widgets
- left button would move the widget, right button opens context menu for additional configuration (color,...)
- ROI box:
- Angle widget:
- has crosses instead of spheres, should be changed for consistency
- there are a lot of bugs in the widget
- Ruler widget:
- when line is resized, text size does not change
- see the ticks
- Textbox:
- change text by right click or double click
- we need a review session in a smaller group (maybe Nicole, Daniel with JC or who is responsible)
- for Kitware: we need tests and examples
- we need _more documentation_
- widgets which don't exist:
- a cone and cylinder
- draw with autocomplete (maybe contour widget is the right one), spline open and close
- also: hold down button and draw
- cutting planes (any kind of cuts, maybe reformat widget is the right one, with clip outside option)
Annotations
- vtkCaptionWidget (TestCaptionWidget) :
- KP: The widget is buggy - the cursor icon seems to suggest a different functionality then what you can do to move the / modify the location of the text . I was only able to move the text by clicking on the lower bar of the text box. Furthermore in TestCaptionWidget.cxx I had to uncomment widget->On(); - so I believe by default it is never tested
- KK: This has just been fixed. You should now be able to resize the caption etc. VTK/Widgets/vtkCaptionRepresentation.cxx new revision: 1.8
- KP: Check out change
- vtkTextWidget (TestTextWidget:):
- KP: Font size customization ?
- KK: Currently the font size scales to the entire text box size. Check with KP on what he needs
Measurements
- vtkSeedWidget (TestSeedWidget):
- KP: Custom measurement annotations needed, such as the intensity value
- KK: I'll put in functionality for a callback mechanism that allows you to optionally update a label each time the seed is moved,so that a probe class can be attached to the seed widget.
- TestPolygonalHandleRepresentations:
- KP: I will have to update VTK and Test it again
- vtkkPolygonalSurfacePointPlacer (TestPolygonalRepresentationHandleWidget):
- KP: A little bit Slow
- KK: the handle is constrained to the surface of the polygonal object. This involves a pick each time the handle is moved, and for a surface with tens of thousands of cells can get slow. An unconstrained handle should be fast.
- vtkDistanceWidget (TestDistance Widget) (2D distance widget):
- KP: Instead of displaying measurement along line display it outside with dotted line such as in caption widget
- KP: Measurement should be moved anywhere in the image without obstructing important anatomy
- KP: Distance text font customization (too small to read)
- KK: working on it
- vtkLineWidget2 (TestLineWidget2) (3D distance widget):
- KP: Hard to initialize control points in 3D (difficult to judge behavior)
- KK: working on it
- vtkAngleWidget
- vtkAngleRepresentation2D (TestAngleWidget2D)
- KP: Instead of displaying measurement along line display it outside with dotted line such as in caption widget
- KP: text font customization (too small to read)
- KP: Half circle scale customization to create less image obstruction
- KK: working on it
- vtkAngleRepresentation3D (TestAngleWidget2D)
- KP: Instead of displaying measurement along line display it outside with dotted line such as in caption widget
- KP: Widget measurement disappeared as it was placed inside the sphere (Check with KP. This is indeed the intended behaviour)
- KP: Half circle scale customization to create less image obstruction
- KK: working on it
- vtkAngleRepresentation2D (TestAngleWidget2D)
- vtkBiDimensionalWidget (TestBiDimensionalWidget)
- KP: Instead of displaying measurement along line display it outside with dotted line such as in caption widget
- KK: working on it
- KP: It is strange that the fourth point is set automatically but can be modified later. Once the second control point is set I would just draw a line orthogonal to the one already created . Once the third control point is set the line is fixed and only the length of the line can be changed.
- KK: likes it that way
- KP: Discuss with KK for possible solution
- KP: Instead of displaying measurement along line display it outside with dotted line such as in caption widget
ROI
- TestImageActorContourWidget
- KP: the line is drawn once the control point is set. Instead, the line should always follow the cursor - once the MB is pressed the line is fixed up to this control point
- KK: we should create another representation then. The issue with this is that it will become slow. The contour widget as you know works with several interpolators. Some interpolators are fast, some are slow (such as livewiring etc).. The interpolation is invoked only when a new control point is pressed. Having these be computed on the fly as you move the mouse around, will be slow, depending on the interpolator.
- KP: missing measurement with length of line
- KK: Will add option
- KP: and region of interest (for closed lines)
- KK: What do you mean by measurement of a "region of interest" ? Area ?
- KP: a closed curve defines an area - this area I call region of interest
- KP: do not know how to delete control points
- KK: do not know how to delete control points
- KP: Provide Balloon with help text or menu with delete option when one specific MB is pressed. We should try avoiding key combination as they need explanation
- vtkContourWidget (TestContourWidget2):
- KP: could not set control points as the control points are predefined. Can that be changed ?
- TestDijkstraImageGeodesicPath :
- KP: the line is drawn once the control point is set. Instead, the line should always follow the cursor - once the MB is pressed the line is fixed up to this control point
- KP: missing measurement with length of line and region of interest (for closed lines)
- KP: could not figure out how to modify location of control points
- KK: You can simply mouse over the control point and move it around. Clicking anywhere on the line adds a new control point, which also can be moved around.
- KP: Maybe it did not work for me bc it was too slow
- TestDijkstraGraphGeodesicPath:
- KP: same as TestDijkstraImageGeodesicPath
- KP: seg faulted on me
- KK: Really. It works on the dashboard ?
- KP: Try playing around with it a little bit - it seg faulted after a while
Widgets Completed Reviewed
- vtkBalloonWidget (TestBalloonWidget) : ok
- TestHandleWidget:
- KP: did not understand test
- KK: Added comment