Avoiding the global sort: a faster contour tree algorithm

From MaRDI portal




Abstract: We revisit the classical problem of computing the emph{contour tree} of a scalar field f:mathbbMomathbbR, where mathbbM is a triangulated simplicial mesh in mathbbRd. The contour tree is a fundamental topological structure that tracks the evolution of level sets of f and has numerous applications in data analysis and visualization. All existing algorithms begin with a global sort of at least all critical values of f, which can require (roughly) Omega(nlogn) time. Existing lower bounds show that there are pathological instances where this sort is required. We present the first algorithm whose time complexity depends on the contour tree structure, and avoids the global sort for non-pathological inputs. If C denotes the set of critical points in mathbbM, the running time is roughly O(sumvinClogellv), where ellv is the depth of v in the contour tree. This matches all existing upper bounds, but is a significant improvement when the contour tree is short and fat. Specifically, our approach ensures that any comparison made is between nodes in the same descending path in the contour tree, allowing us to argue strong optimality properties of our algorithm. Our algorithm requires several novel ideas: partitioning mathbbM in well-behaved portions, a local growing procedure to iteratively build contour trees, and the use of heavy path decompositions for the time complexity analysis.









This page was built for publication: Avoiding the global sort: a faster contour tree algorithm

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q1688860)