Volume Visualization - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Volume Visualization

Description:

Example Cross-Sectional Images of the Human Body. Cross section of the head (CT) [NLM] ... that can produce a highly accurate picture of the object using a ray casting ... – PowerPoint PPT presentation

Number of Views:138
Avg rating:3.0/5.0
Slides: 27
Provided by: skywa
Category:

less

Transcript and Presenter's Notes

Title: Volume Visualization


1
Volume Visualization The Marching Cubes
Algorithm
  • Jesse Stewart

2
Overview
  • Volume visualization techniques used to
    visualize three-dimensional data sets. In
    biomedicine, this usually involves a model of a
    human patient, which can aide physicians in
    recognizing and studying disease and physiology
    in general.
  • Many rendering techniques have been developed
    over the past 20 years. Faster graphics
    hardware and massive storage media have afforded
    highly interactive and detailed visualization
    systems.

Visible Human Project
3
Biomedical Data Sources
  • CT Scan (computer aided tomography) an x-ray
    imaging technique. May involve a liquid-born
    contrast material which helps highlight important
    structures.
  • PET Scan (positron emission tomography) -
    involves the use of a radioactive isotope
    creates image layers a few mm thick. Useful for
    studying metabolic processes as well as anatomy.
  • MRI (magnetic resonance imaging) uses a
    magnetic field combined with pulses of RF energy
    to excite hydrogen nuclei in the specimen.
    Provides superior contrast resolution compared to
    other methods.
  • Others Ultrasound, SPECT (similar to CT)
  • Simulation data also often needs to be visualized
    in 3D.
  • Data from multiple sources may be combined.

4
Assembling Data
  • Many cross-sectional MRI or CT scans are usually
    done at once, producing a stack of 2D images.
    Together they form the 3D data set to be
    visualized. Density is often what is measured,
    but the same techniques can be used regardless of
    the actual measurement. Another example is
    temperature.
  • Some number of preprocessing steps may be
    performed
  • Filtering out noise
  • Normalization/Thresholding
  • Down-sampling
  • This effort hopefully makes the visualization
    process more accurate.

5
Example Cross-Sectional Images of the Human Body
Cross section of the head (CT) NLM
Cross-section of the head (MRI) NLM
6
Data Representation
  • In 3 dimensions, each location is often called a
    voxel (or volumetric pixel). Each voxel contains
    a single sample value (which may represent
    density or some other object property). Other
    properties may also be attached to each voxel
    such as an opacity value.

A 3D grid of voxels
7
Two Distinct Methods
  • Direct Volume Rendering (DVR) a technique that
    can produce a highly accurate picture of the
    object using a ray casting (called back
    projection) procedure.
  • Surface-fitting (SF) by identifying one or more
    iso-surfaces within the dataset, a polygonal mesh
    can be constructed which approximates it.
    Traditional geometric rendering techniques can
    then be used to display these primitives, using
    fast graphics hardware. With the addition of
    shading, a more realistic view of the object can
    be produced.

8
DVR Images
VolVis
Standford VolPak
  • DV-Rendered images can show many semi-transparent
    parts of the image at once. However, if the
    viewing angle/distance is altered, the ray
    casting process may need to be repeated in its
    entirety, resulting in a slower and less
    interactive experience for the researcher/user.

9
Isosurface based images
Volvis
mendel
  • Images constructed via surface-fitting can be
    rendered quickly once the mesh is constructed.
    Lighting and shading can be adjusted to provide
    the best view of the object. However, data inside
    the surface(s) is often discarded.

10
Isosurfaces
  • An isosurface is an arbitrary (not necessarily
    analytical) surface in 3d space that intersects
    voxels having a constant value.

11
Finding Contours
  • Producing a representation of such a surface is
    similar to locating contours on a topographic
    map.
  • While an approximation of a 2D contour might be
    composed of line segments, an approximation to an
    isosurface can be composed of polygons.

12
Marching Cubes
  • A frequently used method to create a polygonal
    mesh is known as the Marching Cubes algorithm,
    due to Lorenson.
  • First introduced at SIGGRAPH in 87, Lorensons
    paper describing this algorithm is considered one
    of the most important in the field of
    visualization.
  • Since then, many other researchers have
    discovered improvements and variations on the
    basic algorithm. However, it remains an integral
    part of most visualization software today.
  • A description of the algorithm follows.

13
Algorithm Outline
  • Marching Cubes works in a divide-and-conquer
    fashion by considering groups of 8 adjacent
    voxels at a time. Together they form the corners
    of a cube. Each corner of the cube is tested to
    see whether it lies inside or outside the surface
    to be displayed. This is done by a simple
    comparison against a threshold value determined
    beforehand. For example, bone is usually found to
    be gt500 Hounsfield units in a CT scan, so any
    voxel with a value of at least 500 is inside
    the surface, while those with a lesser value are
    outside.

A cube with voxels at each corner
14
Two-dimensional Version
  • In a plane, a regions edge can be approximated
    in a similar fashion.
  • The corners of each grid square can be tested and
    marked inside or outside. One or more line
    segments can then be added wherever the edge
    appears to be.
  • There are 24 16 distinct possibilities in the
    2D case, 2 of which are ambiguous (it is not
    clear which edges to choose).

15
Ambiguity
  • As mentioned, cases 5 and 10 suggest two possible
    edge choices. This ambiguity can be resolved by
    increasing the resolution of the grid.
  • At least in the 2D case, the edges remain closed,
    so the approximation is still composed of
    polygons.

16
Three Dimensions
  • In the 3D case, there are 28 256 possible
    corner configurations. Each case suggests that
    the surface intersects the cubes edges in a
    particular way.
  • When all 8 corners are either inside or outside,
    nothing interesting happens.
  • When exactly one corner is inside, a triangle
    whose vertices lie on the three edges adjacent to
    that corner is added to the mesh (a list of
    triangles).
  • When more than one corner is inside, up to 4
    triangles may be added.

17
Encoding each case
  • Instead of laboriously computing which triangles
    should be added every time, a lookup table can be
    used based on the corner information. It is also
    convenient that a byte is just enough to store
    the information.
  • Example 00001101 13 means only corners v1, v3,
    v4 are inside.

11111111
18
Cube Families
  • Accounting for rotational symmetry and inverse
    configurations (where c1c2 256), there are
    only 15 families.

19
Choosing Triangle Vertices
  • A simple way to define each triangle is to place
    its vertices on the midpoints of cube edges. For
    a more accurate mesh, linear interpolation can be
    used.
  • If t is threshold, and A and B are values at
    adjacent corners, the vertex should be placed D
    units along the edge.
  • D 1 / ( 1 (a-t)/(t-b) )
  • Yet another choice is binary search.

20
Ambiguity Again
  • Cases 3,6,7,10,12, and 13 can cause problems due
    to ambiguous triangle choices. To resolve this,
    various methods have been proposed, some more
    complex (heuristic) than others. The most
    straightforward method is to compare adjacent
    cubes to ensure neighboring edges meld together
    appropriately.

21
Example of Mismatch
22
Surface Normals
  • Surface normals are computed along with each
    triangle, for use with shading later
  • A gradient is computed at each cube corner,
    estimated by central differences along the three
    axes.
  • Then, linear interpolation is used once again to
    compute a gradient for the triangle vertices.

23
Surface normals
24
Variations
  • Marching Tetrahedrons fewer cases, eliminates
    ambiguity
  • Adaptive

25
Other Uses
  • Rendering Metaballs

26
Interesting Links
  • Visible Human Project
  • http//www.nlm.nih.gov/research/visible/
  • SIGGRAPH Volume Visualization and Rendering
    materials
  • http//www.siggraph.org/education/materials/Hype
    rVis/vistech/volume/volume.htm
  • VolVix FAQ
  • http//www.sjoki.uta.fi/shmhav/med-volviz-faq.t
    xt
  • Standfords VolPak software
  • http//www-graphics.stanford.edu/software/volpac
    k/
  • VolumeJ Java Volume Rendering
  • http//bij.isi.uu.nl/vr.htm
  • Visible Human Server
  • http//visiblehuman.epfl.ch/
  • VolViz group homepage
  • http//www.volvis.org/
  • IEEE Visualization Conference
  • http//vis.computer.org
  • SIGGRAPH homepage
  • http//www.siggraph.org/
Write a Comment
User Comments (0)
About PowerShow.com