Download presentation
Presentation is loading. Please wait.
Published byApril Pitts Modified over 8 years ago
1
NA-MIC National Alliance for Medical Image Computing http://na-mic.org VTK Widgets William J. Schroeder Kitware, Inc. June 2006
2
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
3
National Alliance for Medical Image Computing http://na-mic.org Overview Goals Architecture Widgets Implementation
4
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
5
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
6
National Alliance for Medical Image Computing http://na-mic.org Architecture Decoupling representation from event processing RenderWindow vtkAbstractWidgetvtkWidgetRepresentation (type of vtkProp) Events Renderer Render()
7
National Alliance for Medical Image Computing http://na-mic.org 7 vtkHandleWidget vtkPointHandleRepresentation2D vtkPointHandleRepresentation3D vtkSphereHandleRepresentation vtkPolygonalHandleRepresentation Behavior Geometry One widget, multiple geometries 2D Cross hair 3D Cross hair Spherical handle User defined polygonal shape
8
National Alliance for Medical Image Computing http://na-mic.org Event Translation
9
National Alliance for Medical Image Computing http://na-mic.org 9 Widget Assemblies Create composite widgets from several individual widgets Children listen to events from Parent. Hence parent can alter behavior of child Parent Child RenderWindow Events
10
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 HandleWidget
11
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?
12
National Alliance for Medical Image Computing http://na-mic.org 12 Constraints – Point Placers To map 2D display positions to 3D world coordinates. Does a 2D display position map to: –Focal Plane ? –Point on a surface ? –Point on a plane / image ? –Out of bounds ? Allows a variety of constraints to be placed the placement of widgets.
13
National Alliance for Medical Image Computing http://na-mic.org 13 vtkPointPlacer
14
National Alliance for Medical Image Computing http://na-mic.org 14 VTK currently has widgets to perform –Measurements –Annotation and Labeling –Segmentation –Registration –Data interaction –Scene parameter manipulation: Light, camera, etc. –Probing underlying data Timer support Multiple geometrical representations for the same widget Reconfigurable key/mouse bindings Grouping widgets Widgets
15
National Alliance for Medical Image Computing http://na-mic.org Widgets Handles
16
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkSliderWidget –2D –3D vtkBorderWidget –Widgets with rectangular borders vtkTextWidget –Position & size text
17
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) BalloonWidget –Text and/or image in rectangular popup
18
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkCameraWidget –Keyframe & playback camera vtkCaptionWidget –Text with leader
19
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkCheckerboardWidget –Interleave two images vtkRectilinearWipeWidget –Window pane (2x2 checkerboard) with movable focus
20
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkContourWidget –2D (on plane) : vtkBoundedPlanePointPlacer –3D move through slices in volume : vtkImageActorPointPlacer
21
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) –Livewire (shortest path, set arbitrary cost functions, for instance gradient of image) –Dijkstra trace paths on polygonal data
22
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkContourWidget : Users can plug in their own interpolators Bezier contours Polygon tracing Live wire Trace on meshes Trace on Digital elevation map data
23
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkDistanceWidget –Measure distance between points vtkAngleWidget –Measure angles
24
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
25
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkBiDimensionalWidget –Tumor response (RECIST vs WHO)
26
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) BoxImplicit Plane
27
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) Finite PlaneLine
28
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkScalarBarWidgetvtkSphereWidget
29
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkImagePlaneWidget
30
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkParallelopipedWidget (3D Affine) vtkTensorProbeWidget Probe tensors along a tract
31
National Alliance for Medical Image Computing http://na-mic.org Widgets (cont.) vtkSplineWidget
32
National Alliance for Medical Image Computing http://na-mic.org 32 Widget Sets Grouping widgets on multiple render windows, relieving the application of the responsibility of doing so. RenderWindow Event Widget RenderWindow Event Widget RenderWindow Event Widget WidgetSet Event
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.