Topology ToolKit


Efficient, generic and easy
Topological data analysis and visualization

   News

 ·  Newcomer to Topological Data Analysis? Checkout our new TTK Example Website! [Jan. 2, 2022]
 ·  We had an awesome tutorial at IEEE VIS 2021. Videos are now available here! [Nov. 12, 2021]
 ·  After 7 years of development, TTK is now officially integrated in ParaView! [Oct. 16, 2021]
 ·  To celebrate this milestone, we have released TTK version 1.0! [Oct. 16, 2021]
 ·  Join us online at IEEE VIS 2021 (October 24) for a half-day TTK tutorial! [Oct. 8, 2021]

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 ensemble scalar data: Bottleneck and Wasserstein distances between persistence diagrams (exact Munkres-based computation or fast Auction-based approximation), Wasserstein barycenters and clusters of persistence diagrams (fast progressive algorithms) and merge trees, distance matrices (Lp norm, Wasserstein distances), contour tree alignment;
 · 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 data analysis and visualization application 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