Visualization Toolkit (VTK) an Introduction

Visualization Toolkit (VTK) an Introduction

Visualization Toolkit (VTK) An Introduction An open source, freely available software system for 3D computer VTK:Interaction and GUI graphics, image processing, and visualization Implemented as a C++ class library, with interpreted layers in Tcl/Tk, Integrates seamlessly with other windowing systems, including Qt, Java, Python FLTK, wxWindows, Tcl/Tk, Python, Java, etc. 700 C++ classes, 350K lines of source code, 215K lines of wrapper Supports a variety of interaction styles: trackball, joystick, cus- code tomized interaction styles Multi-platform implementation (Windows, Unix, MacOS) Implements a command/observer event handling mechanism; sup- ports a sophisticated event model. Visualization Techniques: Scalar, Vector, Tensor, Texture, and Volu- metric methods Includes an extensive set of 3D widgets including point, line, plane, implicit plane, box, sphere, scalar bar, etc. Modeling Techniques: Implicit modelling, Polygon reduc- tion/simplification, mesh smoothing, cutting, contouring, and Delau- nay triangulation Extensible system ITCS 6010:Biomedical Imaging and Visualization 1 VTK Primer ITCS 6010:Biomedical Imaging and Visualization 2 VTK Primer VTK:3D Graphics Model VTK:3D Graphics Model (contd) Surface Rendering Lights illuminate the scene Volume Rendering (ray casting, texture-based, VolumePRO) Cameras define viewpoint Rendering Primitives: points, lines, polygons, triangle strips, volume Actors specify geometry/properties Interactive Viewer/Renderer: 3D Widgets for interaction LOD actor (manual/automatic generation) for interactive rendering Attributes: local reflection model, transparency, textures, Assemblies group actors into arbitrary hierarchies flat/Gouraud shading Mappers define geometry/link into visualization pipeline Lights: infinite, spot Renderers coordinate lights, cameras, actors to create image Cameras: parallel/perspective projection Volumes : special actor with special properties ITCS 6010:Biomedical Imaging and Visualization 3 VTK Primer ITCS 6010:Biomedical Imaging and Visualization 4 VTK Primer VTK:Visualization Data/Primitives VTK:Visualization Data/Primitives Data Types: polygonal data, images/volumes (structured points), structured/unstructured grids, rectilinear grids Cell Types: vertex/poly-vertex, line/poly-line, triangle(strip), pixel/voxel, quadrilateral, tetrahedron, hexahedron, pyramid, wedge Attributes: scalars, vectors, tensors (3 × 3), normals, texture coords, field data ITCS 6010:Biomedical Imaging and Visualization 5 VTK Primer ITCS 6010:Biomedical Imaging and Visualization 6 VTK Primer VTK:Visualization Algorithms(contd) VTK:Visualization Algorithms(contd.) Modeling Algorithms ◦ Primitives: sphere, cone, cube, line, plane, triangle strip gener- Scalar Algorithms: Color mapping, carpet-plots, iso-contours ation (marching and dividing cubes), thresholding ◦ Implicit modeling, swept surfaces/volumes Vector Algorithms: hedgehogs, streamlines, streampoints, stream ◦ Glyphs, cutting, clipping surfaces, stream polygon ◦ textures (boolean), texture thresholding Tensor Algorithms: tensor ellipsoids, glyphs, hyper streamlines ◦ Decimation, 2D/3D Delaunay triangulation, mesh smoothing Modelling Algorithms ◦ scattered point visualization, reconstruction, append- ing/merging/cleaning data Data Interface:Readers/Writers, Importers/Exporters ITCS 6010:Biomedical Imaging and Visualization 7 VTK Primer ITCS 6010:Biomedical Imaging and Visualization 8 VTK Primer VTK: Example Visualizations VTK: Example Visualizations ITCS 6010:Biomedical Imaging and Visualization 9 VTK Primer ITCS 6010:Biomedical Imaging and Visualization 10 VTK Primer Implicit(Demand Driven) Execution VTK:Visualization Pipeline A process object executes only if its input or local parameters change A E’s output requested Backpropagate E−D−B−A Execute A−B−D−E Visualization pipeline demand-driven data-flow with automatic net- B work updates C D Reference counting to reduce memory requirements E Sources, filters, mappers to start, process, and terminate network Network looping and feedback supported Update: Object requesting new output examines its input objects; recurs until source objects are reached Strong type-checking to enforce filter connectivity Execution: Starting from source objects, all objects in the path to the Supports multiple input/multiple output filters requesting object are executed Advantage is simplicity and locality, but inconvenient for parallel ex- ecution. ITCS 6010:Biomedical Imaging and Visualization 11 VTK Primer ITCS 6010:Biomedical Imaging and Visualization 12 VTK Primer VTK:Imaging Features: ◦ Uses cached, streaming pipeline, can operate on gigantic datasets. ◦ Imaging filters are multi-threaded for parallel execution ◦ Fully integrated with 3D graphics/visualization pipeline Filter types: diffusion, Butterworth, dilation/erosion, convolution, magnitude, gradient, distance xform, FFT, histogram/threshold, Gaussian, Fourier, Sobel. ITCS 6010:Biomedical Imaging and Visualization 13 VTK Primer ITCS 6010:Biomedical Imaging and Visualization 14 VTK Primer.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us