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

Slides:



Advertisements
Similar presentations
Computer Graphics Lecture 4 Geometry & Transformations.
Advertisements

VTK 3D Widgets Karthik Krishnan Will Schroeder Kitware, Inc.
Visualization Data Representation Ray Gasser SCV Visualization Workshop – Fall 2008.
3D Graphics Rendering and Terrain Modeling
Shared Graphics Skills Cameras and Clipping Planes
1 Geometrical Transformation 2 Outline General Transform 3D Objects Quaternion & 3D Track Ball.
Chapter 4 Digital Multimedia, 2nd edition Vector Graphics.
SWE 423: Multimedia Systems Chapter 4: Graphics and Images.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Direct Volume Rendering w/Shading via Three- Dimensional Textures.
Geometric Objects and Transformations Geometric Entities Representation vs. Reference System Geometric ADT (Abstract Data Types)
CGPage: 1 東吳資訊科學 江清水 Part I: Computer Graphics 1. Computer Graphics and Its application 2. Computer Graphics Hardware and Software (Skip) 3. 2D Coordinate.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
NA-MIC National Alliance for Medical Image Computing NAMIC-Kit Update Will Schroeder Jim Miller Bill Lorensen.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
Computer Graphics Computer Graphics is everywhere: Visual system is most important sense: High bandwidth Natural communication Fast developments in Hardware.
Computational Geometry The systematic study of algorithms and data structures for geometric objects, with a focus on exact algorithms that are asymptotically.
Computer Graphics. Requirements Prerequisites Prerequisites CS 255 : Data Structures CS 255 : Data Structures Math 253 Math 253 Experience with C Programming.
Computer Graphics Bing-Yu Chen National Taiwan University.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 CS 430/536 Computer Graphics I 3D Transformations World Window to Viewport Transformation Week 2, Lecture 4 David Breen, William Regli and Maxim Peysakhov.
CSci 6971: Image Registration Lecture 3: Images and Transformations March 1, 2005 Prof. Charlene Tsai.
NA-MIC National Alliance for Medical Image Computing NA-MIC Core 2 Update: Kitware Will Schroeder Kitware NA-MIC Core 2 PI NA-MIC Core.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Geometric Camera Models
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
Digital Media Lecture 8: Vector Graphics 3D Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Vector Graphics Digital Multimedia Chap 이병희
NA-MIC National Alliance for Medical Image Computing VTK Widgets William J. Schroeder Kitware, Inc. June 2006.
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 2 – Basic VRML.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
NA-MIC National Alliance for Medical Image Computing Adding Orientation to itkImage.
Geometric Transformations
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
COMP135/COMP535 Digital Multimedia, 2nd edition Nigel Chapman & Jenny Chapman Chapter 4 Lecture 4 - Vector Graphics.
In the name of God Computer Graphics.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
NA-MIC National Alliance for Medical Image Computing Kitware, Inc. Core 2 Engineering William J. Schroeder.
Diffusion Tensor Analysis in Slicer3
2006/10/25 1 A Virtual Endoscopy System Author : Author : Anna Vilanova 、 Andreas K ö nig 、 Eduard Gr ö ller Source :Machine Graphics and Vision, 8(3),
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
Digital Media Lecture 5: Vector Graphics Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan.
Activation—Unit 5 Day 1 August 5 th, 2013 Draw a coordinate plane and answer the following: 1. What are the new coordinates if (2,2) moves right 3 units?
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
Computer Graphics I, Fall 2010 Transformations.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
Viewing. Classical Viewing Viewing requires three basic elements - One or more objects - A viewer with a projection surface - Projectors that go from.
Forward Projection Pipeline and Transformations CENG 477 Introduction to Computer Graphics.
In the name of God Computer Graphics.
Computer Graphics.
3D Graphics Rendering PPT By Ricardo Veguilla.
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
3D applications in Delphi
Models and Architectures
(deformacija objektov)
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Models and Architectures
Procedural Animation Lecture 2: 3D & Houdini basics
Overview of Modeling 김성남.
Introduction to spagetti and meatballs
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Presentation transcript:

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

National Alliance for Medical Image Computing 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 Overview Goals Architecture Widgets Implementation

National Alliance for Medical Image Computing 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 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 Architecture Decoupling representation from event processing RenderWindow vtkAbstractWidgetvtkWidgetRepresentation (type of vtkProp) Events Renderer Render()

National Alliance for Medical Image Computing 7 vtkHandleWidget vtkPointHandleRepresentation2D vtkPointHandleRepresentation3D vtkSphereHandleRepresentation vtkPolygonalHandleRepresentation Behavior Geometry One widget, multiple geometries 2D Cross hair 3D Cross hair Spherical handle User defined polygonal shape

National Alliance for Medical Image Computing Event Translation

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing Handle Framework Types of handles –2D (display space) –3D (world space) –Constrained To plane To surface Etc?

National Alliance for Medical Image Computing 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.

National Alliance for Medical Image Computing 13 vtkPointPlacer

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing Widgets Handles

National Alliance for Medical Image Computing Widgets (cont.) vtkSliderWidget –2D –3D vtkBorderWidget –Widgets with rectangular borders vtkTextWidget –Position & size text

National Alliance for Medical Image Computing Widgets (cont.) BalloonWidget –Text and/or image in rectangular popup

National Alliance for Medical Image Computing Widgets (cont.) vtkCameraWidget –Keyframe & playback camera vtkCaptionWidget –Text with leader

National Alliance for Medical Image Computing Widgets (cont.) vtkCheckerboardWidget –Interleave two images vtkRectilinearWipeWidget –Window pane (2x2 checkerboard) with movable focus

National Alliance for Medical Image Computing Widgets (cont.) vtkContourWidget –2D (on plane) : vtkBoundedPlanePointPlacer –3D move through slices in volume : vtkImageActorPointPlacer

National Alliance for Medical Image Computing Widgets (cont.) –Livewire (shortest path, set arbitrary cost functions, for instance gradient of image) –Dijkstra trace paths on polygonal data

National Alliance for Medical Image Computing 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

National Alliance for Medical Image Computing Widgets (cont.) vtkDistanceWidget –Measure distance between points vtkAngleWidget –Measure angles

National Alliance for Medical Image Computing Widgets (cont.) vtkSeedWidget –Add one or more seeds / markers vtkAffineWidget –Translate –Scale –Rotate –Shear images

National Alliance for Medical Image Computing Widgets (cont.) vtkBiDimensionalWidget –Tumor response (RECIST vs WHO)

National Alliance for Medical Image Computing Widgets (cont.) BoxImplicit Plane

National Alliance for Medical Image Computing Widgets (cont.) Finite PlaneLine

National Alliance for Medical Image Computing Widgets (cont.) vtkScalarBarWidgetvtkSphereWidget

National Alliance for Medical Image Computing Widgets (cont.) vtkImagePlaneWidget

National Alliance for Medical Image Computing Widgets (cont.) vtkParallelopipedWidget (3D Affine) vtkTensorProbeWidget Probe tensors along a tract

National Alliance for Medical Image Computing Widgets (cont.) vtkSplineWidget

National Alliance for Medical Image Computing 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