Introduction to Scientific Data Visualization Greg Abram Texas Advanced Computing Center The University of Texas at Austin
Belaboring The Point A picture can represent giga-, tera- and peta- bytes of data that is otherwise incomprehensible
A5ributes F(domain)! a5ributes A5ributes are physical proper<es o=en represented as: Scalars (e.g. temperature) Vectors (e.g. wind direc<on) Lots of ways to visualize a5ributes
A5ribute Visualiza<on 2- D Example: The eleva<on of terrain F(lat, lon) à elevation Here elevation is interpreted as color Extra points for identifying the locale
A5ribute Visualiza<on 2- D Example: The eleva<on of terrain F(lat, lon) à elevation Insert contour lines to create a topographic map
A5ribute Visualiza<on 3- D Example: Weather F(lat, lon, alt) à (temp, pressure, wind ) temp, pressure are scalars wind is a vector
A5ribute Visualiza<on 3- D Example: Scalars Intersect domain with 3 planes, map pressure as color
A5ribute Visualiza<on 3- D Example: Scalars Contours in the planes
A5ribute Visualiza<on 3- D Example: Scalars Contours in the planes Contours in the 3D domain
A5ribute Visualiza<on 3- D Example: Vectors Choose a bunch of starting points, drop a bunch of massless soapbubbles and follow their paths - Streamlines
A5ribute Visualiza<on 3- D Example: Vectors Choose a bunch of starting points, drop a bunch of massless soapbubbles and follow their paths - Streamlines
Scien<fic Data Representa<on Data is given explicitly at a set of sample points Attributes (e.g. elevation) can be associated with each sample point *Full data is 1147x1401
Scien<fic Data Representa<on Looking very closely at bo5om le=* Data is given explicitly at a set of sample points Attributes (e.g. elevation) can be associated with each sample point *Full data is 1147x1401
Scien<fic Data Representa<on Looking closely at bo5om le= Cells define how points are associated for interpolation Here, quadrilaterals Attributes (e.g. elevation) can be associated with each sample point
Scien<fic Data Representa<on Looking closely at bo5om le= Points and cells allow the function to be approximated anywhere in the domain by interpolation
Interpola<on F(X) Ground Truth Domain X
Interpola<on F(X) X Cells Points
Interpola<on F(X) Attribute values at each point X
Interpola<on F(X) Linearly Interpolated data X
Interpola<on F(X) Linearly Interpolated data Pretty good approximation X
Interpola<on F(X) Linearly Interpolated data X not so much
Interpola<on Visualiza<on inherits grid from upstream source in a workflow Upstream source may use higher order interpola<on on grid, so accuracy may be lost Some visualiza<on apps support some higher order interpola<on (but possibly incompletely)
Grid Points (Ver<ces) 1, 2, 3 D Explicit or compact: X0 Y0 Z0 X1 Y1 Z1 X2 Y2 Z2. Xn Yn Zn Origin 0 0 0 Deltas 1 1 1 Counts Nx Ny Nz Delta vectors may not be orthogonal
Grid Cells (Elements) References grid points Lots of element types 0D points 1D line segments 2D triangles, quadrilaterals, 3D tetrahedra, hexahedra, Again, explicit or compact (line segs, quads, hexes) P0 Q0 P0 P1 Q1 R1 P2 Q2 R2. Pn Qn Rn or cell counts along each dimension
Grid Types Cartesian if points are arranged with unit steps along the orthogonal axes and cells are topologically regular Regular if points are arranged along the axis with non- unit but equal step size along the orthogonal axes and cells are topologically regular Rec?linear if points are spaced differently along each orthogonal axis and cells are topologically regular
Grid Types (2) Structured (Curvilinear) if points are explicitly listed but cells remain topologically regular Unstructured if both points and cells are explicitly listed
Grid Considera<ons Cartesian Regular Rectilinear << Structured << Unstructured Structured and unstructured grids: use much, much more space and compute allow you to use finer sampling where stuff is happening and coarse sampling where nothing much is going on
Time Varying Data For example, heat transfer: F(x,y,z,t) - > temperature Time series A sequence of grids with a5ributes Represen<ng Generally not interpolated in <me Grids may be the same, or change from <mestep to <mestep
Example Varying in Time
Volume Rendering Expresses how light travels through a volume Color and opacity controlled by a transfer function
Volume Rendering: Seismic Wave Propaga<on
Extra Topics
Really Big Data Turbulent Flow data: 4096 3 floats = 275GB Per?me step! Thankfully, rec<linear Very painful to read in! Parallel Processing Spa<al par<<oning Parallel I/O Maverick at TACC: 133 20- core, 256GB nodes with GPUs and Infiniband In- Situ Visualiza<on Incorporate visualiza<on directly into simula<on Avoids I/O, stores vastly smaller images
Large-Format Displays Stallion world s 2 nd highest-resolution tiled display 328 Megapixels 40960 x 8000 pixel resolution Dell 30 LCD
Virtual Reality Where the data appears to be Indirect means of interacting with the data
Caves Head tracked Images projected on walls from users point of view Stereo Can be very effective Large Expensive Single-user Interaction is difficult "CAVE Crayoland" by User:Davepape - own work (self- photograph using <mer). Licensed under Public domain via Wikimedia Commons - h5p://commons.wikimedia.org/wiki/file:cave_crayoland.jpg#mediaviewer/file:cave_crayoland.jpg
Head- Mounted Displays Head tracked (maybe just orientation) Images projected onto viewing surface Stereo Can be very effective Cheap! Resolution Some get seasick
Kind of in- between zspace
Wrap Up Sessions on two well- known open- source scivis packages ParaView and VisIt Ques<ons?