Title: Strategies for Direct Volume Rendering of Diffusion Tensor Fields
1Strategies for Direct Volume Rendering of
Diffusion Tensor Fields
- Gordon Kindlmann, David Weinstein, and David Hart
- Presented by Chris Kuck
2Diffusion Tensor fields
- In the living tissue water molecules exhibit
Brownian motion. This water motion, or
diffusion, can be isotropic or anisotropic. - The diffusion can be described by a 3x3 symmetric
real valued matrix and is used as a good
approximation to the diffusion process. - These matrices are calculated from a sequence of
diffusion-weighted MRIs.
3Diffusion Tensor fields
- The direction and magnitude are stored as the
systems orthogonal eigenvectors and eigenvalues - Each tensor, and its corresponding eigensystem,
can be represented in a concise and elegant way
as an ellipsoid.
4Why use diffusion tensor fields?
- Currently we have no way of visualizing the
structure of the white matter contained in the
brain. - However, these intricate structures can be
differentiated from the surrounding material by
observing that white matter generally exhibits
the property of anisotropy. - However, the cases where highly concentrated
white matter are involved, this property could be
false.
5White Matter Visualization
- Creating a detailed understanding of the white
matter tracts in the brain by visualizing the
structure of these white matter tracts, could
lead to advances in neuroanatomy, surgical
planning, and cognitive sciences.
6Strategies
- Barycentric Mapping
- Lit-Tensors
- Hue-Balls and Deflection Mapping
- Reaction-Diffusion Textures
- Diffusion Interpolation
7Barycentric Mapping
- Motivation Displaying 6 dimensions of data at
once is not a useful visualization. We need some
way to reduce the diffusion-tensor field. - Ideally we would like the resulting visualization
to be opaque where there are regions of interest
and transparent elsewhere.
8Barycentric Mapping
- Before we can adequately remove isotropic areas
of diffusion from the brain visualization, we
must first define what anisotropy means - They used Westen et al.s formulas to derive the
amount of anisotropy in each tensor.
9Isotropic/anisotropic coefficients
- Where cl is the amount of linear anisotropy, cp
is the amount of planar anisotropy and cs is the
amount of isotropy and cl cp cs 1.
10Anisotropy Index
Ca is defined as the anisotropy index.
11Barycentric space
- Now we define a space that is called barycentric
space. This space is the combination of all
different types of anisotropy and isotropy. - With this space we can mark each tensor with a
value of ca, cl, cp , and cs .
12Barycentric Mapping
- After marking each element, we can create a
look-up table in Barycentric space to see what
value for opacity we should use, thus reducing
the entire dataset down to one dimension.
13Barycentric Mapping
14Barycentric Mapping
- As well as a look-up table for opacity, it is
possible to create a similar look-up table in
Barycentric space for color such that the user
can see the different types of anisotropy in the
brain.
15Barycentric Mapping
16Lit-Tensors
- Now that we have reduced the data set to a
reasonably amount of data we need to somehow
depict accurate lighting as well. - Theyre solution is a shading technique termed
lit-tensors, which can indicate the type and
orientation of anisotropy.
17Lit-Tensors
- They follow these constraints to do so
- With linear anisotropy lighting should be
identical to illuminated streamlines - In planar anisotropy lighting should be identical
to standard surface rendering. - Every where else the surface normals must be
smoothly interpolated
18Lit-Tensors
- This problem can be viewed as a codimension
problem. The ellipsoid that is represents
linear anisotropy has a codimension of 2, and 1
with planar anisotropy. - D.C. Banks, Illumination in Diverse
Codimension - This paper, unlike Banks, however makes no
claims of its physical accuracy or plausibility.
19Lit-Tensor calculation
- First, start with Blinn-Phong Shading model
Where ka, kd, and ks are the respective intensity
coefficients, A is the amount of ambient light, O
is the Object color. ? is replaced with either
r, g, or b for color. L is the vector pointing
to the directional light source, N is the normal
of the surface, and H is the half-way vector.
20Lit-Tensor calculation
- You can view linear anisotropic tensors as
streamlines and because of this, there are an
infinite set of normals. - By using the Pythagorean theorem the dot product
can by expressing in terms of a T tangent to the
surface.
21Lit-Tensor calculation
- Where U is either L or H depending on whether you
are doing specular or diffusion lighting
respectively. - T could be represented with either 1 vector in
the planar case, or 2 vectors in the linear case,
thus a new parameter is needed
22Lit-Tensor calculation
- Where are the eigenvalues sorted as lambda1 gt
lambda2 gt lambda3. - Ctheta ranges from completely linear ( 0 ) to
completely planar ( p/2 ). Then the dot product
can be rearranged as
23Lit-Tensors
24Lit-Tensors
- Lit-Tensors accomplish their goal of computing
lighting conditions via the direction and
magnitude of each tensor. - However this does not provide a very intuitive
way to view the lighting conditions. - Their solution was to mix, or use completely,
opacity gradient shading.
25Lit-Tensors
26Hue-Balls and Deflection Mapping
- The idea Take a tensor and reduce it to a
vector. Then map from this vector to a point on
a color unit sphere. - How they accomplish this is they pick some input
vector, and multiply it by the tensor. - This output vector is then mapped onto the color
unit sphere.
27Hue-Balls and Deflection Mapping
28Hue-Balls and Deflection Mapping
- In Addition to finding the color, they compute
deflection by finding the difference between
the input vector and output vector. - This vector, when there are high levels of
anisotropy, will be deflected a great amount.
Since they are trying to make all anisotropic
areas opaque, they use this value to assign an
opacity.
29Hue-Balls and Deflection Mapping
30Reaction Diffusion Textures
- Reaction Diffusion textures are an idea that was
introduced by Turing that was looking for a
mathematical model to describe pigmentation
patterns in the animal kingdom. - The equations that Turing proposed are simple in
nature.
31Reaction Diffusion Textures
Where at t0, ab4. k is the controlling factor
in the growth of the patterns. da and db control
how fast the two chemicals can spread throughout
the medium. The overall convergence speed is
controlled by s. Finally ß is a pattern of
uniformly distributed random values in a small
interval centered around 0.
32Reaction Diffusion calculation
- In practice, a regular two-dimensional grid is
used to simulate the Laplacian. - This could be extended to three dimensions pretty
easily.
33Reaction Diffusion calculation
- In three dimensions the discrete grid to convolve
to approximate the Laplacian is similar.
34Reaction Diffusion calculation
- To get the texture to be representative of the
tensor data, they use Ficks second law to
determine diffusion. - The resulting equations change the discrete grid
once again.
35Reaction Diffusion visualization
- To visualize the data in a more convenient
fashion, they remove all areas that are not
anisotropic. - They do this by calculating the average
anisotropy, and any spots below .5 average
anisotropy are removed.
36(No Transcript)
37(No Transcript)
38Diffusion Tensor Interpolation
- 3 different ways to interpolate the tensors
- MRI channels
- Tensor matrices
- Eigensystems
39MRI channel interpolation
- It would be more accurate to interpolate straight
from the MRI channels, to do this first you must
calculate a set of log image values via
Where Ai is the channel and b is the direction
independent diffusion weight
40MRI channel Interpolation
- Then the diffusion tensor is
While this is more accurate it is not
computationally feasible to do this.
41Matrix Interpolation
- Another way to do this is component wise
interpolation in the matrices. - If the process of getting the log images were
linear, interpolation between the MRI channels
and the interpolation between matrices, would be
identical. However, it is not linear.
42Eigensystem interpolation
- Another approach is to solve the eigensystems for
each sample point, store this volume instead of
the tensor volume, and then interpolate as
needed. - This holds an extreme advantage over MRI channel
interpolation and Matrix interpolation since each
eigensystem needs to be solved only once.
43Eigensystem interpolation
- However, the orientation of the principal
eigenvector, is undetermined at several times. - During planar anisotropy the direction of the two
principle eigenvectors degenerates to every
vector perpendicular to the minor axis. - Also between any two points, how are we
guaranteed that the direction is the same as when
we started.
44Evaluation
- The results that they found were computed using
Barycentric maps. - They came to the conclusion that even though
eigensystem interpolation is dramatically
cheaper, if the density of points are not close
enough, it loses too much information and ends up
being too inaccurate. - They chose matrix interpolation for every
calculation they used in this paper.
45(No Transcript)