3 D Volume Visualization Volume Graphics Maintains a

  • Slides: 31
Download presentation
3 D Volume Visualization

3 D Volume Visualization

Volume Graphics § Maintains a 3 D image representation that is close to the

Volume Graphics § Maintains a 3 D image representation that is close to the underlying fully-3 D object (but discrete) § 경계표면(Boundary Surface)뿐만 아니라 그 내부 정보까지 표현하고 렌더링하는데 유리 N x 2 D arraies = 3 D array

Input Data: 3 D Images (Volumetric Image) § it is a 3 D array

Input Data: 3 D Images (Volumetric Image) § it is a 3 D array of point samples, called voxels (volume elements) § the point samples are located at the grid points § the process of generating a 2 D image from the 3 D volume is called volume rendering

Data Acquisition § Scanned Data § § CT MRI Ultrasound Electron Microscopy § Simulated

Data Acquisition § Scanned Data § § CT MRI Ultrasound Electron Microscopy § Simulated Data

Volume Visualization Methods § Volume Rendering § Ray casting § Isosurface Extraction § triangulation

Volume Visualization Methods § Volume Rendering § Ray casting § Isosurface Extraction § triangulation

Volume Rendering (Basic Idea) Based on the idea of ray tracing • Trace from

Volume 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

Transfer Function § Maps voxel data values to optical properties Voxel Data Optical Properties

Transfer Function § Maps voxel data values to optical properties Voxel Data Optical Properties • Density • Temperature • Color • Opacity § Color/opacity map § Emphasize or classify features of interest in the data

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting Interpolation kernel volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting Interpolation kernel volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting Interpolation kernel volumetric compositing color c = c s s(1 - ) +

Raycasting Interpolation kernel volumetric compositing color c = c s s(1 - ) + c opacity = s (1 - ) + 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity 1. 0 object (color, opacity)

Raycasting volumetric compositing color opacity object (color, opacity)

Raycasting volumetric compositing color opacity object (color, opacity)

Volume Ray Marching 1. Raycast – once per pixel 2. Sample – uniform intervals

Volume Ray Marching 1. Raycast – once per pixel 2. Sample – uniform intervals along ray 3. Interpolate – trilinear interpolate, apply transfer function 4. Accumulate – integrate optical properties

Composition (alpha blending)

Composition (alpha blending)

3 D Texture Based Volume Rendering

3 D Texture Based Volume Rendering

Use Image-space axis-aligned slicing plane: the slicing planes are always parallel to the view

Use Image-space axis-aligned slicing plane: the slicing planes are always parallel to the view plane

Isosurface § Isosurface (i. e. Level Set ) : § C(w) = { x

Isosurface § Isosurface (i. e. Level Set ) : § C(w) = { x | F(x) - w = 0 } ( w : isovalue , F(x) : real-valued function , usually 3 D volume data ) isosurfacing

Marching Cubes § [Lorensen and Cline, ACM SIGGRAPH ’ 87] § Goal § Input

Marching Cubes § [Lorensen and Cline, ACM SIGGRAPH ’ 87] § Goal § Input : 2 D/3 D/4 D imaging data (scalar) § Interactive parameter : isovalue selection § Output : Isosurface triangulation isosurfacing

Surface Intersection in a Cube § assign ZERO to vertex outside the surface §

Surface 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

Surface Intersection in a Cube § There are 2^8=256 ways the surface may intersect

Surface Intersection in a Cube § There are 2^8=256 ways the surface may intersect the cube § Triangulate each case

Marching Cubes Table § Using symmetries reduces 256 cases into 15 cases <wrong surface>

Marching Cubes Table § Using symmetries reduces 256 cases into 15 cases <wrong surface>

Surface intersection in a cube § Create an index for each case: § Interpolate

Surface intersection in a cube § Create an index for each case: § Interpolate surface intersection along each edge

Calculating normals § Calculate normal for each cube vertex: § Interpolate the normals at

Calculating normals § Calculate normal for each cube vertex: § Interpolate the normals at the vertices of the triangles:

Problems in Marching Cubes § May Generate very large meshes § Simplification § Can

Problems in Marching Cubes § May Generate very large meshes § Simplification § Can we generate 3 D mesh? § Interval Volume Tetrahedrization § Computationally Slow § Acceleration techniques , CUDA § Ambiguity problem § Trilinear isosurface § How to select isovalue? § Contour spectrum

Problems in Marching Cubes § How to preserve sharp features? § Dual contouring §

Problems 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

Visualization SW § Volume Rover § http: //www. cs. utexas. edu/~bajaj/cvc/software/volrover. shtml Transfer function

Visualization SW § Volume Rover § http: //www. cs. utexas. edu/~bajaj/cvc/software/volrover. shtml Transfer function