The main result of Levoy's influential paper, ``Display of Surfaces from Volume Data''[Lev88], was to demonstrate the usefulness of volume rendering for what might otherwise be considered the domain of isosurface rendering-- the visualization of surfaces in regularly sampled volume data. He demonstrated that not only is direct volume rendering appropriate for this task, but that in some aspects it is superior to isosurface rendering. It avoids the explicit creation of a surface geometry, and it displays ambiguous or under-sampled features as ``faint wisps'', a more accurate representation than that given by isosurfacing. His success can be attributed to the careful design of the opacity functions which he developed for the two visualization tasks described in his paper. Because there are many similarities between the goals addressed in Levoy's paper and in this thesis, we review the opacity functions which Levoy designed and the visualization problems which motivated them. We conclude the chapter with some observations about the differences between Levoy's methods and the ones advanced in this thesis.
Levoy's first task was visualizing isosurfaces of electron density functions. These datasets are characterized by smooth and slow variations of the data value throughout the volume.
From the four sample cross-sections of such a dataset shown in Figure 5.10 (taken from Levoy's paper), we can see that these datasets do not exhibit any of the characteristics assumed for this thesis. There are no regions of relatively constant value contained by boundary regions where the data value changes quickly. The discontinuities which exist with material boundaries are not present in electron density functions. Still, it is important to review the opacity function Levoy developed for this type of data because it is the only style of two dimensional opacity function which has since received any significant attention in the volume rendering literature[Mur95,YESK95,LCN98]. Also, the opacity function he designed for this application has proven to have utility for a wider variety of datasets.
Because Levoy uses volume rendering instead of true isosurface
extraction to visualize the isovalue contours, the rendered
surfaces will necessary have some thickness. Levoy states that the
``most pleasing image'' results from making the isosurface appear to
have equal thickness everywhere. One way to achieve this is with a
opacity function which takes into account the gradient
of the data value. Specifically, if we assume that the data value
varies linearly with position near the isosurface, then the
range of values which needs to be made opaque is proportional to
the magnitude of the gradient. When the data value changes quickly as
a function of position, a wider range of values need to be made opaque
so as to create an opaque region of fixed thickness, and conversely
low rates of change in data value require opacity for a narrower
ranges of values. The plot of the two dimensional opacity function
which achieves this is shown in Figure 5.11(a), a
diagram taken from Levoy's paper. Also, to facilitate comparison with
the gray-scale graphical representation of the two dimensional opacity
functions presented in this thesis, a gray-scale representation of Levoy's
function is shown in Figure 5.11(b). We continue the
convention used in Chapter 5, letting
and
, though Levoy's figures employ a slightly more
complicated notation.
![]() |
There are three degrees of freedom in this type of opacity function which need to be defined before stating its formula:
The second visualization task addressed in Levoy's paper is the rendering of ``region boundary surfaces'' in the specific context of CT medical imaging technology. Like the visualization task discussed in this thesis, Levoy's goal is to visualize the interfaces between adjacent regions of uniform material. However, since Levoy restricts himself to the domain of CT datasets, he makes strong assumptions about the spatial inter-relationship between the material regions. Quoting from this paper:
``We assume that scenes contain an arbitrary number of tissue types bearing CT numbers falling within a small neighborhood of some known value. We further assume that tissues of each type touch tissues of at most two other types in a given scene. Finally, we assume that, if we order the types by CT number, then each type touches only types adjacent to it in the ordering.''To characterize the opacity function Levoy developed for this case, we notate the ``CT numbers'' (the materials' data values in the CT scan) as
![]() |
The final opacity function is then:
In comparing our method with the second of Levoy's two opacity
functions, it should be stressed that he assumes the CT numbers
are known for each type of biological material. This thesis,
however, aims to be more general and require less prior knowledge.
Because the opacity function generation presented in this thesis is
grounded in the measured properties of the data, the user is (ideally)
freed from setting material data values by hand. Levoy is nonetheless
justified in making his assumption, because in medical imaging
situations where CT is being used, there is a high degree of
consistency between scans in the data values which arise from human
tissue types.
The assumption about having a strict progression of nested regions with increasing data values is stronger than any assumption made in this thesis. For instance, the nested cylindrical shells in Section 5.3 violate Levoy's assumption but are well handled by our method for two dimensional opacity function generation. On the other hand, this thesis makes the strong assumption that all boundaries have the same thickness. Levoy makes no assumptions whatsoever about the the thickness of boundaries, nor does he rely on any particular boundary model for defining the opacity function. He simply requires that the boundary region have higher gradient magnitude that the material interior, so that scaling the opacity by the gradient magnitude (Equation 5.15) causes material interiors to be suppressed in the rendering.