2009 Winter Project Week Interactive 3D Widgets In Slicer3

From NAMIC Wiki
Jump to: navigation, search
Home < 2009 Winter Project Week Interactive 3D Widgets In Slicer3
Concept screenshot of widgets in slicer3



Key Investigators

  • Kitware: Karthik Krishnan, Will Schroeder
  • BWH: Nicole Aucoin

Objective

Integrate existing 3D widgets (and develop new widgets) from VTK into Slicer. Over the last two years VTK has included several new widgets, which can potentially benefit Slicer3.

Approach, Plan

A brief overview of the widgets in VTK can be found at this presentation. Relevant widgets for Slicer include:

  • Measurement widgets
    • Distance widget (2D and 3D)
    • Angle widget (2D and 3D)
    • BiDimensional widget (2D)
    • Seed/Fiducial widget
  • Segmentation widgets
    • Livewire widget (2D)
  • ROI widgets
    • Contour widget
    • Box widget
  • Image Manipulation widgets
    • Affine widget
  • Registration widgets
    • Checkerboard widget
  • Annotation widgets
    • Leader widget
    • Balloon widget
  • Add interaction cues
    • Some widgets (e.g., implicit plane widget) should modify the cursor, or change appearance, when the mouse is moved over interactive handles.

The plan is to include a subset of these widgets in Slicer3, specifically the 4 measurement widgets and the livewire widget.

Progress

  • Write a 3D representation for the Distance widget. --- Done
  • Write a 3D representaiton for the angle widget. --- Done
  • Rewrite the existing fiducial widget and replace it with vtkSeedWidget
    • This involves generalizing vtkHandleWidget to support arbitrary polygonal shapes since Slicer3 has several geometrical representations for seeds (2D: dash, cross, thickcross, triangle, square, circle, diamond, arrow, arrow), (3D: Sphere, Diamond)
    • Generalized representation written (vtkPolygonalHandleRepresentation3D). --- Done
  • Livewire widget --- Exists