Top Banner
3D Volume 3D Volume Visualization Visualization
31

3D Volume Visualization. Volume Graphics Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete) 경계표면 (Boundary.

Jan 14, 2016

Download

Documents

Rose Hunter
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

3D Volume Visualization3D Volume Visualization

Page 2: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Volume GraphicsVolume 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

Page 3: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Input Data: 3D Images (Volumetric Image)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

Page 4: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Data AcquisitionData Acquisition

Scanned Data CT MRI Ultrasound Electron Microscopy

Simulated Data

Page 5: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Volume Visualization MethodsVolume Visualization Methods

Volume Rendering Ray casting

Isosurface Extraction triangulation

Page 6: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Volume Rendering (Basic Idea)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

Page 7: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Transfer FunctionTransfer Function

Maps voxel data values to optical properties

Color/opacity map

Emphasize or classify features of interest in the data

Page 8: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

RaycastingRaycasting

color

opacity

1.0

volumetric compositing

object (color, opacity)

Page 9: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

RaycastingRaycasting

color

opacity

Interpolationkernel

1.0

object (color, opacity)

volumetric compositing

Page 10: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

RaycastingRaycasting

color c = c s s(1 - ) + c

opacity = s (1 - ) +

1.0

object (color, opacity)

volumetric compositingInterpolation

kernel

Page 11: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

RaycastingRaycasting

color

opacity

1.0

object (color, opacity)

volumetric compositing

Page 12: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

RaycastingRaycasting

color

opacity

1.0

object (color, opacity)

volumetric compositing

Page 13: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

RaycastingRaycasting

color

opacity

1.0

object (color, opacity)

volumetric compositing

Page 14: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

RaycastingRaycasting

color

opacity

1.0

object (color, opacity)

volumetric compositing

Page 15: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

RaycastingRaycasting

color

opacity

object (color, opacity)

volumetric compositing

Page 16: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Volume Ray MarchingVolume 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

Page 17: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Composition (alpha blending)Composition (alpha blending)

Page 18: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

3D Texture Based Volume Rendering3D Texture Based Volume Rendering

Page 19: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Use Image-space axis-aligned slicing plane:

the slicing planes are always parallel to the view plane

Page 20: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

IsosurfaceIsosurface

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

isosurfacing

Page 21: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

얼굴 CT 볼륨 영상밀도함수 F(x,y,z)

얼굴 피부 등위면w = 피부 밀도값

두개골 등위면w = 뼈 밀도값

등위면 추출F(x,y,z)=w

Page 22: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Marching CubesMarching Cubes

[Lorensen and Cline, ACM SIGGRAPH ’87]

Goal Input : 2D/3D/4D imaging data (scalar) Interactive parameter : isovalue selection Output : Isosurface triangulation

isosurfacing

Page 23: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Surface Intersection in a CubeSurface 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

Page 24: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Surface Intersection in a CubeSurface Intersection in a Cube

There are 2^8=256 ways the surface may intersect the cube

Triangulate each case

Page 25: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Marching Cubes TableMarching Cubes Table

Using symmetries reduces 256 cases into 15 cases

<wrong surface>

Page 26: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Surface intersection in a cubeSurface intersection in a cube

Create an index for each case:

Interpolate surface intersection along each edge

Page 27: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Calculating normalsCalculating normals

Calculate normal for each cube vertex:

Interpolate the normals at

the vertices of the triangles:

Page 28: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Problems in Marching CubesProblems 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

Page 29: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Problems in Marching CubesProblems 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

Page 30: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

ComparisonComparison

Volume Rendering 투명도 처리를 통해 3D 볼륨 전체를 2D 화면에 보여줌 뚜렷한 경계면이 없는 물체도 효과적으로 나타냄 Transfer function 의 조작에 따라 결과 영상의 quality

가 많이 달라질 수 있으므로 , 숙련된 조작을 필요로 함 .

Isosurface Extraction Triangulation 을 하기 때문에 Surface Mesh 표현법의

장점 (fast rendering, shading, 등 ) 을 가짐 하나의 isosurface 는 볼륨 전체를 나타내는 것이

아니라 선택된 isovalue 값을 가지는 점의 집합만 보여줌 .

Page 31: 3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.

Visualization SWVisualization SW

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

Transfer function