2008 Winter Project Week:3DWWidgets

From NAMIC Wiki
Jump to: navigation, search
Home < 2008 Winter Project Week:3DWWidgets
FE Module Prototype in Slicer3


Key Investigators

  • Kitware: Will Schroeder
  • BWH: Nicole Aucoin
  • KnowledgeVis, LLC: Curtis Lisle
  • U of Iowa: Kiran Shivann

Objective

Several different module developers have asked to insert and operate with VTK-style 3D widgets in the Slicer 3D view window. This project will study the implications of different ways to insert 3D widgets and how the design of VTK 3D widgets can best interact with Slicer's MRML tree. Widget interaction may require an extension to the MRML observer paradigm.

Approach, Plan

Build on work from meshing integration:
Slicer Interactive Module
2007 Project Week - Support for Unstructured Grids

Update the picking routines to allow selection and manipulation of both 3d and 2d widgets?

The Univ. of Iowa Finite Element collaboration project has added 3D widgets using direct manipulation and custom callbacks. We will discuss the strengths and weaknesses of this approach as a case study. At the end of the week, our objective is to have additional clarity on the design approach that modules should take when they want to interact with 3D widgets in Slicer3.

Progress

June 2007 Project Week

A class of MRML nodes to correspond to VTK-style 3D widgets were created (based on fiducials) as an experiment during this project week. It was decided that this was not the way to integrate 3D widgets because of its inconsistency with MRML storing geometry and dataset state variables.

Jan 2008 Project Week

3D widgets are transitory and are designed to be created by applications just when needed. We discussed a strategy where some of the information from a widget representation could be stored in MRML, but the widget interaction itself will be instantiated outside of the MRML tree. Follow-on discussions are planned between the Jan 2008 and June 2008 project weeks.

Also, we have identified a picking bug in VTK. A simple test was written that demonstrates the problem and is in the process of being debugged. (Bug has been found and is being fixed in VTK HEAD.)

Nicole has developed a 3D point widget and integrated it into Slicer for fiducial display. For a demonstration, see the movie below:
Zip file of a Flash movie showing fiducials moving in 3D.

We have had two follow on TCons relative to 3D widgets.


References