Title: 3D Volume Visualization
13D Volume Visualization
2Volume Graphics
- Maintains a 3D image representation that is close
to the underlying fully-3D object (but discrete) - ????(Boundary Surface)?? ??? ? ?? ???? ????
?????? ??
N x 2D arraies 3D
array
3Input Data 3D Images (Volumetric Image)
- it is a 3D array of point samples, called voxels
(volume elements) - the point samples are located at the grid points
- the process of generating a 2D image from the 3D
volume is called volume rendering
4Data Acquisition
- Scanned Data
- CT
- MRI
- Ultrasound
- Electron Microscopy
- Simulated Data
5Volume Visualization Methods
- Volume Rendering
- Ray casting
- Isosurface Extraction
- triangulation
6Volume Rendering (Basic Idea)
Based on the idea of ray tracing
- Trace from each pixel as a ray into object space
- Compute and accumulate color/opacity value along
the ray - Assign the value to the pixel
7Transfer Function
- Maps voxel data values to optical properties
- Color/opacity map
- Emphasize or classify features of interest in the
data
8Raycasting
volumetric compositing
color
opacity
object (color, opacity)
9Raycasting
Interpolationkernel
volumetric compositing
color
opacity
1.0
object (color, opacity)
10Raycasting
Interpolationkernel
volumetric compositing
color c c s ?s(1 - ?) c
opacity ? ? s (1 - ?) ?
object (color, opacity)
11Raycasting
volumetric compositing
color
opacity
1.0
object (color, opacity)
12Raycasting
volumetric compositing
color
opacity
1.0
object (color, opacity)
13Raycasting
volumetric compositing
color
opacity
1.0
object (color, opacity)
14Raycasting
volumetric compositing
color
opacity
1.0
object (color, opacity)
15Raycasting
volumetric compositing
color
opacity
object (color, opacity)
16Volume Ray Marching
- Raycast once per pixel
- Sample uniform intervals along ray
- Interpolate trilinear interpolate, apply
transfer function - Accumulate integrate optical properties
17Composition (alpha blending)
183D Texture Based Volume Rendering
19Use Image-space axis-aligned slicing plane
the slicing planes are always parallel to the
view plane
20Isosurface
- Isosurface (i.e. Level Set )
- C(w) x F(x) - w 0
- ( w isovalue , F(x) real-valued function ,
usually 3D volume data )
isosurfacing
21?? CT ?? ?? ???? F(x,y,z)
?? ?? ??? w ?? ???
??? ?? F(x,y,z)w
??? ??? w ? ???
22Marching Cubes
- Lorensen and Cline, ACM SIGGRAPH 87
- Goal
- Input 2D/3D/4D imaging data (scalar)
- Interactive parameter isovalue selection
- Output Isosurface triangulation
isosurfacing
23Surface Intersection in a Cube
- assign ZERO to vertex outside the surface
- assign ONE to vertex inside the surface
- Note
- Surface intersects those cube edges where one
vertex is outside and the other inside the surface
24Surface Intersection in a Cube
- There are 28256 ways the surface may intersect
the cube - Triangulate each case
25Marching Cubes Table
- Using symmetries reduces 256 cases into 15 cases
ltwrong surfacegt
26Surface intersection in a cube
- Create an index for each case
- Interpolate surface intersection along each edge
27Calculating normals
- Calculate normal for each cube vertex
- Interpolate the normals at
- the vertices of the triangles
28Problems in Marching Cubes
- May Generate very large meshes
- Simplification
- Can we generate 3D mesh?
- Interval Volume Tetrahedrization
- Computationally Slow
- Acceleration techniques , CUDA
- Ambiguity problem
- Trilinear isosurface
- How to select isovalue?
- Contour spectrum
29Problems in Marching Cubes
- How to preserve sharp features?
- Dual contouring
- Hard to deal with extremely large volume data
- Parallel
- Out-of-core
- Segmenting Isosurface Components?
- Contour Tree
- Volume Structure
- Contour Tree , Morse Complex
30Comparison
- Volume Rendering
- ??? ??? ?? 3D?? ??? 2D??? ???
- ??? ???? ?? ??? ????? ???
- Transfer function? ??? ?? ?? ??? quality? ?? ???
? ????, ??? ??? ??? ?. - Isosurface Extraction
- Triangulation? ?? ??? Surface Mesh ???? ??(fast
rendering, shading, ?)? ?? - ??? isosurface? ?? ??? ???? ?? ??? ??? isovalue??
??? ?? ??? ???.
31Visualization SW
- Volume Rover
- http//www.cs.utexas.edu/bajaj/cvc/software/volro
ver.shtml
Transfer function