Computer Graphics & Geometry
Imma Boada,
IIiA,Institut Informatica i Aplicacions,
Universitat de Girona, Spain
e-mail: imma@ima.udg.es
Isabel Navazo,
UPC, Departament LSI,
Universitat Politecnica de Catalunya, Spain
e-mail: isabel@lsi.upc.es
Contents
Abstract: In this paper we propose a method to maintain a multiresolution surface codificiation of a fitted surface in the nodes of an octree. The proposed codification is based on the number and the topology of the planes that define the surface of each intersected node. The surface is codified in the maximal division nodes of the octree, then a merging process is applied to detect and merge coplanar facets. At the end of this merging process the surface is encoded in a set of terminal nodes distributed at different levels of the octree. No error is introduced by the decimation method. The algorithm to reconstruct the surface of each intersected node is also presented. Various examples demonstrate that in the best situation a reduction of almost a 50 per cent on the number of polygons can be achieved.
Keywords: Octrees, Isosurface Fitting, Marching Cubes, Surface Simplification.
Multiresolution has become one of the most promising optimization methods for resolving the conflict among the increasing size of volume data sets and the capabilities of available hardware. Encoding in a single structure a large number of different representations, multiresolution schemes allow the extraction of variable resolution representations according to the user or the viewing parameters specifications. Many different approaches have been proposed for the multiresolution management of surfaces (see [CMS98] for a survey). The multiresolution volume data management has been also extendely analyzed with methods based on classical wavelets [Wes94, Mur95], on multidimensional trees [WVG94], or more sophisticated methods that take advantage of hardware capabilities [LHJ99,BNS01, WWHZE00]. Our interest has been centered on the idea of defining a multiresolution framework able to support multiresolution surface and volume data renderings. To define this framework we propose a method to codify a surface on an octree data structure that different of previous octree based methods maintains the surface-volume data connection. The proposed surface cofication is based on a classification of original Marching Cubes patterns in five classes characterized by the number and the topology of the planes that define the surface contained in an intersected cell. Such codification is used to represent the surface at maximal division nodes of an octree. Then, a merging process is applied in a bottom-up traversal and sibling nodes which can be represented in the parent node in one of the five possible configurations without introducing error are purged. At the end of this process the surface is codified in a set of nodes distributed at different levels of the octree. To generate the surface, a reconstruction technique is applied at each terminal intersected node achiving in the best situation simplifications of almost 50% on the number of polygons. The main advantage of this codication strategy is that not only reduces surface output fragmentation it also provides a framework able to support multiresolution renderings.
The Marching Cubes (MC) has become the best known of the surface-based rendering techniques [LC87]. Since its publication in 1987 a lot of work has been done to overcome its main disadvantages: algorithm's efficiency has been enhanced with strategies that avoid processing all volume data cells [BPS96,CMM97,LSJ96,SHL96,WVG92]; several techniques to solve ambiguities have been proposed [Dur88,VGW94,MSS94b] and a lot of strategies to reduce the large amount of generated polygons defining surfaces have been also presented [Dee95,ESV96,Hop96,SZL92]. Centering our interest on surface simplification techniques we can consider two main categories of strategies. The first category is characterized by the application of a simplification process previously to the surface generation phase. In general, strategies in this group exploit spatial coherence defining coarser representations of the original volume data, just averaging or subsampling neighboring vertices of a given grid into the vertices of a new coarser grid. As the new grid has fewer cubes, the number of facets defining the surface will decrease. However, the new surface may show differences of the surface generated from the original data. Such approaches, combined with adaptive isosurface extraction techniques, are an efficient tool to achieve interactival exploration of volume models. Although, the surface reconstruction process becomes more complex, due to the possible cracks that could appear on the generated surface [MS93,SFY96,OR97,WKE98]. The second group, is characterized by the application of the simplification process on the reconstructed surface, commonly represented as a triangular mesh. Most of the techniques in this group, simplify triangular meshes, either by merging elements or by resampling vertices using different error criteria to measure the fitness of the approximated surfaces [SZL92,Hop96]. The Discretized Marching Cubes (DiscMC) proposed by Montani et al. [MSS94,MSS00] is a surface simplification technique that can be considered midway between the two groups. The DiscMC is a derivation of the MC that replaces the edge interpolation, applied for the vertex polygon computation in the standard MC by a midpoint selection. This simplification reduces the set of vertices that can be generated and implies that the generated facets that define the surface can lie only on a finite number of distinct plane incidences. The ability to merge co-planar elements of this method achieves a high simplification rate. The surface codification we propose exploits the simplifications introduced by the DiscMC.
3. The Octree Surface Codification
The hierarchical structure of octrees has lead this representation scheme a widespread used framework to maintain multiresolution on regular data sets. In the classical octree representation [Sam90] nodes are labeled as black, white or grey. according their position with respect the object being represented. Black nodes correspond to regions completely inside the object. White nodes correspond to regions completely outside the object. White and black nodes are leaves, i.e. they are no further subdivided. Nodes containing part of the surface are labeled as grey and are recursively subdivided. Leaf grey nodes are called terminal grey (TG). In the recent years, several extensions of the octree model have been proposed. One of them is the Extended Octree (EO) model [Nav90]. The EO incorporates new terminal nodes that contain part of the surface object, yielding exact representations for polyhedra and reducing the required storage. In particular, the EO introduces as a terminal nodes: Face nodes (crossed by a single planar face of the solid), Edge nodes (contains part of two neighboring faces and a part of their common edge), Vertex nodes (contains a vertex of the polyhedrom and a part of the faces and edges converging to it) and Nearly Vertex nodes (contains two or more faces that converge to a single vertex outside the node). Driven by the simplification introduced in the DiscMC and by the original MC patters, we propose a variation of the EO to codify the surface. The specific terminal grey nodes of the proposed octree codification are described in next section.
3.1 Characterization of TG Nodes
The selection of the terminal grey nodes has been done according the number and the
position of the planes that define the surface contained in an intersected cell (see figure 2).
Let us consider P*={ p_0, p_1,..., p_n} the set of intersection points defining the
surface on an intersected cell. These points have been obtined with the DiscMC ( to reduce
the complexity of the codification process we apply the DiscMC algorithm instead of the
MC). According the position of these polygons this cell can be classified as:
The correspondence between the MC patterns and the five configurations is represented
in Table 1. The non intersected node is denoted as Null.
| Terminal Grey Configuration | MC pattern |
| Face | 1, 2, 8, 9 |
| Edge | 5 |
| Double Edge | 11, 14 |
| Band | 3, 4, 6, 7, 10, 13 |
| Special Band | 12 |
| Null | 0 |
Based on this classification we define as terminal grey nodes those that can be codified as a Face, an Edge, a DoubleEdge, a Band or a SpecialBand (see figure 1).
Figure 1: The surface contained in a cell can
codified as a Face, an Edge, a DoubleEdge, a Bandn or Band*.
Figure2: The patterns of the original Marching Cubes. .
The surface of a terminal grey node n i is codified as {K,(V0,d0),
...,(Vn,dn)}where K represents the class at which the node belongs to (i.e. F, E, DE, Bn
or B*)
and (V0,d0), ...,(Vn,dn) represents the set of plane equations
that define the surface. Each couple (Vi,di) corresponds to a ¶i plane where Vi is the
normal vector and di
is the distance of the plane to the node's origin. Applying the simplification introduced
by the DiscMC, the number of plane incidences is limited, hence, each Vi could be
represented as an integer pointer to a pre-computed look-up-table that stores all possible
plane incidences. This integer pointer is also used to maintain the information of the
inner and outer side of the object (see figure 3). In this form,
the codification of the surface is reduced to a set of integers.
Figure3: The sign of the integer pointer to the table of planes (+K or -K) points to the inside of the object
4.- Surface Codification Algorithm
The key point of the surface codification algorithm is the application of a simplification strategy that reduces the number of polygons defining the surface. This simplification is based on the detection and merging of coplanar polygons. The algorithm starts with the surface (initially obtained with the DiscMC), codified at maximal subdivision intersected nodes of an octree data structure. We adopt the [WVG92] octree. On a bottom-up traversal of this octree, coplanar polygons are detected and merged.Starting at level n-1, i.e parents of maximal division nodes, the eight descendants of each intersected node n_i are evaluated:
Note that the merging process always starts with a set of eight terminal nodes and the simplification is possible if they can be reduced to a terminal node. As all possible terminal configurations are known, most of the computations required by the merging process are known in advance. Thus, they can be precomputed and stored in a table (the Merging Table). In this manner the merging process is reduced to access to this table.
The Merging Table (MT) determines when the merging is possible and how has to be done.
To generate the MT we have considered all possible combinationsof two terminal nodes and
for each pair of configurations the set of resultant terminal configurations that can be
generated (see Table 2).
| N | F | E | DE | BN | B* | |
| N | N | F | E | DE | BN | B* |
| F | F | F, E, B2 | E,DE,B* | DE | BN B* | B* |
| E | E | E, DE, B* | E, DE | NC | B* | NC |
| DE | DE | E, DE, BN | NC | DE | NC | NC |
| BN | BN | BN B* | B* | NC | BN | NC |
| B* | B* | B* | NC | NC | NC | NC |
Given a pair of terminal nodes the resultant codification not always can be obtained
directly from the table. See for example the (F,F) pair, in this case three possible
configurations can be obtained a F, an E or a BN. To select which of these
possible codifications correspond to the analyzed pair, a Plane Position test has to
be applied. This test proceeds as follows: plane equations defining the surface contained
in the F nodes are evaluated : (i) if the planes are Coplanar the resultant
configuration is a face; (ii) if the planes are Parallel the resultant configuration
is a B2; (iii) if the planes are Incident and its intersection falls
within the parent node
the resultant configuration is an Edge; and (iv) if the planes are Incident and the
intersection does not fall within the parent node the resultant configuration is a B2.
As all the plane equations are codified as pointers to a table of planes, the Plane Position test is reduced to a set of integer comparisons.
In figure 4, we have illustrated the application of the
merging process to a node n_i, where { n_0,n_1,n_2,..,n_7} and {N,F,N,F,N,F,N,F} represent
its codificable child nodes and their configurations.
Figure4: The reduction of a set of Face nodes to an Edge. The
merging process starts grouping these descendents by pairs (n0,n1),(n2,n3),(n4,n5) and
(n6,n7). At this first step the Plane Position test is not applied, the resultant
configuration can be obtained from the MT table directly (see Table 2, where (N,F)
generates a F). The resultant configurations {F,F,F,F} are grouped again and evaluated. In
this case, the Plane Position test has to be applied to select if the pair (F,F) generates
a Face, an Edge or a Bandn. As planes intersect into the node, the generated codifications
are Edges. Finally, the pair (n0123,n4567) is evaluated. In this case, the (E,E)
configurations generate an Edge.
This codification algorithm ends with the surfacerepresented in a set of terminal grey nodes distributed at different levels of the octree.
5. Surface Reconstruction Algorithm
Once the surface has been codified in the octree, to generate the surface, a surface
reconstruction algorithm has to be applied. This algorithm is composed of two steps. The
first, traverses in a top-down manner the octree and selects all terminal intersected
nodes. The set of selected nodes is represented as S.
The second step, applies a reconstruction process to each node n_i in S.
Before the description of this process some considerations have to be taken into
account:
(i) each plane equation represented in the node has to be represented
by one polygon;
(ii) this polygon is defined from the connection of all or some of the
plane-node's edges intersection points.
(iii) the number of polygons required to define the surface varies with
the configuration of the node. In particular, the configuration-polygon relation is F:1,
E:2, DE:3, Bn:n and B*:3.
To define the surface of an intersected node n_i we apply the three following steps:

Figure5: The surface information of the nodeis (E,pi_0,pi_1). (a) In a
first step the intersection of each plane with the node is computed obtaining:
P_0={p_0.p_1,p_2,p_3 } and P_1={ p'_0.p'_1,p'_2,p'_3}. The edge vertices (e_0,e_1) are
identified.(b) Point selection is done according the plane signs: pi >0 then
p'_0,p'_3 are eliminated ;pi'<0 then p_1,p_2 are eliminated. (c){ p_0,p_3,
e_1,e_0 } and {p'_1,p'_2,e_1,e_0} polygons define the surface.
Figure6: The surface information of the node is (DE,pi_0,pi_1,pi_2). (a)
In a first step the intersection of each plane with the node is computed obtaining: P_0={
p_0.p_1,p_2,p_3 } , P_1={ p'_0.p'_1,p'_2,p'_3,p'_4,p'_5} and P_2={
p''_0.p''_1,p''_2,p''_3,p''_4,p''_5}. The edge vertices (e_0,e_1) and (e_0',e_1') are also
computed.(b) The signs of the planes are used to select the points on the surface.(c)
Intersection point are connected to define the final surface.
The error involved in all the surface extraction process is the error introduced by the
DiscMC, i.e. an error of 1/2 of the cell size. This reconstruction algorithm can be
extended to allow multiresolution renderings. The first step, is substituted by a
selection process that selects nodes according to the distance to a focus of interest. The
reconstruction step is also modified to reduce the number of polygons that define the
surface of non-interesting nodes [BN01].
Four data models have been used for the tests:a CT-vertebra of 128x128x80; a CT-head of
96x96x69;a CT-scanned jaw of 128x128x40 and a sphere of 64x64x64.
The method has been implemented on a Pentium III at 450MHz.
In our tests we have evaluated the degree of simplification that can be achieved with respect to standard MC and the quality of the renderings. In table 3 the comparison of the performance of the proposed simplification algorithm and the original MC in terms of: the number of polygons, the number of intersection points defining the surface and the surface extraction time, are presented. Best results are obtained on the CT-vertebra (see figure 8). In this case the reduction on the number of polygons is 50\%. Despite the simplification on the number of polygons (see figure 7) the quality of the renderings is comparable with the MC renderings.The simplification on the CT-head only achieves 15% of reduction(see figure 9). While in the CT-jaw the reduction is approximately of a 38% (see figure 10). The sphere achieves a reduction of a 35%. Although the execution time is longer than that of the MC, the reduction on the number of polygons will reduce the complexity of posterior operations.
We are conscious of the similarity with the DiscMC algorihtm snd that the degree of
simplification of our method is lower than the one obtained with the DiscMC. Despite this
similarity, note that in the DiscMC the face merging is performed on all adjacent faces
which lie on the same plane. To give in output a triangle-cased representation, it needs
to triangulate these merged polygons; but these polygons might be non convex, or can
contain holes. Therefore, it adopts an efficient solution for triangulating them on the
fly (and thus times are fast, in most cases slightly better than standard MC). A
disadvantage of this approach is that it usually produces in output very thin triangles,
which can give problems both in rendering and in further geometrical processing of the
mesh. Our approach, in contrast is based on a hierarchical approach so, by definition, the
merged region should be much more regular (even if in some cases of lower extension than
the DiscMC); therefore also the triangulated representation should posses a more regular
shape.Moreover, we have to keep in mind that our main objetive is twofold: to reduce the
number of polygons defining the surface and to maintain the connection between surface and
volume data information.
| Data set | num.polygons | num.intersection points | time |
| CT-vert (MC) | 13.597 | 52.755 | 3,59 |
| CT-vert | 7.501 | 28.637 | 3,8 |
| CT-head (MC) | 33.480 | 120.629 | 6,8 |
| CT-head | 28.990 | 104.033 | 8,4 |
| CT-jaw (MC) | 38.491 | 144.470 | 8,9 |
| CT-jaw | 23.656 | 86.357 | 9,83 |
Table3. Experimental results. All times are in seconds.
Figure7: Wire-mesh models of the CT-vertebra
before and after the application of the merging process.
Figure8: Different views of the CT-vertebra.

Figure9: CT-head Figure10: CT-jaw
7. Conclusions and Future Work
We have presented a method to codify a surface in an octree data structure. The proposed surface codification is based on the classification of the original MC patterns in five configurations according the position and the number of planes that define the surface contained in an intersected node. Starting with the surface codified at maximal subdivion nodes, we have defined a simplification strategy that detects coplanar polygons and represents them in upper levels of the octree. Such simplification process achieves reductions of almost a 50% on the number of facets with respect to the standard MC. The algorithm to reconstruct the surface of an intersected node has been also described. The main advantages of the proposed codification are that not only reduces the output fragmentation it also maintains the connection between surface and volume data. The proposed codification method is the first step on the definition of an hybrid framework able to maintain multiresolution surface and volume data renderings. Our future work will be centered on multiresolution surface and volume hybrid renderings.
Acknowledgements
This paper was presented in the Spring Conference on Computer Graphics 2001. The
authors would like to thank the valuable comments of the reviewers.
This research has been supported in part by grants TIC98-0630-C03-01 and 2FD97-1511 of the
Spanish Government.
[BN01] I.Boada and I.Navazo.Multiresolution Isosurface Fitting
using an Octree based Surface Hierachy.The 6th International Fall Workshop: Vision,
Modeling and Visualization 2001, Sttutgart (21-23 November), pp-??.
[BNS01] I.Boada, I.Navazo and R.Scopigno.Multiresolution Volume
Visualization with Texture-based Octree.The Visual Computer, Springer International, 2001
(in press).
[BPS96] C.L. Bajaj, V. Pascucci and D.R. Schikore.Fast Isocontoruing
for improved interactivity. In 1996 ACM Symposium on Volume Visualization, pages
39-46.IEEE Computer Society Press, Los Alamitos, CA, October 1996.
[CMM97] P. Cignoni,P. Marno, C.Montani, E.Puppo and
R.Scopigno.Speeding up isosurface extraction using interval trees.IEEE Transactions on
Visualization and Computer Graphics, 3(2):158-170, 1997.
[CMP96] P. Cignoni, C.Montani, E.Puppo and R.Scopigno.Optimal
Isosurface Extraction from Irregular Volume Data.In 1996 Symposium on Volume
Visualization, pages 31-49.IEEE Computer Society, IEEE Computer Society Press. Los
Alamitos, CA, October 1996.
[CMS98] P.Cignoni, C. Montani and R.Scopigno.A comparison of mesh
simplification algorithms. Computer and Graphics 22 (1), pp.37-54, 1998
[Dur88] M.J. Durst. Additional Reference to Marching Cubes
(letter).Computer Graphics 22(4), pages 72-74, 1988.
[Dee95] M. Deering.Geometry Compression.In Computer Graphics
(SIGGRAPH '95 Proceedings), pages 13-25, 1995.
[ESV96] F. Evans, S. Skiens and A. Varshney.Optimizing triangle
strips for fast rendering.In IEEE Visualization 1996, pages 319-326, 1996.
[Hop96] Hugues Hoppe. Progressive Meshes.Computer Graphics (SIGGRAPH
96 Proceedings), 99-108, 1996.
[LC87] W.Lorensen and H.Cline.Marching cubes a high resolution 3D
surface construction algorithm, ACM Computer Graphics (Proceedings of SIGGRAPH '87),
vol.21, n 4, pp 163-170, 1987.
[LHJ99] E.LaMar, B.Hamman and K.Joy.Multiresolution Techniques for
interactive texture-based volume visualization.In IEEE Visualization 99. IEEE CS Press,
October 1999.
[LSJ96] Y.Livnat, H.W. Shen and C.R. Johsons. A Near Optimal
Isosurface Extraction Algorithm using the Span Space.IEEE Transactions on Visualization
and Computer Graphics, 2(1):73-84, 1996.
[Mur95] S.Muraki.Multiscale Volume Representation by a dog
wavelet.IEEE Trans. on Visualization and Computer Graphics, 1(2):109:116, June 1995.
[MSS94] C.Montani, R.Scateni and R.Scopigno.Discretized Marching
Cubes, in Visualization '94 Proceedings, R.D. Bergeron and A.E.Kaufman, Eds. 1994,
pp.281-287, IEEE Computer Society Press.
[MSS94b] C.Montani, R.Scateni and R.Scopigno. A Modified
Look-Up-Table for Implicit Disambiguation of Marching Cubes.The Visual Computer 1994, (10)
pp.353-355, IEEE Computer Society Press.
[MSS00] C.Montani, R.Scateni and R.Scopigno.Decreasing Isosurface
Complexity via Discrete Fitting, Computer Aided Geometric Design, 17 (2000) 207-232.
[MS93] H.Mueller and M.Stark. Adaptive Generation of Surface in
Volume Data.The Visual Computer 9 (4), 182-199.
[Nav90] I.Navazo. Extended Octree Representation of General Solids
with Plane Faces: Model Structure and Algorithms, Computer and Graphcics, vol 13, 1, 1989,
pp.5-16.
[OR97] M.Ohlberger and M. Rumpf. Hierarchical and Adaptative
Visualization on Nested Grids. Computing , 59(4), pages 269-285, 1997
[Sam90] H.Samet. Applications of Spatial Data Structures.Addison
Wesley, Reading, MA, 1990.
[SZL92] W.Schroeder, J.A.Zarge and W.E. Lorensen.Decimation of
Triangle Meshes.Proceedings SIGGRAPH 92, 65-70, 1992.
[SFY96] R.Shekhar, E.Fayyad, R.Yagel and J.Cornhill. Octree based
Decimation of Marching Cubes surfaces.Visualization 96, 335-342, 1996.
[SHL96] H.W. Shen, C.Hansen, Y.Livnat and C.R.Johson. Isosurfacing
in Span Space with Ulmost Efficiency (ISSUE).Proceedings IEEE Visualization 96, 287-294,
1996.
[VGW94] A.Van Gelder and J. Wilhems. Topological Considerations on
Isosurface Generation. ACM Transactions on Graphics, 13(4). 337-375, October 1994.
[Wes94] R.Westemann. A Multiresolution Framework for Volume
Rendering.In Proceedings of 1994 Sysmposium on Volume Visualization, pp. 51-58. ACM Press
October 17-18 1994
[WKE98] R.Westemann, L.Kobbalt and T.Erl. Real-time exploration of
Regular Volume Data by Adaptative Reconstruction of Isosurfaces. The Visual Computing 1998
[WVG92] J. Wilhems and A. Van Gelder.Octrees for Faster
Isosurface generation. ACM Transactions on Graphics, 11(3). 201-227, July 1992.
[WVG94] J.Wilhems and A. Van Gelder. Multi-dimensional Trees for
Controlled Volume Rendering and Compression. In proceedings of 1994 Symposium on Volume
Visualization, pp 27-34. ACM Press, October 17-18 1994.
[WWHZE00] M. Weiler, R. Westermann, C. Hansen, K. Zimmerman,
T.Ertl: Level-of-Detail Volume Rendering via 3D Textures.In Volume Visualization and
Graphics Symposium 2000, pp.7-13, 2000.
Computer Graphics & Geometry