Difference between revisions of "Projects:ARRA:SlicerAM:vtkWidgets"

From NAMIC Wiki
Jump to: navigation, search
Line 32: Line 32:
 
* Ruler widget:
 
* Ruler widget:
 
** when line is resized, text size does not change
 
** when line is resized, text size does not change
** enable ticks
+
** enable ticks similar to these [http://picasaweb.google.com/107065747472066371420 examples]
 
* Textbox:
 
* Textbox:
 
** change text by right click or double click
 
** change text by right click or double click

Revision as of 16:00, 26 June 2010

Home < Projects:ARRA:SlicerAM:vtkWidgets

Back to Slicer Report home page

Review Widgets

Meeting at Summer Project Week 2010

  • Attendees: Kilian, Wendy, Nicole and Daniel

VTK Related Issues

If you add any new items in the summary below please add your name to them (KP)

General VTK Issues

  • Improve Consistency across Widgets:
    • every 3D widget also has to exist for 2D (and vice-versa)
      • same API for both modes in VTK
    • same API/variables across widgets
    • default settings are the same across widgets
  • Create/improve Documentation for each widget
  • tooltips for every widget
  • improve graphical design of widgets to be more pleasing for the eye (KP)
  • Placement behavior:
    • rubberband between clicks
    • click points and hotkey, e.g. set to points in 2S viewer , press ctrl M (for measurement) , and then a ruler is placed between the points
    • parameterized place (f.e. from MRML or GUI panel) -> default setting is one case of parameters across
  • 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,...)

Widget Specific Issues

See also "VTK Widget related action items" further down

  • 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
    • enable ticks similar to these examples
  • Textbox:
    • change text by right click or double click

Missing Wigets

  • expand ROI widget (which is currently a cube) to include cone and cylinder
  • draw with autocomplete (maybe contour widget is the right one), spline open and close
  • hold down button and draw
  • cutting planes (any kind of cuts, maybe reformat widget is the right one, with clip outside option)
  • create Textbox with transparent background color as shown here (KP)
  • Bi-Dimensional Measurements: Provide placing mode where the second ruler can only be set perpendicular to the first ruler (KP)

Slicer Related Issues

  • probably through the Slicer MRML tree, displayNodes should be the same (one manager handles 2D and 3D)
    • KP: I do not understand this - it was listed below "same API for both modes in VTK"

Follow Up

  • we need a review session in a smaller group (maybe Nicole, Daniel with JC or who is responsible)
  • we need to come up with specific tests and examples for Kitware
  • Wendy will create a document specifying the general behavior of widgets (Deadline July 2)
  • All participants of the meeting will work on this summary until July 2nd
  • We will send the list to Will on July 7th

VTK Widget related action items

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

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

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