2009 Summer Project Week VTK 3D Widgets In Slicer3

From NAMIC Wiki
Revision as of 18:34, 8 July 2009 by Naucoin (talk | contribs) (→‎Key Investigators)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < 2009 Summer Project Week VTK 3D Widgets In Slicer3

Key Investigators

  • BWH: Nicole Aucoin, Wendy Plesniak
  • Kitware: Karthik Krishnan, Sebastien Barre

Objective

To integrate further VTK 3D widgets into Slier.

Approach, Plan

Our approach is to discuss user interaction models, and how the mouse modes can be expanded

Our plan for the project week is to first try out a few sample GUI integrations.

Progress

Before Project Week starts, Nicole hopes to have a prototype of the Fiducials module using the VTK 5.4 vtkSeedWidget that Karthik has updated by her request.

  • Prototype Measurement module checked in, builds and loads if Slicer3 is compiled with VTK5.4. Provides a ruler and an angle widget.
    • TODO: bind end points to models.
      • works if the end points are on top of the models, snapping to the model is not working
    • Is it possible to add vtkDistanceRepresentation3D to VTK? The ruler is using a 2D representation and the axis is rendering in the focal plane, above models.
    • Trying out vtkLineWidget2 with vtkLineRepresentation with the flag DistanceAnnotationVisibilityOn().
      • Works, but label scales with length of line.
        • Have to set a label sale so that the text doesn't scale with length of line
      • Is there a way to colour each point handle widget differently (it uses clones of the handle widget): no. Try mapping to the ends near the label versus far from label
    • Can the angle widget label scale on zoom?
  • Added vtkAffineWidget to do 3d editing of transforms
    • the vtkAffineRepresentation2D allows manipulation of translation in the XY plane, either need three of them, or to have a Representation3D added to VTK
  • Working on a revamped vtSlicerFiducialListWidget using vtkSeedWidget, so much simpler than the current implementation!