The first part of our method uses color to visually distinguish regions exhibiting different diffusion tensors. It is based on a simple way to visualize unit-length vectors: a colormap on the sphere that gives a continuous mapping from direction to color. A closely analogous approach in vector visualization used a two dimensional hue-saturation colormap on the sphere to visualize perturbation velocity in an application of direct volume rendering to computational fluid dynamics [19]. What turns this into a tensor visualization technique is the application of the tensor matrix as a linear transform. At all locations in the tensor field, a single user-specified input vector is multiplied by the diffusion tensor matrix to create an output vector. The tensor is assigned color by using the direction of the output vector as the lookup into the spherical colormap. We use the term hue-ball to describe a spherical colormap used in this way. One motivation for the hue-ball is that throughout a region of the tensor field with high spatial coherence, multiplying by the tensor will tend to give the same result, and the assigned color will be nearly uniform. Discerning coherent structures in the tensor field becomes a task of visually detecting color coherence in the rendered image.
The properties of the tensor's matrix representation are important for
understanding how the hue-ball functions. It is useful to consider
the input vector in the basis formed by the eigenvectors. Given a
tensor matrix
with unit-length eigenvectors
,
, and
, an input vector
can be expressed as
| (1) |
Equation 2 indicates that the vector is always deflected towards the principal eigenvector, since the coordinate of the input vector in the principal eigenvector direction will by definition grow proportionally larger than the components along the other eigenvectors. There is also a relationship between the amount of deflection and the tensor's anisotropy. Because the anisotropy of a tensor is in general related to the disparity among its three eigenvalues, multiplying a vector by a tensor with high anisotropy will cause a greater relative change among its coordinates, and hence a greater deflection. But there is a limit to how much the vector can be deflected. Since the diffusion tensor matrix has non-negative eigenvalues, multiplying by it can not change the sign of any of the vector's coordinates. Both the input and output vectors will be in the same octant of the eigenvector basis, so the angle between input and output vectors cannot exceed 90 degrees.
![]() |
![]() |
Figure 3 shows how well the amount of deflection can correspond to anisotropy in real data. Figure 3(a) was generated with a gray-scale hue-ball which was black at one pole, with brightness increasing linearly with angular deviation from the pole. The input vector points into the page, towards the black pole. Figure 3(b) shows the result of evaluating a specific anisotropy measure (called the ``anisotropy index'') everywhere in the same slice of data. While the details of the anisotropy calculation are given in Section 3.2, the relevant point is that the anisotropy is calculated from the eigenvalues of the tensor at each point in the field. This requires finding the roots of the tensor's cubic characteristic polynomial, demanding much more computation than is needed to do the simple matrix multiplication used for the hue-ball. Yet, the results are comparable. Both have a large bright ``X'' shape in the center, indicating the corpus collosum (connecting the two sides of the brain), and other finer structures also appear in both images.
One important difference, however, is the dark seam which extends down the middle of the corpus collosum in Figure 3(a). This occurs when the input vector is perpendicular to the tensor's principal eigenvector, becoming aligned with either of the tensor's minor eigenvectors. In this configuration, there is no deflection towards the principal eigenvector. Using a different input vector can move the problem to another region of the dataset, but does not eliminate it. Also, if the tensor's major eigenvector is aligned with the input vector, here again there will be little deflection. These are basic limits on how well the deflection of the hue-ball's input vector can approximate the anisotropy.
The free parameters in the hue-ball method of tensor visualization are the color assignment on the sphere, and the input vector to use for multiplication with the diffusion matrix. For the sake of simplicity we have used only the hue-ball mapping shown in Figure 8(a) (colorplate). The sphere has a band of saturated colors around its equator, with saturation decreasing to the top and bottom poles, which are a medium gray. All the colors have the same ``lightness'' in the HSL color space [8], since for the sake of coloring a tensor field, it is visually less confusing if the hue-ball varies only color, letting the shading model control intensity2. All the hues appear twice on the hue-ball so as to create 180 degree rotational symmetry. As seen in Figure 2, the input vector can be deflected towards either end of the ellipsoid, depending on its orientation. The rotational symmetry insures that in either case the same hue is assigned.
In the same way that lights illuminating a scene can either be fixed in world or view coordinates, the hue-ball input vector can either be fixed relative to the dataset or relative to the viewpoint. If it is fixed relative to the dataset, changing the viewpoint allows one to inspect a single hue-ball mapping from different angles. When the hue-ball input vector is fixed in view space, the element of interactivity or motion can provide additional cues about the directionally dependent nature of the diffusion tensor. Image interpretation can be simplified by consistently orienting the hue-ball so that the input vector points to its neutral pole, and so that some hue is always aligned with an ``up'' direction. Regions in the volume which didn't significantly deflect the input vector will stay a neutral color, and a consistent mapping between color and deflection direction is maintained.
To illustrate how the hue-ball colors measured tensor data, the same dataset slice which was shown in Figures 1 and 3 has been mapped by the HSL hue-ball described above and is shown in Figure 8(b) (colorplate). Some previous techniques for colormapping diffusion tensor data assign color based on the direction of the principle eigenvector, and then modulate the color by the anisotropy, so that isotropic regions do not stand out. Using an appropriately chosen hue-ball mapping, with the input vector pointing to a neutral color, this happens automatically, so no anisotropy calculation is needed.
Another basic ingredient in direct volume rendering is an opacity
assignment that makes uninteresting regions transparent so they do not
occlude important structures. We term such a mapping from a diffusion
tensor to opacity an opacity function. In our application, the
objects of interest (white matter fiber tracts) are by definition very
anisotropic, so high opacity should be assigned to them. Conversely,
low or no opacity should be assigned to the gray matter on the
exterior of the brain. The literature provides various metrics for
anisotropy based on the tensor matrix's three sorted eigenvalues
[13,20]. We have chosen to use the
ones by Westin et al. [20] due to the simple
geometric motivation behind them. Metrics for three different kinds
of anisotropy are given:
![]() |
(3) | ||
![]() |
(4) | ||
![]() |
(5) |
| (6) |
To see how the anisotropy can vary in measured data, Figure 4 shows the metrics
These anisotropy measures provide a simple way of assigning opacity to
diffusion tensors for direct volume rendering. A function whose
domain and range are both
can map the values from an
anisotropy measure (such as
) to opacity, assuming that the
chosen anisotropy measure is high exactly in those regions that are
deemed important for visualization.
A more flexible approach uses multiple anisotropy measures to
facilitate more complex opacity functions. In light of the
normalization built into
,
, and
, we propose the use
of barycentric coordinates to depict the space of possible
anisotropies, as shown in
The same two-dimensional barycentric space of anisotropies can serve as the domain of an opacity function for direct volume rendering a diffusion tensor field. This class of opacity functions can accentuate the range of anisotropy types in a very flexible way, while including the previously described opacity functions (which depend on a single anisotropy metric) as special cases. Though space does not permit an exploration of the idea, we also note here that the barycentric space can also serve as the domain of a color mapping (``transfer function'') applied to the tensor field, allowed different anisotropies to be discerned by varying their color.
Figure 6 demonstrates some barycentric opacity maps. Each opacity map is depicted by gray-scale representation: brighter regions in the triangle correspond to higher opacity assignment. For the purposes of this figure, the effect of the opacity map is demonstrated by applying the map to the the tensor dataset, resulting in a scalar volume of opacity values. This new scalar volume is visualized with a linear opacity function, and shaded according to the gradient of opacity values. A single white light is coming from the upper right. One can see that analogous to Figure 4, appropriately chosen opacity functions allow one to see the form of structures in the dataset which have one predominant type of anisotropy. It is these structures which will be colored by the action of the hue-ball, and illuminated according to lit-tensors.
Streamlines used in vector visualization are sometimes hard to interpret because they lack the shading cues which we are accustomed to seeing on surfaces. However, illuminated streamlines (``lit-lines'') have shading and highlights that give information about their direction and curvature, creating the appearance of shiny filaments [22]. In the case of diffusion tensor visualization, we have made tensors opaque based on their anisotropy, but no other information about the tensor is indicated. We aim to show that a means of illuminating diffusion tensors, called lit-tensors, can help disambiguate the type and orientation of anisotropy. The constraints we followed for designing such a scheme are:
This can be seen as a problem of how to interpolate illumination between different codimensions. The codimension of the diffusion tensor's representative ellipsoid is two in the linear anisotropy case, and one with planar anisotropy. Previous work [1] has rigorously developed illumination methods for general manifold dimension and codimension, but did not cover cases part-way between different codimensions. Unlike that work, no claim to physical accuracy or plausibility is made for the model presented here; it is just one simple way of satisfying the constraints above.
We take as our starting point the Blinn-Phong lighting model [3]:
Because a streamline is one-dimensional, at any given point along it
there is an infinite set of normals, all perpendicular to the tangent
direction
, radiating outwards in a circle. If naively
using Equation 7 to illuminate a streamline, one
must find the normal which is in the plane spanned by
and
to evaluate
. Similarly,
another specific normal must be found to evaluate
. The insight which makes lit-lines simple
is that one does not need to actually find a specific normal in order
to evaluate a dot product with it. With Pythagoras's theorem, the dot
product can be expressed in terms of the tangent
:
The relevant property of Equation 8 is that the
lighting calculation depends on a vector (the tangent) which gives the
object's direction, instead of a depending on a normal. The direction
and orientation of a diffusion tensor is determined by not one, but
two vectors: the first and second eigenvectors3. Both of these could be interpreted as
tangents, but their relative importance is determined by the
magnitudes of the corresponding eigenvalues. To characterize the
relative importance of the first two eigenvectors in determining the
tensor's orientation, we introduce a parameter
. Assuming
that the eigenvalues are ordered
, we define
The expression to be used in lieu of dot products with
is:
In planar anisotropy,
, and
the contributions of the two dot products are equal. This means that
for any other vector
such that
| (11) |
![]() |
To demonstrate lit-tensors, Figure 7 shows nine
different synthetic diffusion tensor datasets which were direct volume
rendered with a fixed viewpoint and light. The anisotropy index
of the sphere is also constant in every case, but
is
changing. The dataset in the upper left has complete linear
anisotropy in a concentric circular pattern (along lines of latitude).
The dataset in the middle has complete planar anisotropy (and hence
looks just like a standard surface rendering). The dataset in the
lower left has complete linear anisotropy along lines of longitude,
going from pole to pole. The images provide a convincing sense of
surface anisotropy, which is not a typical trait in direct volume
renderings. Figure 8(c) on the colorplate shows the same sequence of
volumes colored with a hue-ball.