VTK Widgets - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

VTK Widgets

Description:

Support distributed processing (client-server) Introduce translation mechanism between ... 3D move through slices in volume : vtkImageActorPointPlacer ... – PowerPoint PPT presentation

Number of Views:456
Avg rating:3.0/5.0
Slides: 33
Provided by: williamjs9
Category:
Tags: vtk | national | widgets

less

Transcript and Presenter's Notes

Title: VTK Widgets


1
VTK Widgets
  • William J. Schroeder
  • Kitware, Inc.
  • June 2006

2
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
Overview
  • Goals
  • Architecture
  • Widgets
  • Implementation

4
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
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
Architecture
  • Decoupling representation from event processing

7
One widget, multiple geometries
Geometry
Behavior
vtkPointHandleRepresentation2D
vtkHandleWidget
2D Cross hair
vtkPointHandleRepresentation3D
3D Cross hair
vtkSphereHandleRepresentation
Spherical handle
vtkPolygonalHandleRepresentation
User defined polygonal shape
8
Event Translation
9
Widget Assemblies
  • Create composite widgets from several individual
    widgets
  • Children listen to events from Parent. Hence
    parent can alter behavior of child

RenderWindow
Events
Parent
Events
Events
Child
Child
10
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
HandleWidget
11
Handle Framework
  • Types of handles
  • 2D (display space)
  • 3D (world space)
  • Constrained
  • To plane
  • To surface
  • Etc?

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
vtkPointPlacer
14
Widgets
  • 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

15
Widgets
  • Handles

16
Widgets (cont.)
  • vtkSliderWidget
  • 2D
  • 3D
  • vtkBorderWidget
  • Widgets with rectangular borders
  • vtkTextWidget
  • Position size text

17
Widgets (cont.)
  • BalloonWidget
  • Text and/or image in rectangular popup

18
Widgets (cont.)
  • vtkCameraWidget
  • Keyframe playback camera
  • vtkCaptionWidget
  • Text with leader

19
Widgets (cont.)
  • vtkCheckerboardWidget
  • Interleave two images
  • vtkRectilinearWipeWidget
  • Window pane(2x2 checkerboard)with movable focus

20
Widgets (cont.)
  • vtkContourWidget
  • 2D (on plane) vtkBoundedPlanePointPlacer
  • 3D move through slices in volume
    vtkImageActorPointPlacer

21
Widgets (cont.)
  • Livewire (shortest path, set arbitrary cost
    functions, for instance gradient of image)
  • Dijkstra trace paths on polygonal data

22
Widgets (cont.)
Bezier contours
Live wire
Polygon tracing
Trace on meshes
Trace on Digital elevation map data
vtkContourWidget Users can plug in their own
interpolators
23
Widgets (cont.)
  • vtkDistanceWidget
  • Measure distance between points
  • vtkAngleWidget
  • Measure angles

24
Widgets (cont.)
  • vtkSeedWidget
  • Add one or more seeds / markers
  • vtkAffineWidget
  • Translate
  • Scale
  • Rotate
  • Shear images

25
Widgets (cont.)
  • vtkBiDimensionalWidget
  • Tumor response (RECIST vs WHO)

26
Widgets (cont.)
  • Box
  • Implicit Plane

27
Widgets (cont.)
  • Finite Plane
  • Line

28
Widgets (cont.)
  • vtkScalarBarWidget
  • vtkSphereWidget

29
Widgets (cont.)
  • vtkImagePlaneWidget

30
Widgets (cont.)
  • vtkParallelopipedWidget
  • (3D Affine)
  • vtkTensorProbeWidget
  • Probe tensors along a tract

31
Widgets (cont.)
  • vtkSplineWidget

32
Widget Sets
  • Grouping widgets on multiple render windows,
    relieving the application of the responsibility
    of doing so.

Event
RenderWindow
Widget
Event
Event
Event
RenderWindow
WidgetSet
Widget
Event
RenderWindow
Widget
Event
Write a Comment
User Comments (0)
About PowerShow.com