Comput.
& Graphics, Vol. 20, No. 5, pp. 703-712, 1996 Copyright 0 1996 Elsevier Science Ltd
Printed in Great Britain. All rights reserved 0097-8493/96 $15.00+0.00
PII: s0097-&493(96)oow-1
Technical Section
VOLDMI:
AN OPEN SYSTEM FOR VOLUME AND VISUALIZATION
MODELING
J. LOPEZ+, D. TOST, A. PUIG and I. NAVAZO Computer Graphics Section, Software Department, Polytechnical University of Catalonia, Ave. Diagonal 647, E-08029 Barcelona, Spain e-mail:
[email protected] Abstract-This paper describes VolDmi, an open system for volume modeling and visualization defined as an interactive platform which will integrate current and future research developments, as well as specific applications. The article begins with the analysis of the main functional modules of the system. Then, the design criteria which have been followed are explained and the system’s global operation is described, with special emphasis on user interaction. Subsequently, the central kernel of the system is presented. This kernel is mainly composed of input/output modules along with creation and operation modules for a generalized voxel-model. Finally, the default visualization of the voxel-model that has been implemented in the system and which is based on the slice stacking algorithm, is presented. Copyright 0 1996 Elsevier Science Ltd
1. INTRODUCI’ION
systemsusers such as scientists and physicians, is the capacity of the application for giving multiple visualizations of the structures under analysis, from different viewpoints and modifying attributes such as colors, opacities, and graphical symbols. As a consequence, most of the research on volume data representation and manipulation has focused on
Classical modeling schemes,which represent objects’ boundary surface, are not suitable for the modeling of heterogeneous structures and objects of fuzzy boundary which show up in most scientific applications such as fluid mechanics, medicine and Earth sciences.During the last decade [ 11,the modeling and visualization of the internal property values of heterogeneous objects has emerged as a promising field of research and development with a wide range of applications [2]. This article presents a flexible system for volume modeling and visualization which is adapted to different resolutions as well as to different types and numbers of properties. The system has been designed as a flexible platform with a double functionality: on one hand, as a didactic and research tool which allows integration of different volume models and algorithms, and on the other hand, as a basic kernel for the development of specific applications. In Section 2, the system requirements model is analyzed and the main functional units which have to be integrated in it are detailed. In Section 3, several specific aspects of the design, object oriented, are described, especially the user interface. After that, the kernel of the first application of the system is presented: the generalized voxel-model (Section 4) and its default visualization by slice stacking (Section 5). The final conclusions are explained in Section 6,
volume application, as is shown up in most of the bibliography, is composed of the set of tasks to realize from the data input to its visualization [3, 41. However, recently [S], other problems have started being addressed, related to the modeling itself, for instance, the research of more compact representation schemes [6], the conversion to other models of representation [7], and the simultaneous manipulation of different models [8, 91. Besides, there is a growing interest for the development of simulation applications such as virtual surgery [lo] or radiotherapy treatments planning [l l] in medicine, and virtual oil extractions in geology [12]. Integrating visualization and the new expected functionalities, Fig. 1 synthesizesthe general scheme of the volume modeling system VolDmi. Its main components are briefly described below. The construction of a computational model of a volume region is based on the value of the properties of interest in a discrete set of internal points (samples) of that region. According to the applica-
as well as future work-lines.
tion, either a direct registration
2. REQUIREMENTS MODEL
2.1. System functionality The main requirement of scientific visualization + Author for correspondence.
visualization
problems.
The functional
diagram
of the properties
of a
is
realized, using specific devices (such as the CT and MR in medicine, and the seismographs in Earth Sciences),or the property values are computed from computational models of simulation [13]. In the case of direct registration, and in particular in medical applications, the internal points are usually arranged in regular bi-dimensional meshes,
J. L&z, D. Tost, A. Puig and I. Navazo
704
Simulation --3 f
.riJ I Other models
Surfaces Fig.
1.
Functional schemeof the volumemodeling systemVoIDmi.
corresponding to parallel plane sections of the region of interest. The construction of a parallelepipedic tridimensional mesh from these sections may need a process of alignment of the 2-D planes and occasionally re-sampling by interpolation of neighbor points. On the other hand, the registered data are often noisy and must be filtered, either in the 2-D Pections [14] or directly in 3-D [15]. The data obtained by simulation, especially in fluid dynamic applications, are usually arranged in irregular tridimensional meshes [ 161. The volume model is directly constructed from the input meshes. The most wide-spread model is the voxel-model [17j, which is made up by a discrete decomposition of the volume into a set of cubic cells, identical and parallel to the coordinate axes, in whose interior the property values either are considered constant (voxels in the bibliography) or vary according to a known smooth function (cells). The voxelmodel is naturally built from regular parallelepipedic meshesof points. For irregular meshes, tetrahedralmodels [ 181are more suitable. Within the global modeling process, it may be necessary to identify an internal structure (feature) and eventually to extract a volumetric representation of it. This process, called segmentation [19], is the key in order to obtain visualizations of better quality and For the realization of simulations. The segmentation can be done manually, automatically or semi-automatically. As mentioned above, the visualization is probably the most referenced application. Two main visualization strategies exist: l
Extraction of a secondary model (of points, contour lines or surfaces) and visualization of it
WI.
l
Direct visualization of the volume model, using Ray-casting [21] or Z-buffer 1221.
Finally, the conversions from and to other models are tasks of interest for the visualization as well as for the combined processing of different -models (solids, surfaces,volume) [S, 9j. Other relevant operations are the volumetric computations [23], geometrical transformations [24] and simulations [16]. 2.2. Requirements
According to the previous section, the first requirement of the system is to allow the integration of the diRerent modules described above. The fact that most of the input data form b&dimensional sections, requires two different working environ-. ments: 2-D, for the image input and processing, and 3-D for the creation and manipulation of the volumetric models. The transition from one environment to the other must be automatic, depending on the type of data being processed. On the other hand, and due to the usually fragmented way of software development at the university, in specific research and development projects, a major requirement for the VolDmi system is to be a flexible platform opened to gradual. developments over a long time. To sum up, the main requirements of the system are: l
l
Integration of the different 2-D and 3-D functional modules: input, ii&ring, alignment, segmentation,extraction of points of interest, &ua&&on, conversion from/to other models, geometrical transformations, measurements and simulations. Support of two working environments: 2-D, with images, and 3-D with volume models.
705
VolDmi
a Flexibility for the gradual inclusion of new modules and algorithms written by different programmers. l Portability to different architectures (Sun, HP, SGI, . . .). l Unified and friendly interactive user interface. l Automatic maintenance of the executed operations history, and recovery of previous states. The design of the VolDmi system has been made according to the object oriented paradigm, and has been implemented in C ++ .
3.2. TSC: toolkit system command The TSC is a software package that allows to build applications needing a command driven user interface where the user communicates with the application using a predefined set of commands. Figure 2 shows the general architecture of an application built on the top of TSC. The application consists of a set of skilled processes that work altogether. The user interaction is driven through a message-passingmechanism among the processes. The role of the different processesas follows: l
3. MANAGEMENT
AND
JNTERACTION
KERNEL
The Commands System (cs) is a specialized process with a flexible command language that allows the user to modify, add, interrupt and replace commands in run time. The distributor (dist) is a process dedicated to controlling communication among the different application processes. The input/output server (se) is a process that manages most of the input/output operations from all the application processes. The application processesdefine primitives, which are encapsulated and parameterized functions that can be called from the commands. As these functions do not manage input/output, it is easier to maintain and reuse them in other applications. Particularly, in the system, these applications are the responsible of the execution of the 2-D and 3-D operations.
3.1. User interface According to [25] more than 50% of an application l development is spent on the construction of the graphical user interface. Besides, the personalized creation of user interfaces by several programmers l has two many drawbacks, first that every application has a different appearance and second, that it is very difficult to reuse written code. l In order to avoid this problem, one of the design requirements of the VolDmi system is to offer common data structures and a unified user interface for all the applications. The strategy adopted is to make the real application tasks independent from the user interface ones. In order to fulfill this requirement, the platform has been built on the top of the toolkit TSC [26] that offers a command driven user interface for the applications. The platform offers an exclusively 3.3. The dialogs server The dialogs server is just another application dedicated process to control the graphical user interface (Dialogs Server). The application processes processof the volume platform. Its task is to manage delegate the management of their textual input/ the input/output needed for the application. The main server requirements are: output to this server. For efficiency reasons, the visualization processesmanage their own output. The server offers a buttoned-menu system and other l To offer a friendly graphical user interface. graphical items. l To ease the creation of new dialogs. The toolkit TSC and the I/O Server are explained l To guarantee the portability to different computer more deeply below. architectures (HP, Sun, SGI, . . . ).
Fig. 2. General architectureof a TSC application.
706
J. Lbpez, D. Tost, A. Puig and I. Navazo
The server offers primitives to create, destruct, map and unmap dialogs, as well as to set and get information from them. To make the dialogs definition easier to the application programmer, the public software package Tel-Tk [27] is used. Both Tel and Tk integrated, offer a system to develop graphical user interfaces (GUI): Tel is a simple command language that offers generic programming facilities (variables, loops, procedures, . . .) and Tk is a toolkit for the X-Windows system, a Tel extension that gives commands to generate and manage graphical elements. The server executes a Tel interpreter. Thus, the programmer defines his graphical dialogs writing Tel scripts, a task which can be done in an easy and quick way with a little practice. Therefore, the generation of the graphical user interface is composed of two stages: in the first one the programmer creates the Tel scripts which define the dialogs and in the second one the server executes these scripts and gives to them the expected functionality. Moreover the platform offers a library of standard generic dialogs which includes a file selector, a configurable list with scrollbars, advice dialogs, error messages,question messages, and so on. Likewise it provides a buttoned menu system that can be extended adding new options to the application (see Fig. 3). 4. DESIGN
OF THE
VOXEGMODEL
4.1. Analysis 4.1.1. VOX&
and cells. As was mentioned in the second section, the voxel-model is the most used volume representation scheme. In the bibliography, two models are differentiated: the voxel-model in the strict sense and the cell-model [28], depending on if the property values are constant inside the voxel (voxels) or vary in a smooth way (cells).In the former case, the value associated with a voxel is the constant property value inside it, in the latter one, it is the property value in one of its vertices (reference vertex). The computation of a property value in a point, a basic interrogation on the model, is done in a different way in both models. In the first one, it is only necessary to identify the voxel Vi to which the point p belongs: its property value is the same that is associated to the voxel. Prop(p)
= Prop( Vi), conpEVi
In the second one, the property value at the point p is computed as a function of the property at the vertices of Vi, i.e. it depends on the value of the property at the neighboring voxels of Vi: Prop(p)
= F(Prop(
Q), Prop( 51, . . . . Prop( 77))
with p&Vi and Vk = 1..‘7,Vjcn Vi = fk, fk face of Vji, F being the computation function. In VolDmi, a unique model, combining both approaches has been proposed. The computation of the property at a given point is considered to be
dependent on the property itself rather than on the model and it may be realized in different ways at the user criterion. Furthermore, if a ceil-like computation is performed, the function [F] must be editable at execution time. 4. I .2. Properties. The represented properties can be one dimensional (density, temperature. ) or of multiple dimension (velocity, inertia tensor, . ). They can also be of different types: boolean, integer, float,. . The properties values can be coded directly or table-driven. In the former case, the codified value is directly the property value, whereas in the second one, the codified value is an address to a table where all different values inside the model are represented. The memory requirements for a property coded directly are: n, * ny * nZ * size( typeprop), type,,, being the property type. For a table-driven codification, the memory requirements are: n, * tz?* nzsize(typecod)
+
nvaW
*
size(
type,,
1,
typeprop
being the property type, nvaldf the number of table entries, which is also the number of different values in the volume data, and type& being the type of table entry codification. In theory, size(type&) may be computed as: size(type,,J =n bits with 2”=nvafd~~ however generally for programming e&iency, byte codification is preferred. Thus, depending on the distribution of the property values in the model, the table-driven codification may be more compact than the direct one. An extreme example would be a binary model, with only two different values that would codify only 1 bit per voxel. On the other hand, independently from the number of actual different values in the model, a table-driven codification can be adopted, similar to a table color management, by specifying a prefixed number of table entries and a property quantization criterion. 4.2. Design
In order to keep the independence between the spatial organization of the model and its properties, in the implementation of the model, two main classes have been designed: the Voxels class and the Properties class. The voxel classis the implementation of the voxel and cells model. Its main attributes are the dimensions, resolution, origin and number of properties, along with a list of properties identifiers. Tt is made up of the set of voxels each have one value for each dimension and property. The property class is responsible for the interpretation of the value associated to a voxel, Its main attributes are the name, dimension, codification type (direct or table driven), and, in the case of a tabledriven codification, the table itself and the function that it allows, given a value to compute the entry iri the table where this value is codified exactly or approximately. In addition, the property has associated some information on the variation of its values inside the model, that may be of interest for the
707
VolDmi
MA”GELIEld? ^xIx ..-^I.., “_M.
j, j i I j > i
WSUALi7&TION .“.-x---.A CONWRSION ,“” . . “.....,,-.“..-.J SEGMEMTATIOH .-_“..” . . .. ..-......I
..“--
“LTERS ....” .
OPERATtOHS
1 ’ % i ;’ . ..I ; / : “..“! 1 ’
;I
EHWRONMENT \ .l”.“. ..“. .., .-A 2 STATUS 1
^
r ” , ; : ’ . ~ ;
Colors
Configuration
: , , . .
I
, . . .
“‘..~‘~~
. .
.
Observer
;
. .
! Position
tj i/
Fig. 3. The VolDmi graphicuserinterface.
visualization and segmentation. Furthermore, for each property a function is stored that expressesthe local variation of the property inside the voxels. This function or any other one may be used at execution time and on user demand in order to answer an interrogation on a property value at a given point. In addition to these global characteristics, each property stores shading parameters such as reflection coefficients and opacity that are represented by a set of intervals of property values in which each parameter varies linearly. In multidimensional properties, the parameters are defined for each component and for the module of the property. Finally, once a specific property has been analyzed in a set of models it may be possible to establish general characteristics of the property, independent from a given set of data. These global characteristics of a property may be stored and consulted in order to assigndefault values to properties of specificdata sets or in order to realize some statistics: it is the class physical property, which, opposite to the property class, has no relationship with any voxel model. Figure 4 synthetizes the relationship existing between the described classes.For the implementation of the multiproperty environment, the C+ +
dynamic binding mechanism has been used. Thus, the property class has been implemented as an abstract classfrom which the different property types derive. The property classdefines functions that each derived classimplements in a different way. The voxels class has a list of properties with which it communicates through the functions defined at the base class without needing to know the subclass to which they belong. As an example, the call to the procedure of consulting a voxel property value is unique, independent from the type of the property and it is at execution time when the binding with the function of the actual subclassof the property is done. The same mechanism is used for different types of property values (char, short, int, . . .). 5. DEFAULT
VISUALIZATION
5.1. Previous work The user interface to specify different parameters, especially the visualization ones (angles, regions of interest,. . .) requires interactive visualizations. As mentioned in Section 2, the main direct volume visualization algorithms are the Ray-casting and the Z-buffer. Both algorithms have a high computational cost that makes them inadequate for interactive
708
I. Lopez, D. Tost, A. Puig and I. Navazo
‘. ‘~,~SetVaiorRopVoxel(...) SetVaiorRopVoxel
(...)
Fig. 4. Relationship between the classes voxels and properties.
processing. Most of the modeling and visualization systems referenced in the bibliography (VolVis [29], 3-D Viewnix [30], BOB [31]) use a quick simpltied default visualization for the interaction. Once the visualization parameters are fixed with the default technique, other algorithms, such as the above mentioned Z-buffer and Ray-casting, are used in order to obtain more realistic results. Table 1 shows the main characteristics of three volume modeling systems. As it can be seen, all of them have two visualizations: a default one, approximated and very quick for the interaction and a quality one. In the three cases, in order to speed up the visualization, a reduced volume model is used and the area of projection is small. In the table, the existence of a bounding box in order to ease the orientation of the model is also indicated. Finally, it should be noted that the quality visualization of the BOB system, by slices stacking, is very fast. Therefore, the default visualization appears in the same
window and is used only for the specification of the visualization parameters. Using the systems, we concluded that the default visualizations although very fast, gave in the three cases a poor image quality. 5.2. The proposed de&au&visualization In VolDmi, the default visualization is used for: a Automatic visualization: It is executed automatically after storing the model in the memory and after any operation on the model. This allows the user to have feedback at any time of the operations being performed. l Navigation: It allows to ubicate the observer in relationship to the model. l Regions of interest selection: The user may visualize a subset of the model, defined by using clipping planes parallel to the coordinate axis (see Fig. 5).
Table 1. Default visualization in three volume modeling and visualization systems Quality visualization Method Automatic? Default visualization Model Model resolution Image resolution Segmentation Perspective deformation Shading model User interaction Bounding box Change viewers position Clipping
VolVis
3DViewnix
Bob
Ray Casting NO
ZBuffer YES
Slices Stacking YES
Voxels 8X8X8 300 x 300 A unique threshold YES Opacity 1 and Lambert Shading
Voxels (shell) 32x32~32 200 x 200 All voxels NO Opacity propertional to the voxel value. Constant Shading
NO YES Mouse & Buttons NO
NO YES Mouse YES Any plane %tplanes parallel to the coordinate axes
Images 16X16X16 500 x 500 All shell YES Opacity proportional to the voxei value. Constant Shading YES yI3s Mcnlse YES Planes IWaIIel to the ~coordbutte axes
VolDmi
Taking into account these requirements and the conclusions of the analysis of other systems, in the VolDmi platform, the slice stacking algorithm has been used as a default visualization, because it constitutes a compromise between the speed of the visualization and its quality. In the slice stacking visualization, the voxel model is considered as a stack of 2-D slices (images), parallel to the coordinate axis. The visualization consists of the sequential projection of these images according to the viewing direction. Given a model, there are three possible subdivisions of the model in slices (parallels to the planes XY, XZ or ZY). The selection of the images to be traversed is done according to the viewing direction, ensuring that the projected slices will always be of maximum area, which will give a better perception of the model. Due to the implicit orientation of the model, its sequential traversal of the model, Back-To-Front (BTF) or Front-To-Back (FTB) guarantees a correct processing of the visibility. In VolDmi a BTF traversal has been implemented. In models of a standard size (256’), in order to obtain a quick visualization, the number of images and the number of pixels per image is reduced. Thus, one source-pixel in an image plane may correspond to one or more contiguous voxels of the model. The step of traversal in an axial direction of the image plane, (stepi, stepi) is defined as the number of faceadjacent voxels that are associated to the same source-pixel. The value of a source-pixel is the one of its first associated voxel. Depending on the relation of sizes between the source-image and the target image, each source-pixel is projected in the display as a set of target-pixels which is higher than one or vice-versa (see Fig. 6). The projection of each source-pixel is performed in two steps: l
Computation of the target-pixels in which it is projected.
709
a Computation of the intensity and opacity associated to each target-pixel. In the lirst step, the spatial coherency of the axonometric projection may be taken into account: all the source-pixels have an identical projection, therefore it is only necessary to project one of them. However, this simplification may produce aliasing effects, due to the discretization of raster displays. In the bibliography different methods are referenced in order to solve this problem, based on filtering functions [32]. However, in order to reduce the cost of the visualization, a simpler solution has been adopted in VolDmi. The silhouette of the projection area is incremented systematically adding to it a onepixel-width frame. In order to avoid the overlapping errors that may appear when two contiguous sourcepixels contribute to the same target-pixel, all the source-pixels of an image are first projected in an auxiliary buffer which is later composed with the image buffer using the over operator [33]. This method gives good results when the relationship between the number of source-pixels and the number of target-pixels is greater than one, which is often the case, the 2-D slices being of maximum projected area. However, when the ratio of sourcepixels to target-pixels is less than one, the sampling implicit in the method may lead to incorrect results if the images have many high frequency components. Even in this case, however, given that the default visualization is a simplified one, the error is admissible. Currently, other projective methods, such as multipass affine transformations [34], are being analyzed by evaluating their cost and the image quality they obtain. On the other hand, the generalization of these affine transforms to 3-D [24] is used for the realization of geometrical transformations on the voxel model. According to the previously mentioned tradeoff time/image quality, the second step, consisting of the
Fig. 5. Projectionof an imagepixel in the display.
J. Lbpez, D. Tost, A. Puig and 1. Navazo
Fig. 6. Default visualization of a model at various resolutions.
/’ I-- ----__-------
-----A-_-___ --
, ----.___.
-
-.----.
---_ -%-
p’
-L
Fig. 7. Default visualization of a model with several different clipping planes.
I ,..’
VolDmi computation is performed
of the target pixel intensity according to the following
and opacity, strategy:
The same color and opacity is assigned to all target pixels associated to a source-pixel. When a unique scalar property is being visualized, a direct mapping property value to gray level is performed. When a simultaneous visualization of multiple scalar properties is required, a color range is assigned to each of them [35]. As mentioned above, the default visualization allows the use of opacities. The opacity may be a constant value for all the slices, a constant value for each slice or may be computed for each source-pixel depending on its property value. In the two former cases, the opacity value is user specified. In summary, the visualization-parameters are: Viewing direction: Defined with angles only, since no perspective computed. Clipping planes: Specification of 6 parallel to the coordinate planes. Opacity: Opacity level associated pixel. Maximum resolution: Maximum source-pixels projected.
2. 3. 4.
5. 6.
7.
Medicine:
30
Graphics,
October
Systems
and
Applications,
of
European
Workshop
on
Rendering,
1993,281-294. 10. Fisbman, E., Ney, D. and Magid, D., Tbree-dimensional imaging: clinical applications in orthopedics. In 30 Imaging Applications,
in
Medicine:
Algorithms,
Systems
and
Springer Verlag, 1990. 11. P&r, S. M. and Fuchs, H., Three dimensional image presentation techniques in medical imaging. In Proceedings of the International Assisted Radiology, 1987,
12. 13.
planes,
15.
to each source-
16.
of
REFERENCES McCormick, B. H., Defanti, T. A. and Brown, M. D., Visualization in scientific computing. Computer Graphics, 1987, 21(6), 1-14. Kaufman, A., Volume VisuaRzation. IEEE Computer Society Press, 1990. Kaufman, A., Introduction to volume visuaIization.In Volume Visualization, IEEE Computer Society Press, 1990, pp. 1-18. Pommert, A., Pflesser, B., Riemer, M., Scbiemann, C., Scubert, R., Tiede U. and Hohne, K. H., Advances in medical volume visualization. Tutorial of ECJROGRAPHICS Conference, September 1994. Nielson, G. M., Research issues in modeling for the analysis and visualization of large dam sets. Technical Report CS93-069, August 1993. Brnnet, P., Juan, R., Navazo, I., Pnig, A., Sole, J. and Tost, D., Modeling and visualization through data compression. In Scientt& Vtswdtzation, IEEE Computer Society Press, 1994, pp. 157-169. Kaufman, A. and Sbimony, E., 3D scan-conversion algorithms for voxel-based graphics. In Proceedings of
Algorithms,
Proceedings
clipping
6. CONCLUSIONS This paper presents VolDmi, a volume modeling and rendering system. The system constitutes a flexible platform in which new models and algorithms will be progressively included. It is currently being used as a didactic tool in volume modeling and visualization courses and it is most of all a benchmark for testing and comparison between different models and algorithms.
on Znteractive
Springer Verlag, 1990, pp. 217-228. 9. Tost, D., Pnig, A. and Navazo, I., Visualization of mixed Scenes based on volume and surface. In
14.
number
Workshop
1986,45-75. 8. Kaufman, A., Yagel, R. and Cohen, D., Intermixing surface and volume rendering. In 30 Imaging in
three rotation deformation is
Figures 6 and 7 show different visualizations of a voxel model, at various resolutions (Fig. 6) and clipped (Fig. 7).
1.
711 ACM
17.
18.
19.
20. 21. 22. 23.
24. 25. 26. 27. 28.
Symposium
on
Computer
p. 589. Pnig, A. and Bnmet, P., Modelado de solidos no homogeneos mediante octrees. aplicaeion al modelado de yacimientos, CEIG, 1992. Upson, C., The visual simulation of amorphous phenomena. Visual Computer, 1986, 2, 321-326. Liang, Z., Tissue classification and segmentation of MR images. In IEEE Engineering in Medicine and Biology, March 1993, pp. 81-85. Kubler, 0. and Gerig, G., Segmentation and analysis of multidimensional data-sets in medicine. In 30 Imaging in Medicine, 1990, pp. 65-8 1. Van Gelder, A. and Wilhems, J., Interactive animated visualization of flow fields. In Proceedings of 1992 Workshop on Volume Vismdization, 1992, pp. 47-54. Hohne, K. H., Bomans, M., Pommert, A., Riemer, M., Scbierds, C., Tiede, U. and Wiebecke, G., 3D visualization of tomographic volume data using the generalized voxel-model. The Visual Comnuter. 1990. 6. 28-36. C&nom, P., De Floriani, L.,- Montani, ‘C.; Pnppo, E. and Scopigno, R., Multiresolution volume dataset modeling and visualization based on simplicial complexes. In ZNRZA, March 1994. Cromartie, R. and P&r, S. M., Structure-sensitive adaptative contrast enhancement methods and their evaluation. Image and Vision Computing, 1993, 11,460467. Lorensen, W. E. and Cline, H. E., Marching cubes: a high resolution 3D surface construction algorithm. ACM Computer Graphics, 1987, 21, 163-169. Levoy, M., Display of surfaces from volume data. IEEE Computer Graphics and Applications, 1988, 8, 29-37. Westover, L., Footprint evaluation for volume rendering. Computer Graphics, 24, 1990. Becker, S. C., Barret, W. A. and Olsen, D. R., Interactive measurement of three-dimensional objects using a depth buffer and linear probe. ACM Transactions on Graphics, 1991, 10, 200-207. Hanrahan, P., Three-pass affine transformations for volume rendering. ACM Computer Graphics, 1990, 24, 71-78. Sutton, J. and Sprague, R., A survey of business applications. In Proceedings American Institute for Decisions Sciences 10th Annual Conference, 1978, p. 278. Soto, A., Vila, S. and Vinaena, A., A too&t for constructing command driven graphics programs. Computer and Graphics, 1992, 167, 375-382. Ousterhout, J. K., Tcf and the Tk Toolkit, Draft Version. Addison-Wesley Publisher, 1993. Wilhems, J., Decisions in volume rendering. In Course Annotes Volume
of the SIGGRAPH Tutorial: Visualization, July 1991, p.
29. Avila, R., Silva, C., diversi6ed Visualization
State-of-the-Art
in
8. He, T., Hong, L., Kaufman, A., Ptister, H., Sobierajski, L. and Wang, S., Volvis: a volume visualization system. In Volume 1994, October 1994.
712
J. L6pez, D. Tost, A. Puig and I. Navazo
30. Udupa, J. K., Goncalves, R. J., Iyer, K., Narendula, S., Odhner, D., Samarasekera, S. and Sharma, S., 3Dviewnix: an open, transportable software system for the visualization and analysis of multi-dimensional, multimodality, multiparametric images. SPIE, image Capture, Formatting, and Display, 1993, 1%97,47-58. 31. Chin-Purcell, K., BOB: brick of bytes. In AHPCRC, Minnesota SuperComputer Center (Software for Silicon Graphics), 1992. 32. Feibush, E., Levoy, M. and Cook, R., Synthetic
texturing using digital fiters. ACM Computer Graphics. 1980, 14,294--301. 33. Porter, T. and Duff, T., Cornpositing digital @ages. ACM Computer Grapfdcsl984, H&251-259. 34. Catmull, E. and Smith, A., 3D transformations of images in scanline order. ACM Computer Graphics, 1980, 14,279-285. 35. Farrell, E. J., Color display and interactive interpretation of three-dimensional data. IBM Jownal of Research and Development, 1983,27, 356-366.