The Topology ToolKit

Abstract : This system paper presents the Topology ToolKit (TTK), a software platform designed for topological data analysis in scientific visualization. While topological data analysis has gained in popularity over the last two decades, it has not yet been widely adopted as a standard data analysis tool for end users or developers. TTK aims at addressing this problem by providing 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 (https://topology-tool-kit.github.io/).
Complete list of metadatas

Cited literature [109 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-01499905
Contributor : Julien Tierny <>
Submitted on : Wednesday, July 26, 2017 - 2:19:55 PM
Last modification on : Friday, May 24, 2019 - 5:23:34 PM

File

ttk.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-01499905, version 2

Citation

Julien Tierny, Guillaume Favelier, Joshua Levine, Charles Gueunet, Michael Michaux. The Topology ToolKit. IEEE Transactions on Visualization and Computer Graphics, Institute of Electrical and Electronics Engineers, 2017. ⟨hal-01499905v2⟩

Share

Metrics

Record views

334

Files downloads

627