The Topology ToolKit
arXiv:1805.09110 · doi:10.1109/TVCG.2017.2743938
Abstract
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.
References in corpus (6)
- The persistent cosmic web and its filamentary structure I: Theory and implementation
- The Topology ToolKit
- A persistence landscapes toolbox for topological statistics
- Felix: A Topology based Framework for Visual Exploration of Cosmic Filaments
- The Simplex Tree: an Efficient Data Structure for General Simplicial Complexes
- Optimal topological simplification of discrete functions on surfaces
Cited by in corpus (51)
- The DIRAC code for relativistic molecular calculations
- The Topology ToolKit
- Scalar Field Comparison with Topological Descriptors: Properties and Applications for Scientific Visualization
- Edit Distance between Merge Trees
- A Structural Average of Labeled Merge Trees for Uncertainty Visualization
- Progressive Wasserstein Barycenters of Persistence Diagrams
- A Topological Data Analysis Perspective on Non-Covalent Interactions in Relativistic Calculations
- A Survey of Designs for Combined 2D+3D Visual Representations
- Representations of Energy Landscapes by Sublevelset Persistent Homology: An Example With n-Alkanes
- Branch Decomposition-Independent Edit Distances for Merge Trees
- The Persistent Homology of Dual Digital Image Constructions
- Comparative Analysis of Merge Trees using Local Tree Edit Distance
- FTK: A Simplicial Spacetime Meshing Framework for Robust and Scalable Feature Tracking
- Fiber Uncertainty Visualization for Bivariate Data With Parametric and Nonparametric Noise Models
- A Deformation-based Edit Distance for Merge Trees
- Parallel Computation of Piecewise Linear Morse-Smale Segmentations
- ReViVD: Exploration and Filtering of Trajectories in an Immersive Environment using 3D Shapes
- Segmentation Driven Peeling for Visual Analysis of Electronic Transitions
- A Task-Parallel Approach for Localized Topological Data Structures
- Jacobi Set Driven Search for Flexible Fiber Surface Extraction
- Fast Comparative Analysis of Merge Trees Using Locality Sensitive Hashing
- A General Framework for Augmenting Lossy Compressors with Topological Guarantees
- Continuous Scatterplot Operators for Bivariate Analysis and Study of Electronic Transitions
- Curio: A Dataflow-Based Framework for Collaborative Urban Visual Analytics
- Interoperable Workflows by Exchanging Grid-Based Data between Quantum-Chemical Program Packages
- A Progressive Approach to Scalar Field Topology
- Hierarchies and Ranks for Persistence Pairs
- Flexible and Probabilistic Topology Tracking with Partial Optimal Transport
- Taming Horizontal Instability in Merge Trees: On the Computation of a Comprehensive Deformation-based Edit Distance
- Topological Data Analysis of Black Hole Images
- Improving Efficiency of Iso-Surface Extraction on Implicit Neural Representations Using Uncertainty Propagation
- A GPU Parallel Algorithm for Computing Morse-Smale Complexes
- Geometry-Driven Detection, Tracking and Visual Analysis of Viscous and Gravitational Fingers
- Merge Tree Geodesics and Barycenters with Path Mappings
- Efficient Level-Crossing Probability Calculation for Gaussian Process Modeled Data
- Topological Data Analysis Made Easy with the Topology ToolKit
- Time-varying Extremum Graphs
- A Primer on Persistent Homology of Finite Metric Spaces
- The Boosted Potential
- Fast Fiber Line Extraction for 2D Bivariate Scalar Fields
- Uncertainty Visualization of 2D Morse Complex Ensembles Using Statistical Summary Maps
- STRAWBERRY: Finding haloes in the gravitational potential
- Topology and geometry of molecular conformational spaces and energy landscapes
- Jacobi Set Simplification for Tracking Topological Features in Time-Varying Scalar Fields
- TopoLines: Topological Smoothing for Line Charts
- A Domain-Oblivious Approach for Learning Concise Representations of Filtered Topological Spaces for Clustering
- Persistence Atlas for Critical Point Variability in Ensembles
- Approximate Topological Optimization using Multi-Mode Estimation for Robot Motion Planning
- ICLR 2021 Challenge for Computational Geometry & Topology: Design and Results
- Task-based Augmented Contour Trees with Fibonacci Heaps
- A Scalable System for Visual Analysis of Ocean Data