0% found this document useful (0 votes)
29 views56 pages

24 Visualization

The document discusses various techniques for visualizing different types of scientific data including scalar fields represented as height fields, contours, and volume renderings; vector fields visualized using hedgehogs and glyphs; and outlines challenges in visualizing large datasets commonly found in scientific and medical applications.

Uploaded by

ganesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views56 pages

24 Visualization

The document discusses various techniques for visualizing different types of scientific data including scalar fields represented as height fields, contours, and volume renderings; vector fields visualized using hedgehogs and glyphs; and outlines challenges in visualizing large datasets commonly found in scientific and medical applications.

Uploaded by

ganesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Visualization

Images are used to aid in understanding of data

Height Fields and Contours


Scalar Fields
Volume Rendering
Vector Fields
[chapter 26]
Tumor

SCI, Utah
Scientific Visualization
• Visualize large datasets in scientific and medical applications
• Generally do not start with a 3D model

CT Scan - whiter means higher radiodensity


Scientific Visualization

• Must deal with very large data sets


– CT or MRI, e.g. 512 512 200 50MB points
– Visible Human 512 512 1734 433 MB points

• Visualize both real-world and simulation data


– Visualization of Earthquake Simulation Data
– Visualizations of simulated room fires
– Fluid simulation
Types of Data
• Scalar fields (2D or 3D volume of scalars)
– E.g., x-ray densities (MRI, CT scan)

• Vector fields (3D volume of vectors)


– E.g., velocities in a wind tunnel

• Tensor fields (3D volume of tensors [matrices])


– E.g., stresses in a mechanical part

All could be static or through time


Outline
• 2D Scalar Field (Height Fields) z = f(x,y)

• 3D Scalar Fields v = f(x,y,z)

• Volume Rendering

Blood flow in
• Vector Fields human carotid artery
2D Scalar Field
• z = f(x,y)

1− x2 − y2 , if x 2 + y 2 < 1
f ( x, y ) = 0

How do you visualize this function?


2D Scalar Field
• z = f(x,y)

1− x − y ,
2 2
if x + y < 1
2 2
f ( x, y ) = 0

Contours

Topographical maps to indicate elevation


2D Scalar Field
• z = f(x,y)

1− x − y ,
2 2
if x + y < 1
2 2
f ( x, y ) = 0

Density plot
Density is proportional to the value of the function
2D Scalar Field
• z = f(x,y)

1− x − y ,
2 2
if x + y < 1
2 2
f ( x, y ) = 0

Gray scale density plot

z=0 => (0,0,0)


z = 0.25 => (0,0,1)
z = 0.5 => (1,0,0)
z = 0.75 => (1,1,0)
z = 1.0 => (1,1,1)
2D Scalar Field
• z = f(x,y)

1− x − y ,
2 2
if x + y < 1
2 2
f ( x, y ) = 0

Height plot
Shows shape of the function
Height Field
• Visualizing an explicit function

z = f(x,y)

• Adding contour curves

f(x,y) = c
Meshes
• Function is sampled (given) at xi, yi, 0 i, j n
• Assume equally spaced

• Generate quadrilateral or triangular mesh


• [Asst 1]
Contour Curves
1− x2 − y2 , if x 2 + y 2 < 1
f ( x, y ) =
0

• Contour curve at f(x,y) = c

• How can we draw the curve?

• Sample at regular intervals for x,y f<c

f>c
Marching Squares
• Sample function f at every grid point xi, yj
• For every point fi j = f(xi, yj) either fi j c or fi j > c
Ambiguities of Labelings
Ambiguous labels

Different resulting
contours

Resolution by subdivision
(where possible)
Cases for Vertex Labels
16 cases for vertex labels

4 unique mod. symmetries


Marching Squares Examples

Can you do better?


Interpolating Intersections
• Approximate intersection
– Midpoint between xi, xi+1 and yj, yj+1
– Better: interpolate
• If fi j = a is closer to c than b = fi+1 j then
intersection is closer to (xi, yj):

• Analogous calculation
xi xi+1
for y direction x
fi j = a < c c < b = fi+1 j
Marching Squares Examples
Marching Squares Examples

Adaptive Subdivision
Outline
• 2D Scalar Fields
• 3D Scalar Fields
• Volume Rendering
• Vector Fields
3D Scalar Fields
• Volumetric data sets
• Example: tissue density
• Assume again regularly sampled

• Represent as voxels

• Two rendering methods


–Isosurface rendering
–Direct volume rendering (use all values [next])
Isosurfaces
• Generalize contour curves to 3D

• Isosurface given by f(x,y,z) = c


– f(x, y, z) < c inside
– f(x, y, z) = c surface
– f(x, y, z) > c outside
Marching Cubes
• Display technique for isosurfaces
• 3D version of marching squares
• How many possible cases?

28 = 256
Marching Cubes
• 14 cube labelings (after elimination symmetries)
Marching Cube Tessellations
• Generalize marching squares, just more cases
• Interpolate as in 2D
• Ambiguities similar to 2D
Marching Squares Examples
Marching Squares Examples
Example (Utah)
Outline
• 2D Scalar Fields
• 3D Scalar Fields
• Volume Rendering
• Vector Fields
Volume Rendering
• Some data is more naturally modeled as a volume, not a surface
• Use all voxels and transparency (a-values)

Ray-traced isosurface Same data, rendered


f(x,y,z)=c as a volume
Why Bother with Volume Rendering?

• Not all voxels contribute to final image


• Could miss most important data by selecting wrong isovalue

• All voxels contribute to the image


– more informative
– less misleading (the isosurface of noisy data is unpredictable)

• Simpler and more efficient than converting a very complex


data volume (like the visible human) to polygons and then
rendering them
Surface vs. Volume Rendering
• 3D model of surfaces • Scalar field in 3D
• Convert to triangles • Convert to RGBA values
• Draw primitives • Render volume “directly”
• Lose or disguise data • See data as given
• Good for opaque objects • Good for complex objects
Sample Applications
• Medical
– Computed Tomography (CT)
– Magnetic Resonance Imaging (MRI)
– Ultrasound
• Engineering and Science
– Computational Fluid Dynamics (CFD) – aerodynamic simulations
– Meteorology – atmospheric pressure, temperature, wind speed, wind
direction, humidity, precipitation
– Astrophysics – simulate galaxies

Simulate gravitational contraction


of complex N-body systems
A computer simulation of high velocity air flow
around the Space Shuttle.
Volume Rendering Pipeline
• Data volumes come in all types: tissue density (CT), wind
speed, pressure, temperature, value of implicit function.
• Data volumes are used as input to a transfer function, which
produces a sample volume of colors and opacities as output.
– Typical might be a 256x256x64 CT scan
• That volume is rendered to produce a final image.

Transfer function Rendering


Data sets Sample Volume Image
Transfer Functions
• Transform scalar data values to RGBA values
• Apply to every voxel in volume
• Highly application dependent
• Start from data histogram
Transfer Function Example

Mantle Convection

Scientific Computing and Imaging (SCI)


University of Utah
Transfer Function Example

G. Kindlmann
Volume Rendering Pipeline
• Use opacity for emphasis

CT Scan - whiter means higher radiodensity


Volume Rendering

Transfer function Rendering


Data sets Sample Volume Image

• Three volume rendering techniques


– Volume ray casting
– Splatting
– 3D texture mapping
Volume Ray Casting
• Ray Casting
– Integrate color and opacity along the ray
– Simplest scheme just takes equal steps along ray,
sampling opacity and color
– Grids make it easy to find the next cell
Trilinear Interpolation
• Interpolate to compute RGBA away from grid
• Nearest neighbor yields blocky images
• Use trilinear interpolation
• 3D generalization of bilinear interpolation
Nearest
neighbor

Trilinear
interpolation
Trilinear Interpolation

Bilinear interpolation

Trilinear interpolation
Splatting
• Alternative to ray tracing
• Assign shape to each voxel (e.g., sphere or Gaussian)
• Project onto image plane (splat)
• Draw voxels back-to-front
• Composite (a-blend)
3D Textures
• Alternative to ray tracing, splatting
• Build a 3D texture (including opacity)
• Draw a stack of polygons, back-to-front
• Efficient if supported in graphics hardware
• Few polygons, much texture memory
3D RGBA texture

Viewpoint

Draw back to front


Other Techniques
• Use CSG for cut-away

not

and
head or
Acceleration of Volume Rendering
• Basic problem: Huge data sets
• Octrees
• Use error measures to stop iteration
• Exploit parallelism
Outline
• Height Fields and Contours
• Scalar Fields
• Volume Rendering
• Vector Fields
Vector Fields
• Visualize vector at each (x,y,z) point
– Example: velocity field
• Hedgehogs
– Use 3D directed line segments (sample field)
– Orientation and magnitude determined by vector
• Glyph
– Use other geometric primitives
– Cones

Blood flow in
human carotid artery
Vector Fields (Utah) Tornado
Glyphs for air flow

Magnetic field
Plasma disruption
More Flow Examples

Banks and Interrante


Interaction: Data Probe
SCI, Utah
Example of visualization application
University of Utah

http://www.sci.utah.edu/
Summary
• Height Fields and Contours
• Scalar Fields
– Isosurfaces
– Marching cubes
• Volume Rendering
– Volume ray tracing
– Splatting
– 3D Textures
• Vector Fields
– Hedgehogs
– Glyph
Announcements

• Course Evaluation is now open


• Until Monday, May 7th
• Please complete the evaluation

• We read it and listen to what you say

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy