Visualization Data Representation Ray Gasser [email protected] SCV Visualization Workshop Fall 2008 Characteristics 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 Characteristics 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 Organizing 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 Examples of Cell Types SCV Visualization Workshop Fall 2008 Organizing 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 Examples 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 Examples 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 Examples 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 Data 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 Visualization 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 Visualization 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 Visualization 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 Visualization 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 Visualization 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 Visualization 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 Visualization 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 Sources The Visualization Toolkit, 3rd Edition, Will Schroeder, Pearson Education, Inc, 2002. The VTK Users Guide, 4.2 Edition, Kitware, 2003. Kitware: www.vtk.org

SCV Visualization Workshop Fall 2008