Difference between revisions of "2008 Winter Project Week:3DWWidgets"
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/") |
|||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{| | {| | ||
|[[Image:NAMIC-SLC.jpg|thumb|320px|Return to [[2008_Winter_Project_Week]] ]] | |[[Image:NAMIC-SLC.jpg|thumb|320px|Return to [[2008_Winter_Project_Week]] ]] | ||
+ | |valign="top"|[[Image:slicer-uneditable-bbox.jpg |thumb|320px|FE Module Prototype in Slicer3]] | ||
|} | |} | ||
− | |||
− | |||
− | |||
__NOTOC__ | __NOTOC__ | ||
Line 11: | Line 9: | ||
* BWH: Nicole Aucoin | * BWH: Nicole Aucoin | ||
* KnowledgeVis, LLC: Curtis Lisle | * KnowledgeVis, LLC: Curtis Lisle | ||
− | * Kiran | + | * U of Iowa: Kiran Shivann |
<div style="margin: 20px;"> | <div style="margin: 20px;"> | ||
Line 18: | Line 16: | ||
<h1>Objective</h1> | <h1>Objective</h1> | ||
− | + | 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. | |
</div> | </div> | ||
Line 27: | Line 25: | ||
Build on work from meshing integration:<br> | Build on work from meshing integration:<br> | ||
− | [ | + | [https://www.slicer.org/wiki/Slicer_Interactive_Module Slicer Interactive Module]<br> |
[http://www.na-mic.org/Wiki/index.php/Projects/Slicer3/2007_Project_Week_Support_for_Unstructured_Grids 2007 Project Week - Support for Unstructured Grids]<br> | [http://www.na-mic.org/Wiki/index.php/Projects/Slicer3/2007_Project_Week_Support_for_Unstructured_Grids 2007 Project Week - Support for Unstructured Grids]<br> | ||
− | + | Update the picking routines to allow selection and manipulation of both 3d and 2d widgets? | |
− | 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. | ||
</div> | </div> | ||
Line 39: | Line 38: | ||
<h1>Progress</h1> | <h1>Progress</h1> | ||
− | ====Jan 2008 Project | + | ====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: <br> | ||
+ | [http://wiki.na-mic.org/Wiki/index.php/Image:3DMovingFiducials.zip Zip file of a Flash movie showing fiducials moving in 3D.] | ||
+ | We have had two follow on TCons relative to 3D widgets. | ||
</div> | </div> | ||
Line 47: | Line 55: | ||
</div> | </div> | ||
− | |||
===References=== | ===References=== |
Latest revision as of 18:06, 10 July 2017
Home < 2008 Winter Project Week:3DWWidgets![]() Return to 2008_Winter_Project_Week |
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.