1 Abstract
This tutorial presents topological methods for the analysis and visualization of scientific data from a user’s perspective, with the Topology ToolKit (TTK), a recently released opensource library for topological data analysis. Topological methods have gained considerably in popularity and maturity over the last twenty years and success stories of established methods have been documented in a wide range of applications (combustion, chemistry, astrophysics, material sciences, etc.) with both acquired and simulated data, in both posthoc and insitu contexts. While reference textbooks have been published on the topic, no tutorial at IEEE VIS has covered this area in recent years, and never at a software level and from a user’s pointofview. This tutorial fills this gap by providing a beginner’s introduction to topological methods for practitioners, researchers, students, and lecturers. In particular, instead of focusing on theoretical aspects and algorithmic details, this tutorial focuses on how topological methods can be useful in practice for concrete data analysis tasks such as segmentation, feature extraction or tracking. The tutorial describes in detail how to achieve these tasks with TTK. First, after an introduction to topological methods and their application in data analysis, a brief overview of TTK’s main entry point for end users, namely ParaView, will be presented. Second, an overview of TTK’s main features will be given. A running example will be described in detail, showcasing how to access TTK’s features via ParaView, Python, VTK/C++, and C++. Third, handson sessions will concretely show how to use TTK in ParaView for multiple, representative data analysis tasks. Fourth, the usage of TTK will be presented for developers, in particular by describing several examples of visualization and data analysis projects that were built on top of TTK. Finally, some feedback regarding the usage of TTK as a teaching platform for topological analysis will be given. Presenters of this tutorial include experts in topological methods, core authors of TTK as well as active users, coming from academia, labs, or industry. A large part of the tutorial will be dedicated to handson exercises and a rich material package (including TTK preinstalls in virtual machines, code, data, demos, video tutorials, etc.) will be provided to the participants. This tutorial mostly targets students, practitioners and researchers who are not experts in topological methods but who are interested in using them in their daily tasks. We also target researchers already familiar to topological methods and who are interested in using or contributing to TTK.
2 Tutorial organization
Motivations As scientific datasets become more intricate and larger in size, advanced data analysis algorithms are needed for their efficient visualization and exploration. For scalar field visualization, topological analysis techniques [25, 19, 32] have shown to be practical solutions in various contexts by enabling the concise and complete capture of the structure of the input data into highlevel topological abstractions such as contour trees [5, 12, 13], Reeb graphs [24, 3, 35, 23], or MorseSmale complexes [15, 16, 8]. Such topological abstractions are fundamental data structures that enable advanced data analysis, exploration and visualization techniques, including for instance: small seed set extraction for fast isosurface traversal [39, 6, 26], feature tracking [28], transfer function design for volume rendering [42], data simplification [36] and compression [29]
, similarity estimation
[37, 31], geometry processing [33, 40], or applicationdriven segmentation and analysis tasks. Successful applications in a variety of fields of science, including combustion [21, 4, 14], fluid dynamics [20, 7], material sciences [18, 17, 10, 22], chemistry [11, 2], and astrophysics [30, 27], have been documented, which further demonstrates the importance of these techniques.While reference textbooks have been published [9] that present the fundamental aspects of these techniques, no tutorial has covered this area in recent years at IEEE VIS. The latest tutorial related to topology occurred nearly 10 years ago [41]. Moreover, despite their popularity and success in applications, topological methods have not yet been widely adopted as a standard data analysis tool for end users and developers. We believe one of the reasons for this is the lack of opensource software packages that implement these algorithms in a generic, userfriendly, and efficient way. Recently, the Topology ToolKit (TTK) [34], an opensource library for topological data analysis has been released (BSD license) to fill this gap. TTK is mostly written in C++ ( 210k lines of code) and 8 institutions have contributed to its development so far, including 5 academic institutions (CNRS, Sorbonne Universite, University of Utah, Zuse Institute, University of Arizona) and 3 private companies (Kitware, Total, Caboma Inc.). TTK is currently supported under Linux, MacOS, and Windows. Since its initial release on Github a year ago, TTK’s website collected more than 64k pageviews, from more than 6.7k unique visitors. These statistics indicate that a user base for TTK exists and that further efforts towards the explanation of TTK’s usage would be beneficial to the community.
The main motivation for this tutorial is therefore to introduce to beginners how topological methods can be useful for analyzing their data, and how to do it with TTK.
Target audience This tutorial mostly targets beginners, students, practitioners, and researchers who are not experts in topological methods but who are interested in using them in their daily tasks. It also targets researchers already familiar to topological methods and who are interested in using or contributing to TTK.
Tutorial goals The goals of this tutorial are to present the key tools in topological data analysis (the Persistence diagram, the Reeb graph and its variants, the MorseSmale complex, etc.) and how they can be used in practice for precise data analysis tasks, including data segmentation and feature extraction. All examples will be illustrated with TTK. This tutorial also aims at presenting TTK and its different usage modalities (ParaView, Python, VTK/C++, C++). We expect participants to become capable of using TTK independently, at least with ParaView (possibly with Python), after attending the tutorial.
Hanson material A large part of the tutorial will be dedicated to handson exercises with TTK and ParaView [1]. We will provide a rich material package including TTK preinstalls in virtual machines (to be used by attendees during the tutorial), code, data, demos, video tutorials, etc. Most of this material is already available on TTK’s website [34]. Our idea is that participants who bring a laptop will be able to follow along, regardless of their native OS. Attendees who attend just to listen and learn will also benefit from the tutorial and receive sufficient material to try out our examples at home.
Qualification of the presenters Presenters include experts in topological methods, who have published many papers on the topic in premier venues as well as textbooks (section 3). The list of presenters also includes the core authors of TTK and its most active users.
Proposal strengths In contrast to previous tutorials on topological methods [41], we believe this proposal to have a unique concrete and applicative appeal, by its focus on the usage of topological methods rather than on their foundations. Thus, we expect it to attract a larger audience than the specific subset of IEEE VIS attendees typically found in traditional topology sessions. Also, this tutorial is unique in the sense that TTK has never been presented before in a tutorial.
We believe that the list of presenters is also a strength of this proposal. First, it includes topology experts as well as core developers and users of TTK. More importantly, it includes researchers with a variety of experience profiles (Ph.D. students, postdocs, professors) and backgrounds (industry, labs, academia), which will ease interactions with a potentially heterogeneous audience. Moreover, the particularly large number of presenters (11) has two merits. First, it imposes a minisymposium structure, where speakers will give presentation lasting between 10 and 20 minutes, which will result in a lively rhythm in the overall tutorial. Second, this large number of presenters will be instrumental during the handson exercises, as there will be enough presenters such that one presenter can assist a small group of attendees (typically 3 to 4).
Finally, we believe the detailed program of the tutorial (see section 2) achieves a balance between concepts, usage descriptions and application examples.
Detailed content The tutorial is divided into three main parts (each part being subdivided into modules), for a target duration of approximately 3 hours. These three groups of modules can be organized differently to to fit any standard structure for breaks to match the tutorial schedule of IEEE VIS.
A. Preliminaries (60 minutes)
A1. General introduction (5 minutes, by Julien Tierny)
A2. Introduction to topological methods for data analysis (30 minutes, by Attila Gyulassy) This talk will present the core tools in topological data analysis (the Persistence diagram [9], the Reeb graph and its variants [5, 13, 3, 24, 35, 23], the MorseSmale complex [15, 16, 8]). In particular, it will detail how these tools can be used for data segmentation and feature extraction.
A3. Quick introduction to ParaView’s user interface (25 minutes, by Julien Jomier) This talk will provide a brief description of ParaView’s main interface [1], in order to support its usage for beginners in the subsequent handson session. This will cover the usage of filters, pipeline design and view manipulation, state files backups and Python exports.
B. Handson exercises (70 minutes)
B1. General usage of TTK (10 minutes, by Julien Tierny) This talk will briefly describe TTK’s usage philosophy. It will briefly present how TTK can be used from ParaView, Python, VTK/C++ or C++.
B2. Segmenting medical data with merge trees (20 minutes, by Charles Gueunet) This handson TTK/ParaView exercise will be a stepbystep tutorial showing how to extract individual bones in a medical CT scan interactively with merge trees.
B3. Extracting filament structures with the MorseSmale complex (20 minutes, by Guillaume Favelier) This handson TTK/ParaView exercise will show stepbystep how to extract filament structures with the MorseSmale complex on chemistry data.
B4. Topologyaware data compression (20 minutes, by Maxime Soler) This handson TTK/ParaView exercise will show stepbystep how to compress data while guaranteeing feature preservation.
C. Advanced usage (60 minutes)
C1. TTK’s architecture and core data structures (10 minutes, by Will Usher) This talk will present TTK’s architecture.
C2. Topology driven volume rendering with TTK (10 minutes, by Qi Wu) This talk will present topovol [38], an implementation of topologydriven volume rendering [42] built on top of TTK.
C3. Advanced data analysis with TTK (10 minutes, by Jonas Lukasczyk) This talk will describe the processing of the SciVis 2018 contest data with TTK.
C4. Bivariate data analysis with TTK (10 minutes, by Daisuke Sakurai) This talk will describe a user interface for bivariate data exploration built on top of TTK.
C5. TTK as a teaching platform (15 minutes, by Joshua Levine) This talk will provide feedback about our experience in using TTK in our topological data analysis classes.
C6. Concluding remarks (5 minutes, by Julien Tierny)
3 Background and contact information
Guillaume Favelier – guillaume.favelier@sorbonneuniversite.fr – is a research engineer at Sorbonne Universite since late 2015. He received the master degree in Image Processing from Sorbonne Universite, also in 2015. His notable contributions to TTK include the implementation of the MorseSmale complex and the implicit triangulation. Guillaume regularly demonstrates TTK capabilities through live demos and tutorials. His research interests include discrete geometry, rendering algorithms and visualization methods.
Charles Gueunet – charles.gueunet@kitware.com – is a Ph.D. student with Kitware and Sorbonne Universite. Charles received the engineering degree in 2015 from EISTI. His notable contributions to TTK include the implementation of the merge tree features.
Attila Gyulassy – jediati@sci.utah.edu – received the bachelor’s of Arts in computer science and applied mathematics from the University of California, Berkeley in 2003 and the PhD degree in computer science from the University of California, Davis in 2009. His research interests as a research scientist at the Scientific Computing and Imaging (SCI) Institute, University of Utah, include topologybased data analysis and visualization.
Julien Jomier – julien.jomier@kitware.com – is currently directing Kitware’s European subsidiary in Lyon, France. Julien received both his B.S. and M.S in Electrical Engineering and Information Processing in 2002 from the ESCPELyon (France) and an M.S. in Computer Science from The University of North Carolina at Chapel Hill (UNC) in 2003. He worked on a variety of projects in the areas of parallel and distributed computing, mobile computing, image processing, and visualization. Prior to joining Kitware, Mr. Jomier was a Faculty Research Lecturer of Radiology at UNC and a member of the ComputerAided Diagnosis and Display Laboratory.
Joshua A. Levine – josh@email.arizona.edu –
is an assistant professor in the Department of Computer Science at University of Arizona. Prior to starting at Arizona, he was an assistant professor at Clemson University, and before that a postdoctoral research associate at the University of Utah’s SCI Institute. He received his PhD from The Ohio State University. His research interests include visualization, geometric modeling, topological analysis, mesh generation, vector fields, performance analysis, and computer graphics.
Jonas Lukasczyk – jl@jluk.de – is a PhD student at the Technical University of Kaiserslautern. His research interests include interactive visual analytics with topological methods.
Daisuke Sakurai – sakurai@zib.be – is a postdoctoral researcher at Zuse Institute Berlin (ZIB). He received his Ph.D. at the University of Tokyo in 2015, at which time he was also a special student at the Japan Atomic Energy Agency (JAEA). After graduation he worked at JAEA, Institute of Physical and Chemical Research (aka RIKEN), and the Computer Science Department (LIP6) of Sorbonne Universite. From April 2017 he is at the current position working for the project High Definition Clouds and Precipitation for advancing Climate Prediction (HD(CP)). His research interests include multifield visualization, atmospheric sciences, topological analysis, and mathematical visualization.
Maxime Soler – soler.maxime@total.com – is a Ph.D. student with Total and Sorbonne Universite. Maxime received the engineering degree in 2015 from EISTI. His notable contributions to TTK include the implementation of topologyaware compression and distances between persistence diagrams.
Julien Tierny – julien.tierny@sorbonneuniversite.fr – received the Ph.D. degree in Computer Science from Lille 1 University in 2008 and the Habilitation degree (HDR) from Sorbonne Universite in 2016. He is currently a CNRS permanent research scientist, affiliated with Sorbonne Universite since September 2014 and with Telecom ParisTech from 2010 to 2014. Prior to his CNRS tenure, he held a Fulbright fellowship (U.S. Department of State) and was a postdoctoral research associate at the Scientific Computing and Imaging Institute at the University of Utah. His research expertise includes topological data analysis for scientific visualization. He is the lead developer of the Topology ToolKit (TTK).
Will Usher – will@sci.utah.edu – is a PhD student at the SCI Institute at the University of Utah. His research interests include interactive ray tracing, virtual reality, and distributed rendering. He has used TTK to develop a topology guided volume visualization tool, and recently rewritten TTK’s build system to follow a modern CMake approach, making it easier to use.
Qi Wu – qadwu@ucdavis.edu – is a PhD candidate at the Computer Science Department of the University of California, Davis. Prior to UC Davis, he obtained his Master degree from the SCI institute, University of Utah. His research interests include scientific visualization, ray tracing and distributed rendering on large scale systems. Together with Will Usher, he has used TTK to develop TopoVol, which is a topology guided volume exploration tool enabling sophisticated volume classification and rendering.
References

[1]
J. Ahrens, B. Geveci, and C. Law.
Paraview: An enduser tool for largedata visualization.
The Visualization Handbook, pp. 717–731, 2005.  [2] H. Bhatia, A. G. Gyulassy, V. Lordi, J. E. Pask, V. Pascucci, and P.T. Bremer. Topoms: Comprehensive topological exploration for molecular and condensedmatter systems. J. of Comp. Chem., 2018.
 [3] S. Biasotti, D. Giorgio, M. Spagnuolo, and B. Falcidieno. Reeb graphs for shape analysis and applications. TCS, 2008.
 [4] P. Bremer, G. Weber, J. Tierny, V. Pascucci, M. Day, and J. Bell. Interactive exploration and analysis of large scale simulations using topologybased data segmentation. IEEE TVCG, 2011.
 [5] H. Carr, J. Snoeyink, and U. Axen. Computing contour trees in all dimensions. In Symp. on Dis. Alg., 2000.
 [6] H. Carr, J. Snoeyink, and M. van de Panne. Simplifying flexible isosurfaces using local geometric measures. In IEEE VIS, 2004.
 [7] F. Chen, H. Obermaier, H. Hagen, B. Hamann, J. Tierny, and V. Pascucci. Topology analysis of timedependent multifluid data using the reeb graph. Computer Aided Geometric Design, 2013.
 [8] L. De Floriani, U. Fugacci, F. Iuricich, and P. Magillo. Morse complexes for shape segmentation and homological analysis: discrete models and algorithms. Comp. Grap. For., 2015.
 [9] H. Edelsbrunner and J. Harer. Computational Topology: An Introduction. American Mathematical Society, 2009.
 [10] G. Favelier, C. Gueunet, and J. Tierny. Visualizing ensembles of viscous fingers. In IEEE SciVis Contest, 2016.
 [11] D. Guenther, R. AlvarezBoto, J. ContrerasGarcia, J.P. Piquemal, and J. Tierny. Characterizing molecular interactions in chemical systems. IEEE TVCG, 2014.
 [12] C. Gueunet, P. Fortin, J. Jomier, and J. Tierny. Contour forests: Fast multithreaded augmented contour trees. In IEEE LDAV, 2016.
 [13] C. Gueunet, P. Fortin, J. Jomier, and J. Tierny. Taskbased Augmented Merge Trees with Fibonacci Heaps,. In IEEE LDAV, 2017.
 [14] A. Gyulassy, P. Bremer, R. Grout, H. Kolla, J. Chen, and V. Pascucci. Stability of dissipation elements: A case study in combustion. Comp. Graph. For., 2014.
 [15] A. Gyulassy, P. T. Bremer, B. Hamann, and V. Pascucci. A practical approach to morsesmale complex computation: Scalability and generality. IEEE TVCG, 2008.
 [16] A. Gyulassy, D. Guenther, J. A. Levine, J. Tierny, and V. Pascucci. Conforming morsesmale complexes. IEEE TVCG, 2014.
 [17] A. Gyulassy, A. Knoll, K. Lau, B. Wang, P. Bremer, M. Papka, L. A. Curtiss, and V. Pascucci. Interstitial and interlayer ion diffusion geometry extraction in graphitic nanosphere battery materials. IEEE TVCG, 2015.
 [18] A. Gyulassy, V. Natarajan, M. Duchaineau, V. Pascucci, E. Bringa, A. Higginbotham, and B. Hamann. Topologically Clean Distance Fields. IEEE TVCG, 2007.
 [19] C. Heine, H. Leitte, M. Hlawitschka, F. Iuricich, L. De Floriani, G. Scheuermann, H. Hagen, and C. Garth. A survey of topologybased methods in visualization. Comp. Grap. For., 2016.
 [20] J. Kasten, J. Reininghaus, I. Hotz, and H. Hege. Twodimensional timedependent vortex regions based on the acceleration magnitude. IEEE TVCG, 2011.
 [21] D. E. Laney, P. Bremer, A. Mascarenhas, P. Miller, and V. Pascucci. Understanding the structure of the turbulent mixing layer in hydrodynamic instabilities. IEEE TVCG, 2006.
 [22] J. Lukasczyk, G. Aldrich, M. Steptoe, G. Favelier, C. Gueunet, J. Tierny, R. Maciejewski, B. Hamann, and H. Leitte. Viscous fingering: A topological visual analytic approach. In Physical Modeling for Virtual Manufacturing Systems and Processes, 2017.
 [23] S. Parsa. A deterministic o(m log m) time algorithm for the reeb graph. In Symp. on Comp. Geom., 2012.
 [24] V. Pascucci, G. Scorzelli, P. T. Bremer, and A. Mascarenhas. Robust online computation of Reeb graphs: simplicity and speed. ACM Trans. on Graph., 2007.
 [25] V. Pascucci, X. Tricoche, H. Hagen, and J. Tierny. Topological Methods in Data Analysis and Visualization: Theory, Algorithms and Applications. Springer, 2010.
 [26] E. Santos, J. Tierny, A. Khan, B. Grimm, L. Lins, J. Freire, V. Pascucci, C. Silva, S. Klasky, R. Barreto, and N. Podhorszki. Enabling advanced visualization tools in a webbased simulation monitoring system. In Proc. of IEEE eScience, 2009.
 [27] N. Shivashankar, P. Pranav, V. Natarajan, R. van de Weygaert, E. P. Bos, and S. Rieder. Felix: A topology based framework for visual exploration of cosmic filaments. IEEE TVCG, 2016.
 [28] B. S. Sohn and C. L. Bajaj. Time varying contour topology. IEEE TVCG, 2006.
 [29] M. Soler, M. Plainchault, B. Conche, and J. Tierny. Topologically controlled lossy compression. In Proc. of IEEE PacificVis, 2018.
 [30] T. Sousbie. The persistent cosmic web and its filamentary structure: Theory and implementations. Royal Astronomical Society, 2011. http://www2.iap.fr/users/sousbie/web/html/indexd41d.html.
 [31] D. M. Thomas and V. Natarajan. Multiscale symmetry detection in scalar fields by clustering contours. IEEE TVCG, 2014.
 [32] J. Tierny. Topological Data Analysis for Scientific Visualization. Springer, 2018.
 [33] J. Tierny, J. Daniels, L. G. Nonato, V. Pascucci, and C. Silva. Interactive quadrangulation with Reeb atlases and connectivity textures. IEEE TVCG, 2012.
 [34] J. Tierny, G. Favelier, J. A. Levine, C. Gueunet, and M. Michaux. The Topology ToolKit. IEEE TVCG, 2017. https://topologytoolkit.github.io/.
 [35] J. Tierny, A. Gyulassy, E. Simon, and V. Pascucci. Loop surgery for volumetric meshes: Reeb graphs reduced to contour trees. IEEE TVCG, 2009.
 [36] J. Tierny and V. Pascucci. Generalized topological simplification of scalar fields on surfaces. IEEE TVCG, 2012.
 [37] J. Tierny, J.P. Vandeborre, and M. Daoudi. Partial 3D shape retrieval by reeb pattern unfolding. Comp. Grap. For., 28:41–55, 2009.
 [38] W. Usher and Q. Wu. TopoVol: Topology guided volume exploration. https://github.com/Twinklebear/topovol, 2017.
 [39] M. van Kreveld, R. van Oostrum, C. Bajaj, V. Pasucci, and D. Schikore. Contour trees and small seed sets for isosurface traversal. In Symp. on Comp. Geom., 1997.
 [40] A. Vintescu, F. Dupont, G. Lavoué, P. Memari, and J. Tierny. Conformal factor persistence for fast hierarchical cone extraction. In Eurographics (short papers), 2017.
 [41] G. Weber, P.T. Bremer, H. Carr, and A. Gyulassy. Scalar topology in visual data analysis. In IEEE VIS Tutorials, 2009.
 [42] G. Weber, S. E. Dillard, H. Carr, V. Pascucci, and B. Hamann. Topologycontrolled volume rendering. IEEE TVCG, 2007.
Comments
There are no comments yet.