volume visualization i elvins
TRANSCRIPT
![Page 1: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/1.jpg)
1
Volume visualization I Elvins
• surface fitting algorithms
? marching cubes
? dividing cubes
• direct volume rendering algorithms
? ray casting, integration methods
? voxel projection, projected tetrahedra, splatting
• hybrid rendering algorithms
![Page 2: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/2.jpg)
2
Background & Motivation
• Large three-dimensional (3D) data sets arise from measurement
by physical equipment, or from computer simulation.
• Scientific areas: computerized tomography (CT), astronomy,
computational physics or chemistry, fluid dynamics, seismology,
environmental research, non-destructive testing, etc.
• For easy interpretation volume visualization techniques are
useful:
? view data from different viewpoints.
? interactive exploration in Virtual Environments.
![Page 3: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/3.jpg)
3
Requirements
• Compression/simplification: visualize reduced version of data
in controllable way.
• Progressive refinement: incremental visualization from low to
high resolution.
• Progressive transmission: transmit data incrementally from
server to client’s workstation (data transfer is time-limiting
factor)
• Level-of-detail (LOD): use low resolution for small, distant or
unimportant parts of the data.
![Page 4: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/4.jpg)
4
Volume rendering integral
• Transport of light is modelled by equations originating from
physics.
• low albedo approximation for the intensity I(x, s) at position
x integrated along the line x + ts, t0 ≤ t ≤ tl:
I(x, s) =∫ tl
t0
f(x + ts)e−∫ tt0α(x+us)dudt.
where t0 is the point of entrance, and tl the point of exit. α
is the opacity (related to the density of the particles).
![Page 5: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/5.jpg)
5
X-ray rendering
Further simplification: α = 0.
I(x, s) =∫ tl
t0
f(x + ts)dt.
![Page 6: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/6.jpg)
6
Volume visualization II
• surface rendering
reduce volume to isosurfaces S(c) : f(x, y, z) = c of a
density function f(x, y, z) representing the boundary between
materials.
• direct volume rendering
map volume data directly on screen (no graphical primitives)
with semi-transparent effects
forward projection
BTF
FTB
![Page 7: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/7.jpg)
7
Direct Volume Rendering
X-ray rendering of human head CT data.
![Page 8: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/8.jpg)
8
X-ray rendering
![Page 9: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/9.jpg)
9
X-ray rendering
• integrate the density f along the line of sight
• Mathematical concept: X-ray transform:
Pθf(u, v) =∫R
f(uu + vv + tθ) dt .
P (u,v)
y
θx
θ u
v
z
![Page 10: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/10.jpg)
10
Voxel vs. Cell model
Represents the 3D division of space by a 3D array of grid points.
gridpoint
VOXEL CELL
gridpoint
• Voxel: grid point in center, constant value in voxel
• Cell: grid points at vertices, value within cell varies
![Page 11: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/11.jpg)
11
Generalized Voxel model Hohne et al.
3D array with data about intensity values of different materials
or information about class membership of certain organs Medical
data sources:
MRI soft tissue: fat, muscle
CT hard tissue: bone
PET energy emission, fluid flow, physiology
![Page 12: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/12.jpg)
12
CT vs. MRI
CT image: 512 x 512 pixels, 2 bytes/voxel.
![Page 13: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/13.jpg)
13
CT vs. MRI
MR image: 256 x 256 pixels, 2 bytes/voxel.
![Page 14: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/14.jpg)
14
MRI
![Page 15: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/15.jpg)
15
PET
![Page 16: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/16.jpg)
16
Series of PET scans
![Page 17: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/17.jpg)
17
Orthogonal slices
![Page 18: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/18.jpg)
18
Iso-surface: bone
![Page 19: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/19.jpg)
19
Iso-surface: skin
![Page 20: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/20.jpg)
20
Marching Cubes Lorensen & Cline
1. read 4 successive slices into memory
2. consider cube with 8 data points as vertices : 4 in first slice, 4
in next slice
3. classify vertices 1=inside, 0=outside surface w.r.t. iso-value to
determine index of the cube
4. use index to retrieve intersection- and triangulation pattern
from look-up table
5. determine exact cube side intersections and surface normals by
interpolation of vertex values
6. for each triangle from table, pass the computed 3 vertex values
to graphical hardware
![Page 21: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/21.jpg)
21
Marching Cubes: setup
(i+1,j,k)
i
j
k
Slice k
Slice k+1
pixel
(i,j,k)
(i,j+1,k)
(i,j,k+1)
(i,j+1,k+1) (i+1,j+1,k+1)
(i+1,j,k+1)
(i+1,j+1,k)
![Page 22: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/22.jpg)
22
Marching Cubes
256 possible patterns :
by inversion and rotation reduce to 15 basic patterns
14
0 1 2 3 4
98765
10 11 12 13
![Page 23: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/23.jpg)
23
Marching Cubes: test cube
7 v6 v5 v4 v3 v2 v1 v0index
e11
e6
e10v
v
3
4
v0
v4
v7 v6
v5
v1
v2e2
e7
e1
e0
e3
e8 e9
e5
e
![Page 24: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/24.jpg)
24
Marching Cubes: index table
index basic pattern inversion rotation0 0 0 0, 0, 01 1 0 0, 0, 02 1 0 1, 0, 03 2 0 0, 0, 0... ... ... ...
255 0 1 0, 0, 0
basic pattern intersection of sides triangulation pattern0 – –1 e1e4e9 e1e9e4
2 e2e4e9e10 e2e10e4, e10e9e4... ... ...
14 e1e2e6e7e9e11 e1e2e9, e2e7e9,e2e6e7, e9e7e11
![Page 25: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/25.jpg)
25
Cube side intersections
The exact cube side intersections are determined by linear
interpolation.
x*0 1
distance along edge
f(1)
intensity
f(0)
c
![Page 26: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/26.jpg)
26
Surface normals
• The surface normals are determined by linear interpolation of
vertex normals.
• Each vertex normal is computed by central differences:
Ns = ∇s ≈
s(i+ 1, j, k)− s(i− 1, j, k)s(i, j + 1, k)− s(i, j − 1, k)s(i, j, k + 1)− s(i, j, k − 1)
where s(i, j, k) is the data array.
![Page 27: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/27.jpg)
27
Marching Cubes: (dis)advantages
+ data-volume scanned only once for 1 iso-value
+ determination of geometry independent of viewpoint
– ambiguity in possible triangulation pattern4 4?
– holes in geometry may arise
-36
![Page 28: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/28.jpg)
28
Dividing Cubes
Principle: large numbers of small triangles (projection smaller
than pixel) to be mapped as points
• look for cells with vertex values not all equal
• subdivide cells if projection larger than a pixel
• interpolate gradient vector from vertices
• map surface point to pixel with computed light intensity
• no surface primitives needed; so also no surface-rendering
hardware
![Page 29: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/29.jpg)
29
Surface rendering
Example: Visualization of segmented data (a frog).
Data acquired by physically slicing the frog and photographing
the slices.
Data consists of 136 slices of resolution 470× 500.
Each pixel labelled with tissue number for a total of 15 tissues.
![Page 30: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/30.jpg)
30
Segmented slice of frog
![Page 31: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/31.jpg)
31
Simplified visualization pipeline
1. read segmentation data
2. remove islands (optional)
3. select tissue by thresholding
4. resample volume (optional)
5. apply Gaussian smoothing filter
6. generate surface using Marching Cubes
7. decimate surface (optional)
8. write surface data
![Page 32: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/32.jpg)
32
Why smooth the volume?
![Page 33: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/33.jpg)
33
Frog
![Page 34: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/34.jpg)
34
Frog Organs
![Page 35: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/35.jpg)
35
3D CT imaging
CT images of bones and tendons of a hand. All tendons and bones are
separately segmented. (Courtesy: prof. Frans Zonneveld).
![Page 36: Volume visualization I Elvins](https://reader036.vdocuments.net/reader036/viewer/2022071601/613d4efc736caf36b75bca79/html5/thumbnails/36.jpg)
36
Drawbacks of surface rendering
✘ only approximation of surface
✘ only surface means loss of information
✘ amorphous phenomena have no surfaces, e.g. clouds
✘ MR also difficult to visualize: different tissues map to the
same scalar value