Title: Visualization Data Representation
1Visualization Data Representation
- Ray Gasser
- rayg_at_bu.edu
2Characteristics of Data
- Data is discrete
- Interpolation functions generate data values in
between known points - Structure may be regular or irregular
- Regular (structured)
- need to store only beginning position, spacing,
number of points - smaller memory footprint per cell (topology can
be generated on the fly) - examples image data, rectilinear grid,
structured grid - Irregular (unstructured)
- information can be represented more densely where
it changes quickly - higher memory footprint (topology must be
explicitly written) but more freedom - examples polygonal data, unstructured grid
SCV Visualization Workshop Fall 2008
3Characteristics of Data
- Data has a topological dimension
- determines methods for visualization
- determines data representation
- examples
- 0D - points
- 1D - lines/Curves
- 2D - surfaces
- 3D - volumes
- Data is organized into datasets for visualization
- Datasets consist of two pieces
- organizing structure
- cells (topology)
- points (geometry)
- data attributes associated with the structure
- File format derived from organizing structure
SCV Visualization Workshop Fall 2008
4Organizing Structure (Topology)
- Topology
- the way in which constituent parts are
interrelated or arranged - specified by one or more cells (types vary with
visualization packages) - vertex - (0D) point
- polyvertex - (0D) arbitrarily ordered list of
points - line - (1D) defined by two points
- polyline - (1D) ordered list of one or more
connected lines - triangle - (2D) ordered list of three points
- triangle strip - (2D) ordered list of n 2
points (n is the number of triangles) - polygon - (2D) ordered list of three or more
points lying in a plane - pixel - (2D) ordered list of four points with
geometric constraints - quadrilateral - (2D) - ordered list of four
points lying in a plane - tetrahedron - (3D) ordered list of four nonplanar
points - voxel - (3D) ordered list of eight nonplanar
points with geometric constraints - hexahedron - (3D) ordered list of eight nonplanar
points
SCV Visualization Workshop Fall 2008
5Examples of Cell Types
SCV Visualization Workshop Fall 2008
6Organizing Structure (Geometry)
- Geometry
- point coordinates assigned to a topology in 3D
space - represented by points
- example (0 0 0), (0 1 0), (1 0 0) would be the
geometry for a triangle
SCV Visualization Workshop Fall 2008
7Examples of Dataset Types
- Image Data (Structured Points)
- regular in both topology and geometry
- examples lines, pixels, voxels
- applications imaging CT, MRI
- Rectilinear Grid
- regular topology but geometry only partially
regular - examples pixels, voxels
- Structured Grid
- regular topology and irregular geometry
- examples quadrilaterals, hexahedron
- applications fluid flow, heat transfer
SCV Visualization Workshop Fall 2008
8Examples of Dataset Types
- Unstructured Points
- no topology and irregular geometry
- examples vertex, polyvertex
- applications data with no inherent structure
- Polygonal Data
- irregular in both topology and geometry
- examples vertices, polyvertices, lines,
polylines, polygons, triangle strips - Unstructured Grid
- irregular in both topology and geometry
- examples any combination of cells
- applications finite element analysis, structural
design, vibration
SCV Visualization Workshop Fall 2008
9Examples of Dataset Types
- XML
- much more complicated than the dataset types
described above, but supports many more features - provides the user with the ability to extend a
file format with application specific tags - in VTK the XML dataset has support for
compression, portable binary encoding, random
access, byte ordering, and multiple file
representation of piece data
SCV Visualization Workshop Fall 2008
10Data Attributes
- Data attributes associated with the organizing
structure - Scalars
- single valued
- examples temperature, pressure, density,
elevation - Vectors
- magnitude and direction
- examples velocity, momentum
- Normals
- direction vectors (magnitude of 1) used for
shading - Texture Coordinates
- used to map a point in Cartesian space into 1, 2,
or 3D texture space - used for texture mapping
- Tensors (generalizations of scalars, vectors and
matrices) - rank 0 ( scalar), rank 1 (vector), rank 2
(matrix), rank3 (3D rectangular array) - examples stress, strain
SCV Visualization Workshop Fall 2008
11Visualization of Attributes
- Scalar Algorithms
- Color Mapping
- maps scalar data to colors
- implemented by using scalar values as an index
into a color lookup table - Contouring
- construct a boundary between distinct regions
- two steps
- explore space to find points near contour
- connect points into contour (2D) or surface (3D)
- 2D contour map (isoline)
- applications elevation contours from topography,
pressure contours (weather maps) from meteorology
SCV Visualization Workshop Fall 2008
12Visualization of Attributes
- Contouring (cont)
- 3D isosurface
- applications tissue surfaces from tomography,
constant pressure or temperature in fluid flow,
implicit surfaces from math and CAD - Scalar Generation
- extract scalars from part of data
- example extracting z coordinate (elevation) from
terrain data to create scalar values
SCV Visualization Workshop Fall 2008
13Visualization of Attributes
- Vector Algorithms
- Hedgehogs
- oriented scaled line for each vector
- Oriented Glyphs
- orientation indicates direction
- scale indicates magnitude
- color indicates magnitude, pressure, temperature,
or any variable - Warping
- advect a simple object to indicate flow
- vertices individually translated by flow
SCV Visualization Workshop Fall 2008
14Visualization of Attributes
- Vector Algorithms (cont)
- Field Lines
- Fluid flow is described by a vector field in
three dimensions for steady (fixed time) flows or
four dimensions for unsteady (time varying) flows - Three techniques for determining flow
- Pathline (Trace)
- tracks particle through unsteady (time-varying)
flow - shows particle trajectories over time
- rake releases particles from multiple positions
at the same time instant - reveals compression, vorticity
- Streamline
- tracks particle through steady (fixed-time) flow
- holds flow steady at a fixed time
- snapshot of flow at a given time instant
- Streakline
- particles released from the same position over a
time interval (time-varying) - snapshot of the variation of flow over time
- example dye steadily injected into fluid at a
fixed point
SCV Visualization Workshop Fall 2008
15Visualization of Attributes
- Field Lines (cont)
- Four ways to show flow
- Streamlines
- lines show particle flow
- Streamlets
- half way between streamlines and glyphs
- example stream arrows
- Streamribbon
- rake of two particles to create a ribbon
- maintain constant tangent distance between
particles - reveals vorticity
- Streamtube
- circular rake of particles to create a tube
- relative radius of tube indicates
compression/divergence - color can indicate pressure, temperature
SCV Visualization Workshop Fall 2008
16Visualization of Attributes
- Modeling Algorithms
- Clipping
- can reveal internal details of a surface
- Cutting/Slicing
- cutting through a dataset with a surface
- Subsampling
- reduces data size by selecting a subset of the
original data - modifies topology
SCV Visualization Workshop Fall 2008
17Visualization of Attributes
- Volume Rendering
- used for data that is inherently volumetric
- examples biomedical imaging, MR scans, CT scans,
ultrasounds - Time Animation
SCV Visualization Workshop Fall 2008
18Sources
- The Visualization Toolkit, 3rd Edition, Will
Schroeder, Pearson Education, Inc, 2002. - The VTK Users Guide, 4.2 Edition, Kitware, 2003.
- Kitware www.vtk.org