Similar to topological simplification of the merge tree of a time-invariant scalar function (cf. Chapter 3.2.3), we also eliminate fluctuations and noisy structure of the dynamic function. To focus only on the prominent features of the high-dimensional, temporal data, we simplify the structure within a time step and adjust the tracking information that is related to removed features. To help the analyst find appropriate simplification thresholds, a simplification controller as described in Chapter 5.2.2 can be used to remove noise from the merge trees belonging to the given time steps. Note that changing simplification thresholds for the merge tree at time step i requires to adjust the tracking information between time steps i − 1 and i, and between time steps i and i + 1.
Pre-Simplification
The timeslices can be simplified prior to the topological analysis. To this end, we determine the merge trees for all given scalar functions, simplify them individually based on user-specified thresholds, and adjust function values in the grid according to their simplified values in the trees. Conceptually, this approach removes fluctuations of the density function and leaves plateaus behind. As a consequence, noisy regions are not tracked anymore, and the transformed merge trees, the tracking records of the complete function, and linked superlevel tracking events are automatically consistent. However, this also implies that changing simplification thresholds requires
to repeat the whole analysis, i.e. the transformations and feature tracking. For larger data, repetitive transformations constitute a runtime bottleneck if simplification thresholds are changed frequently. To alleviate these issues we can use the following post-processing methods instead.
Merge Trees
The merge trees at the given time steps are simplified in exactly the same way like in the time-invariant case. That is, based on the branch decomposition of the merge tree at time step i, the sliders of the interactive simplification controller indicate the value distributions of the branches in terms of their persistence, size, and stability. The merge trees can be simplified with the same thresholds for all time steps, or with different thresholds for each individual time step. The latter is helpful for local analysis to increase or decrease the structural granularity only at a certain point in time, or to understand which noisy features eventually evolve to prominent features.
Tracking Information of the Complete Function
If a superarc is removed from the tree, we also have to adjust those tracking records that have this superarc as their origin or target, i.e. as their initial or current representative. To this end, we redirect the tracking record by replacing the removed superarc by its parent superarc. Tracking records may become redundant by this process. We remove the record if: (a) it is a birth record, but the target was simplified; (b) it is a death record, but the origin was simplified; and (c) if it is a match record,
but both the origin and the target superarcs were simplified.
Tracking Information of Superlevel Sets
Superlevel tracking events occur if superarcs of the dynamic merge tree start/finish containing value . Because the quality measures of these superarcs change during the transformation, and because it is possible that these superarcs no longer exist after the transformation, we cannot know whether superlevel set components temporally belong to noisy features of the complete function. Therefore, we simplify superlevel set events based on time persistence, which is the time interval between two critical events, i.e. a user-specified lifetime for a component. Because linked superlevel tracking events can easily be imagined as a graph, we can recursively peel off those arcs whose end-nodes (i.e. tracking events) differ in time by less than a user-specified threshold. Note that whole connected components of the graph could be removed by simplification. It is also necessary to remove source events that represent simplified
superarcs at the given time steps, i.e. those belonging to structural noise of the given functions.
6.6
Conclusion and Discussion
We introduced time-varying merge trees as a compact description of time-varying scalar fields and described an algorithm that computes the augmented and the unaugmented version of these trees. To track features over time, we transform the merge trees of consecutive time steps into each other, record all changes of the varying tree, and finally relate subtrees between the given time steps. Supported features are those described by complete superarcs or by superlevel set components of the changing function. Because the transformation works only on the grid edges and on the merge tree itself, it does not require complex case distinctions and, thus, scales to higher dimensions.
Because the time-dependent merge tree algorithm works on-line, i.e., new time steps do not affect the result for previous time steps, the algorithm can be used with streaming data. However, a requirement of the current implementation is that the number of grid vertices must not change. This is generally the case for scalar fields provided on a grid, but limits the application for high-dimensional data where regular grids are impractical and more flexible grids are needed. The current approach would also benefit from a topological simplification that works directly on the time-varying merge tree. The current solution—to simplify each merge tree independently—potentially removes “weak indicators”: tiny structures that in time grow to features of interest. Because of merges and splits it is difficult to define an equivalence of structures over time, which would be the first step before telling apart features and noise.
The complexity of a transformation, and thus its runtime, depends on the topological variance between two time steps. But what is the lower bound on the algorithmic complexity of both the augmented and unaugmented version of the problem? While we know that the events we consider in the augmented case are both necessary and sufficient, the unaugmented version may need to process fewer events; though we are currently unable to characterize which ones. Hence, a potential improvement is to investigate how the storage of topology changing events of an initial transformation of the augmented tree could lead to a persistent data structure that allows quick extraction of superlevel sets and optimal runtime of subsequent transformations based on the (smaller) unaugmented tree. Asymptotically, the algorithm could benefit from a data structure that optimizes the operation of
identifying region adjacency after an arc collapse. In practice, however, the run time of the algorithm is mostly affected by the large number of changes to the event queue. As most inserted arc events get canceled, a form of deferred event handling would help.
We did not yet study the extension of the transformation to time-varying contour trees. Because it is trivial to adapt our algorithm to give the time-varying split tree, it is possible to extract the augmented merge and split tree for a given time and combine them into the contour tree. But this does not immediately give a tracking of the contour tree’s superarcs.
Chapter 7
Topological Visualization
Visualizing the structure of a high-dimensional scalar function is already challenging for time-invariant data. As demonstrated in Part I of this thesis, topological analysis and topology-based visualization based on the merge tree are efficient tools to solve typical problems for visualization of high-dimensional data, like structural occlusion and visual complexity. However, for time-dependent data, the time-varying merge tree is even more complex and provides complex information: the hierarchy as well as three quantitative properties for all features at the given time steps; tracking information to relate features over time; and the types and exact times for all events regarding the features of the complete function and those defined by a single superlevel set.
This chapter introduces a visualization of the time-varying merge tree that is based on the topological landscape metaphor. It shows the structure of the scalar fields at the given time steps and indicates feature correspondence and structural changes across time using visual links. To reduce the clutter caused by showing many features and links over time, we add an additional layer of visual simplification and give special attention to feature groups that do not change their topology, representing them by one visual link rather than many. A variation of the visual design also supports analysis of single-threshold feature evolution that, compared to related work, suggests visually how to pick and adapt thresholds. The result is an interactive visualization framework that supports in-depth analysis of time-varying features in high-dimensional scalar fields.
7.1
Related Work
Visualizing tracked features can be challenging. Bremer et al. [18] survey methods and applications of topological feature tracking in molecular analysis, combustion
(a) f(x)=0 (b) (c) f(x)=0 f(x)>0 (d)
Figure 7.1: Strong variation in the topological description caused by a small variation of the underlying scalar function: (a) Color-coded density function (dark=dense) showing six separated regions of varying density. (b) The merge tree of the density function with a multi-saddle and one maximum per dense region. Without loss of generality, leaves are sorted decreasing by their density value. (c) Two regions join by increasing density in the void between them. (d) The merge tree has a non-zero density saddle for the joined regions and a multi-saddle for the remaining separated regions. The blue leaf node covered the maximal distance in the sorted order. Consequently, every visualization of the time-varying merge tree would have to reflect this complex change, which likely leads to intersections and occlusion artifacts.
simulations, and porous materials analysis. The results are shown as feature tracks embedded in the original domain. Similarly, Chen et al. [29] showed an embedding of the Reeb graph in the original data to track level sets of particle data. Other approaches store the tracking in a graph that is then shown using graph layout techniques. Widanagamaachchi et al. [170] present tracking graphs that update quickly when the analyst changes the isovalue of the tracked features. Because we compute tracking information for all features up front, we need to compute the layout of the tracking information only once. In contrast to these techniques, our method is able to show additional feature properties, e.g. their size and robustness. More related work about the topological visualization aspect is also part of the papers cited in Chapter 6.1 (on page 146).