Topology ToolKit

Efficient, generic and easy
Topological data analysis and visualization


 ·  New TTK release! Checkout the ChangeLog. [Jul. 29, 2019]
 ·  We had a great TTK Hackathon at TopoInVis 2019! Thanks everybody! [Jun. 16, 2019]
 ·  TTK will be presented in a tutorial at IEEE VIS 2019! [June 5, 2019]
 ·  Join us at TopoInVis in Sweden for a TTK Hackathon! [May 4, 2019]
 ·  New TTK release! Checkout the ChangeLog. [Nov. 13, 2018]
 ·  Join us on Sunday afternoon at IEEE VIS 2018 for our TTK tutorial! [Oct. 19, 2018]
 ·  New TTK release! Checkout the ChangeLog. [Jul. 30, 2018]
 ·  TTK will be presented in an invited session at ACM SIGGRAPH 2018. [Jul. 30, 2018]

The Topology ToolKit (TTK) is an open-source library and software collection for topological data analysis and visualization.

TTK can handle scalar data defined either on regular grids or triangulations, in 2D, 3D, or more. It provides a substantial collection of generic, efficient and robust implementations of key algorithms in topological data analysis. It includes:
 · For scalar data: critical points, integral lines, persistence diagrams, persistence curves, merge trees, contour trees, Reeb graphs, Morse-Smale complexes, topological simplification, topology-aware compression, harmonic design;
 · For bivariate scalar data: fibers, fiber surfaces, continuous scatterplots, Jacobi sets, Reeb spaces;
 · For uncertain scalar data: mandatory critical points;
 · For time-varying scalar data: critical point tracking, nested tracking graphs;
 · For high-dimensional / point cloud data: dimension reduction, persistence-based clustering;
 · and more!
If you need to robustly analyze your data, you may want to use TTK.
> Check out our gallery page for some TTK eye candy!

TTK makes topological data analysis accessible to end users thanks to easy-to-use plugins for the visualization front end ParaView. Thanks to ParaView, TTK supports a variety of input data formats.
> Check out our video tutorials to see TTK in action!

TTK is written in C++ but comes with a variety of bindings (VTK/C++, Python) and standalone command-line programs. It is modular and easy to extend. We have specifically developed it such that you can easily write your own data analysis tools as TTK modules.
> Check out our developer documentation

TTK is open-source (BSD license). You can use it at your convenience, for open-source or proprietary projects. You are also welcome to contribute.
> Check out our contribution page