na-mic national alliance for medical image computing vtk widgets william j. schroeder kitware, inc....

Post on 05-Jan-2016

217 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

National Alliance for Medical Image Computing http://na-mic.org

Overview

• Goals

• Architecture

• Widgets

• Implementation

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

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

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()

National Alliance for Medical Image Computing http://na-mic.org

Event Translation

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

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?

National Alliance for Medical Image Computing http://na-mic.org

Widgets

• Handles

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• vtkSliderWidget– 2D– 3D

• vtkBorderWidget– Widgets with

rectangular borders

• vtkTextWidget– Position & size text

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• BalloonWidget– Text and/or image in rectangular popup

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• vtkCameraWidget– Keyframe &

playback camera

• vtkCaptionWidget– Text with leader

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• vtkCheckerboardWidget– Interleave two images

• vtkRectilinearWipeWidget– Window pane

(2x2 checkerboard)with movable focus

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• vtkContourWidget– 2D (on plane)– 3D (move contours through slices in a volume)

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• vtkDistanceWidget– Measure distance

between points

• vtkAngleWidget– Measure angles

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

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• vtkBiDimensionalWidget– Tumor response (RECIST vs WHO)

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• Box • Implicit Plane

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• Finite Plane • Line

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• vtkScalarBarWidget • vtkSphereWidget

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• vtkImagePlaneWidget

National Alliance for Medical Image Computing http://na-mic.org

Widgets (cont.)

• vtkSplineWidget

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

top related