The idea underlying hue-balls is that the mapping from tensors to color should not first reduce the tensor to a vector, such as one of its eigenvectors. The intent is to maximize the continuity of the mapping across the range of possible anisotropies. Color determined by the direction of the principal eigenvector, for instance, is discontinuous in regions of low anisotropy, and even high planar anisotropy. Hue-balls color tensors according to their action as a linear operator. 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 a smoothly varying spherical colormap. We use the term hue-ball to describe a spherical colormap used in this way. Throughout a region of high spatial coherence in the tensor field, 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. A closely analogous approach in vector visualization uses a two dimensional hue-saturation colormap on the sphere to visualize perturbation velocity in an application of direct volume rendering to computational fluid dynamics .
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
with unit-length eigenvectors
, an input vector
can be expressed as
Equation 11 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. However, since the diffusion tensor matrix has non-negative eigenvalues, multiplying by it cannot 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.
To illustrate how the hue-ball colors measured tensor data, the same dataset slice which was shown in Figure 1 has been mapped by the HSL hue-ball described above and is shown in Figure 9(b). Some previous techniques for colormapping diffusion tensor data assign color based on the direction of the principle eigenvector, and then modulate the color by some scalar anisotropy measure, so that isotropic regions are suppressed. 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. Finally, a full volume rendering is shown with hue-ball coloring in Figure 9(c).
Based on the discussion in Section 3.3.1 about the relationship between anisotropy and deflection, we have also explored assigning opacity based on the amount of deflection. This opacity assignment is controlled by two user parameters- the input vector to use, and a simple (scalar) mapping from the amount of deflection to opacity. Assuming the regions of interest are anisotropic, the mapping should give no opacity if there was no deflection, and increase opacity with the amount of deflection. Figure 10 shows how the direction of the input vector emphasizes different features according to their anisotropy orientation. Because these images use the hue-ball for coloring, their rendering did not require solving for any eigensystems. They represent the quality of image possible with most numerically inexpensive methods.