An octree-based multiresolution hybrid framework

An octree-based multiresolution hybrid framework

Future Generation Computer Systems 20 (2004) 1275–1284 An octree-based multiresolution hybrid framework Imma Boada1 IIiA, University of Girona, Giron...

267KB Sizes 19 Downloads 98 Views

Future Generation Computer Systems 20 (2004) 1275–1284

An octree-based multiresolution hybrid framework Imma Boada1 IIiA, University of Girona, Girona, Spain Available online 2 July 2004

Abstract The Hybrid Octree (HO) is a new approach to deal with hybrid scenes, (i.e. scenes composed of surface and volume data). The HO codes into a single model a compressed approximation of an isosurface extracted from a volume dataset and a compressed representation of the scalar data. The HO definition and its construction algorithm are provided in the paper. We also describe the capabilities of the HO to efficiently manipulate surface and volume data independently and its facilities to composite and visualize surface and volume data using texture hardware. Special emphasis is given to the HO facilities to support multiresolution. Some examples are presented and the goodness of the model is discussed. © 2004 Published by Elsevier B.V. Keywords: Hybrid visualizations; Surface-volume data integration; Hierarchical data structures; Multiresolution; 3D texture-based volume rendering

1. Introduction A hybrid scene is defined as an scene composed of volumetric objects and geometric objects, either synthetic (i.e. modeled with a CAD tool) or fitted (i.e. extracted from a volume data). The visualization of hybrid scenes plays an important role in a large number of scientific visualization applications. In surgical planning, for example, the volume information captured from input devices needs to be visualized, manipulated and analyzed along with objects such as osteotomy surfaces, prosthetic devices or scalpels; in meteorology clouds have to be rendered over terrain data, etc.

E-mail address: [email protected] (I. Boada). Present address: Departament Inform`atica i Matem`atica Aplicada (IMA), University of Girona, Campus Montilivi—Edifici P4, E-17071 Girona, Spain. 1

0167-739X/$ – see front matter © 2004 Published by Elsevier B.V. doi:10.1016/j.future.2004.05.021

Current methods developed to visualize hybrid scenes can be classified in two different categories. Methods of the first group, which are based on a data conversion approach, reduce surface and volume data to a common codification scheme by applying a voxelization process or a polygonalization strategy. Then data is rendered using a classical surface or volume data visualization technique [9,10,21,25]. Methods of the second group, which are based on an independent representation approach, render original surface and volume data representation schemes. Then the independent visualizations are combined in a single image by applying a specialized hybrid renderer able to composite surface and volume data in the correct depth sorted order [13,23,11,12]. Despite there exist different methods to visualize hybrid scenes they do not consider the possibility to incorporate multiresolution in the hybrid visualization. To overcome this

1276

I. Boada / Future Generation Computer Systems 20 (2004) 1275–1284

limitation our main objective has been the definition of a framework able to support multiresolution hybrid visualizations. To reach this goal we propose the Hybrid Octree (HO). The HO is an octree-based data structure that codes into a single model a compressed approximation of an isosurface extracted from a volume dataset and a compressed representation of the scalar data. The main properties of the HO are: • It maintains original information of the hybrid scene; therefore, conversion artifacts and loss of information characteristic of data conversion methods are avoided. • It maintains order information, thus, the complexity of the sorting process required by hybrid renderers is reduced. • It is based on a hierarchical data structure hence it is a well-suited framework to support multiresolution. • It maintains a compressed encoding of the volume data. Thus, in the case of using the 3D texture-based approach to render volume data, we are able to ensure an optimal use of the texture memory space by using the multiresolution texture memory allocation policy presented in [3]. • It maintains a decimated encoding of a surface and supports multiresolution surface reconstructions. This property combined with the compressed volume representation reduces the number of polygons to be taken into account in case of hybrid visualizations. The paper has been structured as follows. In Section 2, a brief overview of the problem and the proposed solution are presented. In Section 3, we give a detailed description of the HO. Its construction process is provided in Section 4. Section 5 focuses on the visualization of the HO. The capabilities of the HO to manipulate surface and volume data are analyzed in Section 6. Finally, conclusions and future work are given in Section 7. 2. Problem statement and proposed approach Our study has been restricted to volume data sampled in 3D regular grids and to fitted surfaces reconstructed from volume data by the Discretized Marching Cubes (DiscMC) [18,19]. The DiscMC has been con-

sidered, and not the Marching Cubes [14], to reduce the number of facets defining the isosurface. We must face the problem of managing data at different resolutions into a comprehensive framework that allows surface and volume data to be manipulated independently or in an integrated manner, at different resolutions according to the needs of a given application or task. The proposed solution is based on an octree data structure. The octree, originally introduced for solid representations [16,22,20], is a tree that codes the recursive subdivision of a finite cubic universe. The root of the tree represents the universe. This cube is divided into eight identical cubes, called octants, Each one is represented by one of the eight descendants of the root. If the information of an octant can not be represented in an exact way it is divided into another eight identical cubes which are represented as descendants of the octant in question. This process is repeated recursively until octants contain data that can be represented exactly (named terminal nodes) or octants have a minimum edge length called resolution (named minimal resolution nodes). The main characteristics suggesting us the octree as the basis of our proposal have been: (i) the capabilities of octrees to encode different kind of data in their terminal nodes; (ii) the facilities of octrees to support multiresolution and adaptive techniques; (iii) the fact that the study has been restricted to 3D regular data sets and therefore the octree can be easily constructed.

3. The Hybrid Octree According to the data that we would like to represent by means of an octree, it is needed the definition of criteria to determine which information have to be stored in each node and when a node of the octree is a terminal node. Commonly, datasets used in current applications are characterized by its huge size. One possible way to improve rendering performance will be the compression of non interesting areas. Therefore, in order to improve volume and surface data manipulation the basic idea to define the encoding strategy has been the exploitation of data homogeneity and data importance. To compress data we consider two user-defined parameters: the error threshold, u , and the the importance of the node, Imp(n, f ). The first parameter (see Section 4) is used during the HO con-

I. Boada / Future Generation Computer Systems 20 (2004) 1275–1284

1277

struction process. The second parameter measures the importance of a node with respect to a focusing operator f defined by the user over dataset domain. This factor is considered during the HO visualization (see Section 5.2). 3.1. Volume encoding To codify volume data we consider the degree of homogeneity of the data. Concretely, we classify a node as homogeneous if each sample data inside its associated octant can be approximated by a trilinear interpolation of the eight values on the corners of the octant. The maximum error which is introduced by this trilinear interpolation is the nodal error, denoted as ε0 . The nodal error is related to the degree of homogeneity in the area covered by the node. Being u the user required degree of accuracy terminal volume nodes are those for which 0 ≤ u . 3.2. Surface encoding To reconstruct the surface contained in a node we apply the DiscMC. If the volume data contained in the node is represented with maximal accuracy (i.e. using original sampled data) the reconstructed surface is of maximal precision. Conversely, if the node maintains a compressed codification of the volume, the surface is reconstructed with certain error related to the nodal error. Hence, the accuracy of the surface reconstruction depends on the accuracy of the volume encoding. Once the surface has been reconstructed it is encoded in the node by a set of discrete planes [4]. Taking into account the DiscMC patterns [18] we have reduced the different configurations to the five patterns represented in Fig. 1: Face (F), Edge (E), Double Edge (DE), Band (Bn )and Special Band (B∗ ). These configurations, denoted terminal configurations, are characterized by the number and the topology of the polygons defining the surface within the node. A node is a terminal surface node if the surface contained in the node corresponds to a terminal configuration. The most attractive features of this surface encoding are its generality (any fitted surface can be represented), its robustness, its easy implementation (for each node we maintain its configuration and the number of planes defining the surface) and its facilities to merge facets

Fig. 1. Terminal configurations: (F) face node, a node crossed by a single planar face. (E) Edge node, a node crossed by two planar faces that converge into the node generating an edge. (D) Double Edge node, a node crossed by three planar faces that converge into the node generating two edges. (Bn ) Bandn node, a node crossed by n planar faces that never intersect into the node, with 2 ≤ n ≤ 4. (B∗ ) Special Band node, a node obtained from the union of a F and an E node.

without introducing error (the limited number of planes facilitates the merging of coplanar facets)[4]. 3.3. Characterization of terminal nodes To characterize the terminal nodes of the HO we take into account volume and surface data. We distinguish two different configurations: terminal node with respect to the volume and terminal node with respect to the surface. A node is a terminal node with respect to volume data if 0 ≤ u (see node n1 of Fig. 3(c)). A node is a terminal node with respect to surface data if it has a terminal configuration. As we always consider that the surface is reconstructed from the information stored in a terminal volume node two situations are possible. The first is when a terminal volume node contains a terminal surface configuration that can be merged with neighbor surface planes and represented in an upper level with no error as a terminal surface configuration. The node resulting from this merging is a terminal node with respect to the surface data (see node n2 of Fig. 3(c)). The second case appears when the terminal volume node contains a terminal surface configuration that can not be merged with the neighbors. In this case this terminal volume node is also a terminal surface node (see node n3 of Fig. 3(c)).

4. The Hybrid Octree construction The algorithm applied to construct the HO is composed of two phases: the volume data codification and the surface data codification. Both are described in the next.

1278

I. Boada / Future Generation Computer Systems 20 (2004) 1275–1284

Fig. 2. Black circles identify intersected terminal volume nodes. (a) When all the nodes are at the same level the continuity of the surface is preserved. (b) When terminal volume nodes correspond to different octree levels, the application of the DiscMC leads holes on the final surface. Intersection point of the upper level is forced to match with the lower level.

• Volume data encoding. The process starts with the codification of the volume data contained in the hybrid scene. An octree initially complete is constructed. Voxel values are not represented explicitly by the octree nodes, but implicitly (the extents of the corresponding region in the voxel space are directly computed from the node index). For each node ni of the HO we maintain: (i) the maximum (max) and minimum (min) values of the region covered by the node (to improve the surface extraction process [30]); (ii) a list of nodal errors ε0 , . . . , εlmax −k where lmax is the depth of the octree and k the level of the node. These nodal errors are computed during a bottom-up octree traversal in which all sibling nodes which can be merged in the parent node without introducing an approximation error are purged (i.e. nodes where 0 ≤ u ). The list of nodal errors is used to perform multiresolution visualizations (see Section 5). This first phase ends when terminal HO nodes with respect to the volume criteria have been detected. (see Fig. 3(a)). • Surface data encoding. The second phase codifies the surface in a set of HO nodes. To carry out this process the three following steps are applied. First, terminal nodes intersected by the surface are

detected (i.e. nodes with max ≤ isovalue ≤ min where isovalue identifies the surface). Then, using the correspondence between the DiscMC patterns and the TS configurations the surface is stored in the node. As a consequence of the pruning process that has been applied in the volume codification phase, the terminal HO nodes can be distributed at different levels of the octree. Therefore, previously to the surface codification, cracks (surface discontinuities) have to be detected and solved to guarantee the continuity of the surface. The applied solution adapts the intersection points of the processed node to the point positions of the neighbor nodes. Concretely, if the adjacent node is in the same or in an upper level we select the midpoint of the node’s edge as the intersection point. Otherwise, if the adjacent node is in a lower level, first we detect its level and then we set the intersection point to match with the point computed for the adjacent node (see Fig. 2). The last step applies a compression process that reduces the number of planes codified in the HO. On a bottomup octree traversal coplanar planes are detected and merged, when it is possible, in an upper HO node. The resultant surface is codified in a set of nodes distributed at different levels of the HO (see Fig. 3(b)).

Fig. 3. (a) Volume data compression. (b) Surface codification. (c) The Hybrid Octree maintains volume and surface terminal nodes.

I. Boada / Future Generation Computer Systems 20 (2004) 1275–1284

1279

In this section, we discuss how hybrid visualizations can be obtained by utilizing 3D texture mapping and the HO data structure.

the HO maintains for each node surface and volume data it is a well-suited data structure to carry out this second option. Moreover, the HO offers two additional advantages. By one hand, as the HO maintains a multiresolution representation of the volume data (encoded as a list of nodal errors), we can guarantee an optimal use of texture memory space. A compressed representation of homogeneous regions and no importance areas of the volume can be used to obtain a multiresolution texture memory representation [3]. By the other hand, as the correct location of the surface polygons is independent of the degree of accuracy at which volume data is represented, this multiresolution volume representation can be extended to obtain multiresolution hybrid visualizations.

5.1. 3D texture-based hybrid renderer

5.2. Importance driven hybrid visualizations

The use of 3D texture hardware, now available in desktop graphics workstations and PCs, has become one of the most powerful visualization options for direct volume rendering. The 3D texture-based volume rendering approach [1] stores the volume as a solid texture on the graphics hardware, then samples the texture using planes parallel to the image plane and composites them into the frame buffer using the blending hardware. Texture capabilities allows volume rendering at almost interactive frame rates which is hard to achieve using software only solutions. Main focus of research related with this technique are centered on the integration of realistic lighting and shading effects [27,8,28,17,6] and the rendering of large data sets [7,24,26,15,29]. The application of the 3D texture approach for the rendering of hybrid scenes was proposed by Kreeger et al. [12]. They proposed two alternatives to integrate surface polygons between the texture slices used to render the volume. The first approach sends all surface polygons to the graphics pipeline and enables two clipping planes for each slab, to guarantee that only the portions of the polygons contained between two consecutive textured slices are rendered. This solution increases considerably the load of the polygon pipeline. The second alternative uses an additional data structure to maintain the list of polygons contained in each slab. During the volume rendering this data structure is consulted to determine the polygons that have to be rendered. The construction of this data structure becomes the costly part of this alternative. Note that as

Once the HO has been constructed to obtain a visualization we propose an algorithm composed of two steps. The first step selects the set of octree nodes that have to be rendered. The second step renders the nodes. To describe the algorithm we define a cut on the octree as a set of nodes C = {n0 , n1 , n2 , . . . , nm } such that for each root-leaf path one and only one of its nodes is contained in the cut. The cut constitutes a blockbased decomposition of the dataset domain that fixes the number of texture bricks that will be used to render volume data. The two phases that compose the algorithm are:

The process ends when all terminal surface and volume nodes are detected (see Fig. 3(c)). The modification of original hybrid scene has been minimal. Note that the compression process applied to homogeneous areas of the volume is completely user-driven. On the other hand only coplanar planes have been merged and no error has been introduced during the surface codification process.

5. Hybrid Octree visualization

• The cut selection. The key point of this phase is determine how volume data encoded in the HO has to be represented in texture memory to reduce the required texture space preserving image quality. To carry out this selection process two factors are considered. The first, imposed by the user, is related to image quality which is defined as combination of data homogeneity and importance. The user defines the focusing operator f over dataset domain (by selecting a 3D subregion of the dataset domain or a particular field value subrange identified by maximal and minimal value bounds). The importance of the node n with respect to f, denoted Imp(n, f ), evaluates the degree of satisfaction of the focusing operator f over n. The error tolerated in the representation of n in texture memory is defined as ∗ where ∗ = u /Imp(n, f ).

1280

I. Boada / Future Generation Computer Systems 20 (2004) 1275–1284

The second factor concerns texture memory capacity. Note that for each node n at level k we have a corresponding subtree of depth lmax − k and a corresponding voxel region of resolution 2lmax −k × 2lmax −k × 2lmax −k . The voxel region associated with n can be represented in texture memory by using any one of the regularly sub-sampled representations built on the initial voxel values (see Fig. 4). If we select a voxel set at the deepest level we end up with one texel for each voxel. In all other cases, we select a more compact representation corresponding to nodes which are p levels below in the HO structure (with p = 0 . . . lmax − k). Hence, the texture memory required to represent this node is 2p × 2p × 2p . The error of the texture representation, denoted r , is the maximum of the nodal errors of nodes of level p rooted in n. The optimal texture representation

of a node is the smallest subsampled texture representation which satisfies the required accuracy (i.e. r ≤ ∗ ). Taking into account both parameters the selected cut has to guarantee that: (i) all the regions of the dataset have an optimal texture representation and (ii) the number of texture bricks is minimal. Note that as we define one texture for each one of the nodes of the cut a lower number of nodes implies less overhead (replicated voxels at boundaries are reduced, less planes are required for the rendering,. . . ). Driven by these restrictions on a top–down traversal of the HO nodes are evaluated. If the optimal texture representation of the node is smaller or equal to the texture memory capacity, the node is added to the cut. Otherwise the traversal descends. The process continues until the entire volume is covered.

Fig. 4. (a) The subtree rooted in the node n of the cut. (b) The texture represents volume data obtained from level p. The number of slices used for the rendering of the node is set according to the texture resolution. (c, d, e) Different situations that can appear during the surface polygons integration step. (c and d) If surface nodes are from level p or p + 1 only one slab is intersected. (e) If surface nodes are at level p − 1 surface polygons can intersect more than one slab. In this case front and back clipping planes are enabled to guarantee that only surface fragments contained in the slab are rendered.

I. Boada / Future Generation Computer Systems 20 (2004) 1275–1284

• The cut rendering. To obtain the final image a visualization function is applied to each one of the nodes of the cut. This visualization function is composed of three steps. The first step generates the texture that has to represent volume data contained in the node. Note that during the cut selection we have fixed the level of the node that have to be applied to obtain the optimal texture representation. The second step defines the polygons used for the rendering. The number of polygons used to render the volume is set according the resolution of the texture. These polygons form series of slices parallel to the xy face of the bounding cube centered on the node. The identification of surface polygons requires a traversal of the subtree rooted by the current node. The information of terminal surface nodes of this subtree is identified and correctly located between volume slices. Observe Fig. 4 to see the different situations that can be given during this identification process. The third step projects the polygons on the correct screen position. This position is determined by the node’s octree position and by the viewing direction. The proposed algorithm can be used to obtain only volume, only surface or hybrid visualizations. In all the situations special interest have to be paid to boundary regions between nodes of the cut. Concretely: to avoid color jumps during the volume rendering replicated voxels are stored at the boundaries of the textures; to avoid cracks during the surface reconstruction intersection points of nodes of lower interest are always forced to match with the points of neighbors of higher

1281

interest. In case of hybrid visualizations both parameters are considered.

6. Evaluation The HO maintains a compressed encoding of homogeneous regions of volume data and it also maintains an error encoding that allows the generation of errordriven multiresolution volume representations. This capability combined with texture hardware becomes an efficient strategy to explore large data sets. Only regions of maximal interest are represented with maximal accuracy and the rest in a compressed way. As the 3D texture hardware approach requires the loading of volume data into texture memory prior to rendering, the possibilities to fit the entire volume in texture memory increase and rendering performance is improved [3]. Therefore, the HO is a well-suited framework to explore volume data. To evaluate the capabilities of the proposed surface codification strategy the correctness of the surface and its degree of fragmentation have been the main factors to be considered. The HO reconstructs the surface contained in a compressed codification of the volume model (the surface is extracted from the HO terminal volume nodes (see Section 4)). To evaluate the possible error introduced by this fact we have compared the surface reconstructed from the original volume model with the surface obtained from the HO. The models used for the tests are: a CT-vertebra of 128 × 128 × 80 represented as (1) in Tables 1 and 2; a CT-head of 963 repre-

Table 1 Extraction of the surface from original volume data

(1) (2) (3)

F

E

D

Bn

62.250 48.927 99.902

5.191 12.975 25.522

59 556 1.122

57 2.326 2.432

B∗ 0 200 196

F

E

D

Bn

B∗

30.890 34.336 38.824

5.079 13.413 25.888

64 570 1.142

70 2.554 2.462

0 214 210

E

D

Bn

B∗

5.094 13.013 25.832

64 570 1.142

70 2.554 2.462

0 214 210

Distribution of terminal surface nodes before and after the application of the merging process. Table 2 Extraction of the surface from the compressed volume data

(1) (2) (3)

F

E

D

Bn

B∗

60.124 47.654 95.892

5.215 13.075 22.367

59 556 1.122

57 2.306 2.432

0 200 196

F 30.095 34.127 37.641

Distribution of terminal surface nodes before and after the application of the merging process.

1282

I. Boada / Future Generation Computer Systems 20 (2004) 1275–1284

Fig. 5. (a) Lateral view of the CT-skull at full resolution composed by 69.899 planes. (b) Simplified representation composed of 48.108 polygons. The simplification rate if compared with (a) is 30% with 35% of TS nodes into the region of interest. (c) Simplified representation composed of 32.213 polygons. The simplification rate if compared with (a) is 53% with 20% of TS nodes into the region of interest.

sented as (2) and a CT-scanned jaw of 128 × 128 × 40 represented as (3). The results reported in Table 1 corresponds: columns (2) to (6) to the distribution of terminal surface nodes applying the DiscMC on the original volume data; columns (7)–(11) to the distribution of terminal surface nodes after the application of the compression process that detects and merges coplanar planes. The results reported in Table 2 corresponds to the distribution of terminal surface nodes applying the DiscMC on the compressed volume data codification and the distribution after the application of the compression process. The difference is minimal and visually no perceptible. Hence, the compression process do not affect the surface codification. The degree of sim-

plification achieved by the merging process is the same: 44, 15 and 30% for each one of the models, respectively. The time required to codify the surface in the compressed model is a little bit higher. This increase is consequence of the crack test that has to be applied to preserve the surface continuity. The HO also supports multiresolution surface reconstructions. Fig. 5 presents visual results related to multiresolution surface reconstructions of a CT-head model codified in the HO [4]. The size of the region of interest has been modified. To perform multiresolution hybrid visualizations we have applied the importance driven hybrid visualization algorithm. The renderings of Fig. 6 are obtained from the CT-head dataset. In these images the rendered sur-

Fig. 6. Different renderings obtained on the CT-head. Surface polygons represent the teeth region.

I. Boada / Future Generation Computer Systems 20 (2004) 1275–1284

face is composed of 9000 polygons which correspond to the dental region. The volume data has been rendered by adopting different voxel-to-texel ratio. At each step the required texture memory is reduced (8 Mb in (a), 4 Mb in (b) and 2 Mb in (c)). This reduction improves rendering speed. While using hierarchical data structures to manipulate hybrid scenes has several important performance benefits it also has some additional costs that have to be taken into account. One cost is the overhead of constructing the data structure. Volume data has to be codified only once, but surface information has to be codified for each new isovalue. However, this additional cost can be seen as part of the hybrid visualization process which requires surface data to be sorted with respect to volume data. A second cost is related to the storage requirement. For each one of the HO nodes we maintain the maximum and minimum values of the region covered by the node; the nodal error; and in case of being a terminal surface configuration the pattern of the node and pointers to the planes defining the surface contained in the node.

7. Conclusions and future work This paper presents the Hybrid Octree, an extension of the classical octree able to support volume and surface data codified in its nodes and therefore, able to maintain all the data defining an hybrid scene. The main properties of the HO are that: (i) it maintains original surface and volume information. Thus, it avoids conversion artifacts and loss of information of data conversion methods; (ii) it maintains order information implicitly represented in its nodes. Therefore, it reduces the complexity of the depth sorting process required by hybrid renderers; (iii) it is a well-suited framework for supporting multiresolution surface and volume data explorations. Our future work is centered on the codification of any fitted surface (not only DiscMC surfaces) by modifying the number of discrete planes used to represent the surface. This modification will produce more compact and smooth surfaces and probably with less error. Another issue to be considered is the explotation of multiresolution surface reconstructions in order to improve rendering speed. Implementations have to be speed-optimized.

1283

Acknowledgements This work was partially financed by the project 2FD97-1511 of the Spanish Government and by DURSI 2001SGR-00266.

References [1] K. Akeley, Reality engine graphics, in: ACM Siggraph Proceedings on Computer Graphics, 27, 1993, pp. 109–116. [2] I. Boada, Towards Multiresolution Integrated Surface and Volume Data Representations, Ph.D. Thesis, Universitat Polit`ecnica de Catalunya, September 2001. [3] I. Boada, I. Navazo, R. Scopigno, Multiresolution volume visualization with a texture-based octree, The Visual Computer, Springer International 17 (3) (2001) 185–197. [4] I. Boada, I. Navazo, An octree isosurface codification based on discrete planes, Proceedings IEEE Spring Conference on Computer Graphics, Budmerice, Slovakia, 2001, pp. 130–137. [5] I. Boada, I. Navazo, Multiresolution isosurface fitting on a surface octree, Vision, Modeling and Visualization 2001 proceedings, Stuttgart, November 2001, pp. 318–324. [6] F. Dachille, K. Kreeger, B. Chen, I. Bitter, A. Kaufman, Highquality volume rendering using texture mapping hardware, in: Siggraph Eurographics Graphics Hardware Workshop, 1998. [7] R. Grzeszczuk, C. Henn, R. Yagel, Advanced Geometric Techniques for Ray-casting Volumes. ACM Siggraph’98 Course Notes, vol. 4, pp. 1–239. [8] M. Haubner, Ch. Krapichler, A. Losch, K.H. Englmeier, W. van Eimeren, Virtual reality in medicine—computer gaphics interaction techniques, IEEE Trans. Inf. Technol. Biomed. (1996) 61–72. [9] A. Kaufman, Efficient algorithms for 3D scan-conversion of parametric curves, surfaces and volumes, Comp. Graph. 21 (4) (1987) 171–179. [10] A. Kaufman, Efficient algorithms for 3D scan-converting polygons, Comp. Graph. 12 (2) (1988) 213–219. [11] A. Kaufman, R. Yagel, D. Cohen, Hohne K.H., et al. (Eds.), Intermixing Surface and Volume Rendering. 3D Imaging in Medicine, Springer Verlag, Berlin Heidelberg, 1990. [12] K. Kreeger, A. Kaufman, Mixing translucent polygons with volumes, IEEE Visual. (1999) 191–197. [13] M. Levoy, A hybrid ray tracer for rendering polygon and volume data, IEEE Comp. Graph. Appl. 10 (1990) 33–40. [14] W. Lorensen, H. Cline, Marching cubes a high resolution 3D surface construction algorithm, in: Proceedings of SIGGRAPH ’87 on ACM Computer Graphics, 21 (4) (1987), pp. 163–170. [15] E. LaMar, B. Hamman, K. Joy, Multiresolution techniques for interactive texture-based volume visualization, in: D. Ebert, M. Gross, B. Hamann (Eds.), in: Proceedings of the 1999 IEEE Conference on Visualization (VIS-99), ACM Press, pp. 355– 361. [16] D. Meagher, Geometric modeling using octree encoding, Comp. Graph. Image Process. 19 (2) (1982) 129–147.

1284

I. Boada / Future Generation Computer Systems 20 (2004) 1275–1284

[17] M. Meissner, U. Hoffmann, W. Stra␤er, Enabling classification and shading for 3D texture based volume rendering, in: D. Ebert, M. Gross, B. Hamann (Eds.), Proceedings of the 1999 IEEE Conference on Visualization (VIS-99), ACM Press, pp. 207–214. [18] C. Montani, R. Scateni, R. Scopigno, Discretized marching cubes, in: R.D. Bergeron, A.E. Kaufman (Eds.), in: Visualization ’94 Proceedings, IEEE Computer Society Press, 1994, pp. 281–287. [19] C. Montani, R. Scateni, R. Scopigno, Decreasing isosurface complexity via discrete fitting, Comp. Aided Geometric Design 17 (2000) 207–232. [20] I. Navazo, Extended octree representation of general solids with plane faces: model structure and algorithms, Comp. Graph. 13 (1) (1989) 5–16. [21] B.A. Payne, A.W. Toga, Distance field manipulation of surface models, IEEE Comp. Graph. Appl. 12 (1) (1992) 65–71. [22] H. Samet, Applications of Spatial Data Structures, AddisonWesley, Reading, MA, 1990. [23] L.M. Sobierajski, A. Kaufman, Volumetric ray-tracing, in: Proceedings of 1994 Symposium on Volume Visualization, ACM Press, 1994, pp. 11–18. [24] R. Srinivasan, S. Fang, Su Huang, Volume Rendering by Template-Based Octree Projection, Workshop Eurographics 97, Visual. Scient. Comput. [25] M. Sramek, Non-binary voxelization for volume graphics, in: Proceedings of Spring Conference on Computer Graphics, 2001, pp. 35–51.

[26] Xin Tong, Wenping Wang, Waiwan Tsang, Zesheng Tang. Efficiently Rendering Large Volume Data Using Texture mapping Hardware. Data Visualization’99. [27] A. Van Gelder, K. Kim, Direct volume rendering with shading via 3D textures, Symposium on Volume Visualization 1996, ACM, San Francisco, CA, 1996, pp. 23–30. [28] R. Westermann, T. Ertl, Efficiently using graphics hardware in volume rendering applications, in: Proceedings of SIGGRAPH’98 on Computer Graphics, August 1998, pp. 169– 177. [29] M. Woo, J. Neider, T. Davis, D. Shreiner. OpenGl Programming Guide, Third ed. [30] J. Wilhems, A. Van Gelder, Octrees for faster isosurface generation, ACM Trans. Graph. 11 (3) (1992) 201–297. Imma Boada is an assistant professor in Computer Science at the University of Girona. She revieved a MSc in Computer Science in 1992 from the Universitat Autonoma de Barcelona (U.A.B.) and a PhD in Computer Science from the Universitat Polit`ecnica de Catalunya (U.P.C.) in 2001. Her research interests include scientific visualization, volume rendering, surface fitting and multiresolution. She has participated in several Spanish researh projects. She has authored or co-authored several papers in her areas of research.