Top Banner
NA-MIC National Alliance for Medical Image Computing http://na-mic.org VTK Widgets William J. Schroeder William J. Schroeder Kitware, Inc. Kitware, Inc. June 2006 June 2006
24

NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006.

Jan 05, 2016

Download

Documents

Erik Johnston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: NA-MIC National Alliance for Medical Image Computing  VTK Widgets William J. Schroeder Kitware, Inc. June 2006.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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