skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: A Mountaintop View Requires Minimal Sorting: A Faster Contour Tree Algorithm

Technical Report ·
DOI:https://doi.org/10.2172/1865728· OSTI ID:1865728
 [1];  [2]
  1. Univ. of Illinois at Urbana-Champaign, IL (United States)
  2. Sandia National Lab. (SNL-CA), Livermore, CA (United States)

Consider a scalar field f : M → R, where M is a triangulated simplicial mesh in Rd. A level set, or contour, at value v is a connected component of f–1 (v). As v is changed, these contours change topology, merge into each other, or split. Contour trees are concise representations of f that track this contour behavior. The vertices of these trees are the critical points of f, where the gradient is zero. The edges represent changes in the topology of contours. It is a fundamental data structure in data analysis and visualization, and there is significant previous work (both theoretical and practical) on algorithms for constructing contour trees. Suppose M has n vertices, N facets, and t critical points. A classic result of Carr, Snoeyink, and Axen (2000) gives an algorithm that takes O(n log n+Nα(N)) time (where α(·) is the inverse Ackermann function). A further improvement to O(t log t + N) time was given by Chiang et al. All these algorithms involve a global sort of the critical points, a significant computational bottleneck. Unfortunately, lower bounds of Ω(t log t) also exist. We present the first algorithm that can avoid the global sort and has a refined time complexity that depends on the contour tree structure. Intuitively, if the tree is short and fat, we get significant improvements in running time. For a partition of the contour tree into a set of descending paths, P, our algorithm runs in O($$\Sigma$$pϵP |p| log |p| + tα(t) + N). This is at most O(t log D + N), where D is the diameter of the contour tree. Moreover, it is O(tα(t) + N) for balanced trees, a significant improvement over the previous complexity. Our algorithm requires numerous ideas: partitioning the contour tree into join and split trees, a local growing procedure to iteratively build contour trees, and the use of heavy path decompositions for the time complexity analysis. There is a crucial use of a family of binomial heaps to maintain priorities, ensuring that any comparison made is between comparable nodes of the contour tree. We also prove lower bounds showing that the $$\Sigma$$pϵP |p| log |p| complexity is inherent to computing contour trees.

Research Organization:
Sandia National Laboratory (SNL-NM), Albuquerque, NM (United States); Sandia National Laboratory (SNL-CA), Livermore, CA (United States)
Sponsoring Organization:
USDOE National Nuclear Security Administration (NNSA); USDOE Laboratory Directed Research and Development (LDRD) Program
DOE Contract Number:
NA0003525; AC04-94AL85000
OSTI ID:
1865728
Report Number(s):
SAND2022-5714R; 705712
Country of Publication:
United States
Language:
English

Similar Records

Parallel Computation of the Topology of Level Sets
Journal Article · Thu Dec 16 00:00:00 EST 2004 · Algorithmica · OSTI ID:1865728

Efficient Computation of the Topology of Level Sets
Conference · Fri Jul 19 00:00:00 EDT 2002 · OSTI ID:1865728

Parallel-sorting algorithms for hypercube multiprocessors
Miscellaneous · Sun Jan 01 00:00:00 EST 1989 · OSTI ID:1865728

Related Subjects