GSoC/GCI Archive
Google Summer of Code 2014

Visualization Toolkit (VTK)

License: New and Simplified BSD licenses

Web Page:

Mailing List:

The Visualization Toolkit (VTK) is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. VTK supports a wide variety of visualization algorithms including: scalar, vector, tensor, texture, and volumetric methods; and advanced modeling techniques such as: implicit modeling, polygon reduction, mesh smoothing, cutting, contouring, and Delaunay triangulation. VTK has an extensive information visualization framework, has a suite of 3D interaction widgets, supports parallel processing, and integrates with various databases on GUI toolkits such as Qt and Tk. VTK is cross-platform and runs on Linux, Windows, Mac and Unix platforms.


  • Ensemble Vector Fields for VTK Ensemble vector field (EVF) visualization is currently not supported in the Visualization Toolkit (VTK). I suggest multiple tasks. The first, is loading ensemble data from the NetCDF file format. The second, is computation of finite-time variance analysis (FTVA) for an EVF. The third, is to provide visualization of clusters in the variance data from FTVA. Lastly, as an optional item if time permits, is the inclusion of TRACLUS, a trajectory clustering algorithm for use within VTK.
  • Extensions for Geospatial and Climate based visualizations in VTK This project aims at adding a few extensions to the VTK library to support Geospatial and Climate based visualizations in the VTK library. The proposed work can be divided into 4 tasks as described below: 1) Add new features to existing filters such as neat labelling of the contours 2) New readers to read LIDAR dataset and GeoJSON geometry data into VTK 3) Improve handling of time in VTK 4) Implement tile rendering in VTK (optional - time permitting)
  • Supporting a Visualization Grammar The aim of this project is to provide the ability to create plots and charts with the VTK framework by a a simple declarative language. In order to achieve this goal a visualization grammar similar to the one utilized by the Vega JavaScript library will be mapped to VTK data structures and to specific classes that will be designed for supporting geometry objects and marks.