Lecture 5 : 3D Volume Visualization

Download Report

Transcript Lecture 5 : 3D Volume Visualization

3D Volume Visualization

Volume 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

Input 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

Data Acquisition

 Scanned Data  CT   MRI Ultrasound  Electron Microscopy  Simulated Data

Volume Visualization Methods

 Volume Rendering  Ray casting  Isosurface Extraction  triangulation

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 • Density • Temperature Optical Properties • 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

Interpolation kernel volumetric compositing color opacity 1.0

object ( color , opacity )

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 object ( color , opacity )

Volume Ray Marching

1.

2.

3.

4.

Raycast – once per pixel Sample – uniform intervals along ray Interpolate – trilinear interpolate, apply transfer function Accumulate – integrate optical properties

Composition (alpha blending)

3D Texture Based Volume Rendering

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 | F(x) - w = 0 }

(

w

: isovalue ,

F(x)

: real-valued function , usually 3D volume data ) isosurfacing

얼굴

CT

볼륨 영상 밀도함수

F(x,y,z)

등위면 추출

F(x,y,z)=w

얼굴 피부 등위면

w =

피부 밀도값 두개골 등위면

w =

뼈 밀도값

Marching Cubes

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

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 the cube  Triangulate each case

Marching Cubes Table

 Using symmetries reduces 256 cases into 15 cases

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 the vertices of the triangles:

Problems 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

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

Comparison

 Volume Rendering  투명도 처리를 통해  3D 볼륨 전체를 2D 화면에 보여줌 뚜렷한 경계면이 없는 물체도 효과적으로 나타냄  Transfer function 의 조작에 따라 결과 영상의 quality 가 많이 달라질 수 있으므로 , 숙련된 조작을 필요로 함 .

 Isosurface Extraction  Triangulation 을 하기 때문에 Surface Mesh 표현법의 장점 (fast rendering, shading, 등 ) 을 가짐  하나의 isosurface 는 볼륨 전체를 나타내는 것이 아니라 선택된 isovalue 값을 가지는 점의 집합만 보여줌 .

Visualization SW

 Volume Rover  http://www.cs.utexas.edu/~bajaj/cvc/software/volrover.shtml

Transfer function