Initial Publication Date: December 21, 2010
Antarctic Ice Model
An image created with the Visualization Toolkit showing ice surface velocity from a modeled collapse of the West Antarctic Ice Sheet. Image by Chuck Anderson, Penn State University.

The Visualization Tool Kit (VTK)

submitted by Chuck Anderson, Penn State University

General Description

The Visualization Toolkit (VTK) is an open source visualization package for 3D data visualization, image processing and 3D graphics. It consists of a large C++ class library and while it can be used to create stand-alone applications in C++, its strength for educational use comes from the several interpreted interfaces that can be used to script VTK. These interpreted languages, including Tcl/Tk, Python and Java, provide a more user friendly programming environment and allow easy creation of interactive controls for scripts. VTK is a free open source alternative to expensive visualization packages. As a bonus, visualizations using VTK can be displayed in stereo on GeoWalls and other stereo projection systems capable of handling Crystal Eyes compatible stereo content.

Uses of the Program

I have created numerous VTK scripts with application to geosciences. These include interactive 3D maps, interactive animations of molecular motion defined by molecular dynamics modeling, interactive animations of Antarctic ice sheet modeling data, an interactive 3D structural block model and visualizations of complex 3D velocity fields. I have heavily documented several of these scripts and they are available on the web (see below). These scripts can be used as-is, or be used as a starting point for creating your own scripts.

Audience and Setting

VTK can be used to create visualizations for use in lecture and lab settings, and could also be used by students to create their own visualizations as part of class projects or to visualize their own data.

Pyrite and Water
An image created with the Visualization Toolkit showing water and oxygen diffusion around a pyrite grain. Image by Chuck Anderson, Penn State University.

Examples of Educational use

We have an interactive 3D USGS quadrangle map with the option of displaying the topographic map, a geologic map or high-resolution orthophoto imagery. The 3D surface can also be cut to display a geologic cross-section. This model is used in an introductory geology geologic an topographic maps lab.

The following visualizations are included:
  • Water and Oxygen Diffusion around a Pyrite Grain
  • Periclase (MgO) Crystallization Movies
  • Silicate Mineral Models
  • Interactive 3D Structural Block Model
  • Antarctic Ice Growth
  • Lewistown, PA Geologic Map, Topographic Map and Orthophotography Draped on DEM

Lewistown, PA Geology
An image created with the Visualization Toolkit. This image shows data from the Lewistown, PA Geologic Map, Topographic Map and Orthophotography Draped on DEM.

How to Get the Software

VTK is free open source software that runs on Windows, Mac and Linux. There is an installer for Windows, but the source code must be downloaded and compiled on Mac and Linux operating systems. The appropriate files and installation instructions are available at http://www.vtk.org/VTK/resources/software.html

How to Use this Software

VTK comes with a collection of examples that are a good resource for learning the scripting language and to start building your own scripts. There are also online and hard copy user manuals available to new users. Below are links to the highly commented scripts I have created which also will help new users. To run, double click the .tcl file on windows machines (you may heve to tell it to use vtk.exe the first time), or type "vtk filename.tcl" on the command line on Mac or Linux systems. These scripts are set to run in stereo on GeoWall systems. They should run without modification on non-stereo systems. However, if you experience screen flickering, comment out the following three lines in the .tcl files:
renWin StereoCapableWindowOn;
renWin SetStereoTypeToCrystalEyes;
renWin StereoRenderOn;

Return to the Tools index page »