Scientific Visualization

Download Report

Transcript Scientific Visualization

Scientific Visualization Data Modelling for Scientific Visualization CS 5630 / 6630 August 28, 2007

Recap: The Vis Pipeline

Recap: The Vis Pipeline

Types of Data in SciVis: Functions http://lambda.gsfc.nasa.gov/product/cobe/firas_image.cfm

Types of Data in SciVis: Functions on Circles E. Anderson et al.: Towards Development of a Circuit Based Treatment for Impaired Memory

Types of Data in SciVis: 2D Scalar Fields

Types of Data in SciVis: Scalar Fields on Spheres http://lambda.gsfc.nasa.gov/product/cobe/firas_image.cfm

Types of Data in SciVis: 3D, time-varying Scalar Fields http://background.uchicago.edu/~whu/beginners/introduction.html

Types of Data in SciVis: 2D Vector Fields

Types of Data in SciVis: 3D Vector Fields

Tensors  Tensors are “multilinear functions”  rank 0 tensors are scalars  rank 1 tensors are vectors  rank 2 tensors are matrices, which transform vectors  rank 3..n tensors have no nice name, but they transform matrices, rank-3 tensors, etc.

 We are not going to see these

DTI Tensors  DTI Tensors are symmetric, positive definite  SPD: scale along orthogonal directions  More specifically, they approximate the rate of directional water diffusion in tissue

Types of Data in SciVis: 2D, 3D Tensor Fields Kindlmann et al. Super-Quadric Tensor Glyphs and Glyph-packing for DTI vis.

Computers like discrete data, but world is continuous

Sampling  Continuous to discrete  Store properties at a finite set of points

Sampling  Continuous to discrete  Store properties at a finite set of points

Sampling  Continuous to discrete  Store properties at a finite set of points

Interpolation  Discrete to continuous  Reconstruct the illusion of continuous data, using finite computation

Nearest Neighbor Interpolation  Pick the closest value to you

Linear Interpolation  Assume function is linear between two samples

Linear Interpolation  Assume function is linear between two samples v1 v2 0 u 1 f(x) = ax + b v1 = a.0 + b = b v2 = a.1 + b = a + b b = v1 a = v2 – b = v2 - v1 f(x) = v1+ (v2 – v1).x

sometimes written as f(x) = v2.x + v1.(1-x)

Cubic Interpolation  Linear reconstruction is better than NN, but it is not smooth across sample points  Let's use a cubic  Two more parameters: we need constraints  Constrain derivatives

 Same as with linear v2 v3 v0 v1 -1 Cubic Interpolation 0 1 2 f(x) = a+b.x+c.x^2+d.x^3 f'(x) = b + 2cx + 3dx^2 f(0) = v1 f(1) = v2 f'(0) = (v2 – v0)/2 f'(1) = (v3 – v1)/2 ...

a = v1 b = (v2-v0) / 2 c = v0 – 5.v1/2 + 2v2 – v3/2 d = -v0/2 + 3.v1/2 – 3.v2/2 + v3/2

(VisTrails Demo)  Linear vs Higher-order interpolation in plotting

Might make a big difference!

Kindlmann et al. Geodesic-loxodromes... MICCAI 2007

1D vs n-D  Most common technique: separability  Interpolate dimensions one at a time

(VisTrails Demo)  2D Interpolation in VTK images

Implicit vs Explicit Representations  Explicit is parametric  Domain and range are “explicit”  Implicit stores domain... implicitly  Zero set of a explicit domain  Pro: it's easy to change topology of domain: just change the function  Con: it's harder to analyze and compute with

Implicit vs. explicit representations Explicit: y(t) = sin(t) x(t) = cos(t) s = (x(t), y(t)), 0 < t <= 2  Implicit: f(x,y) = x^2 + y^2 - 1 s = (x,y): f(x,y) = 0

Regular vs Irregular Data  Regular data: sampling on every point of an integer lattice  Irregular data: more general sampling

Curvilinear grid  Like a regular grid, but on curvilinear coordinates  Here, radius and angle

Triangular and Tetrahedral Meshes  Completely arbitrary samples  Need to store

topology: How do samples connect with one another?

Quadrilateral and Hexahedral Meshes  Basic element is a quad or a hex  Element shape is better for computation  Much, much harder to generate

Tabular Data  Most common in information visualization  Relational DBs

... etc.

 Node vs cell data: do we store values on nodes (vertices) or on cells (tets and tris)?

 Pure-quad vs quad-dominant: mixing types of elements  Linear vs high-order: different interpolation modes on elements