VTK
The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization used by thousands of researchers and developers around the world. VTK consists of a C++ class library, and several interpreted interface layers including Tcl/Tk, Java, and Python. Professional support and products for VTK are provided by Kitware, Inc. (www.kitware.com) VTK supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques such as implicit modelling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation. In addition, dozens of imaging algorithms have been directly integrated to allow the user to mix 2D imaging / 3D graphics algorithms and data.
Example Usage (C++)
These are fully independent, compilable examples. There is significant overlap in the examples, but they are each intended to illustrate a different concept and be fully stand alone compilable.
Please add examples in your areas of expertise!
Getting Started
Working with PolyData
- Useful Classes
- Read a VTP file
- Read a plain text file into a polydata
- Write a file of triangle corners
- Write a file of triangle corners (+vertices)
- Write a file of a triangle
- Write a file of colored triangle vertices
- Write a file of a colored triangle
- Write a file of a solid color triangle
- Write a sphere to a VTP file
- Write a plane to a VTP file
- Write two cubes to a VTP file
- Add Normals to a Polydata
- Point and Cell Normals
- Add Miscellaneous Data to Points in a Polydata
- Add Miscellaneous Data to Cells in a Polydata
- Add Global Miscellaneous Data to a Polydata
- Extract Normals from a Polydata
- Get the names of all of the data arrays
- Determine data types of arrays
Other File Types
Data Structures
Filters
- Apply a Transformation to Points
- Landmark Transform
- Iterative Closest Points (ICP) Transform
- Triangulate a Terrain Map
- Create a surface from Unorganized Points
- Create a surface from Unorganized Points (Gaussian Splat)
Visualization
Example Usage (Python)
Getting Started
Working with PolyData
- Write the corners of a triangle to a file (python)
- Write the corners of a triangle to a file (+vertices) (python)
- Write a triangle with colored points (python)
- Write a colored triangle (python)
- Write a solid colored triangle (python)
- Write a triangle to a file (python)
- Iterative Closest Points (ICP) (python)
Administrative Topics
- Where can I find more information about VTK?
- Where can I download VTK?
- Where can I download a tarball of the nightly HTML documentation?
- Where can I get VTK Datasets?
- VTK Patch Procedure -- merge requests for the current release branch
- What are some projects using VTK?
Current Projects
- VTK Graph Layout
- VTK Java Wrapping
- Composite Data Redesign
- VTK Widget Redesign
- Shaders in VTK
- VTK with Matlab
- VTK Time support
- VTK Depth Peeling
- VTK Multi-Pass Rendering
- Using VTK with JRuby
- Painters
- Cray XT3 Compilation
- Statistics
- Array Refactoring
- Multicore and Streaming
External Links
- IMTEK Mathematica Supplement (IMS), the Open Source IMTEK Mathematica Supplement (IMS) interfaces VTK and generates ParaView batch scripts
- [1], VTK examples in C# (Visual Studio 5.0 and .NET 2.0)