9,138 research outputs found

    Task-based Augmented Contour Trees with Fibonacci Heaps

    Full text link
    This paper presents a new algorithm for the fast, shared memory, multi-core computation of augmented contour trees on triangulations. In contrast to most existing parallel algorithms our technique computes augmented trees, enabling the full extent of contour tree based applications including data segmentation. Our approach completely revisits the traditional, sequential contour tree algorithm to re-formulate all the steps of the computation as a set of independent local tasks. This includes a new computation procedure based on Fibonacci heaps for the join and split trees, two intermediate data structures used to compute the contour tree, whose constructions are efficiently carried out concurrently thanks to the dynamic scheduling of task parallelism. We also introduce a new parallel algorithm for the combination of these two trees into the output global contour tree. Overall, this results in superior time performance in practice, both in sequential and in parallel thanks to the OpenMP task runtime. We report performance numbers that compare our approach to reference sequential and multi-threaded implementations for the computation of augmented merge and contour trees. These experiments demonstrate the run-time efficiency of our approach and its scalability on common workstations. We demonstrate the utility of our approach in data segmentation applications

    The Topology ToolKit

    Full text link
    This system paper presents the Topology ToolKit (TTK), a software platform designed for topological data analysis in scientific visualization. TTK provides a unified, generic, efficient, and robust implementation of key algorithms for the topological analysis of scalar data, including: critical points, integral lines, persistence diagrams, persistence curves, merge trees, contour trees, Morse-Smale complexes, fiber surfaces, continuous scatterplots, Jacobi sets, Reeb spaces, and more. TTK is easily accessible to end users due to a tight integration with ParaView. It is also easily accessible to developers through a variety of bindings (Python, VTK/C++) for fast prototyping or through direct, dependence-free, C++, to ease integration into pre-existing complex systems. While developing TTK, we faced several algorithmic and software engineering challenges, which we document in this paper. In particular, we present an algorithm for the construction of a discrete gradient that complies to the critical points extracted in the piecewise-linear setting. This algorithm guarantees a combinatorial consistency across the topological abstractions supported by TTK, and importantly, a unified implementation of topological data simplification for multi-scale exploration and analysis. We also present a cached triangulation data structure, that supports time efficient and generic traversals, which self-adjusts its memory usage on demand for input simplicial meshes and which implicitly emulates a triangulation for regular grids with no memory overhead. Finally, we describe an original software architecture, which guarantees memory efficient and direct accesses to TTK features, while still allowing for researchers powerful and easy bindings and extensions. TTK is open source (BSD license) and its code, online documentation and video tutorials are available on TTK's website

    Avoiding the Global Sort: A Faster Contour Tree Algorithm

    Get PDF
    We revisit the classical problem of computing the \emph{contour tree} of a scalar field f:MRf:\mathbb{M} \to \mathbb{R}, where M\mathbb{M} is a triangulated simplicial mesh in Rd\mathbb{R}^d. The contour tree is a fundamental topological structure that tracks the evolution of level sets of ff and has numerous applications in data analysis and visualization. All existing algorithms begin with a global sort of at least all critical values of ff, which can require (roughly) Ω(nlogn)\Omega(n\log n) 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 CC denotes the set of critical points in M\mathbb{M}, the running time is roughly O(vClogv)O(\sum_{v \in C} \log \ell_v), where v\ell_v is the depth of vv 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 M\mathbb{M} 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

    Efficient computation of partition of unity interpolants through a block-based searching technique

    Full text link
    In this paper we propose a new efficient interpolation tool, extremely suitable for large scattered data sets. The partition of unity method is used and performed by blending Radial Basis Functions (RBFs) as local approximants and using locally supported weight functions. In particular we present a new space-partitioning data structure based on a partition of the underlying generic domain in blocks. This approach allows us to examine only a reduced number of blocks in the search process of the nearest neighbour points, leading to an optimized searching routine. Complexity analysis and numerical experiments in two- and three-dimensional interpolation support our findings. Some applications to geometric modelling are also considered. Moreover, the associated software package written in \textsc{Matlab} is here discussed and made available to the scientific community

    Fast Structuring of Radio Networks for Multi-Message Communications

    Full text link
    We introduce collision free layerings as a powerful way to structure radio networks. These layerings can replace hard-to-compute BFS-trees in many contexts while having an efficient randomized distributed construction. We demonstrate their versatility by using them to provide near optimal distributed algorithms for several multi-message communication primitives. Designing efficient communication primitives for radio networks has a rich history that began 25 years ago when Bar-Yehuda et al. introduced fast randomized algorithms for broadcasting and for constructing BFS-trees. Their BFS-tree construction time was O(Dlog2n)O(D \log^2 n) rounds, where DD is the network diameter and nn is the number of nodes. Since then, the complexity of a broadcast has been resolved to be TBC=Θ(DlognD+log2n)T_{BC} = \Theta(D \log \frac{n}{D} + \log^2 n) rounds. On the other hand, BFS-trees have been used as a crucial building block for many communication primitives and their construction time remained a bottleneck for these primitives. We introduce collision free layerings that can be used in place of BFS-trees and we give a randomized construction of these layerings that runs in nearly broadcast time, that is, w.h.p. in TLay=O(DlognD+log2+ϵn)T_{Lay} = O(D \log \frac{n}{D} + \log^{2+\epsilon} n) rounds for any constant ϵ>0\epsilon>0. We then use these layerings to obtain: (1) A randomized algorithm for gathering kk messages running w.h.p. in O(TLay+k)O(T_{Lay} + k) rounds. (2) A randomized kk-message broadcast algorithm running w.h.p. in O(TLay+klogn)O(T_{Lay} + k \log n) rounds. These algorithms are optimal up to the small difference in the additive poly-logarithmic term between TBCT_{BC} and TLayT_{Lay}. Moreover, they imply the first optimal O(nlogn)O(n \log n) round randomized gossip algorithm

    Maintaining Contour Trees of Dynamic Terrains

    Full text link
    We consider maintaining the contour tree T\mathbb{T} of a piecewise-linear triangulation M\mathbb{M} that is the graph of a time varying height function h:R2Rh: \mathbb{R}^2 \rightarrow \mathbb{R}. We carefully describe the combinatorial change in T\mathbb{T} that happen as hh varies over time and how these changes relate to topological changes in M\mathbb{M}. We present a kinetic data structure that maintains the contour tree of hh over time. Our data structure maintains certificates that fail only when h(v)=h(u)h(v)=h(u) for two adjacent vertices vv and uu in M\mathbb{M}, or when two saddle vertices lie on the same contour of M\mathbb{M}. A certificate failure is handled in O(log(n))O(\log(n)) time. We also show how our data structure can be extended to handle a set of general update operations on M\mathbb{M} and how it can be applied to maintain topological persistence pairs of time varying functions

    Non-Analyticity and the van der Waals Limit

    Full text link
    We study the analyticity properties of the free energy f_\ga(m) of the Kac model at points of first order phase transition, in the van der Waals limit \ga\searrow 0. We show that there exists an inverse temperature β0\beta_0 and \ga_0>0 such that for all ββ0\beta\geq \beta_0 and for all \ga\in(0,\ga_0), f_\ga(m) has no analytic continuation along the path mmm\searrow m^* (mm^* denotes spontaneous magnetization). The proof consists in studying high order derivatives of the pressure p_\ga(h), which is related to the free energy f_\ga(m) by a Legendre transform

    Nilpotent Approximations of Sub-Riemannian Distances for Fast Perceptual Grouping of Blood Vessels in 2D and 3D

    Get PDF
    We propose an efficient approach for the grouping of local orientations (points on vessels) via nilpotent approximations of sub-Riemannian distances in the 2D and 3D roto-translation groups SE(2)SE(2) and SE(3)SE(3). In our distance approximations we consider homogeneous norms on nilpotent groups that locally approximate SE(n)SE(n), and which are obtained via the exponential and logarithmic map on SE(n)SE(n). In a qualitative validation we show that the norms provide accurate approximations of the true sub-Riemannian distances, and we discuss their relations to the fundamental solution of the sub-Laplacian on SE(n)SE(n). The quantitative experiments further confirm the accuracy of the approximations. Quantitative results are obtained by evaluating perceptual grouping performance of retinal blood vessels in 2D images and curves in challenging 3D synthetic volumes. The results show that 1) sub-Riemannian geometry is essential in achieving top performance and 2) that grouping via the fast analytic approximations performs almost equally, or better, than data-adaptive fast marching approaches on Rn\mathbb{R}^n and SE(n)SE(n).Comment: 18 pages, 9 figures, 3 tables, in review at JMI
    corecore