Elsevier

Computer-Aided Design

Volume 42, Issue 2, February 2010, Pages 129-138
Computer-Aided Design

Parallel extraction and simplification of large isosurfaces using an extended tandem algorithm

https://doi.org/10.1016/j.cad.2009.04.016Get rights and content

Abstract

In order to deal with the common trend in size increase of volumetric datasets, in the past few years research in isosurface extraction has focused on related aspects such as surface simplification and load-balanced parallel algorithms.

We present a parallel, block-wise extension of the tandem algorithm [Attali D, Cohen-Steiner D, Edelsbrunner H. Extraction and simplification of iso-surfaces in tandem. In: SGP ’05: Proceedings of the third Eurographics symposium on Geometry processing. Aire-la-Ville, Switzerland: Eurographics Association; 2005. p. 139–148], which simplifies on the fly an isosurface being extracted. Our approach minimizes the overall memory consumption using an adequate block splitting and merging strategy along with the introduction of a component dumping mechanism that drastically reduces the amount of memory needed for particular datasets such as those encountered in geophysics. As soon as detected, surface components are migrated to the disk along with a meta-data index (oriented bounding box, volume, etc.) that permits further improved exploration scenarios (small component removal or particularly oriented component selection for instance).

For ease of implementation, we carefully describe a master and worker algorithm architecture that clearly separates the four required basic tasks. We show several results of our parallel algorithm applied on a geophysical dataset of size 7000×1600×2000.

Introduction

Surface reconstruction for shape modeling is widely used in a large variety of fields (medicine, geophysics, etc.). The marching cubes algorithm, introduced by Lorensen et al. [1], is the most classical algorithm used for isosurface extraction. Due to the increasing size of processed datasets and extracted surfaces, many improvements of the marching cubes have been proposed. They concern, for instance, ambiguity treatment [2], reduction of the number of traversed cells [3], [4], load balancing in parallel approaches [5], [6] and reduction of the number of generated triangles [7].

In order to cope with the increasing size of datasets, isosurfaces might need to be simplified to reduce the number of generated triangles both for memory storage or more importantly for visualization purposes. In a brute-force approach one would extract the full mesh and simplify it in a second pass [8], [9], [10]. The problem with this method lies in the generation of a first very large mesh that may not fit in the main memory before further simplification. In [11], Attali et al. reduce memory requirements by introducing a tandem algorithm that combines isosurface extraction and simplification stages in one pass. Their method drastically reduces the amount of vertices and triangles stored in memory during extraction, allowing larger datasets to be processed.

Similarly to how Attali et al. addressed the memory problem raised by larger datasets, we introduce a parallel, block-wise extended version of the tandem algorithm to accelerate the computation of simplified isosurfaces. The dataset is split into blocks and sent to compute nodes. In each node a local isosurface is extracted and semi-simplified based on a slightly modified tandem algorithm. Then nodes can receive an adjacent semi-simplified isosurface that will be merged with the local one. This merge operation ends with a simplification stage with relaxed edge constraints at their common interface that remove seams between them. The algorithm finishes when all local semi-isosurfaces have been merged and simplified. Our splitting/merging strategy forces adjacent nodes to be processed together, maintaining memory consumption as low as possible during the overall isosurface extraction.

We also introduce an early component dumping mechanism that frees the memory as soon as independent surface components have been extracted, simplified and stored to disks along with meta-data for later high-level exploration. This strategy has proven to be very useful for particular datasets such as those in geophysics for which the extracted features are numerous but small compared to the global size of the volume. The meta-data stored along these disconnected components can be used for filtering purposes during their visualization, for instance discarding those with too small volumes or keeping particularly aligned ones. This dumping mechanism can also be beneficial for noisy datasets or when a pertinent isovalue is not yet well determined and leads to many small disconnected components.

In the first part of this article we describe the tandem algorithm. In the second part we propose a parallel extension of this algorithm with dumping of completed objects. The third part presents some computational experiments.

Section snippets

The “Tandem Algorithm”

The main idea of the algorithm of Attali et al. [11] is to alternate the extraction of a layer (see Fig. 1) and the simplification of the current overall extracted surface in order to reduce the amount of occupied memory. Indeed, a global simplification after a complete extraction would require to store all vertices and triangles, while a simplification stage during extraction reduces the number of vertices and triangles at each step.

The tandem algorithm is then a simple loop that iterates over

Extended tandem algorithm

The tandem algorithm was designed to work on large datasets but experimental results (a test that we performed on a noisy dataset of size 1626×7028×2000) showed us the limited scalability of this algorithm. On this cube, each extraction on the advancing fronts generates 1 250 000 triangles (Fig. 3). In this case, updates of the queues and simplification steps are too memory consuming. We therefore propose an extension of the tandem algorithm to increase its scalability. This extension consists

Computational experiments

In order to analyze the performance of our algorithm, we focus on memory consumption during the extraction and on analyzing the quality of the generated mesh.

Memory consumption. A critical point with the marching cubes algorithm is the amount of memory needed to store the generated triangles. Fig. 11 illustrates the comparison between a brute-force approach, the tandem algorithm and our tandem algorithm with dumping. Triangles are counted right after processing a layer k. We see that the tandem

Conclusion

Due to the increasing size of datasets, the literature on isosurface extraction has focused in recent years on approaches that extract simplified surfaces or dump surfaces as soup of triangles. But none of these approaches propose parallel extraction with simplification and dumping of disconnected components. Our component-based dumping approach implies a file organization allowing interactive exploration of the volume. This organization could be applied to other surface reconstruction

Acknowledgment

This work was supported by the Total company under CIFRE grant number 649/2005.

References (14)

  • W.E. Lorensen et al.

    Marching cubes: A high-resolution 3D surface construction algorithm

  • A.V. Gelder et al.

    Topological considerations in isosurface generation

    ACM Transactions on Graphics

    (1994)
  • J. Wilhelms et al.

    Octrees for faster isosurface generation

    ACM Transactions on Graphics

    (1992)
  • Y. Livnat et al.

    A near optimal isosurface extraction algorithm using the span space

    IEEE Transactions on Visualization and Computer Graphics

    (1996)
  • Niguet S, Nicod J-M. A load-balanced parallel implementation of the marching-cubes algorithm. Tech. rep. 95-24. France:...
  • Mackerras P. A fast parallel marching-cubes implementation on the Fujitsu AP1000. Tech. rep. TR-CS-92-10. Australia:...
  • Shekhar R, Fayyad E, Yagel R, Cornhill JF. Octree-based decimation of marching cubes surfaces. In: IEEE visualization....
There are more references available in the full text version of this article.

Cited by (5)

View full text