Parallel extraction and simplification of large isosurfaces using an extended tandem algorithm
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 . 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)
- et al.
Marching cubes: A high-resolution 3D surface construction algorithm
- et al.
Topological considerations in isosurface generation
ACM Transactions on Graphics
(1994) - et al.
Octrees for faster isosurface generation
ACM Transactions on Graphics
(1992) - 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....
Cited by (5)
A parallel dual marching cubes approach to quad only surface reconstruction
2022, Visual ComputerParallel reconstruction of quad only meshes from volume data
2020, VISIGRAPP 2020 - Proceedings of the 15th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and ApplicationsParallel iso-surface extraction and simplification
2015, 22nd International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, WSCG 2014, Communication Papers Proceedings - in co-operation with EUROGRAPHICS AssociationVirtual prototyping modeling in the cave 3D environment
2014, 29th Congress of the International Council of the Aeronautical Sciences, ICAS 2014Parallel implementation and optimization of the Sebvhos algorithm
2011, Journal of Electronics