Document 14077002

advertisement
cs6630 | October 30 2014
GRIDS
Miriah Meyer
University of Utah
1
administrivia . . .
2
-
parallel coordinates assignment due tonight
!
-
scalar data assignment out today
3
last time . . .
4
MAPS
5
landmarks
6
what do they mean?
7
data as
points
data : ordered/
quantitative
!
encoding : size
8
Lines of Equal Magnetic Declination
first contour map
isopleth
map which overlays
continuous data using a
third encoding channel
Edmond Halley, 1701
9
Illiteracy in France
first choropleth map
choropleth
map in which areas are
shaded, colored, or
patterned relative to a
data attribute value
Charles Dupin, 1826
10
Land Area
first cartogram
cartogram
map in which areas are
scaled and distorted
relative to a data
attribute value
Emile Levasseur, 1868
11
azimuthal
preserves direction
equal-area
preserves area
conformal
preserves local shapes
12
today . . .
13
Glyph-Based Mapping
Techniques
• Superquadric glyphs
[Kindlmann 2004]
15
© Weiskopf/Machiraju/Möller
17
Glyph-Based Mapping
Techniques
• Superquadric glyphs
[Kindlmann 2004]
15
© Weiskopf/Machiraju/Möller
17
-
data sources
-
data representation
-
interpolation
16
DATA SOURCES
17
Data Sources
data
sources
REAL WORLD
MEASUREMENTS
• Real-world measurements
–
–
–
–
–
–
–
–
–
Medical Imaging (MRI, CT, PET)
Geographical information systems (GIS)
MB
Electron microscopy
Meteorology and environmental sciences (satellites)
Seismic data
GB
Crystallography
High energy physics
Astronomy (e.g. Hubble Space Telescope 100MB/day)
TB
Defense
© Weiskopf/Machiraju/Möller
18
Data Sources
• Theoretical world
THEORETICAL
• Computer
simulations
MEASUREMENTS
– Sciences
•
•
•
•
•
•
•
Molecular dynamics
Quantum chemistry
Mathematics
Molecular modeling
Computational physics
Meteorology
Computational fluid mechanics (CFD)
MB
GB
– Engineering
• Architectural walk-throughs
• Structural mechanics
• Car body design© Weiskopf/Machiraju/Möller
MB
GB
19
DATA REPRESENTATION
20
Data Representation
• Discrete representations
!
– The objects
wetowant
to visualize
are often ‘continuous’
objects
we want
visualize
are continuous
– But
in most
cases, at
thediscrete
visualization
data is given only at
but,
data
only given
locations
discrete
locations
in space
and/or
time
grids
(meshes)
consist
of cells
generated
from data points
– Discrete structures consist of samples, from which
grids/meshes consisting of cells are generated
• Primitives in different dimensions
dimension
mesh
cell
0D
points
1D
lines (edges)
2D
triangles, quadrilaterals (rectangles)
3D
tetrahedra, prisms, hexahedra
polyline(–gon)
© Weiskopf/Machiraju/Möller
21
2D mesh
3D mesh
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
22
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
22
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
22
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
22
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
22
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
22
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
22
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
22
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
22
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Data Representation
Types
andofClassification
of Field
• Classification
visualization techniques according
to Data
-
– Dimension of
of the
domain (the
of the field)
problem
dimension
domain
(independent params)
dimension
of
the
data
to
visualize
(the
geometry)
– Type and dimension of the data to be visualized
dimension of
data type
mD
(dependent params)
G
3D
Examples:
F
2D
E
1D
C
D
0D
A
B
H
dimension
of domain
1D
2D
3D
© Weiskopf/Machiraju/Möller
nD
A: gas station along a road
B: map of cholera in London
C: temperature along a rod
D: height field of a continent
E: 2D air flow
F: 3D air flow in the atmosphere
G: stress tensor in a mechanical
part
H: ozone concentration in the
atmosphere
Basic Strategies
• Visualization of 1D, 2D, or 3D scalar fields
– 1D scalar field:
⇥R
2
⇥R
– 2D scalar field:
3
– 3D scalar field:! ⇥
! R !
→ Volume visualization!
R
R
R
Basic Strategies
• Mapping to geometry
– Function plots
– Height fields
– Isolines and isosurfaces
• Color coding
• Specific techniques for 3D data
– Indirect volume visualization
– Direct volume visualization
– Slicing
• Visualization method depend heavily on
Weiskopf/Machiraju/Möller
dimensionality of ©domain
5
NIH project established in 1989
- male: 1994
- 1,871 4mm slices
- 15GB
- female: 1995
- 5,189 0.33mm slices
- 40GB
- MRI, CT, and color
-
26
NIH project established in 1989
- male: 1994
- 1,871 4mm slices
- 15GB
- female: 1995
- 5,189 0.33mm slices
- 40GB
- MRI, CT, and color
-
26
ig. 1. Full-color
human
dataset,
with close-ups
of the
high-resolution
visible
on the chest and
T. Fogal, visible
J. Krueger.
Sizemale
Matters
- Revealing
Small Scale
Structures
in Largetattoos
Datasets,
In IFMBE
rms.
Proceedings, Vol. 25/13, Springer Berlin Heidelberg, pp. 41--44. 2009.
he manner that the user desires.
large data:
Volume Visualization
• Representation of scalar
3
3D data set
⇥R
R
• Analogy: pixel (picture element)
• Voxel (volume element), with two interpretations:
– Values between grid points are resampled by
interpolation
•
•
Collection of voxels
Uniform grid
© Weiskopf/Machiraju/Möller
16
voxel
29
Input Data
• Discrete positions (vertices)
• N dimensions, N=1, 2, 3, ...
• With or without connectivity information
• Structured
• Unstructured
• Scattered
CS530 - Introduction to Scientific Visualization
grid topology
Sep 26, 2014,
Grid Structure
Classification
• Geometry
• Position of vertices in Euclidean space
• Structured / unstructured
• Topology
•
•
•
•
Cells
Connectivity information
Neighborhood definition
Structured / unstructured
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
Grid Geometry
Uniform
• implicit relationship between points
• positions can be computed (procedural)
Pi,j
Pi,j,k = P0,0 + i
ex
x~
+j
ey
y~
+k
ez
z~
y
P0,0
x
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
Arecibo Message
http://en.wikipedia.org/wiki/Arecibo_message
• Way of understanding
mechanics of raster image
representation
• Radio telecope in Puerto Rico
• built in 1964, renovated in
1974
• To celebrate: Frank Drake and
Carl Sagan (Cornell
University) sent message to
M13 in Hercules (25,000 light
years away)
• 1679 bits, frequency
modulate 2380 MHz
The Message
http://www.physics.utah.edu/~cassiday/p1080/lec06.html
1679 bits were encoded as 2380MHz plus and minus some frequency
000000101010100000000000010100000101000000010010001000100010010110010101
010101010101001001000000000000000000000000000000000000011000000000000000
000011010000000000000000000110100000000000000000010101000000000000000000
111110000000000000000000000000000000011000011100011000011000100000000000
001100100001101000110001100001101011111011111011111011111000000000000000
000000000001000000000000000001000000000000000000000000000010000000000000
000011111100000000000001111100000000000000000000000110000110000111000110
001000000010000000001000011010000110001110011010111110111110111110111110
000000000000000000000000010000001100000000010000000000011000000000000000
100000110000000000111111000001100000011111000000000011000000000000010000
000010000000010000010000001100000001000000011000011000000100000000001100
010000110000000000000001100110000000000000110001000011000000000110000110
000001000000010000001000000001000001000000011000000001000100000000110000
000010001000000000100000001000001000000010000000100000001000000000000110
000000001100000000110000000001000111010110000000000010000000100000000000
000100000111110000000000001000010111010010110110000001001110010011111110
111000011100000110111000000000101000001110110010000001010000011111100100
000010100000110000001000001101100000000000000000000000000000000000111000
001000000000000001110101000101010101010011100000000010101010000000000000
000101000000000000001111100000000000000001111111110000000000001110000000
111000000000110000000000011000000011010000000001011000001100110000000110
011000010001010000010100010000100010010001001000100000000100010100010000
000000001000010000100000000000010000000001000000000000001001010000000000
01111001111101001111000
This is a 1-D sequence of bits in time
How will an alien understand this list of bits?
(will have different symbols than “0” “1”)
No meta-information!
Understanding the message
• Perhaps some “visual” representation of bits!
!
• (what is black vs white?) !
• Aliens notice 1679 = 23 x 73
!
(product of two primes)
• Perhaps its not a linear sequence: 2-D array
•Two ways of sequencing values in 2D array
•Various ways of laying them out in 2D space
•Then: have to decipher it!
73 x 23
73 x 23
23 x 73: what was different?
73 x 23
23 x 73: what was different?
73 x 23
23 x 73: what was different?
73 x 23
23 x 73: what was different?
73 x 23
compare to:
http://en.wikipedia.org/wiki/Arecibo_message
23 x 73: what was different?
4 basic pieces of image metadata
• Interpretation of individual values!
• units, scalars, vectors, tensors, measurement frame!
• Dimension of array!
• dimension of domain sampled!
• # axes, or # indices for getting a single sample!
• Choice of axis ordering (fast-to-slow, or slow-to-fast)!
• Culturally specific!
• # samples along each axis!
• “640-by-480 image” or “N-by-M matrix”
Grid Geometry
Structured
• implicit relationship between points
• positions can be computed (procedural)
y [j]
Pi,j
Pi,j,k = P0,0 +
ex
x [i]~
+
ey
y [j]~
+
ez
z [k]~
y [1]
P0,0
x [1]
x [i]
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
Grid Geometry
Unstructured
• No underlying structure
• Requires explicit knowledge of every vertex’s
position: (x0, y0, z0), (x1, y1, z1), ...,
CS530 - Introduction to Scientific Visualization
7
Sep 26, 2014,
Grid Topology
Structured (quadrilateral / hexahedron)
• Implicit connectivity between vertices
• Implicit cell definition
Associated with
structured geometry:
j
very efficient position location
i
CS530 - Introduction to Scientific Visualization
Pixel
8
Sep 26, 2014,
Grid Topology
Structured (quadrilateral / hexahedron)
• Implicit connectivity between vertices
• Implicit cell definition
Associated with
(n-1)m
(n-2)m
unstructured
…
2m
geometry:
mn-1
curvilinear grid
m
0
1
2
3
…
CS530 - Introduction to Scientific Visualization
m-2
m-1
Hexahedron
Quadrilateral
Sep 26, 2014,
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
Grid Topology
Structured (quadrilateral / hexahedron)
• Implicit connectivity between vertices
• Implicit cell definition
(n-1)m
(n-2)m
…
2m
m
mn-1
Physical Space
Computational
Space
0
1
2
3
…
CS530 - Introduction to Scientific Visualization
m-2
m-1
12
Sep 26, 2014,
Grid Topology
Unstructured (any cell type)
• Explicit cell definition
• Types
• Vertices
Thursday, July 7, 2011
Tetrahedron
Hexahedron
CS530 - Introduction to Scientific Visualization
Wedge
13
Pyramid
Sep 26, 2014,
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
Grid Types
Geometry
Topology
Structured
Unstructured
Uniform
Image
Unstructured
Structured
Rectilinear
Unstructured
Unstructured
Curvilinear
Unstructured
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
Grid Topology
• Mesh-free (no grid, no connectivity)
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
Data Structures
•
Grids
(Meshes)
Grid types
combinesubstantially
positional information
(geometry)
with
–• Meshes
Grids differ
in the
cells (basic
topological information (connectivity).
building blocks) they are constructed from and
• Mesh
canthe
differtopological
substantial depending
in the way
mesh
in thetype
way
information
is given
cells are formed.
scattered
uniform
rectilinear
© Weiskopf/Machiraju/Möller
structured
unstructured
From Weiskopf, Machiraju, Möller
LINEAR CELLS
51
NONLINEAR CELLS
52
INTERPOLATION
53
Mesh Choice Impacts How the
Continuous Data is Interpreted
•
Two key questions:
•
Sampling, or the choice of where attributes are measured
•
Interpolation, or how to model the attributes in the rest of space
Interpolate Here
Interpolate Here
Interpolate Here
Interpolation
• Continuous reconstruction of
position
discrete input data
F : IR
(xi , fi )
⇥i
{1, .., n}, F (xi ) = fi
n
IR
m
value
• Depends on grid structure (when available)
• Interpolation vs. approximation
CS530 - Introduction to Scientific Visualization
20
Sep 26, 2014,
Nearest Neighbor
Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
I[0]
I[1]
I[2]
I[3]
I[4]
Nearest Neighbor
Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Nearest Neighbor
Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Nearest Neighbor
Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
•
I[1.3] = I[round(1.3)] = I[1]
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Nearest Neighbor
Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
•
I[1.3] = I[round(1.3)] = I[1]
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Linear Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
I[0]
I[1]
I[2]
I[3]
I[4]
Linear Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Linear Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Linear Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Linear Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
•
Let s = 1.3 - round(1.3)
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Linear Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
•
Let s = 1.3 - round(1.3)
•
I[1.3] = 0.7*I[1] + 0.3*I[2] = (1-s)*I[1] + s*I[2]
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Linear Interpolation
•
Consider a 1-dimensional, grayscale image I spread horizontally
•
What value is I[1.3] ?
•
Let s = 1.3 - round(1.3)
•
I[1.3] = 0.7*I[1] + 0.3*I[2] = (1-s)*I[1] + s*I[2]
I[1.3]
I[0]
I[1]
I[2]
I[3]
I[4]
Bilinear Interpolation
• Bilinear
interpolation
In rectangle
y) =v)Q
axy
+ bx
cyt (u)
+d
P (x,
= (1
++
vQ
Qb (u)
Q
=
Rr (v)
i, (1
(Pi )u)R
=Rli(v) + uR
Qt (u)
P4
Combination of two
consecutive linear
interpolation
1-v
P
Rl (v)
P3
(u,v)
Rr (v)
v
P1
CS530 - Introduction to Scientific Visualization
25
u
Qb (u)
1-u
P2
Sep 26, 2014,
Bilinear Interpolation
• In rectangle
P = (1
= (1
v)Q
Qb (u) + vQ
Qt (u)
u)R
Rl (v) + uR
Rr (v)
Qt (u)
P4
1-v
P
Rl (v)
P3
(u,v)
Rr (v)
v
P1
CS530 - Introduction to Scientific Visualization
u
Qb (u)
1-u
P2
Sep 26, 2014,
Bilinear Interpolation
• In rectangle
PP==PP11+
+v(P
v(P44 PP1 )1 )
+u(P
u(P22 P11)) +
+uv(P11 P22 +
+uv(P
+ PP33 PP44) )
P4
Qt (u)
1-v
P
Rl (v)
P3
(u,v)
Rr (v)
v
P1
CS530 - Introduction to Scientific Visualization
27
u
Qb (u)
1-u
P2
Sep 26, 2014,
Bilinear
Interpolation
•
Alternate interpretation is
a weighted sum of the
four pixel values
•
Weights defined by the
area opposite each
corner
http://en.wikipedia.org/wiki/Bilinear_interpolation
Trilinear Interpolation
• In a cuboid (axis parallel)
• general formula
(x, y, z) = axyz + bxy + cxz + dyz + ex + f y + gz + h
• with local coordinates
P = P1
+u(P2 P1 )
+v(P4 P1 )
+w(P5 P1 )
P5
P7
P6
1-w
w
+uv(P1 P2 + P3 P4 )
+uw(P1 P2 + P6 P5 ) P1
+vw(P1 P4 + P8 P5 )
+uvw(P1 P2 + P3 P4 + P5
CS530 - Introduction to Scientific Visualization
P8
31
P4
u
P
P3
v
1-u
P2
P6 + P 7
P8 )
1-v
Sep 26, 2014,
But Also...
• Nearest Neighbor interpolation
Voronoi diagram
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
But Also...
• Higher-order interpolation schemes
• splines, local polynomial fit (interpolation, least sq., ...)
• smooth reconstruction kernels (on uniform grids)
CS530 - Introduction to Scientific Visualization
Sep 26, 2014,
L17: Isosurfaces
REQUIRED READING
66
i
i
Chapter 8
Arrange Spatial Data
8.1
The Big Picture
For datasets with spatial semantics, the usual choice for arrange
is to use the given spatial information to guide the layout. In this
case, the choices of express, separate, order, and align do not apply
because the position channel is not available for directly encoding
attributes. The two main spatial data types are geometry, where
shape information is directly conveyed by spatial elements that
do not necessarily have associated attributes, and spatial fields,
where attributes are associated with each cell in the field. (See Figure 8.1.) For scalar fields with one attribute at each field cell, the
two main visual encoding idiom families are isocontours and direct
volume rendering. For both vector and tensor fields, with multiple
attributes at each cell, there are four families of encoding idioms:
flow glyphs that show local information, geometric approaches that
compute derived geometry from a sparse set of seed points, texture
approaches that use a dense set of seeds, and feature approaches
where data is derived with global computations using information
from the entire spatial field.
(~
~
ComputerGraphics,Volume21, Number4, July 1987
MARCHING CUBES: A HIGH RESOLUTION
3D S U R F A C E C O N S T R U C T I O N A L G O R I T H M
William E. Lorensen
Harvey E. Cline
General Electric Company
Corporate Research and Development
Schenectady, New York 12301
Abstract
We present a new algorithm, called marching cubes, that
creates triangle models of constant density surfaces from 3D
medical data. Using a divide-and-conquer approach to generate inter-slice connectivity, we create a case table that
defines triangle topology. The algorithm processes the 3D
medical data in scan-line order and calculates triangle vertices
using linear interpolation. We find the gradient of the original data, normalize it, and use it as a basis for shading the
models. The detail in images produced from the generated
surface models is the result of maintaining the inter-slice
connectivity, surface data, and gradient information present
in the original 3D data. Results from computed tomography
(CT), magnetic resonance (MR), and single-photon emission
computed tomography (SPECT) illustrate the quality and
functionality of marching cubes. We also discuss improvements that decrease processing time and add solid modeling
capabilities.
CR Categories: 3.3, 3.5
Additional Keywords: computer graphics, medical imaging,
acetabular fractures [6], craniofacial abnormalities [17,18],
and intracranial structure [13] illustrate 3D's potential for the
study of complex bone structures. Applications in radiation
therapy [27,11] and surgical planning [4,5,31] show interactive 3D techniques combined with 3D surface images. Cardiac applications include artery visualization [2,16] and nongraphic modeling applications to calculate surface area and
volume [21].
Existing 3D algorithms lack detail and sometimes introduce artifacts. We present a new, high-resolution 3D surface
construction algorithm that produces .models with unprecedented detail. This new algorithm, called marching cubes,
creates a polygonal representation of constant density surfaces from a 3D array of data. The resulting model can be
displayed with conventional graphics-rendering algorithms
implemented in software or hardware.
After describing the information flow for 3D medical applications, we describe related work and discuss the drawbacks of that work. Then we describe the algorithm as well
as efficiency and functional enhancements, followed by case
studies using three different medical imaging techniques to il-
Download