9,138 research outputs found
Task-based Augmented Contour Trees with Fibonacci Heaps
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
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
We revisit the classical problem of computing the \emph{contour tree} of a
scalar field , where is a
triangulated simplicial mesh in . The contour tree is a
fundamental topological structure that tracks the evolution of level sets of
and has numerous applications in data analysis and visualization.
All existing algorithms begin with a global sort of at least all critical
values of , which can require (roughly) 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 denotes the set of critical points in , the running time is
roughly , where is the depth of 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 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
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
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 rounds, where is the network
diameter and is the number of nodes. Since then, the complexity of a
broadcast has been resolved to be 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 rounds for any constant . We then use these
layerings to obtain: (1) A randomized algorithm for gathering messages
running w.h.p. in rounds. (2) A randomized -message
broadcast algorithm running w.h.p. in rounds. These
algorithms are optimal up to the small difference in the additive
poly-logarithmic term between and . Moreover, they imply the
first optimal round randomized gossip algorithm
Maintaining Contour Trees of Dynamic Terrains
We consider maintaining the contour tree of a piecewise-linear
triangulation that is the graph of a time varying height function
. We carefully describe the
combinatorial change in that happen as varies over time and
how these changes relate to topological changes in . We present a
kinetic data structure that maintains the contour tree of over time. Our
data structure maintains certificates that fail only when for two
adjacent vertices and in , or when two saddle vertices lie
on the same contour of . A certificate failure is handled in
time. We also show how our data structure can be extended to
handle a set of general update operations on and how it can be
applied to maintain topological persistence pairs of time varying functions
Non-Analyticity and the van der Waals Limit
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 and
\ga_0>0 such that for all and for all \ga\in(0,\ga_0),
f_\ga(m) has no analytic continuation along the path (
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
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 and . In our distance
approximations we consider homogeneous norms on nilpotent groups that locally
approximate , and which are obtained via the exponential and logarithmic
map on . 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 .
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 and .Comment: 18 pages, 9 figures, 3 tables, in review at JMI
- …