11institutetext: Dhruv Meduri (Corresponding author) 22institutetext: University of Utah, USA. 22email: u1471195@utah.edu 33institutetext: Mohit Sharma and Vijay Natarajan44institutetext: Indian Institute of Science, Bangalore, India
44email: {mohitsharma,vijayn}@iisc.ac.in

Jacobi Set Simplification for Tracking Topological Features in Time-Varying Scalar Fields

Dhruv Meduri    Mohit Sharma    Vijay Natarajan
Abstract

The Jacobi set of a bivariate scalar field is the set of points where the gradients of the two constituent scalar fields align with each other. It captures the regions of topological changes in the bivariate field. The Jacobi set is a bivariate analog of critical points, and may correspond to features of interest. In the specific case of time-varying fields and when one of the scalar fields is time, the Jacobi set corresponds to temporal tracks of critical points, and serves as a feature-tracking graph. The Jacobi set of a bivariate field or a time-varying scalar field is complex, resulting in cluttered visualizations that are difficult to analyze. This paper addresses the problem of Jacobi set simplification. Specifically, we use the time-varying scalar field scenario to introduce a method that computes a reduced Jacobi set. The method is based on a stability measure called robustness that was originally developed for vector fields and helps capture the structural stability of critical points. We also present a mathematical analysis for the method, and describe an implementation for 2D time-varying scalar fields. Applications to both synthetic and real-world datasets demonstrate the effectiveness of the method for tracking features.

Keywords:
Time-varying fields Visualization Jacobi set Critical points Topological simplification
journal: CGI2024

1 Introduction

The relationship between scalar fields defined over a spatial domain of interest corresponds to interesting phenomena or captures application-specific features. For example, a water mass in oceanography is defined by the temperature-salinity (T-S) curve helland1916nogenTSDiag , fields such as pressure and wind speed are used to identify structural characteristics of a hurricane doleisch2004IsabelScivis . This motivates the study of techniques for visualizing multifield or multivariate data hansen2014scientific . Various structures have been introduced to analyze the relationship between multiple fields and specifically for bivariate fields, such as continuous scatterplot Bachthaler2008CSP , fiber surface carr2015fiber , Reeb space Edelsbrunner2008ReebSpace , Pareto set huettenberger2014decomposition , and Jacobi set edelsbrunner2004jacobi . We restrict our attention to the Jacobi set, a topological descriptor that is a generalization of the notion of critical points to the multivariate setting. For a bivariate field, the Jacobi set is defined as the set of points in the domain where the gradients of the two fields align with each other.

This paper focuses on time-varying scalar fields that may be represented as a bivariate field over space-time, where the time function is one of the two scalar fields. The Jacobi set of a time-varying scalar field represents the tracks of critical points of the scalar field over time. Critical points may correspond to interesting features, such as vortices in fluid flows or eddies in the ocean, and hence their tracks are of interest. The Jacobi set is, in this case, a feature-tracking graph. The Jacobi set computed from piecewise linear (PL) scalar functions is sensitive to noise, dense, and cluttered, making it difficult to analyze its structure. We propose a method that computes a simplified Jacobi set, resulting in a smaller number of clutter-free tracks while retaining important features that are represented by the original Jacobi set. The intuition from time-varying fields is central to the development of our simplification method and we consider this as a first step towards the development of methods that are applicable to generic bivariate fields.

We present a Jacobi set simplification method that considers both temporal and spatial coherence of features. It formulates critical points of a scalar field as zeros of the corresponding gradient field thereby enabling a bottom-up simplification directed by a stability measure called robustness that was introduced for vector fields Primoz2015RobustnessSimplification4VF . Clusters of critical points that are determined by the robustness parameter are tracked over time. The track of a cluster of critical points replaces the tracks of all critical points within the cluster thereby reducing the number of tracks while retaining their spatial and temporal structure. The resulting collection of tracks constitutes the simplified Jacobi set. Key contributions of this paper include

  1. 1.

    A robustness-based Jacobi set simplification algorithm for time-varying scalar fields,

  2. 2.

    A mathematical analysis supporting the algorithm that guarantees the existence of a corresponding simplified vector field, and

  3. 3.

    An implementation of the method for 2D time-varying scalar fields.

The effectiveness of the method is demonstrated via experiments on a synthetic dataset and multiple fluid flow datasets.

2 Related work

This paper focuses on simplifying the Jacobi set for time-varying scalar fields, resulting in reduced clutter in the visualizations of feature tracks. This section summarizes previous work on structures, including the Jacobi set, that have been employed for bivariate field visualization, different applications of the Jacobi set, methods for simplification, and feature tracking.


Multivariate field visualization. Different concepts and structures have been introduced to study the relationship between individual fields in a multivariate dataset. Continuous scatterplot (CSP) Bachthaler2008CSP , a generalization of scatterplot to continuous fields, provides a dense visualization in range space. This visual representation helps identify regions of interest that may in turn be mapped to the spatial domain using fiber surfaces carr2015fiber . CSPs and fiber surfaces have been used for studying bivariate and multivariate fields from multiple application domains Blecha2019Nuclear ; Raith2019Tensor ; sharma2021segmentation ; Sharma2023CSPOperators . Nagaraj and Natarajan Nagaraj2011isoExtractMultifield introduce a variation density function that captures the relationship between multiple scalar fields over isosurfaces of a given scalar field. This profile helps identify interesting isovalues of scalar fields in multivariate scenarios. Chattopadhyay et al. Chattopadhyay2014Jacobist introduce the Jacobi structures as the critical features in the Reeb space Edelsbrunner2008ReebSpace , establishing a relationship between the Jacobi set and singular fibers. The Reeb space is the bivariate analog of the Reeb graph. A fiber component, the bivariate counterpart of an isocontour component, maps to a point in the Reeb space. The joint contour net Carr2014JCN is a discrete representation of the Reeb space. The representation and computation of Reeb space is challenging, and hence it is often not computed explicitly in practice. The Jacobi set is a subset, specifically the image of singular fibers, of the Reeb space and is amenable to fast computation. The notion of Pareto set huettenberger2014decomposition helps identify consensus regions using Pareto optimality and dominance in multifields.


Jacobi set applications. The Jacobi set has been applied for many tasks in image analysis and visualization. Edelsbrunner et al. Edelsbrunner2004LnGcompJS introduce local and global comparison measures based on the Jacobi set to support comparative visualization. In image processing, Norgard and Bremer Norgard2013ridgeValley utilize the Jacobi set to extract image ridges, proposing a combinatorial algorithm to create a ridge-valley graph that captures information about all ridges in a given image. The Jacobi set has been used in geophysics for estimating relationships between geopotential height and total ozone column Artamonova2017physicsJS and in forestry for automatic tree ring detection Makela2020AutomaticTR . Tierny and Carr use the Jacobi fiber surfaces, the preimage of a Jacobi edge, to compute the Reeb space of a bivariate field tierny2016jacobi . Sharma and Natarajan sharma2022FF propose an output-sensitive algorithm for fiber surface computation that further facilitates the computation of individual fiber surface components in the vicinity of a Jacobi edge selected by the user. The performance of the algorithm depends on the size of the Jacobi set, and it will benefit from a simplified Jacobi set.


Jacobi set simplification. In practical scenarios, the Jacobi set consists of a complex network of edges, including noisy artifacts that result from the PL representation. Analyzing it can be challenging and will benefit from a simplification method. Simplifying the bivariate field will, indirectly, result in a simpler Jacobi set. The bivariate field may be simplified by employing topological simplification directed by persistence on the individual scalar fields ELZ02 ; bremer2007topological ; lukasczyk2020localized . However, in a time-varying scenario, such an approach may introduce temporal inconsistencies. Post simplification, a critical point may no longer have a correspondence in adjacent time steps, breaking the temporal continuity. The Jacobi set is not a stable structure. Small changes in the underlying bivariate field can produce significant changes in the Jacobi set. This instability poses challenges for such indirect simplification, especially in time-varying fields.

Direct simplification methods aim to directly remove noisy edges or sections of Jacobi curves that are deemed to be less significant. These approaches are directed by a metric that measures the significance of edges of the Jacobi set. Suthambhara and Natarajan Suthambhara2011jacobisetsimplification propose a method to reduce the number of connected components in the Jacobi set by posing the simplification problem as the extraction of level sets and offset contours. Bhatia et al. bhatia2015localjacobisetsimplification generalize the concept of critical point cancellation to Jacobi sets and simplify ’Jacobi regions’. The method identifies less significant portions of the Jacobi set and removes them by modifying the individual scalar fields locally. Recently developed methods klotzl2022local ; klotzl2022reduced compute a clutter-free visual representation of the Jacobi set by considering a bilinear interpolant. The method removes zig-zag artifacts while maintaining the topological structure.

Our proposed method may be classified under the direct simplification category. It reduces the number of Jacobi edges by clustering edges that potentially represent a common feature for a given approximation threshold. It directly computes a simplified version of the Jacobi set as opposed to simplifying the noisy Jacobi set.


Feature tracking. In a time-varying scalar field, the Jacobi edges represent tracks of critical points. Since critical points are good representatives of topological features, critical point tracking is a preferred approach for topological feature tracking. Feature tracking has been studied widely, but it has not been formulated using the Jacobi set except for a few instances edelsbrunner2008time . Reininghaus et al. reininghaus2011efficient use ideas from discrete Morse theory and combinatorial feature flow fields to track critical points. They introduce the notion of integrated persistence, combining spatial persistence of critical points with their temporal evolution to determine the significance of a particular track as opposed to direct elimination of short-lived features. Other works lukasczyk2017nested ; saikia2017global ; Lukasczyk2019DNTG ; Yan2021Survey focus on tracking regions of interest, such as predefined connected components instead of critical points. Feature tracking has also been studied for vector fields TRICOCHE2002topologytracking ; Post2003SOFlowVis ; theisel2003feature ; Tino2011StableFeatureFF ; Bujack2020TimeFlowSTA .

Our method is inspired by the notion of tracking graphs that represent the correspondences and tracks of individual connected components of spatial features. We formulate the critical point tracking problem as tracking zeros of a time-varying vector field. To achieve this, we use intuition, definitions, and analyses from previous work on tracking critical points in vector fields using robustness chazal2011computing ; Primoz2015RobustnessSimplification4VF .

Refer to caption
Figure 1: Jacobi set of a 2D synthetic bivariate field. (a) Scalar field f(x,y)=x2+y2𝑓𝑥𝑦superscript𝑥2superscript𝑦2f(x,y)=x^{2}+y^{2}italic_f ( italic_x , italic_y ) = italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT (b) Scalar field g(x,y)=x(y8)𝑔𝑥𝑦𝑥𝑦8g(x,y)=x(y-8)italic_g ( italic_x , italic_y ) = italic_x ( italic_y - 8 ) (c) Level sets of f𝑓fitalic_f (green) and g𝑔gitalic_g (red). The Jacobi set 𝐉(f,g)𝐉𝑓𝑔\mathbf{J}(f,g)bold_J ( italic_f , italic_g ), shown in black, passes through the points where gradients of f𝑓fitalic_f and g𝑔gitalic_g align.

3 Background

This section presents the necessary definitions, notations, and mathematical preliminaries for describing Jacobi set simplification. It introduces critical points of a scalar field and the notion of Jacobi set for a bivariate and a time-varying scalar field, both in the smooth and PL setting edelsbrunner2022computational .


Scalar field. A scalar field f:𝕄:𝑓𝕄f:\mathbb{M}\rightarrow\mathbb{R}italic_f : blackboard_M → blackboard_R is a real-valued function defined on an n𝑛nitalic_n-dimensional domain 𝕄𝕄\mathbb{M}blackboard_M and maps a point on the domain to a single scalar value. The scalar values usually represent physical quantities such as pressure, temperature, speed, or height, although they may also be synthetically generated. Figure 1(a) shows a 2D scalar field, f(x,y)=x2+y2𝑓𝑥𝑦superscript𝑥2superscript𝑦2f(x,y)=x^{2}+y^{2}italic_f ( italic_x , italic_y ) = italic_x start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_y start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. A point p𝕄𝑝𝕄p\in\mathbb{M}italic_p ∈ blackboard_M is a critical point of f𝑓fitalic_f if and only if the gradient of f𝑓fitalic_f at p𝑝pitalic_p vanishes. Else, p𝑝pitalic_p is a regular point. The scalar value f(p)𝑓𝑝f(p)italic_f ( italic_p ) is called a critical or regular value, respectively. A critical point p𝑝pitalic_p is said to be non-degenerate if the Hessian at p𝑝pitalic_p is non-singular. If all the critical points of f𝑓fitalic_f are non-degenerate and have distinct values, then f𝑓fitalic_f is called a Morse function. A key result from Morse theory states that all smooth functions are either Morse or can be perturbed using an infinitesimally small quantity into a Morse function. All scalar functions considered in this paper are assumed to be Morse functions.


Bivariate field. A multivariate function or a multifield is a collection of scalar functions / scalar fields defined over a common spatial domain. A bivariate field {f,g}:𝕄2:𝑓𝑔𝕄superscript2\{f,g\}:\mathbb{M}\rightarrow\mathbb{R}^{2}{ italic_f , italic_g } : blackboard_M → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT is a specific case where two scalar fields are defined over a domain 𝕄𝕄\mathbb{M}blackboard_M. Bivariate field analysis becomes beneficial when important data features depend on the interaction between two individual fields as opposed to being characterized independently by the two fields. Figure 1 shows two scalar fields that can either be studied independently or as a bivariate field {f,g}𝑓𝑔\{f,g\}{ italic_f , italic_g }.


Jacobi set. Given a bivariate field {f,g}:𝕄2:𝑓𝑔𝕄superscript2\{f,g\}:\mathbb{M}\rightarrow\mathbb{R}^{2}{ italic_f , italic_g } : blackboard_M → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT such that the intersection of the sets of the critical points of f𝑓fitalic_f and g𝑔gitalic_g is a null set, the Jacobi set 𝕁=𝕁(f,g)=𝕁(g,f)𝕁𝕁𝑓𝑔𝕁𝑔𝑓\mathbb{J}=\mathbb{J}(f,g)=\mathbb{J}(g,f)blackboard_J = blackboard_J ( italic_f , italic_g ) = blackboard_J ( italic_g , italic_f ) is the set of points where gradients of f𝑓fitalic_f and g𝑔gitalic_g are linearly dependent.

𝕁(f,g)={x𝕄|f+λg=0 orλf+g=0}𝕁𝑓𝑔conditional-set𝑥𝕄𝑓𝜆𝑔0 or𝜆𝑓𝑔0\begin{split}\mathbb{J}(f,g)=\{x\in\mathbb{M}\ |\ \nabla f+\lambda\nabla g=0% \text{ or}\\ \lambda\nabla f+\nabla g=0\}\end{split}start_ROW start_CELL blackboard_J ( italic_f , italic_g ) = { italic_x ∈ blackboard_M | ∇ italic_f + italic_λ ∇ italic_g = 0 or end_CELL end_ROW start_ROW start_CELL italic_λ ∇ italic_f + ∇ italic_g = 0 } end_CELL end_ROW (1)

for some λ𝜆\lambda\in\mathbb{R}italic_λ ∈ blackboard_R. In other words,

𝕁(f,g)={x𝕄|x is a critical point of f+λg orλf+g}𝕁𝑓𝑔conditional-set𝑥𝕄x is a critical point of 𝑓𝜆𝑔 or𝜆𝑓𝑔\begin{split}\mathbb{J}(f,g)=\{x\in\mathbb{M}\ |\ \text{$x$ is a critical % point of }f+\lambda g\text{ or}\\ \lambda f+g\}\end{split}start_ROW start_CELL blackboard_J ( italic_f , italic_g ) = { italic_x ∈ blackboard_M | italic_x is a critical point of italic_f + italic_λ italic_g or end_CELL end_ROW start_ROW start_CELL italic_λ italic_f + italic_g } end_CELL end_ROW (2)

Equation 2 essentially characterizes the Jacobi set as the set of critical points of a collection of scalar fields parameterized by λ𝜆\lambda\in\mathbb{R}italic_λ ∈ blackboard_R. Let k𝑘k\in\mathbb{R}italic_k ∈ blackboard_R be a regular value of g𝑔gitalic_g. The scalar field fk:g1(k):subscript𝑓𝑘superscript𝑔1𝑘f_{k}:g^{-1}(k)\rightarrow\mathbb{R}italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT : italic_g start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( italic_k ) → blackboard_R is called the restriction of the scalar field f𝑓fitalic_f to the level set g1(k)superscript𝑔1𝑘g^{-1}(k)italic_g start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( italic_k ). The Jacobi set is equivalently defined as

𝕁(f,g)=cl({p𝕄|p is a critical point of fk,k})𝕁𝑓𝑔𝑐𝑙conditional-set𝑝𝕄𝑝 is a critical point of subscript𝑓𝑘𝑘\mathbb{J}(f,g)=cl(\{p\in\mathbb{M}\ |\ p\mbox{ is a critical point of }f_{k},% k\in\mathbb{R}\})blackboard_J ( italic_f , italic_g ) = italic_c italic_l ( { italic_p ∈ blackboard_M | italic_p is a critical point of italic_f start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_k ∈ blackboard_R } ) (3)

The Smooth Embedding Theorem edelsbrunner2004jacobi states that, under generic conditions, the Jacobi set of two Morse functions is a smoothly embedded 1111-manifold in 𝕄𝕄\mathbb{M}blackboard_M. Figure 1(c) shows the level sets of two scalar fields f𝑓fitalic_f and g𝑔gitalic_g using isocontours. The Jacobi set (black) of the bivariate field {f,g}𝑓𝑔\{f,g\}{ italic_f , italic_g } is a curve on the plane. The individual scalar fields are shown in Figure 1(a) and Figure 1(b).

Refer to caption
Figure 2: Identifying a Jacobi edge. (Left) hλe(v1)<hλe(a)subscriptsubscript𝜆𝑒subscript𝑣1subscriptsubscript𝜆𝑒𝑎h_{\lambda_{e}}(v_{1})<h_{\lambda_{e}}(a)italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) < italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a ) and hλe(v2)>hλe(a)subscriptsubscript𝜆𝑒subscript𝑣2subscriptsubscript𝜆𝑒𝑎h_{\lambda_{e}}(v_{2})>h_{\lambda_{e}}(a)italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) > italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a ), which implies that ab𝑎𝑏abitalic_a italic_b is a regular edge. (Middle) Both hλe(v1)subscriptsubscript𝜆𝑒subscript𝑣1h_{\lambda_{e}}(v_{1})italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and hλe(v2)subscriptsubscript𝜆𝑒subscript𝑣2h_{\lambda_{e}}(v_{2})italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) are smaller than hλe(a)subscriptsubscript𝜆𝑒𝑎h_{\lambda_{e}}(a)italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a ), which implies that ab𝑎𝑏abitalic_a italic_b is a maximum. (Right) Edge ab𝑎𝑏abitalic_a italic_b is a minimum Jacobi edge.

Piecewise linear function. In practice, the scalar fields are often available as a sample over a spatial domain. The spatial domain is represented as a mesh, either a structured grid or a triangulation. The samples of the scalar field are available at the vertices of the mesh. A piecewise linear (PL) approximation of the scalar field is obtained via linear interpolation in the interior of cells of all dimensions.

Let f:|K|:𝑓𝐾f:|K|\rightarrow\mathbb{R}italic_f : | italic_K | → blackboard_R be a PL function defined on a triangulation K𝐾Kitalic_K of a manifold 𝕄𝕄\mathbb{M}blackboard_M. Critical vertices of f𝑓fitalic_f are characterized by the Betti numbers of its lower link delfinado1993incremental ; edelsbrunner2022computational . Non-Morse functions can be transformed into Morse functions by addressing degeneracies through the simulation of simplicity edelsbrunner1990simulation . In the following, we always assume that the scalar field is a Morse function.

The Jacobi set of two PL functions may be computed as the set of critical points of the family of functions hλ=f+λgsubscript𝜆𝑓𝜆𝑔h_{\lambda}=f+\lambda gitalic_h start_POSTSUBSCRIPT italic_λ end_POSTSUBSCRIPT = italic_f + italic_λ italic_g, following Equation 2. According to the Critical Edge Lemma edelsbrunner2004jacobi , the Jacobi set lies on the edges of the triangulation K𝐾Kitalic_K. If an edge e=(a,b)K𝑒𝑎𝑏𝐾e=(a,b)\in Kitalic_e = ( italic_a , italic_b ) ∈ italic_K belongs to the Jacobi set then the function hλsubscript𝜆h_{\lambda}italic_h start_POSTSUBSCRIPT italic_λ end_POSTSUBSCRIPT is necessarily flat along the edge, i.e., hλe(a)=hλe(b)subscriptsubscript𝜆𝑒𝑎subscriptsubscript𝜆𝑒𝑏h_{\lambda_{e}}(a)=h_{\lambda_{e}}(b)italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a ) = italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_b ). This value λesubscript𝜆𝑒\lambda_{e}italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT for which hλsubscript𝜆h_{\lambda}italic_h start_POSTSUBSCRIPT italic_λ end_POSTSUBSCRIPT is flat can be computed as λe=(f(b)f(a))/(g(a)g(b))subscript𝜆𝑒𝑓𝑏𝑓𝑎𝑔𝑎𝑔𝑏\lambda_{e}=(f(b)-f(a))/(g(a)-g(b))italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT = ( italic_f ( italic_b ) - italic_f ( italic_a ) ) / ( italic_g ( italic_a ) - italic_g ( italic_b ) ). Further, the edge e𝑒eitalic_e is classified as critical based on a characterization of the lower link of e𝑒eitalic_e with respect to hλesubscriptsubscript𝜆𝑒h_{\lambda_{e}}italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT. Figure 2 shows the categorization of an edge ab𝑎𝑏abitalic_a italic_b as regular, maximum, or minimum. If hλe(v1)<hλe(a)subscriptsubscript𝜆𝑒subscript𝑣1subscriptsubscript𝜆𝑒𝑎h_{\lambda_{e}}(v_{1})<h_{\lambda_{e}}(a)italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) < italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a ) and hλe(v2)>hλe(a)subscriptsubscript𝜆𝑒subscript𝑣2subscriptsubscript𝜆𝑒𝑎h_{\lambda_{e}}(v_{2})>h_{\lambda_{e}}(a)italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) > italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a ) then the edge ab𝑎𝑏abitalic_a italic_b is a regular edge. If both hλe(v1)subscriptsubscript𝜆𝑒subscript𝑣1h_{\lambda_{e}}(v_{1})italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) and hλe(v2)subscriptsubscript𝜆𝑒subscript𝑣2h_{\lambda_{e}}(v_{2})italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) are lower or higher than hλe(a)subscriptsubscript𝜆𝑒𝑎h_{\lambda_{e}}(a)italic_h start_POSTSUBSCRIPT italic_λ start_POSTSUBSCRIPT italic_e end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_a ), then ab𝑎𝑏abitalic_a italic_b is an extremum edge. The Jacobi set is obtained by stitching the critical edges at their endpoints. The resulting set is a 1-manifold due to the Even Degree Lemma, which states that the degree of each vertex in the Jacobi set is even.

Refer to caption
Figure 3: Jacobi set of a time-varying scalar field. (a) A synthetic 2D time-varying scalar field obtained by applying incremental rotations over time. Select time steps within the range [1..299]. (b) All time steps of the scalar field. stacked together to show the spiral path followed by the two pairs of maxima. (c) The Jacobi set of the time-varying scalar field is noisy. It is difficult to identify the two primary data features due to clutter. (d) Edges of the Jacobi set filtered based on the scalar value. Edges with endpoints having scalar value less than 1111 are discarded, leaving only a few Jacobi edges that are in the spatial proximity of important features.

Time-varying scalar field. Let f:𝕄×:𝑓𝕄f:\mathbb{M}\times\mathbb{R}\rightarrow\mathbb{R}italic_f : blackboard_M × blackboard_R → blackboard_R be a time-varying scalar function. The second parameter of f𝑓fitalic_f is considered as the time axis. Consider a time function g:𝕄×:𝑔𝕄g:\mathbb{M}\times\mathbb{R}\rightarrow\mathbb{R}italic_g : blackboard_M × blackboard_R → blackboard_R defined as g(p,t)=t𝑔𝑝𝑡𝑡g(p,t)=titalic_g ( italic_p , italic_t ) = italic_t. Following the formulation in Equation 3, the Jacobi set 𝕁(f,g)𝕁𝑓𝑔\mathbb{J}(f,g)blackboard_J ( italic_f , italic_g ) is the collection of tracks of critical points of f𝑓fitalic_f at every time step. This is equal to the set of critical points of f𝑓fitalic_f at every time step and the temporal edges that represent the correspondences between critical points lying on two consecutive time steps.

In this paper, we consider 2D PL time-varying scalar fields {ft}subscript𝑓𝑡\{f_{t}\}{ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }, where ftsubscript𝑓𝑡f_{t}italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT is a 2D PL scalar field defined in time step t𝑡titalic_t. The domain 𝕄×𝕄\mathbb{M}\times\mathbb{R}blackboard_M × blackboard_R is triangulated by extending a triangulation of the spatial domain. We include temporal edges between corresponding vertices in two consecutive time steps and insert diagonals to decompose the resulting prism into three tetrahedra. The Jacobi set 𝕁({ft})𝕁subscript𝑓𝑡\mathbb{J}(\{f_{t}\})blackboard_J ( { italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ) of the time-varying scalar field is computed over this triangulated domain using the standard PL algorithm edelsbrunner2004jacobi .

Figure 3(a) shows a subset of 300300300300 time steps of a synthetic time-varying scalar field. The scalar field contains two pairs of Gaussians undergoing rotation over time. In Figure 3(b), all time steps are stacked together, highlighting the rotational pattern formed by these pairs. Figure 3(c) shows the Jacobi set, considering time as the second field. However, the Jacobi set is cluttered, and the noisy Jacobi edges occlude the prominent rotational pattern. Figure 3(d) shows Jacobi edges close to prominent features by applying a manual threshold. Edges with endpoints having scalar field value less than 1111 are discarded. In this paper, our goal is to simplify the Jacobi set such that the simplified Jacobi set captures the important data patterns.

4 Robustness-based simplification of the Jacobi set

In this section, we introduce the notion of a simplified Jacobi set for time-varying scalar fields based on the robustness of critical points of a vector field. Critical points of a scalar field occur where the corresponding gradient field vanishes. Extremum critical points of the scalar field correspond to sources and sinks in the gradient field. A saddle corresponds to a saddle in the associated gradient field. Hence, the Jacobi set, consisting of the tracks of critical points of a time-varying scalar field, is the same as the track of zeros of the associated gradient field. We first briefly introduce the notion of robustness of critical points in a vector field and then describe our adaptation to gradient fields followed by a method for Jacobi set simplification.


Robustness. In a 2D vector field, the critical point is a point where the vector vanishes and is characterized by its Poincaré index. Sources and sinks have an index of +1, and a saddle has an index of -1. Figure 4(a) shows a 2D synthetic vector field. A subset of its critical points, source M𝑀Mitalic_M (red), sinks misubscript𝑚𝑖m_{i}italic_m start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (blue), and saddles sisubscript𝑠𝑖s_{i}italic_s start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (green) are highlighted. Robustness is a measure that quantifies the stability of a critical point in a vector field. Intuitively, it represents the difficulty or effort required for perturbing away the critical point.

The formal definition of robustness depends on a topological structure called the merge tree. The merge tree of a scalar field f𝑓fitalic_f is an abstract representation of the evolution of sublevel set components of f𝑓fitalic_f. Leaves of the merge tree correspond to the minima of the underlying scalar field and represent the birth of a component. The internal nodes correspond to saddle critical points and represent the merging of sublevel set components.

Consider a 2D vector field V:22:𝑉superscript2superscript2V:\mathbb{R}^{2}\rightarrow\mathbb{R}^{2}italic_V : blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. The robustness of a critical point of V𝑉Vitalic_V is determined by the critical points that lie within a specific spatial neighborhood of the critical point. This spatial neighborhood is in turn determined by the merge tree of the vector magnitude function Vnorm𝑉\|V\|∥ italic_V ∥ defined on the plane. A connected component of the sublevel set of Vnorm𝑉\|V\|∥ italic_V ∥ contains one or more nodes of the merge tree 𝒯(V)𝒯norm𝑉\mathcal{MT}(\|V\|)caligraphic_M caligraphic_T ( ∥ italic_V ∥ ), see Figure 4. The collection of nodes contained within C𝐶Citalic_C together with their incident arcs constitutes a subtree of 𝒯(V)𝒯norm𝑉\mathcal{MT}(\|V\|)caligraphic_M caligraphic_T ( ∥ italic_V ∥ ). Given such a path connected component C𝐶Citalic_C, the degree deg(C)𝑑𝑒𝑔𝐶deg(C)italic_d italic_e italic_g ( italic_C ) is defined as the sum of indices of critical points of the vector field V𝑉Vitalic_V that are enclosed within the component. The degree deg(C)𝑑𝑒𝑔𝐶deg(C)italic_d italic_e italic_g ( italic_C ) is assigned to the root of this subtree. Note that critical points of the vector field appear as leaf nodes (minima) of 𝒯(V)𝒯norm𝑉\mathcal{MT}(\|V\|)caligraphic_M caligraphic_T ( ∥ italic_V ∥ ). The degree of these leaf nodes is equal to their Poincaré index. The degree of an internal node of 𝒯(V)𝒯norm𝑉\mathcal{MT}(\|V\|)caligraphic_M caligraphic_T ( ∥ italic_V ∥ ) is equal to the sum of degrees of all leaves of the subtree rooted at the node.

The static robustness δ𝛿\deltaitalic_δ of a critical point is defined as the vector magnitude of the lowest ancestor node in the merge tree with degree 0 chazal2011computing . This paper utilizes only the notion of static robustness and we often refer to it as robustness, without the qualifier. In the vector field shown in Figure 4, the source m4subscript𝑚4m_{4}italic_m start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT has a lower robustness value as compared to the other sources. Note that static robustness of zeros in vector fields is theoretically different from the concept of persistence of critical points in scalar fields chazal2011computing ; edelsbrunner2011quantifying ; Primoz2015RobustnessSimplification4VF . We discuss the difference between the two approaches towards Jacobi set simplification in section 6.

Refer to caption
Figure 4: (a) A synthetic 2D vector field visualized using a LIC image and annotated with a subset of its critical points: sources (blue), sink (red), and saddles (green). Isocontours of the vector magnitude field are shown in different colors. The corresponding sublevel sets contain subsets of critical points. All contours corresponding to the sublevel set of a critical point may not be visible. Contours at smaller isovalues may lie close to the critical point and hence are occluded by the glyph used to show the critical point. (b) The merge tree captures the evolution of the connected components of the sublevel set components. Nodes are annotated with the degree. The degree of the leaf nodes is equal to their Poincaré index, +1 for sources/sinks and -1 for saddles. The degree of an internal node is equal to the sum of degrees of all leaf nodes within the subtree rooted at the node.

Jacobi set and critical point tracks. Given a 2D PL time-varying scalar field {ft}subscript𝑓𝑡\{f_{t}\}{ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }, where ft:2:subscript𝑓𝑡superscript2f_{t}:\mathbb{R}^{2}\rightarrow\mathbb{R}italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT : blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT → blackboard_R is the scalar field in the tthsuperscript𝑡𝑡t^{th}italic_t start_POSTSUPERSCRIPT italic_t italic_h end_POSTSUPERSCRIPT time step, we derive the Jacobi set 𝕁({ft})𝕁subscript𝑓𝑡\mathbb{J}(\{f_{t}\})blackboard_J ( { italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ) by introducing the corresponding time-varying gradient field {ft}subscript𝑓𝑡\{\nabla f_{t}\}{ ∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }, where ft:22:subscript𝑓𝑡superscript2superscript2\nabla f_{t}:\mathbb{R}^{2}\rightarrow\mathbb{R}^{2}∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT : blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT. The critical points of ftsubscript𝑓𝑡f_{t}italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT are equal to the points where ftsubscript𝑓𝑡\nabla f_{t}∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT vanishes. Minima, maxima, and saddles of the scalar field behave as sources, sinks, and saddles of the corresponding gradient field, respectively. These critical points are the 0-value minima of the gradient magnitude field Gt=ftsubscript𝐺𝑡normsubscript𝑓𝑡G_{t}=\|\nabla f_{t}\|italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT = ∥ ∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ∥. Hence, the set of tracks of critical points of {ft}subscript𝑓𝑡\{f_{t}\}{ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } is the same as the set of tracks of zeros of {Gt}subscript𝐺𝑡\{G_{t}\}{ italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }. We denote the original Jacobi set of the time-varying scalar field either as 𝕁({ft})𝕁subscript𝑓𝑡\mathbb{J}(\{f_{t}\})blackboard_J ( { italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ) or 𝕁({Gt})𝕁subscript𝐺𝑡\mathbb{J}(\{G_{t}\})blackboard_J ( { italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ).


Simplifying the Jacobi set. A δ𝛿\deltaitalic_δ-sublevel set of the gradient magnitude field Gtsubscript𝐺𝑡G_{t}italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT is the preimage Gt1(,δ]superscriptsubscript𝐺𝑡1𝛿G_{t}^{-1}(-\infty,\delta]italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( - ∞ , italic_δ ]. Let 𝒞(Gt,δ)𝒞subscript𝐺𝑡𝛿\mathcal{C}(G_{t},\delta)caligraphic_C ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_δ ) denote the set of connected components of the δ𝛿\deltaitalic_δ-sublevel set. Each connected component in 𝒞(Gt,δ)𝒞subscript𝐺𝑡𝛿\mathcal{C}(G_{t},\delta)caligraphic_C ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_δ ) contains a collection of critical points of the corresponding gradient vector field ftsubscript𝑓𝑡\nabla f_{t}∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, similar to the illustration in Figure 4 for a generic vector field. These critical points correspond to critical points of the scalar field ftsubscript𝑓𝑡f_{t}italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT for all δ0𝛿0\delta\geq 0italic_δ ≥ 0 and for all time t𝑡titalic_t. Consequently, all edges of the Jacobi set 𝕁({ft})𝕁subscript𝑓𝑡\mathbb{J}(\{f_{t}\})blackboard_J ( { italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ) pass through the collection 𝒞(Gt,δ)𝒞subscript𝐺𝑡𝛿\mathcal{C}(G_{t},\delta)caligraphic_C ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_δ ) for all t𝑡titalic_t. The collection of edges of 𝕁({ft})𝕁subscript𝑓𝑡\mathbb{J}(\{f_{t}\})blackboard_J ( { italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ) passing through a pair of spatially overlapping components from adjacent time steps may be represented by a single Jacobi edge, resulting in a reduction in the size of the Jacobi set. Figure 1 in the supplementary material illustrates the simplification. Increasing δ𝛿\deltaitalic_δ results in larger components of 𝒞(Gt,δ)𝒞subscript𝐺𝑡𝛿\mathcal{C}(G_{t},\delta)caligraphic_C ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_δ ), which in turn implies a larger number of critical points clustered together into a single component and represented by a single Jacobi edge. This implies that δ𝛿\deltaitalic_δ is a natural parameter for driving Jacobi set simplification.

Given a vector-valued function V:22:𝑉superscript2superscript2V:\mathbb{R}^{2}\rightarrow\mathbb{R}^{2}italic_V : blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, the function V~:22:~𝑉superscript2superscript2\widetilde{V}:\mathbb{R}^{2}\rightarrow\mathbb{R}^{2}over~ start_ARG italic_V end_ARG : blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT is called a δ𝛿\deltaitalic_δ-perturbation of V𝑉Vitalic_V if

supp2V(p)V~(p)δ.subscriptsupremum𝑝superscript2delimited-∥∥𝑉𝑝~𝑉𝑝𝛿\sup_{p\in\mathbb{R}^{2}}\lVert V(p)-\widetilde{V}(p)\rVert\leq\delta.roman_sup start_POSTSUBSCRIPT italic_p ∈ blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ italic_V ( italic_p ) - over~ start_ARG italic_V end_ARG ( italic_p ) ∥ ≤ italic_δ .

The notion of δ𝛿\deltaitalic_δ-perturbation aids in the numerical realization of the process that removes critical points with low robustness. Specifically, it quantifies the effort required to remove the critical points. We transport the notion of robustness to time-varying scalar functions and to their Jacobi set by studying and characterizing δ𝛿\deltaitalic_δ-robust critical points of the associated gradient vector field.

A valid simplification 𝕁superscript𝕁\mathbb{J}^{*}blackboard_J start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT of 𝕁({Gt})𝕁subscript𝐺𝑡\mathbb{J}(\{G_{t}\})blackboard_J ( { italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ) is a Jacobi set that is derived from 𝕁({Gt})𝕁subscript𝐺𝑡\mathbb{J}(\{G_{t}\})blackboard_J ( { italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ) via a kδ𝑘𝛿k\deltaitalic_k italic_δ-perturbation of ftsubscript𝑓𝑡\nabla f_{t}∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and satisfies the following conditions:

  1. 1.

    𝕁=𝕁({G~t})superscript𝕁𝕁subscript~𝐺𝑡\mathbb{J}^{*}=\mathbb{J}(\{\widetilde{G}_{t}\})blackboard_J start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = blackboard_J ( { over~ start_ARG italic_G end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ), where G~tsubscript~𝐺𝑡\widetilde{G}_{t}over~ start_ARG italic_G end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT is the gradient magnitude field of a kδ𝑘𝛿k\deltaitalic_k italic_δ-perturbation (k𝑘kitalic_k is a small positive integer) of ftsubscript𝑓𝑡\nabla f_{t}∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT that consists of only δ𝛿\deltaitalic_δ-robust critical points.

  2. 2.

    𝒞(Gt,δ)=𝒞(G~t,δ)𝒞subscript𝐺𝑡𝛿𝒞subscript~𝐺𝑡𝛿\mathcal{C}(G_{t},\delta)=\mathcal{C}(\widetilde{G}_{t},\delta)caligraphic_C ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_δ ) = caligraphic_C ( over~ start_ARG italic_G end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_δ ) for all t𝑡titalic_t.

  3. 3.

    ϕt(G~t)(x)ϕt(Gt)(x)subscriptitalic-ϕ𝑡subscript~𝐺𝑡𝑥subscriptitalic-ϕ𝑡subscript𝐺𝑡𝑥\phi_{t}(\widetilde{G}_{t})(x)\leq\phi_{t}(G_{t})(x)italic_ϕ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( over~ start_ARG italic_G end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) ( italic_x ) ≤ italic_ϕ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) ( italic_x ) for all t𝑡titalic_t, where the function ϕ(Gt)italic-ϕsubscript𝐺𝑡\phi(G_{t})italic_ϕ ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) maps a pair of δ𝛿\deltaitalic_δ-sublevel set components to the number of Jacobi edges between them, ϕt(Gt):𝒞(Gt,δ)×𝒞(Gt+1,δ)+{0}:subscriptitalic-ϕ𝑡subscript𝐺𝑡𝒞subscript𝐺𝑡𝛿𝒞subscript𝐺𝑡1𝛿superscript0\phi_{t}(G_{t}):\mathcal{C}(G_{t},\delta)\times\mathcal{C}(G_{t+1},\delta)% \rightarrow\mathbb{Z}^{+}\cup\{0\}italic_ϕ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ) : caligraphic_C ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_δ ) × caligraphic_C ( italic_G start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT , italic_δ ) → blackboard_Z start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ∪ { 0 }.

The time-varying gradient magnitude field Gtsubscript𝐺𝑡G_{t}italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and its perturbation {G~t}subscript~𝐺𝑡\{\widetilde{G}_{t}\}{ over~ start_ARG italic_G end_ARG start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } are close to each other, resulting in a Jacobi set 𝕁superscript𝕁\mathbb{J}^{*}blackboard_J start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT that is close to 𝕁({Gt})𝕁subscript𝐺𝑡\mathbb{J}(\{G_{t}\})blackboard_J ( { italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ). The first condition also ensures that noisy critical points, that are not δ𝛿\deltaitalic_δ-robust, are perturbed away and the stable critical points form the simplified Jacobi set. The second condition ensures that Gtsubscript𝐺𝑡G_{t}italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT is not altered significantly and the geometry of 𝕁({Gt})𝕁subscript𝐺𝑡\mathbb{J}(\{G_{t}\})blackboard_J ( { italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ) is closely approximated. Finally, the third condition ensures a reduction in the number of Jacobi set edges by considering each pair of δ𝛿\deltaitalic_δ-sublevel set components from adjacent time steps that contributes an edge to the Jacobi set.

5 Algorithm

We now present a method to compute a valid simplification of a given Jacobi set 𝕁({Gt})𝕁subscript𝐺𝑡\mathbb{J}(\{G_{t}\})blackboard_J ( { italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } ). The input scalar field {ft}subscript𝑓𝑡\{f_{t}\}{ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } at every time step is defined on the vertices of a grid and is interpolated within the interior of cells. The algorithm consists of the following three steps:


Gradient computation. A gradient field is computed for each PL function ftsubscript𝑓𝑡f_{t}italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT via central differences. At a grid vertex, the partial derivative along the X-axis is computed as the difference between the scalar values of its left and right neighbors. Similarly, neighbors along the Y-axis are used to compute the partial derivative along the Y-axis. The two partials constitute the gradient vector. The sequence of gradient fields {ft}subscript𝑓𝑡\{\nabla f_{t}\}{ ∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } and the corresponding gradient magnitude fields {Gt}subscript𝐺𝑡\{G_{t}\}{ italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT } are computed in the first step. For smooth functions, the critical points of a scalar field ftsubscript𝑓𝑡f_{t}italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT correspond to a zero of the gradient vector field ftsubscript𝑓𝑡\nabla f_{t}∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. However, such a clear correspondence may not exist for a PL scalar field. So, we assign a zero value for ftsubscript𝑓𝑡\nabla f_{t}∇ italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT and Gtsubscript𝐺𝑡G_{t}italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT at vertices that are identified as critical points of ftsubscript𝑓𝑡f_{t}italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT. Gtsubscript𝐺𝑡G_{t}italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT is evaluated at all grid vertices and linearly extended in the interior of the cells.


δ𝛿\deltaitalic_δ-sublevel set computation. In the second step, we compute the connected components of the δ𝛿\deltaitalic_δ-sublevel sets of {Gt}subscript𝐺𝑡\{G_{t}\}{ italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }. section 7 provides the implementation details.


Simplified Jacobi set computation. The simplified Jacobi set is computed as the tracking graph of the δ𝛿\deltaitalic_δ-sublevel set components of {Gt}subscript𝐺𝑡\{G_{t}\}{ italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }. Correspondence between two δ𝛿\deltaitalic_δ-sublevel set components from adjacent time steps is determined via spatial overlap. If C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are two components that have a non-empty spatial overlap and further the degrees deg(C1)0𝑑𝑒𝑔subscript𝐶10deg(C_{1})\not=0italic_d italic_e italic_g ( italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) ≠ 0 and deg(C2)0𝑑𝑒𝑔subscript𝐶20deg(C_{2})\not=0italic_d italic_e italic_g ( italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) ≠ 0, then we insert an edge of the Jacobi set between C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and C2subscript𝐶2C_{2}italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. A geometric embedding of this edge is computed by using the centroid of the component as a representative and inserting the edge connecting the two representatives. If the component C1subscript𝐶1C_{1}italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT from the earlier time step has a non-empty overlap with multiple components from the next time step, then we choose the component with the largest overlap in terms of area.

The Jacobi set is hence computed as a collection of edges between representatives of δ𝛿\deltaitalic_δ-sublevel set components. The resulting set may contain short or broken tracks, due to short-lived critical points caused by noise. A post-processing step addresses this issue as discussed in section 7.

6 Analysis

In this section, we present a theoretical analysis of the algorithm based on a study of the stability of the zeros in the gradient field. We begin by stating two results regarding Riemann maps conway2012functions ; conway2012functions2 .

Theorem 6.1 (Riemann Mapping Theorem conway2012functions )

Let A𝐴A\subset\mathbb{C}italic_A ⊂ blackboard_C be a simply connected region which is not the whole plane and let aA𝑎𝐴a\in Aitalic_a ∈ italic_A. There exists a unique analytic function R:A:𝑅𝐴R:A\rightarrow\mathbb{C}italic_R : italic_A → blackboard_C satisfying the following properties:

  • R(a)=0𝑅𝑎0R(a)=0italic_R ( italic_a ) = 0 and the derivative R(a)>0superscript𝑅𝑎0R^{\prime}(a)>0italic_R start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( italic_a ) > 0

  • R𝑅Ritalic_R is injective

  • R(A)=𝔻𝑅𝐴𝔻R(A)=\mathbb{D}italic_R ( italic_A ) = blackboard_D, the unit open disk in the plane

Theorem 6.2conway2012functions2 )

If A𝐴Aitalic_A is a bounded simply connected region and R1:𝔻A:superscript𝑅1𝔻𝐴R^{-1}:\mathbb{D}\rightarrow Aitalic_R start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT : blackboard_D → italic_A is the Riemann map with R1(0)=0superscript𝑅100R^{-1}(0)=0italic_R start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( 0 ) = 0 and (R1)(0)>0superscriptsuperscript𝑅100(R^{-1})^{\prime}(0)>0( italic_R start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( 0 ) > 0, then R1superscript𝑅1R^{-1}italic_R start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT extends to a homeomorphism of 𝔻¯¯𝔻\overline{\mathbb{D}}over¯ start_ARG blackboard_D end_ARG onto A¯¯𝐴\overline{A}over¯ start_ARG italic_A end_ARG iff the boundary of A𝐴Aitalic_A, Bd(A)𝐵𝑑𝐴Bd(A)italic_B italic_d ( italic_A ), is a Jordan curve. Further, Bd(A)𝐵𝑑𝐴Bd(A)italic_B italic_d ( italic_A ) is homeomorphic to Bd(𝔻)𝐵𝑑𝔻Bd(\mathbb{D})italic_B italic_d ( blackboard_D ).

Given a connected component of a δ𝛿\deltaitalic_δ-sublevel set of the gradient magnitude field G=f𝐺norm𝑓G=\|\nabla f\|italic_G = ∥ ∇ italic_f ∥ whose degree is non-zero, we will use the Riemann mapping theorem to show the existence of a simplified vector field. This simplified vector field will contain a single zero within each component of the δ𝛿\deltaitalic_δ-sublevel set 𝒞(G,δ)𝒞𝐺𝛿\mathcal{C}(G,\delta)caligraphic_C ( italic_G , italic_δ ). We  prove the following result:

Theorem 6.3

Let X𝒞(G,δ)𝑋𝒞𝐺𝛿X\in\mathcal{C}(G,\delta)italic_X ∈ caligraphic_C ( italic_G , italic_δ ) be a simply connected component of the δ𝛿\deltaitalic_δ-sublevel set of the gradient magnitude field G, with non-zero degree and its boundary is a Jordan curve. There exists a continuous vector field V~:X¯2:~𝑉¯𝑋superscript2\widetilde{V}:\overline{X}\rightarrow\mathbb{R}^{2}over~ start_ARG italic_V end_ARG : over¯ start_ARG italic_X end_ARG → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT that satisfies the following properties:

  • V~~𝑉\widetilde{V}over~ start_ARG italic_V end_ARG is a 2δ2𝛿2\delta2 italic_δ-perturbation of f|X¯\nabla f_{|\overline{X}}∇ italic_f start_POSTSUBSCRIPT | over¯ start_ARG italic_X end_ARG end_POSTSUBSCRIPT,

  • V~|Bd(X)=f|Bd(X)\widetilde{V}_{|Bd(X)}=\nabla f_{|Bd(X)}over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT | italic_B italic_d ( italic_X ) end_POSTSUBSCRIPT = ∇ italic_f start_POSTSUBSCRIPT | italic_B italic_d ( italic_X ) end_POSTSUBSCRIPT, and

  • V~~𝑉\widetilde{V}over~ start_ARG italic_V end_ARG has exactly one singularity.

Proof

We first reduce the problem onto a simpler domain, namely the disk, rather than dealing with a generic simply connected Jordan region X𝑋Xitalic_X. The proof consists of two steps.


Step 1: Reduce the problem to a disk. Theorem 1 and 2 guarantee the existence of a homeomorphism R:X¯𝔻¯:𝑅¯𝑋¯𝔻R:\overline{X}\rightarrow\overline{\mathbb{D}}italic_R : over¯ start_ARG italic_X end_ARG → over¯ start_ARG blackboard_D end_ARG, the extended Riemann map. Now, define a vector field on the closed unit disk U:𝔻¯2:𝑈¯𝔻superscript2U:\overline{\mathbb{D}}\rightarrow\mathbb{R}^{2}italic_U : over¯ start_ARG blackboard_D end_ARG → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT as a composition U=f|X¯R1U=\nabla f_{|\overline{X}}\circ R^{-1}italic_U = ∇ italic_f start_POSTSUBSCRIPT | over¯ start_ARG italic_X end_ARG end_POSTSUBSCRIPT ∘ italic_R start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT, which allows us to transfer a simplified vector field designed within 𝔻¯¯𝔻\overline{\mathbb{D}}over¯ start_ARG blackboard_D end_ARG onto X¯¯𝑋\overline{X}over¯ start_ARG italic_X end_ARG as shown in Figure 5.


Step 2: Construct a simplified vector field on the unit disk. We construct a continuous vector field V~D:𝔻¯2:subscript~𝑉𝐷¯𝔻superscript2\widetilde{V}_{D}:\overline{\mathbb{D}}\rightarrow\mathbb{R}^{2}over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT : over¯ start_ARG blackboard_D end_ARG → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT on the closed disk as V~D(r,θ)=rU(1,θ)subscript~𝑉𝐷𝑟𝜃𝑟𝑈1𝜃\widetilde{V}_{D}(r,\theta)=rU(1,\theta)over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_r , italic_θ ) = italic_r italic_U ( 1 , italic_θ ). This function is composed with R𝑅Ritalic_R to give V~=V~DR:X¯2:~𝑉subscript~𝑉𝐷𝑅¯𝑋superscript2\widetilde{V}=\widetilde{V}_{D}\circ R:\overline{X}\rightarrow\mathbb{R}^{2}over~ start_ARG italic_V end_ARG = over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ∘ italic_R : over¯ start_ARG italic_X end_ARG → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, see Figure 5

Refer to caption
Figure 5: A simplified gradient vector field is constructed within the unit disk 𝔻¯¯𝔻\overline{\mathbb{D}}over¯ start_ARG blackboard_D end_ARG and then transferred to the region X¯¯𝑋\overline{X}over¯ start_ARG italic_X end_ARG.

The function V~~𝑉\widetilde{V}over~ start_ARG italic_V end_ARG satisfies the three properties from Theorem 3. Since U𝑈Uitalic_U has constant magnitude δ>0𝛿0\delta>0italic_δ > 0 on Bd(X)𝐵𝑑𝑋Bd(X)italic_B italic_d ( italic_X ) and hence does not have any zeros, it follows that V~Dsubscript~𝑉𝐷\widetilde{V}_{D}over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT and V~~𝑉\widetilde{V}over~ start_ARG italic_V end_ARG have exactly one singularity. Further, it is evident from the construction that V~D|Bd(𝔻)=U|Bd(𝔻)\widetilde{V}_{D|Bd(\mathbb{D})}=U_{|Bd(\mathbb{D})}over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_D | italic_B italic_d ( blackboard_D ) end_POSTSUBSCRIPT = italic_U start_POSTSUBSCRIPT | italic_B italic_d ( blackboard_D ) end_POSTSUBSCRIPT and hence V~~𝑉\widetilde{V}over~ start_ARG italic_V end_ARG and f|X¯\nabla f_{|\overline{X}}∇ italic_f start_POSTSUBSCRIPT | over¯ start_ARG italic_X end_ARG end_POSTSUBSCRIPT are equal on Bd(X)𝐵𝑑𝑋Bd(X)italic_B italic_d ( italic_X ). Finally, since X𝑋Xitalic_X is a δ𝛿\deltaitalic_δ-sublevel set, the following is true for all values of 0r10𝑟10\leq r\leq 10 ≤ italic_r ≤ 1 and 0θ2π0𝜃2𝜋0\leq\theta\leq 2\pi0 ≤ italic_θ ≤ 2 italic_π

U(1,θ)=δrU(1,θ)δV~Dδnorm𝑈1𝜃𝛿norm𝑟𝑈1𝜃𝛿normsubscript~𝑉𝐷𝛿\|U(1,\theta)\|=\delta\implies\|rU(1,\theta)\|\leq\delta\implies\|\widetilde{V% }_{D}\|\leq\delta∥ italic_U ( 1 , italic_θ ) ∥ = italic_δ ⟹ ∥ italic_r italic_U ( 1 , italic_θ ) ∥ ≤ italic_δ ⟹ ∥ over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ∥ ≤ italic_δ

Applying the triangle inequality, we have

V~D(r,θ)U(r,θ)normsubscript~𝑉𝐷𝑟𝜃𝑈𝑟𝜃\displaystyle\|\widetilde{V}_{D}(r,\theta)-U(r,\theta)\|∥ over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT ( italic_r , italic_θ ) - italic_U ( italic_r , italic_θ ) ∥ 2δ,andabsent2𝛿and\displaystyle\leq 2\delta,\mbox{and}≤ 2 italic_δ , and
V~(x)f(x)norm~𝑉𝑥𝑓𝑥\displaystyle\|\widetilde{V}(x)-\nabla f(x)\|∥ over~ start_ARG italic_V end_ARG ( italic_x ) - ∇ italic_f ( italic_x ) ∥ 2δabsent2𝛿\displaystyle\leq 2\delta≤ 2 italic_δ

Hence, the simplified vector field V~~𝑉\widetilde{V}over~ start_ARG italic_V end_ARG within X𝑋Xitalic_X is a 2δ2𝛿2\delta2 italic_δ-perturbation of the gradient field, and its magnitude is smaller than δ𝛿\deltaitalic_δ.

Theorem 3 guarantees the existence of a simplified continuous vector field that differs from the gradient of the input scalar field only within the δ𝛿\deltaitalic_δ-sublevel set components. Further, each zero of the simplified vector field within a δ𝛿\deltaitalic_δ-sublevel set component is at least δ𝛿\deltaitalic_δ-robust.

Next, we consider the case where the connected component of the δ𝛿\deltaitalic_δ-sublevel set has degree-0. We use an adaptation of a theorem developed in the study of robustness for vector fields chazal2011computing to show that the gradient field can be simplified within such components to remove all critical points.

Theorem 6.4chazal2011computing )

Let X𝒞(G,δ)𝑋𝒞𝐺𝛿X\in\mathcal{C}(G,\delta)italic_X ∈ caligraphic_C ( italic_G , italic_δ ) and let f𝑓\nabla f∇ italic_f have degree-0 in X𝑋Xitalic_X. There exists a continuous vector field V~:X¯2:~𝑉¯𝑋superscript2\widetilde{V}:\overline{X}\rightarrow\mathbb{R}^{2}over~ start_ARG italic_V end_ARG : over¯ start_ARG italic_X end_ARG → blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT that satisfies the following properties:

  • V~~𝑉\widetilde{V}over~ start_ARG italic_V end_ARG is a δ𝛿\deltaitalic_δ-perturbation of f|X¯\nabla f_{|\overline{X}}∇ italic_f start_POSTSUBSCRIPT | over¯ start_ARG italic_X end_ARG end_POSTSUBSCRIPT,

  • V~|Bd(X)=f|Bd(X)\widetilde{V}_{|Bd(X)}=\nabla f_{|Bd(X)}over~ start_ARG italic_V end_ARG start_POSTSUBSCRIPT | italic_B italic_d ( italic_X ) end_POSTSUBSCRIPT = ∇ italic_f start_POSTSUBSCRIPT | italic_B italic_d ( italic_X ) end_POSTSUBSCRIPT, and

  • V~~𝑉\widetilde{V}over~ start_ARG italic_V end_ARG has no singularity.

Theorem 4 implies that perturbing f𝑓\nabla f∇ italic_f within all such regions X𝑋Xitalic_X results in a simplified continuous vector field that preserves the δ𝛿\deltaitalic_δ-sublevel sets. The interpretation of static robustness of a critical point as its stability or the perturbation required to remove it also follows from Theorem 4.

The above results guarantee that the zeros of f𝑓\nabla f∇ italic_f can be perturbed away to retain either a single stable zero (Theorem 3) or remove all zeros (Theorem 4). The perturbation results imply that the zeros (critical points of f𝑓fitalic_f) within the δ𝛿\deltaitalic_δ-sublevel set are less significant, need not be tracked individually, and can be replaced by a single stable zero. This corollary drives our simplification algorithm. The algorithm tracks connected components of 𝒞(Gt,δ)𝒞subscript𝐺𝑡𝛿\mathcal{C}(G_{t},\delta)caligraphic_C ( italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_δ ) across time t𝑡titalic_t if their degree is non-zero. A single edge replaces the collection of Jacobi edges that are incident on the critical points lying within these δ𝛿\deltaitalic_δ-sublevel set components. The simplified Jacobi set computed by our algorithm adheres to the valid simplification constraints outlined in section 4 and represents the tracks of zeros of the perturbed vector fields described in Theorems 3 and 4. However, the perturbed fields are not computed explicitly.

The algorithm reduces the number of edges and hence computes a simplified Jacobi set. However, it captures the macroscopic trends of movement of the critical points. Birth and death of less significant critical points do not affect the result and do not appear in the simplified Jacobi set because they occur in the interior of δ𝛿\deltaitalic_δ-sublevel sets. The δ𝛿\deltaitalic_δ-sublevel sets provide a clustering of critical points that are in geometric proximity to each other and evolve in a coherent manner over time. Thus, the algorithm ensures temporal and spatial consistency of the simplified Jacobi set while reducing the number of tracks. In contrast, tracking methods that rely on standard persistence-based filtering do not require persistence pairs to be consistently paired over time, nor do the pairs have to be in geometric proximity to each other. Also, the persistence values of critical points may vary significantly over time.

7 Implementation

This section describes details of an implementation of the Jacobi set simplification algorithm, optimizations that improve the runtime performance and the visual clarity of the simplified Jacobi set. All visualizations in this paper are generated using ParaviewAyachit2015paraview and TTK Tierny2018ttk . In the following discussion, T𝑇Titalic_T denotes the total number of time steps and n𝑛nitalic_n is the total number of vertices in the input 2D grid.


Persistence simplification. Simulation of simplicity, a symbolic perturbation of the scalar field, is used to handle degeneracies when classifying critical points. However, this results in the creation of spurious critical points within regions where the scalar function is flat. These critical points of ftsubscript𝑓𝑡f_{t}italic_f start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT are removed within each time step using a persistence-driven topological simplification ELZ02 . A small persistence threshold is sufficient to remove these critical points. This helps reduce unnecessary processing of these spurious critical points in subsequent steps.


Critical point computation. The critical points and their types (maxima, minima, or saddle) are computed and stored. This requires O(nT)𝑂𝑛𝑇O(nT)italic_O ( italic_n italic_T ) time. Storing the type of critical point helps optionally filter the Jacobi set to show edges corresponding to a specific type.


Gradient field computation. Computing the gradient magnitude field Gtsubscript𝐺𝑡G_{t}italic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT at each time step t𝑡titalic_t and explicitly setting the gradient magnitude of critical points to zero requires a runtime of O(nT)𝑂𝑛𝑇O(nT)italic_O ( italic_n italic_T ).

Refer to caption
Figure 6: δ𝛿\deltaitalic_δ-sublevel set computation. The δ𝛿\deltaitalic_δ-isocontour (red) of the gradient magnitude field has two components and the δ𝛿\deltaitalic_δ-sublevel set contains three critical points a,b𝑎𝑏a,bitalic_a , italic_b, and c𝑐citalic_c. The algorithm returns the collection of blue cells, a conservative approximation of the δ𝛿\deltaitalic_δ-sublevel set.

δ𝛿\deltaitalic_δ-sublevel set computation. We compute the δ𝛿\deltaitalic_δ-sublevel sets at each time step t𝑡titalic_t in a single pass over the list of all vertices. If Gt(p)δsubscript𝐺𝑡𝑝𝛿G_{t}(p)\leq\deltaitalic_G start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_p ) ≤ italic_δ for a vertex p𝑝pitalic_p then all cells containing p𝑝pitalic_p are inserted into the reported δ𝛿\deltaitalic_δ-sublevel set. This reported δ𝛿\deltaitalic_δ-sublevel set is a superset of the true δ𝛿\deltaitalic_δ-sublevel set. The additional cells ensure that a connected component consisting of a single point is also represented by a spatial region and may be tracked via spatial overlap. Figure 6 illustrates the computation with a small example consisting of two components and three critical points. The running time for this step is O(nT)𝑂𝑛𝑇O(nT)italic_O ( italic_n italic_T ).


Connected component computation. Connected components of the δ𝛿\deltaitalic_δ-sublevel sets are computed using the connectivity filter of TTK. Further, all degree-0 components are removed. The filter uses a flood fill algorithm and has a runtime of O(nT)𝑂𝑛𝑇O(nT)italic_O ( italic_n italic_T ). Removing all components with degree 0 also takes O(nT)𝑂𝑛𝑇O(nT)italic_O ( italic_n italic_T ) time.


Simplified Jacobi set. The spatial overlap based tracking filter in TTK, called “Tracking from Overlap” lukasczyk2017nested , is used to compute a tracking graph. Edges of the simplified Jacobi set are essentially the edges of this tracking graph. This computation has a worst case runtime of O(nT)𝑂𝑛𝑇O(nT)italic_O ( italic_n italic_T ). Further details are available in Section 1 of the supplementary material.


Post-processing. Noise in the data could result in short-lived or broken tracks. We identify and resolve such issues in a post-processing step to produce the simplified Jacobi set. This step analyzes the proximity of the start and end points of different tracks and determines if they may be merged. Specifically, it checks two criteria as illustrated in Figure 7. First, for a track τ1subscript𝜏1\tau_{1}italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT that begins at time t𝑡titalic_t and at spatial location (x,y)𝑥𝑦(x,y)( italic_x , italic_y ), a search within the time interval [tϵt,t]𝑡subscriptitalic-ϵ𝑡𝑡[t-\epsilon_{t},t][ italic_t - italic_ϵ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_t ] determines if there exists another track whose end point lies within an ϵssubscriptitalic-ϵ𝑠\epsilon_{s}italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT-neighborhood of (x,y)𝑥𝑦(x,y)( italic_x , italic_y ) i.e., within a ball of radius ϵssubscriptitalic-ϵ𝑠\epsilon_{s}italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT centered at (x,y)𝑥𝑦(x,y)( italic_x , italic_y ). If such a track τ2subscript𝜏2\tau_{2}italic_τ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is found, its endpoint is connected to the start of τ1subscript𝜏1\tau_{1}italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, as shown in Figure 7(a). If multiple such tracks are found, the one with the closest end time is declared as τ2subscript𝜏2\tau_{2}italic_τ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Second, for a track τ1subscript𝜏1\tau_{1}italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT that ends at time t𝑡titalic_t and at spatial location (x,y)𝑥𝑦(x,y)( italic_x , italic_y ), a search is performed to determine if there exists another track that ends later than time t𝑡titalic_t and whose start time is within the interval [tϵt,t]𝑡subscriptitalic-ϵ𝑡𝑡[t-\epsilon_{t},t][ italic_t - italic_ϵ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT , italic_t ] and start point lies within an ϵssubscriptitalic-ϵ𝑠\epsilon_{s}italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT-neighborhood of (x,y)𝑥𝑦(x,y)( italic_x , italic_y ). If such a track τ2subscript𝜏2\tau_{2}italic_τ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is found, the end point at time step t𝑡titalic_t in τ1subscript𝜏1\tau_{1}italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT is connected to the start point at time step t+1𝑡1t+1italic_t + 1 in τ2subscript𝜏2\tau_{2}italic_τ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and the segment of τ2subscript𝜏2\tau_{2}italic_τ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT up to time t+1𝑡1t+1italic_t + 1 is discarded. Figure 7 (b) illustrates this case. Significant critical points are expected to correspond to long tracks. Based on this intuition, a length threshold l𝑙litalic_l is applied to discard all short tracks.

In the above implementation, a total of 5 parameters may be tuned to achieve an appropriately simplified Jacobi set. A persistence threshold ϵpsubscriptitalic-ϵ𝑝\epsilon_{p}italic_ϵ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT, the parameter δ𝛿\deltaitalic_δ, the maximum length ϵtsubscriptitalic-ϵ𝑡\epsilon_{t}italic_ϵ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT of recoverable temporal breaks in tracks, the size ϵssubscriptitalic-ϵ𝑠\epsilon_{s}italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT of the spatial neighborhood used to merge tracks, and a track length threshold ϵlsubscriptitalic-ϵ𝑙\epsilon_{l}italic_ϵ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT. Table 1 in the supplementary material lists the parameter values used in our experiments. Combining the running time of the individual steps, the total runtime of the algorithm is O(nT)𝑂𝑛𝑇O(nT)italic_O ( italic_n italic_T ).

Refer to caption
Figure 7: Connecting broken tracks based on spatial and temporal proximity. (a) Tracks τ2subscript𝜏2\tau_{2}italic_τ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and τ3subscript𝜏3\tau_{3}italic_τ start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end within a time interval ϵtsubscriptitalic-ϵ𝑡\epsilon_{t}italic_ϵ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT of the start of track τ1subscript𝜏1\tau_{1}italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and their end points lie within an ϵssubscriptitalic-ϵ𝑠\epsilon_{s}italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT-ball (orange) centered at the start point of τ1subscript𝜏1\tau_{1}italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. The temporally closer track τ2subscript𝜏2\tau_{2}italic_τ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is merged with τ1subscript𝜏1\tau_{1}italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (green edge). (b) End time of track τ1subscript𝜏1\tau_{1}italic_τ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start time of τ2subscript𝜏2\tau_{2}italic_τ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are closer than the spatial (ϵssubscriptitalic-ϵ𝑠\epsilon_{s}italic_ϵ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT) and temporal (ϵtsubscriptitalic-ϵ𝑡\epsilon_{t}italic_ϵ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT) thresholds. They are merged (green edge) and the initial segment of τ2subscript𝜏2\tau_{2}italic_τ start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT (dashed) is discarded.

8 Experimental results

In this section, we present results on four datasets – a synthetic rotating Gaussians dataset, 2D von Kármán vortex street, Boussinesq flow, and sea surface height. We provide qualitative insights into the reduction of the number of Jacobi edges and showcase the benefit of identifying prominent patterns and tracking features corresponding to critical regions. Table 1 in the supplementary material lists the statistics on the size of the simplified Jacobi set, demonstrating the effectiveness and utility of the method in practice. It also lists the parameter values used in the experiments for completeness.

The simplified Jacobi sets reported here and in subsequent results include tracks of all critical point types – maxima, minima, and saddles. The implementation may be extended to filter and selectively display tracks that correspond to a specific critical type. All tracks are rendered using cubic spline interpolation. The focus of the prototype implementation in Python is functionality and not efficiency. Code optimization using efficient libraries is likely to result in significant runtime improvement.


Rotating Gaussians. A synthetic dataset generated as a time-evolving sum of Gaussians helps analyze the correctness of the algorithm and its implementation. Two pairs of maxima, each consisting of two Gaussian centers (maxima) rotate about the origin over time as shown in Figure 8. The Jacobi set is noisy and cluttered as discussed earlier. We observe that upon filtering the Jacobi set (orange) to retain edges with scalar value greater than 1111, we obtain the spiral pattern followed by the rotating Gaussians. Tracks in the simplified Jacobi set shown in Figure 8(c) effectively capture this pattern, indicating that the simplified Jacobi set is a geometrically accurate representation of the feature (Gaussian center) evolution. Furthermore, a single track for each critical region shows the successful clustering of critical points. The straight track in the center corresponds to the global minimum. No post-processing was required to produce the results.

Refer to caption
Figure 8: (a) A time-varying scalar field represented as a stack of color-mapped images. The vertical direction corresponds to time. (b) Edges of the original Jacobi set (orange) after filtering out edges where the scalar value is smaller than 1. (c) The simplified Jacobi set consists of three components. Two tracks capture the spiral pattern of rotating Gaussians. The straight track corresponds to the global minimum.
Refer to caption
Figure 9: (a) Three time steps from the 2D von Kármán vortex street dataset color-mapped with z𝑧zitalic_z-component of vorticity. (b) Jacobi set is large and noisy. (c) Simplified Jacobi set is clutter-free. The tracks capture the flow pattern of vortices from left to right.. (d) A zoomed-in view shows that each track represents an individual critical region around a maximum or minimum, namely a vortex. The vertical track represents a critical region near the domain boundary and corresponds to a saddle.

2D von Kármán vortex street. This dataset of the flow of a fluid around a cylindrical obstacle is generated using Gerris flow solver gerrisflowsolver ; Guenther17 . The vorticity field is computed using the 2D velocity field available at each grid vertex over 1501 time steps. Since the velocity is a 2D field, only the z𝑧zitalic_z-component of vorticity is non-zero and is used for the analysis. The dataset is available as a single 3D grid where the z𝑧zitalic_z-direction denotes time.

Figure 9(a) shows three selected time steps of the vorticity field. A persistence-driven simplification with a small threshold of 0.12% successfully removes spurious critical points from each time step, but the Jacobi set remains cluttered as shown in Figure 9(b). A persistence-directed simplification of individual scalar fields may not necessarily produce good results. The simplified Jacobi set Figure 9(c) clearly captures the movement of vortices from left to right. Similar patterns are reported in earlier work, in particular using the lifted Wasserstein matcher (Soler2018LiftedWasserstein, , Figure 14). Figure 9(d) provides a zoomed-in view showing tracks passing through critical regions of maxima and minima, implying that the geometry of the key tracks is well preserved. The simplified Jacobi set is a clean visual representation with reduced zigzag and minimal clutter, thanks to a substantial reduction (400×\times×) in size. The vertical track passing through the center of the domain represents a cluster of saddles that constitute a large critical region near the domain boundary.

Refer to caption
Figure 10: (a) Select time steps of the Boussinesq flow dataset showing the z𝑧zitalic_z-component of vorticity. (b) Tracks of all critical regions. (c-e) Tracks filtered based on their length (>750,50750,<50>750,50-750,<50> 750 , 50 - 750 , < 50). (f) A close-up view of the long tracks shows that several critical regions are tracked despite the turbulent behavior.

Boussinesq flow. This dataset representing 2D flow due to a heated cylinder is generated by a simulation using the Gerris flow solver gerrisflowsolver ; Guenther17 . The vorticity field is computed from the velocity field, as described above, over 2001 time steps and is represented as a scalar field on a 3D grid. Figure 10(a) shows the field in select time steps.

The simplified Jacobi set represents tracks of critical points of all types. The tracks are classified based on their length and shown in Figure 10(b-e). A visual inspection indicates a significantly larger number of long tracks identified by our algorithm compared to the ones reported by the lifted Wasserstein matcher (Soler2018LiftedWasserstein, , Figure 12), a method that relies on persistence pair matching for tracking. Despite the innately unsteady nature of this dataset, our algorithm successfully identifies 38 long tracks that last longer than 750 time steps. Figure 10(f) presents a zoomed-in view of the long tracks passing through important extrema regions, emphasizing the validity of the computed tracks. The number of medium length tracks shown in Figure 10(d), indicates that many critical regions have a life span between 50 and 750 time steps. Experimental results on this turbulent dataset demonstrate the utility of the post-processing heuristic. Tracks in proximity are effectively merged, resulting in a 15×\times× reduction in the total number of tracks, from 4597 to 312. The number of short tracks is small.

Refer to caption
Figure 11: Long tracks (>>>300 days) in the sea surface height dataset. Extrema tracks exhibit a westward drift due to wind. The red track depicts unstable saddles near the coastline.

Sea surface height. This dataset from Marine Copernicus copernicus measures the sea surface height from Aug 2021 to Aug 2022. The analysis aims to track significant extrema of the sea surface height over one year to identify features that persist for a long period of time. A length threshold ϵl=300subscriptitalic-ϵ𝑙300\epsilon_{l}=300italic_ϵ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT = 300 days is chosen to identify such long tracks. The tracks of extrema shown in Figure 11 capture the westward drift. This drift is possibly due to the direction of the wind. The simplified Jacobi set is able to capture additional tracks when compared to those extracted using LWM, a direct tracking of critical points (Soler2018LiftedWasserstein, , Figure 11). We use data from a different year due to unavailability of data for the year presented in LWM. Nevertheless, it is evident via a visual comparison that LWM misses multiple prominent features. The noisy red track corresponds to the inconsistent and unstable saddles near the boundary or the coastline. Our algorithm successfully clusters and represents all such saddles with a single track.

9 Conclusions

We described a novel Jacobi set simplification method in the context of time-varying scalar fields, where the Jacobi set represents tracks of critical points. The simplification is based on an analysis of the associated gradient field and an adaptation of the notion of robustness for vector fields. Experiments show that the method produces clutter-free tracks and can potentially identify a larger number of feature tracks when compared with a method for tracking critical points. We also presented a theoretical guarantee of the existence of a simplified vector field to support the algorithm. A generalization of the theoretical analysis to 3D and to regions that are not Jordan is non-trivial, because there is no direct extension of the Riemann mapping theorem.

Acknowledgements.
This work is partially supported by a grant from SERB, Govt. of India (CRG/2021/005278). VN acknowledges support from the Alexander von Humboldt Foundation, and Berlin MATH+ under the Visiting Scholar program. Part of this work was completed when VN was a guest Professor at the Zuse Institute Berlin.

References

  • (1) Artamonova, I., Alekseev, V., Makarenko, N.: Gradient measure and Jacobi sets for estimation of interrelationship between geophysical multifields. In: Journal of Physics: Conference Series, vol. 798, p. 012040 (2017)
  • (2) Ayachit, U.: The ParaView Guide, A Parallel Visualization Application. Kitware (2015)
  • (3) Bachthaler, S., Weiskopf, D.: Continuous scatterplots. IEEE Trans. Vis. Comput. Graph. 14(6), 1428–1435 (2008)
  • (4) Bhatia, H., Wang, B., Norgard, G., Pascucci, V., Bremer, P.T.: Local, smooth, and consistent Jacobi set simplification. Computational Geometry 48(4), 311–332 (2015)
  • (5) Blecha, C., Raith, F., Scheuermann, G., Nagel, T., Kolditz, O., Maßmann, J.: Analysis of coupled thermo-hydro-mechanical simulations of a generic nuclear waste repository in clay rock using fiber surfaces. In: IEEE Pacific Visualization Symposium, pp. 189–201 (2019)
  • (6) Bremer, P., Bringa, E., Duchaineau, M., Gyulassy, A., Laney, D., Mascarenhas, A., Pascucci, V.: Topological feature extraction and tracking. In: Journal of Physics: Conference Series, vol. 78, p. 012007. IOP Publishing (2007)
  • (7) Bujack, R., Yan, L., Hotz, I., Garth, C., Wang, B.: State of the art in time-dependent flow topology: interpreting physical meaningfulness through mathematical properties. Comput. Graph. Forum (2020)
  • (8) Carr, H., Duke, D.: Joint contour nets. IEEE Trans. Vis. Comput. Graph. 20(8), 1100–1113 (2014)
  • (9) Carr, H., Geng, Z., Tierny, J., Chattopadhyay, A., Knoll, A.: Fiber surfaces: Generalizing isosurfaces to bivariate data. Comput. Graph. Forum 34(3), 241–250 (2015)
  • (10) Chattopadhyay, A., Carr, H., Duke, D., Geng, Z.: Extracting Jacobi structures in Reeb spaces. In: Proc. EuroVis - Short Papers (2014)
  • (11) Chazal, F., Patel, A., Skraba, P.: Computing the robustness of roots. Manuscript, http://ailab. ijs. si/primoz skraba/papers/fp. pdf (2011)
  • (12) Conway, J.B.: Functions of One Complex Variable I. Graduate Texts in Mathematics. Springer New York (2012)
  • (13) Conway, J.B.: Functions of One Complex Variable II. Graduate Texts in Mathematics. Springer New York (2012)
  • (14) Copernicus Marine Service: (2024). URL https://marine.copernicus.eu/
  • (15) Delfinado, C.J.A., Edelsbrunner, H.: An incremental algorithm for betti numbers of simplicial complexes. In: Proc. Symposium on Computational Geometry, pp. 232–239 (1993)
  • (16) Doleisch, H., Muigg, P., Hauser, H.: Interactive visual analysis of hurricane isabel with SimVis. In: IEEE Visualization Contest (2004)
  • (17) Edelsbrunner, H., Harer, J.: Jacobi sets of multiple Morse functions. Found. Comput. Math. 312, 35–57 (2004)
  • (18) Edelsbrunner, H., Harer, J., Mascarenhas, A., Pascucci, V., Snoeyink, J.: Time-varying Reeb graphs for continuous space–time data. Computational Geometry 41(3), 149–166 (2008)
  • (19) Edelsbrunner, H., Harer, J., Natarajan, V., Pascucci, V.: Local and global comparison of continuous functions. In: IEEE Visualization 2004, pp. 275–280 (2004)
  • (20) Edelsbrunner, H., Harer, J., Patel, A.K.: Reeb spaces of piecewise linear mappings. In: Proc. Symposium on Computational Geometry, SCG ’08, p. 242–250 (2008)
  • (21) Edelsbrunner, H., Harer, J.L.: Computational topology: an introduction. American Mathematical Society (2022)
  • (22) Edelsbrunner, H., Letscher, D., Zomorodian., A.: Topological persistence and simplification. Disc. Comput. Geom. 28(4), 511–533 (2002)
  • (23) Edelsbrunner, H., Morozov, D., Patel, A.: Quantifying transversality by measuring the robustness of intersections. Foundations of Computational Mathematics 11(3), 345–361 (2011)
  • (24) Edelsbrunner, H., Mücke, E.P.: Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms. ACM Transactions on Graphics 9(1), 66–104 (1990)
  • (25) Günther, T., Gross, M., Theisel, H.: Generic objective vortices for flow visualization. ACM Transactions on Graphics (Proc. SIGGRAPH) 36(4), 141:1–141:11 (2017)
  • (26) Hansen, C.D., Chen, M., Johnson, C.R., Kaufman, A.E., Hagen, H. (eds.): Scientific Visualization: Uncertainty, Multifield, Biomedical, and Scalable Visualization. Mathematics and Visualization. Springer (2014)
  • (27) Helland-Hansen, B.: Nogen hydrografiske metoder. Forh Skand Naturf Mote 16, 357–359 (1916)
  • (28) Huettenberger, L., Heine, C., Garth, C.: Decomposition and simplification of multivariate data using pareto sets. IEEE Trans. Vis. Comput. Graph. 20(12), 2684–2693 (2014)
  • (29) Klötzl, D., Krake, T., Zhou, Y., Hotz, I., Wang, B., Weiskopf, D.: Local bilinear computation of Jacobi sets. The Visual Computer 38(9-10), 3435–3448 (2022)
  • (30) Klötzl, D., Krake, T., Zhou, Y., Stober, J., Schulte, K., Hotz, I., Wang, B., Weiskopf, D.: Reduced connectivity for local bilinear Jacobi sets. In: 2022 Topological Data Analysis and Visualization (TopoInVis), pp. 39–48. IEEE (2022)
  • (31) Lukasczyk, J., Garth, C., Maciejewski, R., Tierny, J.: Localized topological simplification of scalar data. IEEE Trans. Vis. Comput. Graph. 27(2), 572–582 (2020)
  • (32) Lukasczyk, J., Garth, C., Weber, G.H., Biedert, T., Maciejewski, R., Leitte, H.: Dynamic nested tracking graphs. IEEE Trans. Vis. Comput. Graph. 26(1), 249–258 (2020)
  • (33) Lukasczyk, J., Weber, G., Maciejewski, R., Garth, C., Leitte, H.: Nested tracking graphs. Comput. Graph. Forum 36(3), 12–22 (2017)
  • (34) Makela, K., Ophelders, T., Quigley, M.Y., Munch, E., Chitwood, D.H., Dowtin, A.L.: Automatic tree ring detection using Jacobi sets. ArXiv abs/2010.08691 (2020)
  • (35) Nagaraj, S., Natarajan, V.: Relation-aware isosurface extraction in multifield data. IEEE Trans. Vis. Comput. Graph. 17(2), 182–191 (2011)
  • (36) Norgard, G., Bremer, P.T.: Ridge–Valley graphs: Combinatorial ridge detection using Jacobi sets. Computer Aided Geometric Design 30(6), 597–608 (2013)
  • (37) Popinet, S.: Free computational fluid dynamics. ClusterWorld 2(6) (2004). URL http://gfs.sf.net/
  • (38) Post, F.H., Vrolijk, B., Hauser, H., Laramee, R.S., Doleisch, H.: The state of the art in flow visualisation: feature extraction and tracking. Comput. Graph. Forum 22 (2003)
  • (39) Raith, F., Blecha, C., Nagel, T., Parisio, F., Kolditz, O., Günther, F., Stommel, M., Scheuermann, G.: Tensor field visualization using fiber surfaces of invariant space. IEEE Trans. Vis. Comput. Graph. 25(1), 1122–1131 (2019)
  • (40) Reininghaus, J., Kasten, J., Weinkauf, T., Hotz, I.: Efficient computation of combinatorial feature flow fields. IEEE Trans. Vis. Comput. Graph. 18(9), 1563–1573 (2011)
  • (41) Saikia, H., Weinkauf, T.: Global feature tracking and similarity estimation in time-dependent scalar fields. Comput. Graph. Forum 36(3), 1–11 (2017)
  • (42) Sharma, M., Masood, T.B., Thygesen, S.S., Linares, M., Hotz, I., Natarajan, V.: Segmentation driven peeling for visual analysis of electronic transitions. In: Proc. IEEE Visualization Conference, IEEE VIS 2021 - Short Papers, pp. 96–100. IEEE (2021)
  • (43) Sharma, M., Masood, T.B., Thygesen, S.S., Linares, M., Hotz, I., Natarajan, V.: Continuous scatterplot operators for bivariate analysis and study of electronic transitions. IEEE Trans. Vis. Comput. Graph. pp. 1–13 (2023). DOI 10.1109/TVCG.2023.3237768
  • (44) Sharma, M., Natarajan, V.: Jacobi set driven search for flexible fiber surface extraction. In: 2022 Topological Data Analysis and Visualization (TopoInVis), pp. 49–58 (2022)
  • (45) Skraba, P., Wang, B., Chen, G., Rosen, P.: Robustness-based simplification of 2D steady and unsteady vector fields. IEEE Trans. Vis. Comput. Graph. 21(8), 930–944 (2015)
  • (46) Soler, M., Plainchault, M., Conche, B., Tierny, J.: Lifted wasserstein matcher for fast and robust topology tracking. In: Proc. IEEE Symp. Large Data Anal. Vis. (LDAV), pp. 23–33 (2018)
  • (47) Suthambhara, N., Natarajan, V.: Simplification of Jacobi sets. In: Topological Methods in Data Analysis and Visualization: Theory, Algorithms, and Applications, pp. 91–102. Springer Berlin Heidelberg, Berlin, Heidelberg (2011)
  • (48) Theisel, H., Seidel, H.P.: Feature flow fields. In: Proceedings of the symposium on Data visualisation 2003, pp. 141–148 (2003)
  • (49) Tierny, J., Carr, H.: Jacobi fiber surfaces for bivariate Reeb space computation. IEEE Trans. Vis. Comput. Graph. 23(1), 960–969 (2016)
  • (50) Tierny, J., Favelier, G., Levine, J.A., Gueunet, C., Michaux, M.: The topology toolKit. IEEE Trans. Vis. Comput. Graph. 24(1), 832–842 (2018)
  • (51) Tricoche, X., Wischgoll, T., Scheuermann, G., Hagen, H.: Topology tracking for the visualization of time-dependent two-dimensional flows. Computers & Graphics 26(2), 249–257 (2002)
  • (52) Weinkauf, T., Theisel, H., Van Gelder, A., Pang, A.: Stable feature flow fields. IEEE Trans. Vis. Comput. Graph. 17(6), 770–780 (2011)
  • (53) Yan, L., Bin Masood, T., Sridharamurthy, R., Rasheed, F., Natarajan, V., Hotz, I., Wang, B.: Scalar field comparison with topological descriptors: properties and applications for scientific visualization. Comput. Graph. Forum 40, 599–633 (2021)

See pages - of supp.pdf