# The Topology ToolKit

arXiv: https://arxiv.org/abs/1805.09110 · HTML: https://mlsanity.com/paper/1805.09110/

## Key facts

- Cited by 39 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 22 May 2018.

## Built on by (most cited first, 30 of 39)

- [Wasserstein Distances, Geodesics and Barycenters of Merge Trees](https://mlsanity.com/paper/2107.07789/) (2021)
- [Discrete Morse Sandwich: Fast Computation of Persistence Diagrams for Scalar Data -- An Algorithm and A Benchmark](https://mlsanity.com/paper/2206.13932/) (2022)
- [Topological Analysis of Ensembles of Hydrodynamic Turbulent Flows -- An Experimental Study](https://mlsanity.com/paper/2207.14080/) (2022)
- [Principal Geodesic Analysis of Merge Trees (and Persistence Diagrams)](https://mlsanity.com/paper/2207.10960/) (2022)
- [Wasserstein Dictionaries of Persistence Diagrams](https://mlsanity.com/paper/2304.14852/) (2023)
- [Topological Autoencoders++: Fast and Accurate Cycle-Aware Dimensionality Reduction](https://mlsanity.com/paper/2502.20215/) (2025)
- [Topological Data Analysis Guided Segment Anything Model Prompt Optimization for Zero-Shot Segmentation in Biological Imaging](https://mlsanity.com/paper/2306.17400/) (2023)
- [Wasserstein Auto-Encoders of Merge Trees (and Persistence Diagrams)](https://mlsanity.com/paper/2307.02509/) (2023)
- [TTK is Getting MPI-Ready](https://mlsanity.com/paper/2310.08339/) (2023)
- [ImplicitTerrain: a Continuous Surface Model for Terrain Data Analysis](https://mlsanity.com/paper/2406.00227/) (2024)
- [AuToMATo: An Out-Of-The-Box Persistence-Based Clustering Algorithm](https://mlsanity.com/paper/2408.06958/) (2024)
- [Evaluating Loss Landscapes from a Topology Perspective](https://mlsanity.com/paper/2411.09807/) (2024)
- [TopoPilot: Reliable Conversational Workflow Automation for Topological Data Analysis and Visualization](https://mlsanity.com/paper/2603.25063/) (2026)
- [A Domain-Oblivious Approach for Learning Concise Representations of Filtered Topological Spaces for Clustering](https://mlsanity.com/paper/2105.12208/) (2021)
- [Improving Efficiency of Iso-Surface Extraction on Implicit Neural Representations Using Uncertainty Propagation](https://mlsanity.com/paper/2402.13861/) (2024)
- [Rapid and Precise Topological Comparison with Merge Tree Neural Networks](https://mlsanity.com/paper/2404.05879/) (2024)
- [Time-varying Extremum Graphs](https://mlsanity.com/paper/2406.17652/) (2024)
- [Jacobi Set Simplification for Tracking Topological Features in Time-Varying Scalar Fields](https://mlsanity.com/paper/2407.03348/) (2024)
- [A Practical Solver for Scalar Data Topological Simplification](https://mlsanity.com/paper/2407.12399/) (2024)
- [BondMatcher: H-Bond Stability Analysis in Molecular Systems](https://mlsanity.com/paper/2504.03205/) (2025)
- [HiLSVA: Design and Evaluation of a Human-in-the-Loop Agentic System for Scientific Visualization](https://mlsanity.com/paper/2606.26614/) (2026)
- [Visualizing Topological Importance: A Class-Driven Approach](https://mlsanity.com/paper/2309.13185/) (2023)
- [Train-Free Segmentation in MRI with Cubical Persistent Homology](https://mlsanity.com/paper/2401.01160/) (2024)
- [Extracting Complex Topology from Multivariate Functional Approximation: Contours, Jacobi Sets, and Ridge-Valley Graphs](https://mlsanity.com/paper/2508.07637/) (2025)
- [SciVisAgentSkills: Design and Evaluation of Agent Skills for Scientific Data Analysis and Visualization](https://mlsanity.com/paper/2606.05525/) (2026)
- [ReViVD: Exploration and Filtering of Trajectories in an Immersive Environment using 3D Shapes](https://mlsanity.com/paper/2202.10545/) (2022)
- [Some equivalence relation between persistent homology and morphological dynamics](https://mlsanity.com/paper/2205.12546/) (2022)
- [Enabling Fast and Accurate Crowdsourced Annotation for Elevation-Aware Flood Extent Mapping](https://mlsanity.com/paper/2408.05350/) (2024)
- [Identifying Locally Turbulent Vortices within Instabilities](https://mlsanity.com/paper/2408.12662/) (2024)
- [A Scalable System for Visual Analysis of Ocean Data](https://mlsanity.com/paper/2501.05009/) (2025)

## Abstract (arXiv)

This system paper presents the Topology ToolKit (TTK), a software platform designed for topological data analysis in scientific visualization. TTK provides a unified, generic, efficient, and robust implementation of key algorithms for the topological analysis of scalar data, including: critical points, integral lines, persistence diagrams, persistence curves, merge trees, contour trees, Morse-Smale complexes, fiber surfaces, continuous scatterplots, Jacobi sets, Reeb spaces, and more. TTK is easily accessible to end users due to a tight integration with ParaView. It is also easily accessible to developers through a variety of bindings (Python, VTK/C++) for fast prototyping or through direct, dependence-free, C++, to ease integration into pre-existing complex systems. While developing TTK, we faced several algorithmic and software engineering challenges, which we document in this paper. In particular, we present an algorithm for the construction of a discrete gradient that complies to the critical points extracted in the piecewise-linear setting. This algorithm guarantees a combinatorial consistency across the topological abstractions supported by TTK, and importantly, a unified implementation of topological data simplification for multi-scale exploration and analysis. We also present a cached triangulation data structure, that supports time efficient and generic traversals, which self-adjusts its memory usage on demand for input simplicial meshes and which implicitly emulates a triangulation for regular grids with no memory overhead. Finally, we describe an original software architecture, which guarantees memory efficient and direct accesses to TTK features, while still allowing for researchers powerful and easy bindings and extensions. TTK is open source (BSD license) and its code, online documentation and video tutorials are available on TTK's website.
