7 research outputs found
Recommended from our members
Preconditioning 2D integer data for fast convex hull computations
In order to accelerate computing the convex hull on a set of n points, a heuristic procedure is often applied to reduce the number of points to a set of s points, s ? n, which also contains the same hull. We present an algorithm to precondition 2D data with integer coordinates bounded by a box of size p Ă— q before building a 2D convex hull, with three distinct advantages. First, we prove that under the condition min(p, q) ? n the algorithm executes in time within O(n); second, no explicit sorting of data is required; and third, the reduced set of s points forms a simple polygonal chain and thus can be directly pipelined into an O(n) time convex hull algorithm. This paper empirically evaluates and quantifies the speed up gained by preconditioning a set of points by a method based on the proposed algorithm before using common convex hull algorithms to build the final hull. A speedup factor of at least four is consistently found from experiments on various datasets when the condition min(p, q) ? n holds; the smaller the ratio min(p, q)/n is in the dataset, the greater the speedup factor achieved
Percentage of reduction of points of four datasets of 2D points with integer coordinates.
<p>The result of two methods of reductions are shown: The one of Akl and Toissant as presented in [<a href="http://www.plosone.org/article/info:doi/10.1371/journal.pone.0149860#pone.0149860.ref008" target="_blank">8</a>] and the one proposed here.</p
Speedup factor in OpenCV as a function of box size for a dense dataset.
<p>The points of each mammal in the datasete was first preconditioned with the method proposed here and then the convex hull was computed by OpenCV <i>convexHull</i> function.</p
A small example of 2D points with integer coordinates.
<p>Left: (<i>x</i>, <i>y</i>) integer points on a 2D grid with <i>p</i> = 5. Center: Points with minimum and maximum <i>y</i> values for each <i>x</i> coordinate. Right: A polyline.</p
Speedup factor for a typical image dataset.
<p>The points of a dataset of 49 brain images were first preconditioned with the method proposed here and then the convex hull was computed with six algorithms.</p
Speedup factor as a function of <i>p</i>/<i>n</i> for a sparse dataset.
<p>The points of seven homerange datasets were first preconditioned with the method proposed here and then the convex hull was computed by Chan’s algorithm.</p
Speedup factor for a dense dataset.
<p>The points of a dataset of 13 mammals were first preconditioned with the method proposed here and then the convex hull was computed with seven algorithms.</p