![Page 1: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/1.jpg)
NA-MICNational Alliance for Medical Image Computing http://na-mic.org
VTK Widgets
William J. SchroederWilliam J. Schroeder
Kitware, Inc.Kitware, Inc.
June 2006June 2006
![Page 2: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/2.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Thanks
• National Library of Medicine / NIH– Dr. Terry Yoo: A2D2 awards (Algorithms, Adaptors, and Data
Distribution)• National Science Foundation
– Visual Journal project• NIH National Center for Biomedical Computing
– NAMIC • Contributors
– Will Schroeder– Lisa Avila– Karthik Krishnan– Brad King– Sebastien Barre– Dave Cole
![Page 3: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/3.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Overview
• Goals
• Architecture
• Widgets
• Implementation
![Page 4: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/4.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Goals
• Improve human-data interaction • Provide palette of widgets supporting
– Segmentation – Registration– Data interaction– Text and annotation– Light, camera, etc. manipulation
• Support client-server (distributed) computing
• Rework initial design
![Page 5: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/5.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Design Goals
• Separate representation from event processing– Support distributed processing (client-server)
• Introduce translation mechanism between events and widget behavior
• Support hierarchical use of widgets
• Create general “handle” framework for positioning points
![Page 6: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/6.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Architecture
• Decoupling representation from event processing
RenderWindow
vtkAbstractWidget vtkWidgetRepresentation(type of vtkProp)
Events
Renderer
Render()
![Page 7: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/7.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Event Translation
![Page 8: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/8.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widget Hierarchies
• Example: vtkDistanceWidget– Uses two instances of vtkHandleWidget– Responds to events from its handles– Notion of “parent”
• Reduce number of events• Reduce number of Render() invocations
– Can change behavior of widget by using different types of handles
HandleWidgetHandleWidget
![Page 9: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/9.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Handle Framework
• Types of handles– 2D (display space)– 3D (world space)– Constrained
• To plane• To surface• Etc?
![Page 10: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/10.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets
• Handles
![Page 11: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/11.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkSliderWidget– 2D– 3D
• vtkBorderWidget– Widgets with
rectangular borders
• vtkTextWidget– Position & size text
![Page 12: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/12.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• BalloonWidget– Text and/or image in rectangular popup
![Page 13: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/13.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkCameraWidget– Keyframe &
playback camera
• vtkCaptionWidget– Text with leader
![Page 14: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/14.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkCheckerboardWidget– Interleave two images
• vtkRectilinearWipeWidget– Window pane
(2x2 checkerboard)with movable focus
![Page 15: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/15.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkContourWidget– 2D (on plane)– 3D (move contours through slices in a volume)
![Page 16: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/16.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkDistanceWidget– Measure distance
between points
• vtkAngleWidget– Measure angles
![Page 17: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/17.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkSeedWidget– Add one or more
seeds / markers
• vtkAffineWidget– Translate– Scale– Rotate– Shear images
![Page 18: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/18.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkBiDimensionalWidget– Tumor response (RECIST vs WHO)
![Page 19: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/19.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• Box • Implicit Plane
![Page 20: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/20.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• Finite Plane • Line
![Page 21: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/21.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkScalarBarWidget • vtkSphereWidget
![Page 22: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/22.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkImagePlaneWidget
![Page 23: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/23.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Widgets (cont.)
• vtkSplineWidget
![Page 24: NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006](https://reader036.vdocuments.net/reader036/viewer/2022062722/56649f345503460f94c5186d/html5/thumbnails/24.jpg)
National Alliance for Medical Image Computing http://na-mic.org
Status
• Currently available in VTK CVS – New subdirectory VTK/Widgets– Work in progress; lots of polishing required
• Tests in Widgets/Testing/Cxx– Uncomment in CMakeLists.txt– Valid images not yet created, nor event
playback scripts– Looking for feedback– Will add Tcl tests as well