- In regions of complete linear anisotropy, the lighting model should
be identical to that of illuminated streamlines. Complete linear
anisotropy means movement by diffusion is constrained to one
dimension, so it is sensible for the lighting model to degenerate to
one already developed for vector fields.
- In regions of complete planar anisotropy, the lighting model should
be the same as with traditional surface rendering. The obvious choice
for the ``surface normal'' for a planar anisotropic tensor is the
third eigenvector, perpendicular to the plane formed by the span of
the first two eigenvectors (associated with the largest two
eigenvalues).
- There has to be a smooth interpolation between
these two extremes. Since tensor data can exhibit a wide variety of
anisotropies, allowing small variations in anisotropy to lead to large
changes in shading will probably create a more confusing image.

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.

Lit-Tensor Formulation

We take as our starting point the Blinn-Phong lighting
model [4]:

, , and control the contributions of ambient, diffuse, and specular reflection to the final image. Following Foley

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 5 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 the Pythagorean theorem, the dot product with can be expressed in terms of the tangent :

where is either or , for the diffuse and specular terms, respectively.

The relevant property of Equation 6 is that the
lighting calculation depends on a tangent vector
that gives the object's direction, instead of its surface normal
. The direction and orientation of a diffusion tensor is
determined by not one, but two vectors: the first and second
eigenvectors^{2}.
Both of these could be interpreted as tangents, but their relative
importance is determined by the magnitudes of the corresponding
eigenvalues. To control the relative importance of the first two
eigenvectors in determining the tensor's orientation, we introduce a
parameter that characterizes *anisotropy type*.
Assuming that the eigenvalues are ordered
, we define

As anisotropy varies from completely linear (; ) to completely planar (; ), varies from 0 to . The role of is to control how much the second eigenvector contributes to the lighting of the diffusion tensor. In the linear case, only the first eigenvector determines the tensor orientation, and in the planar case, both the first and second eigenvectors matter equally.

The expression to be used in lieu of dot products with is:

In the case of linear anisotropy, , so the contribution from vanishes, and the expression reduces to the formula for lit-lines (Equation 6), with the principal eigenvector taking the role of the tangent . This is appropriate, since in linear anisotropy, the principal eigenvector points in the direction of movement, as does a streamline's tangent vector.

In planar anisotropy, , and the contributions of the two dot products are equal. This means that for any other vector such that

(9) |

Equation 8 will have the same value. Therefore, in planar anisotropy the lighting model is rotationally symmetric around . Rotational symmetry in this case is actually an important feature of the lighting model. In planar anisotropy, the diffusion tensor ellipsoid degenerates to a disc, and

To demonstrate lit-tensors, Figure 6 shows nine different synthetic diffusion tensor datasets that 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.

The spheres shown in Figure 6 have well-behaved
anisotropy in the following sense: the changes in the orientation of
anisotropy are directly correlated to the changes in the orientation
of the sphere's surface normal. Experience has shown that measured
diffusion tensor data is generally not so well-behaved, so that still
images created using lit-tensors tend to be
confusing^{3}. The underlying
problem is that lit-tensors were designed to indicate anisotropy type
and direction, not the shape of the structure made opaque by the
opacity function. On a complex structure with significant self
occlusion, the lack of surface shape cues can lead to a rather
ambiguous, water-color effect, as seen in Figure 7.

Our current solution to this problem is to perform a separate (and significantly simpler) shading calculation, using standard Phong shading with the normalized gradient of opacity serving as the surface normal. This is accomplished by a two-step pre-process: the opacity at each data point is determined, and then the gradient of the opacity field is calculated. The normalized negative gradient of opacity is stored at each sample point. During volume rendering, these directions are interpolated to determine a surface normal at every point along the ray. The interpolated surface normal is used in the Phong shading equation. This results in an image in which shading is entirely determined by the opacity assignment and the shape of the opaque structures selected by it.

The range of possibilities illustrated by Figure 8 demonstrates an important difference between scalar and tensor volume rendering. In scalar volume rendering, opacity is nearly always determined as a function of the (scalar) data value, hence the opacity gradient is always aligned with the gradient of original data value. This means that the data value gradient can be computed only once per dataset and used to shade the output of any opacity function. Unfortunately, such a pre-process is not possible with tensor data under barycentric opacity maps, as the domain of the opacity function is a multi-dimensional space which varies non-linearly with the tensor matrix component values. On the other hand, given the overall computational expense of tensor volume rendering, we have found the cost of having to compute the opacity gradient once per opacity function to be acceptable.

- ...
eigenvectors
^{2} - Because the eigenvectors always form an orthogonal basis, and because we are adopting two-sided lighting, the third eigenvector does not contribute any additional information.
- ...
confusing
^{3} - Animations that vary viewpoint location can disambiguate surface shape while enhancing the effect of lit-tensors by showing motion of the specular highlights.