The Topology ToolKit

This system paper presents the Topology ToolKit (TTK), a software platform designed for the topological analysis of scalar data 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, dependency-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 [108].

[1]  Leila De Floriani,et al.  Morse complexes for shape segmentation and homological analysis: discrete models and algorithms , 2015, Comput. Graph. Forum.

[2]  Nithin Shivashankar Morse-Smale Complexes : Computation and Applications , 2014 .

[3]  Vijay Natarajan,et al.  Parallel Computation of 3D Morse‐Smale Complexes , 2012, Comput. Graph. Forum.

[4]  Bernd Hamann,et al.  Topologically Clean Distance Fields , 2007, IEEE Transactions on Visualization and Computer Graphics.

[5]  Vijay Natarajan,et al.  Efficient Software for Programmable Visual Analysis Using Morse-Smale Complexes , 2015 .

[6]  Ulrich Bauer,et al.  Optimal Topological Simplification of Discrete Functions on Surfaces , 2012, Discret. Comput. Geom..

[7]  Valerio Pascucci,et al.  Conforming Morse-Smale Complexes , 2014, IEEE Transactions on Visualization and Computer Graphics.

[8]  Kevin Weiler,et al.  Edge-Based Data Structures for Solid Modeling in Curved-Surface Environments , 1985, IEEE Computer Graphics and Applications.

[9]  Leif Kobbelt,et al.  OpenMesh: A Generic and Efficient Polygon Mesh Data Structure , 2002 .

[10]  Hans Hagen,et al.  A Survey of Topology‐based Methods in Visualization , 2016, Comput. Graph. Forum.

[11]  Jarek Rossignac,et al.  Zipper: A compact connectivity data structure for triangle meshes , 2013, Comput. Aided Des..

[12]  Gordon L. Kindlmann,et al.  Diderot: a Domain-Specific Language for Portable Parallel Scientific Visualization and Image Analysis , 2016, IEEE Transactions on Visualization and Computer Graphics.

[13]  David Cohen-Steiner,et al.  Stability of Persistence Diagrams , 2005, Discret. Comput. Geom..

[14]  Jean-Philip Piquemal,et al.  Characterizing Molecular Interactions in Chemical Systems , 2014, IEEE Transactions on Visualization and Computer Graphics.

[15]  Mikhail N. Vyalyi,et al.  Construction of contour trees in 3D in O(n log n) steps , 1998, SCG '98.

[16]  Valerio Pascucci,et al.  Interstitial and Interlayer Ion Diffusion Geometry Extraction in Graphitic Nanosphere Battery Materials , 2016, IEEE Transactions on Visualization and Computer Graphics.

[17]  B. Dundas,et al.  DIFFERENTIAL TOPOLOGY , 2002 .

[18]  Konstantin Mischaikow,et al.  Vector Field Editing and Periodic Orbit Extraction Using Morse Decomposition , 2007, IEEE Transactions on Visualization and Computer Graphics.

[19]  Bernd Hamann,et al.  Topology-Controlled Volume Rendering , 2006, IEEE Transactions on Visualization and Computer Graphics.

[20]  Daniel Weiskopf,et al.  Continuous Scatterplots , 2008, IEEE Transactions on Visualization and Computer Graphics.

[21]  Valerio Pascucci,et al.  Computing Morse-Smale Complexes with Accurate Geometry , 2012, IEEE Transactions on Visualization and Computer Graphics.

[22]  Vijay Natarajan,et al.  Multiscale Symmetry Detection in Scalar Fields by Clustering Contours , 2014, IEEE Transactions on Visualization and Computer Graphics.

[23]  James P. Ahrens,et al.  Scout: a data-parallel programming language for graphics processors , 2007, Parallel Comput..

[24]  C. C. Law,et al.  ParaView: An End-User Tool for Large-Data Visualization , 2005, The Visualization Handbook.

[25]  Herbert Edelsbrunner,et al.  Reeb spaces of piecewise linear mappings , 2008, SCG '08.

[26]  Valerio Pascucci,et al.  Loop surgery for volumetric meshes: Reeb graphs reduced to contour trees , 2009, IEEE Transactions on Visualization and Computer Graphics.

[27]  Patrick M. Knupp,et al.  The Mesquite Mesh Quality Improvement Toolkit , 2003, IMR.

[28]  Kenneth I. Joy,et al.  Data Structures for Multiresolution Representation of Unstructured Meshes , 2003 .

[29]  Chandrajit L. Bajaj,et al.  Time-varying contour topology , 2006, IEEE Transactions on Visualization and Computer Graphics.

[30]  Jarek Rossignac,et al.  SQuad: Compact Representation for Triangle Meshes , 2011, Comput. Graph. Forum.

[31]  Dmitriy Morozov,et al.  Zigzag persistent homology and real-valued functions , 2009, SCG '09.

[32]  Afra Zomorodian,et al.  The tidy set: a minimal simplicial set for computing homology of clique complexes , 2010, SCG.

[33]  Julien Jomier,et al.  Contour forests: Fast multi-threaded augmented contour trees , 2016, 2016 IEEE 6th Symposium on Large Data Analysis and Visualization (LDAV).

[34]  Robert M. O'Bara,et al.  Methods and framework for visualizing higher-order finite elements , 2006, IEEE Transactions on Visualization and Computer Graphics.

[35]  Cláudio T. Silva,et al.  VisTrails: enabling interactive multiple-view visualizations , 2005, VIS 05. IEEE Visualization, 2005..

[36]  Hank Childs,et al.  VisIt: An End-User Tool for Visualizing and Analyzing Very Large Data , 2011 .

[37]  Jarek Rossignac,et al.  Grouper: A Compact, Streamable Triangle Mesh Data Structure , 2014, IEEE Transactions on Visualization and Computer Graphics.

[38]  Hyungsuk Choi,et al.  Vivaldi: A Domain-Specific Language for Volume Processing and Visualization on Distributed Heterogeneous Systems , 2014, IEEE Transactions on Visualization and Computer Graphics.

[39]  H. Edelsbrunner,et al.  Persistence-sensitive simplification of functions on 2-manlfolds , 2006, SoCG 2006.

[40]  Afra Zomorodian,et al.  Computing Persistent Homology , 2004, SCG '04.

[41]  Jean-Daniel Boissonnat,et al.  Building Efficient and Compact Data Structures for Simplicial Complexes , 2016, Algorithmica.

[42]  R. Forman A USER'S GUIDE TO DISCRETE MORSE THEORY , 2002 .

[43]  Herbert Edelsbrunner,et al.  Computational Topology - an Introduction , 2009 .

[44]  Joseph Salmon,et al.  Mandatory Critical Points of 2D Uncertain Scalar Fields , 2014, Comput. Graph. Forum.

[45]  Guy E. Blelloch,et al.  Compact representations of simplicial meshes in two and three dimensions , 2005, Int. J. Comput. Geom. Appl..

[46]  Pooran Memari,et al.  Conformal Factor Persistence for Fast Hierarchical Cone Extraction , 2017, Eurographics.

[47]  Valerio Pascucci,et al.  Morse-smale complexes for piecewise linear 3-manifolds , 2003, SCG '03.

[48]  Herbert Edelsbrunner,et al.  Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms , 1988, SCG '88.

[49]  Ulrich Bauer,et al.  Homological reconstruction and simplification in R3 , 2013, SoCG '13.

[50]  Valerio Pascucci,et al.  Generalized Topological Simplification of Scalar Fields on Surfaces , 2012, IEEE Transactions on Visualization and Computer Graphics.

[51]  T. Banchoff Critical Points and Curvature for Embedded Polyhedral Surfaces , 1970 .

[52]  Markus Hadwiger,et al.  ViSlang: A System for Interpreted Domain-Specific Languages for Scientific Visualization , 2014, IEEE Transactions on Visualization and Computer Graphics.

[53]  Paolo Cignoni,et al.  MeshLab: an Open-Source Mesh Processing Tool , 2008, Eurographics Italian Chapter Conference.

[54]  Salman Parsa,et al.  A deterministic o(m log m) time algorithm for the reeb graph , 2012, SoCG '12.

[55]  Julien Tierny,et al.  Fast and Exact Fiber Surfaces for Tetrahedral Meshes , 2017, IEEE Transactions on Visualization and Computer Graphics.

[56]  Tamal K. Dey,et al.  Computing Topological Persistence for Simplicial Maps , 2012, SoCG.

[57]  Jack Snoeyink,et al.  Simplifying flexible isosurfaces using local geometric measures , 2004, IEEE Visualization 2004.

[58]  Jack Snoeyink,et al.  Computing contour trees in all dimensions , 2000, SODA '00.

[59]  Valerio Pascucci,et al.  Persistence-sensitive simplification functions on 2-manifolds , 2006, SCG '06.

[60]  Konstantin Mischaikow,et al.  Morse Theory for Filtrations and Efficient Computation of Persistent Homology , 2013, Discret. Comput. Geom..

[61]  Valerio Pascucci,et al.  Robust on-line computation of Reeb graphs: simplicity and speed , 2007, ACM Trans. Graph..

[62]  Peter John Wood,et al.  Ieee Transactions on Pattern Analysis and Machine Intelligence Theory and Algorithms for Constructing Discrete Morse Complexes from Grayscale Digital Images , 2022 .

[63]  Valerio Pascucci,et al.  Understanding the Structure of the Turbulent Mixing Layer in Hydrodynamic Instabilities , 2006, IEEE Transactions on Visualization and Computer Graphics.

[64]  Daniela Giorgi,et al.  Reeb graphs for shape analysis and applications , 2008, Theor. Comput. Sci..

[65]  Vijay Natarajan,et al.  Felix: A Topology Based Framework for Visual Exploration of Cosmic Filaments , 2015, IEEE Transactions on Visualization and Computer Graphics.

[66]  John B. Bell,et al.  Interactive Exploration and Analysis of Large-Scale Simulations Using Topology-Based Data Segmentation , 2011, IEEE Transactions on Visualization and Computer Graphics.

[67]  Jesse Freeman,et al.  in Morse theory, , 1999 .

[68]  Bernd Hamann,et al.  A Practical Approach to Morse-Smale Complex Computation: Scalability and Generality , 2008, IEEE Transactions on Visualization and Computer Graphics.

[69]  Vijay Natarajan,et al.  Computing Reeb Graphs as a Union of Contour Trees , 2013, IEEE Transactions on Visualization and Computer Graphics.

[70]  Valerio Pascucci,et al.  Visual Exploration of High Dimensional Scalar Functions , 2010, IEEE Transactions on Visualization and Computer Graphics.

[71]  Vijay Natarajan,et al.  Output-Sensitive Construction of Reeb Graphs , 2012, IEEE Transactions on Visualization and Computer Graphics.

[72]  Leila De Floriani,et al.  A primal/dual representation for discrete Morse complexes on tetrahedral meshes , 2013, Comput. Graph. Forum.

[73]  J. Tierny,et al.  Visualizing Ensembles of Viscous Fingers , 2016 .

[74]  Leila De Floriani,et al.  Data structures for simplicial complexes: an analysis and a comparison , 2005, SGP '05.

[75]  Mariette Yvinec,et al.  The Gudhi Library: Simplicial Complexes and Persistent Homology , 2014, ICMS.

[76]  D. Morozov,et al.  Persistence-sensitive simplication of functions on surfaces in linear time , 2009 .

[77]  Paul Rosen,et al.  Critical Point Cancellation in 3D Vector Fields: Robustness and Discussion , 2016, IEEE Transactions on Visualization and Computer Graphics.

[78]  Aaron Knoll,et al.  Fiber Surfaces: Generalizing Isosurfaces to Bivariate Data , 2015, Comput. Graph. Forum.

[79]  Mikael Vejdemo-Johansson,et al.  javaPlex: A Research Software Package for Persistent (Co)Homology , 2014, ICMS.

[80]  Vin de Silva,et al.  Persistent Cohomology and Circular Coordinates , 2009, SCG '09.

[81]  Valerio Pascucci,et al.  Contour trees and small seed sets for isosurface traversal , 1997, SCG '97.

[82]  Facundo Mémoli,et al.  Topological Methods for the Analysis of High Dimensional Data Sets and 3D Object Recognition , 2007, PBG@Eurographics.

[83]  William Schroeder,et al.  The Visualization Toolkit: An Object-Oriented Approach to 3-D Graphics , 1997 .

[84]  Ray W. Grout,et al.  Stability of Dissipation Elements: A Case Study in Combustion , 2014, Comput. Graph. Forum.

[85]  Brittany Terese Fasy,et al.  Introduction to the R package TDA , 2014, ArXiv.

[86]  Roger L. Boyell,et al.  Hybrid techniques for real-time radar simulation , 1963, AFIPS '63 (Fall).

[87]  Pawel Dlotko,et al.  A persistence landscapes toolbox for topological statistics , 2014, J. Symb. Comput..

[88]  Kenneth Moreland,et al.  A Survey of Visualization Pipelines , 2013, IEEE Transactions on Visualization and Computer Graphics.

[89]  Gerik Scheuermann,et al.  Towards Multifield Scalar Topology Based on Pareto Optimality , 2013, Comput. Graph. Forum.

[90]  Ulrich Bauer,et al.  Phat - Persistent Homology Algorithms Toolbox , 2014, J. Symb. Comput..

[91]  Vijay Natarajan,et al.  Parallel Computation of 2D Morse-Smale Complexes , 2012, IEEE Transactions on Visualization and Computer Graphics.

[92]  Jean-Daniel Boissonnat,et al.  The Simplex Tree: An Efficient Data Structure for General Simplicial Complexes , 2012, Algorithmica.

[93]  Herbert Edelsbrunner,et al.  Topological Persistence and Simplification , 2000, Proceedings 41st Annual Symposium on Foundations of Computer Science.

[94]  Leila De Floriani,et al.  The PR-star octree: a spatio-topological data structure for tetrahedral meshes , 2011, GIS.

[95]  Mario Botsch,et al.  Design, Implementation, and Evaluation of the Surface_mesh Data Structure , 2011, IMR.

[96]  T. Sousbie The persistent cosmic web and its filamentary structure I: Theory and implementation , 2010, 1009.4015.

[97]  Hamish A. Carr,et al.  Jacobi Fiber Surfaces for Bivariate Reeb Space Computation , 2017, IEEE Transactions on Visualization and Computer Graphics.