![Page 1: 3D Volume Visualization. Volume Graphics Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete) 경계표면 (Boundary](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/21.jpg)
얼굴 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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022081603/56649f395503460f94c55e3a/html5/thumbnails/31.jpg)
Visualization SWVisualization SW
Volume Rover http://www.cs.utexas.edu/~bajaj/cvc/software/volrover.shtml
Transfer function