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 graphics, image processing, and visualization Implemented as a C++ class library, with interpreted layers in Tcl/Tk, Java, Python 700 C++ classes, 350K lines of source code, 215K lines of wrapper code Multi-platform implementation (Windows, Unix, MacOS) Visualization Techniques: Scalar, Vector, Tensor, Texture, and Volu- metric methods 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 VTK:Interaction and GUI Integrates seamlessly with other windowing systems, including Qt, FLTK, wxWindows, Tcl/Tk, Python, Java, etc. Supports a variety of interaction styles: trackball, joystick, cus- tomized interaction styles Implements a command/observer event handling mechanism; sup- ports a sophisticated event model. Includes an extensive set of 3D widgets including point, line, plane, implicit plane, box, sphere, scalar bar, etc. ITCS 6010:Biomedical Imaging and Visualization 2 VTK Primer VTK:3D Graphics Model Surface Rendering Volume Rendering (ray casting, texture-based, VolumePRO) Rendering Primitives: points, lines, polygons, triangle strips, volume Interactive Viewer/Renderer: 3D Widgets for interaction Attributes: local reflection model, transparency, textures, flat/Gouraud shading Lights: infinite, spot Cameras: parallel/perspective projection ITCS 6010:Biomedical Imaging and Visualization 3 VTK Primer VTK:3D Graphics Model (contd) Lights illuminate the scene Cameras define viewpoint Actors specify geometry/properties LOD actor (manual/automatic generation) for interactive rendering Assemblies group actors into arbitrary hierarchies Mappers define geometry/link into visualization pipeline Renderers coordinate lights, cameras, actors to create image Volumes : special actor with special properties ITCS 6010:Biomedical Imaging and Visualization 4 VTK Primer 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 VTK:Visualization Data/Primitives ITCS 6010:Biomedical Imaging and Visualization 6 VTK Primer VTK:Visualization Algorithms(contd.) Scalar Algorithms: Color mapping, carpet-plots, iso-contours (marching and dividing cubes), thresholding Vector Algorithms: hedgehogs, streamlines, streampoints, stream surfaces, stream polygon Tensor Algorithms: tensor ellipsoids, glyphs, hyper streamlines Modelling Algorithms ITCS 6010:Biomedical Imaging and Visualization 7 VTK Primer VTK:Visualization Algorithms(contd) Modeling Algorithms ◦ Primitives: sphere, cone, cube, line, plane, triangle strip gener- ation ◦ Implicit modeling, swept surfaces/volumes ◦ Glyphs, cutting, clipping ◦ textures (boolean), texture thresholding ◦ Decimation, 2D/3D Delaunay triangulation, mesh smoothing ◦ scattered point visualization, reconstruction, append- ing/merging/cleaning data Data Interface:Readers/Writers, Importers/Exporters ITCS 6010:Biomedical Imaging and Visualization 8 VTK Primer VTK: Example Visualizations ITCS 6010:Biomedical Imaging and Visualization 9 VTK Primer VTK: Example Visualizations ITCS 6010:Biomedical Imaging and Visualization 10 VTK Primer VTK:Visualization Pipeline Visualization pipeline demand-driven data-flow with automatic net- work updates Reference counting to reduce memory requirements Sources, filters, mappers to start, process, and terminate network Network looping and feedback supported Strong type-checking to enforce filter connectivity Supports multiple input/multiple output filters ITCS 6010:Biomedical Imaging and Visualization 11 VTK Primer Implicit(Demand Driven) Execution 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 B C D E Update: Object requesting new output examines its input objects; recurs until source objects are reached Execution: Starting from source objects, all objects in the path to the requesting object are executed Advantage is simplicity and locality, but inconvenient for parallel ex- ecution. 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
    14 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