Visualization of Very Large DatasetsMultiresolution extraction and rendering of transparent isosurfaces
Introduction
Nowadays, very large volumetric data sets arise from high-resolution measurement devices or from large-scale numerical simulations. The interactive visualization of such data sets is very difficult indeed and many algorithms have been devised to produce accurate and meaningful images as fast as possible. Besides direct volume rendering methods, such as ray casting, splatting, or 3D texture mapping, indirect volume rendering techniques, such as isosurface extraction, are frequently applied. In both settings, hardware acceleration and multiresolution techniques are often required in order to achieve real-time visualization performance.
Isosurface extraction algorithms rely on the ability of current graphics processors to render large amounts of triangles very quickly. Still, the total rendering time is often dominated by the extraction time of the isosurface, that is the computation of the isosurface triangle vertices. Here, multiresolution methods allow significant reductions of the number of isosurface triangles through suitable approximations of the volume, thereby speeding up both extraction and rendering time.
Isosurfaces with different isovalues are completely nested and therefore, the inner isosurfaces are completely obscured by the outer isosurface except at the boundary of the data set. Thus, multiple isosurfaces have to be rendered transparently which is usually also supported by the graphics hardware. However, then the triangles have to be processed in a strict back-to-front fashion. This requires a view-dependent sorting of all the isosurface triangles. Once the user changes the viewpoint, the sorting time will dominate the total rendering time.
The goal of this paper is to show that in volumetric multiresolution methods this sorting step can be done hierarchically in constant time. Thereby we will focus on a specific well-known multiresolution method based on recursive bisection of tetrahedra. The hierarchical sorting is done in three phases: sorting of the initial tetrahedra, recursive sorting of child tetrahedra during the tree traversal, and sorting of the isosurface components inside each tetrahedron. View-dependent sorting also requires the computation of data gradients inside each tetrahedron. Although these gradients can be precomputed, they require large amounts of memory. We will therefore show how gradients can quickly be computed hierarchically on-the-fly. Finally, we will comment on the automated selection of suitable isovalues.
In the following we will illustrate the approach more closely. First, in Section 2 related work is discussed. In Section 3 the construction of multiresolution isosurfaces based on tetrahedral bisection is shortly reviewed. The hierarchical sorting algorithm is explained in Section 4 in more detail. In Section 5 hierarchical gradient computation is presented. Some visualization examples are then shown in Section 6. In Section 7 a technique for automated isovalue selection based on the gradient field is described. Finally, the remarks of Section 8 conclude the paper.
Section snippets
Related work
Multiresolution techniques have been successfully applied to the four most popular direct volume rendering algorithms such as 3D texture mapping [1], [2], ray casting [3], [4], [5], splatting [6], [7], [8], and the shear-warp transformation [9], [10]. For a detailed (non-multiresolution) comparison of these methods see [11].
Isosurface extraction can be very slow when marching algorithms [12], [13] which scan the complete data set are used. Therefore, a variety of methods have been designed
Multiresolution isosurface extraction
In this section, we will explain the construction of multiresolution isosurfaces based on tetrahedral bisection and error indicators. The algorithms have already been described in detail in previous works (see [24], [26], [29]) but for clarity we shortly repeat the basic steps here.
Let us consider a nested hierarchy of tetrahedral grids where the tetrahedra are refined by recursive bisection [33], [34]. For a tetrahedron T the midpoint of a predetermined (in our case the longest) edge eref(T)
Transparency sorting
The most efficient way to display transparent surfaces is through alpha blending, which is supported by basically all manufacturers of graphics cards. Alpha blending requires a back-to-front sorting of the rendered primitives, though. In principle, the isosurface meshes could first be extracted and then the triangles be sorted, but it turns out that the sorting time then dominates the total rendering time. This is especially bad since rotation of the isosurface is the predominant user action in
Hierarchical gradient computation
As we have seen in the previous section, transparency sorting requires the data gradients. These gradients can in principle be precomputed but they will then require a lot of memory. Since the number of tetrahedra in the mesh is about six times the number of vertices, the required memory would be roughly 6×3n3 floating point numbers in addition to the n3 data values. It is therefore advisable to compute these gradients on-the-fly, but in straightforward implementation, gradient computation
Visualization examples
As a first example serves the well-known buckyball data set (courtesy of AVS). Fig. 4 shows three isosurfaces for isovalues of 0.05, 0.15 and 0.25. The colors of the isosurfaces are blue, red and green (from outer to inner) with opacities of 0.3, 0.5, and 0.7. The error thresholds ε of the six images are 0.0, 0.01, 0.02, 0.04, 0.08, and 0.16. The number of triangles are 1,775,762, 979,730, 438,042, 277,698, 171,465, and 92,309.
The second example in Fig. 5 shows the electron density around the
Isovalue selection
The display of multiple isosurfaces can be used as a surrogate for direct volume rendering techniques, especially when spiky transfer functions are used. Thereby the selection of isovalues can be done statically, automatically adapted to the data set, or defined by the user. Since the number of displayed isosurfaces will not be very large in interactive applications, the huge number of degrees of freedom in transfer function design is also drastically reduced. Only a few isovalues, colors and
Concluding remarks
In this paper, we have shown how multiple transparent isosurfaces can be extracted interactively using the tetrahedral bisection hierarchy. This was achieved by an adaptive tree traversal, a hierarchical sorting procedure of the tetrahedra and isosurface triangles, and the hierarchical computation of data gradients. Furthermore, we have shown how isovalues can be selected (semi-)automatically based on the local minima of the average isosurface normal graphs.
Let us remark that in comparison to
References (35)
- et al.
Multiresolution and hierarchical methods for the visualization of volume data
Future Generation Computer Systems
(1999) - et al.
Error indicators for multilevel visualization and computing on nested grids
Computers & Graphics
(2000) - et al.
Multiresolution techniques for interactive texture-based volume visualization
- Weiler M, Westermann R, Hansen C, Zimmerman K, Ertl T. Level-of-detail volume rendering via 3D textures. In:...
Approximation and rendering of volume data using wavelet transforms
IEEE Computer Graphics and Applications
(1993)- Westermann R. A multiresolution framework for volume rendering. In: Proceedings of Volume Visualization 94. New York:...
A multiscale model for structure-based volume rendering
IEEE Transactions on Visualization and Computer Graphics
(1995)- Laur D, Hanrahan P. Hierarchical splatting: a progressive refinement algorithm for volume rendering. Computer Graphics...
- et al.
Fast wavelet based volume rendering by accumulation of transparent texture maps
Computer Graphics Forum
(1995) - et al.
Fast volume rendering and data classification using multiresolution min–max octrees
Computer Graphics Forum
(2000)
Fast Multi-Resolution Volume Rendering
Marching cubes: a high resolution 3D surface construction algorithm
Computer Graphics
Surface mapping brain function on 3D models
IEEE Computer Graphics and Applications
Octrees for Faster Isosurface Generation
ACM Transactions on Graphics
A near optimal isosurface extraction algorithm using the span space
IEEE Transactions on Visualization and Computer Graphics
Accelerated isocontouring of scalar fields
Cited by (8)
A survey of the marching cubes algorithm
2006, Computers and Graphics (Pergamon)Citation Excerpt :The MT is then applied on the tree to extract isosurfaces at a desired (or at multiple) resolution(s). Gerstner [99,100] has also utilized this tree for a hierarchical back-to-front sorting of the tetrahedra and isosurface triangles and for a hierarchical computation of data gradients to enable fast extraction and rendering of multiple transparent isosurfaces. Other hierarchical data structures have also been used to support efficient level-of-detail (LOD) renderings for extensions of the MC.
Deep-learning-assisted volume visualization
2019, IEEE Transactions on Visualization and Computer GraphicsReal-time isosurface extraction with view-dependent level of detail and applications
2015, Computer Graphics ForumIsosurfaces: Geometry, topology, and algorithms
2013, Isosurfaces: Geometry, Topology, and AlgorithmsSimplex and diamond hierarchies: Models and applications
2011, Computer Graphics Forum3D representation of electromagnetic environment on irregular terrain
2009, Proceedings - 2009 3rd IEEE International Symposium on Microwave, Antenna, Propagation and EMC Technologies for Wireless Communications, MAPE 2009