Strategies for Direct Volume Rendering of Diffusion Tensor Fields Gordon Kindlmann, David Weinstein,

advertisement
Strategies for Direct Volume
Rendering of Diffusion Tensor
Fields
Gordon Kindlmann, David Weinstein,
and David Hart
Presented by Chris Kuck
Diffusion 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 MRI’s.
Diffusion Tensor fields
• The direction and magnitude are stored as the
systems orthogonal eigenvectors and eigenvalues
• Each tensor, and it’s corresponding eigensystem,
can be represented in a concise and elegant way as
an ellipsoid.
Why 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.
White 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.
Strategies
•
•
•
•
•
Barycentric Mapping
Lit-Tensors
Hue-Balls and Deflection Mapping
Reaction-Diffusion Textures
Diffusion Interpolation
Barycentric 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.
Barycentric 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.
Isotropic/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.
Anisotropy Index
Which gives way to:
Ca is defined as the anisotropy index.
Barycentric 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 .
Barycentric Mapping
• After marking each element, we can create a lookup table in Barycentric space to see what value for
opacity we should use, thus reducing the entire
dataset down to one dimension.
Barycentric Mapping
Barycentric 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.
Barycentric Mapping
Lit-Tensors
• Now that we have reduced the data set to a
reasonably amount of data we need to somehow
depict accurate lighting as well.
• They’re solution is a shading technique termed littensors, which can indicate the type and
orientation of anisotropy.
Lit-Tensors
•
They follow these constraints to do so:
1) With linear anisotropy lighting should be identical to
illuminated streamlines
2) In planar anisotropy lighting should be identical to
standard surface rendering.
3) Every where else the surface normals must be
smoothly interpolated
Lit-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.
Lit-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.
Lit-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.
Lit-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
Lit-Tensor calculation
Where are the eigenvalues sorted as lambda1 >= lambda2 >= lambda3.
• Ctheta ranges from completely linear ( 0 ) to
completely planar ( π/2 ). Then the dot product
can be rearranged as
Lit-Tensors
Lit-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.
Lit-Tensors
Hue-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.
Hue-Balls and Deflection
Mapping
Hue-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.
Hue-Balls and Deflection
Mapping
Reaction 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.
Reaction Diffusion Textures
Where at t=0, a=b=4. 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.
Reaction Diffusion calculation
• In practice, a regular
two-dimensional grid
is used to simulate the
Laplacian.
• This could be
extended to three
dimensions pretty
easily.
Reaction Diffusion calculation
• In three dimensions
the discrete grid to
convolve to
approximate the
Laplacian is similar.
Reaction Diffusion calculation
• To get the texture to be
representative of the
tensor data, they use
Fick’s second law to
determine diffusion.
• The resulting
equations change the
discrete grid once
again.
Reaction Diffusion visualization
• To visualize the data in a more convenient fashion,
they remove all area’s that are not anisotropic.
• They do this by calculating the average anisotropy,
and any spots below .5 * average anisotropy are
removed.
Diffusion Tensor Interpolation
•
1)
2)
3)
3 different ways to interpolate the tensors:
MRI channels
Tensor matrices
Eigensystems
MRI 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
MRI channel Interpolation
Then the diffusion tensor is:
While this is more accurate it is not computationally feasible
to do this.
Matrix 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.
Eigensystem 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.
Eigensystem 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.
Evaluation
• 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.
Download