What is visualization? Why is it important?

Similar documents
What is visualization? Why is it important?

Scientific Visualization

The capability of traditional presentation techniques is not sufficient for the increasing amount of data to be interpreted

Scientific Visualization

ACGV 2008, Lecture 1 Tuesday January 22, 2008

Data Representation in Visualisation

Insight VisREU Site. Agenda. Introduction to Scientific Visualization Using 6/16/2015. The purpose of visualization is insight, not pictures.

Visualization Toolkit (VTK) An Introduction

Introduction to Scientific Visualization

Visualisierung W, VU, 2.0h, 3.0EC

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

Scientific Visualization Example exam questions with commented answers

Part I: Theoretical Background and Integration-Based Methods

Visualization Computer Graphics I Lecture 20

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Contours & Implicit Modelling 4

AMCS / CS 247 Scientific Visualization Lecture 4: Data Representation, Pt. 1. Markus Hadwiger, KAUST

13.472J/1.128J/2.158J/16.940J COMPUTATIONAL GEOMETRY

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Scalar Data. Alark Joshi

Contours & Implicit Modelling 1

Visualization Toolkit(VTK) Atul Kumar MD MMST PhD IRCAD-Taiwan

Introduction to Visualization on Stampede

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Geometric Representations. Stelian Coros

Lecture overview. Visualisatie BMT. Fundamental algorithms. Visualization pipeline. Structural classification - 1. Structural classification - 2

Introduction to scientific visualization with ParaView

HPC Computer Aided CINECA

3 Data Representation. Data Representation. Department of Computer Science and Engineering 3-1

Contouring and Isosurfaces. Ronald Peikert SciVis Contouring 2-1

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

Visualization Computer Graphics I Lecture 20

Processing 3D Surface Data

Scientific visualization concepts

CIS 467/602-01: Data Visualization

Georgios Tziritas Computer Science Department

Processing 3D Surface Data

Visualization with ParaView

Scientific Visualization. CSC 7443: Scientific Information Visualization

Scientific Visualization An Introduction

An Introduction to Flow Visualization (1) Christoph Garth

Scalar Algorithms: Contouring

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Volume Visualization

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

Scalar Visualization

Introduction to scientific visualization with ParaView

9. Three Dimensional Object Representations

Indirect Volume Rendering

8. Tensor Field Visualization

Resampling Scattered Data into a Regular Grid

Volume Visualization. Part 1 (out of 3) Volume Data. Where do the data come from? 3D Data Space How are volume data organized?

CHAPTER 1 Graphics Systems and Models 3

Data Visualization. What is the goal? A generalized environment for manipulation and visualization of multidimensional data

Level of Details in Computer Rendering

Application of Two Rendering Techniques in the Visualization of 3D Geospatial Data

GiD v12 news. GiD Developer Team: Miguel Pasenau, Enrique Escolano, Jorge Suit Pérez, Abel Coll, Adrià Melendo and Anna Monros

Scalar Field Visualization. Some slices used by Prof. Mike Bailey

On a nested refinement of anisotropic tetrahedral grids under Hessian metrics

Modeling 3D Objects: Part 2

Introduction to Scientific Visualization

Subdivision Surfaces

Implicit Surfaces & Solid Representations COS 426

Using VTK and the OpenGL Graphics Libraries on HPCx

CIS 467/602-01: Data Visualization

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

Introduction to 3D Scientific Visualization. Training in Visualization for PRACE Summer of HPC 2013 Leon Kos, University of Ljubljana, Slovenia

Flow Visualization with Integral Surfaces

3D Representation and Solid Modeling

Scalar Field Visualization I

Data Visualization. What is the goal? A generalized environment for manipulation and visualization of multidimensional data

CSC Computer Graphics

Data analysis with ParaView CSMP Workshop 2009 Gillian Gruen

DISCONTINUOUS FINITE ELEMENT VISUALIZATION

Volume Illumination and Segmentation

Volume Illumination, Contouring

Scalar Field Visualization I

Meshing of flow and heat transfer problems

Alaska Mathematics Standards Vocabulary Word List Grade 7

Physically-Based Modeling and Animation. University of Missouri at Columbia

Meshless Modeling, Animating, and Simulating Point-Based Geometry

Scalable and Distributed Visualization using ParaView

SEOUL NATIONAL UNIVERSITY

Structured Grid Generation for Turbo Machinery Applications using Topology Templates

Outline. Reconstruction of 3D Meshes from Point Clouds. Motivation. Problem Statement. Applications. Challenges

Volume Illumination & Vector Field Visualisation

Graphics for VEs. Ruth Aylett

Vector Field Visualization: Introduction

Overview and Introduction to Scientific Visualization. Texas Advanced Computing Center The University of Texas at Austin

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Geometric Modeling in Graphics

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

GEOMETRY MODELING & GRID GENERATION

SCIENTIFIC VISUALIZATION ON GPU CLUSTERS PETER MESSMER, NVIDIA

Images from 3D Creative Magazine. 3D Modelling Systems

3D Modeling techniques

Subdivision Surfaces

Overview of 3D Object Representations

Overview of 3D Object Representations

Transcription:

What is visualization? Why is it important?

What does visualization do?

What is the difference between scientific data and information data

Visualization Pipeline

Visualization Pipeline Overview Data acquisition Data are generated. Data enhancement Data are processed. Visualization mapping Data are mapped to visual primitives, e.g. colors, geometry, etc. Rendering (ND >2D) Images are generated.

Visualization Pipeline Step 1 Data acquisition Real world (measured) Measurements and observations, e.g., CT/MRI, GIS (MB), seismic data (GB), Hubble Space Telescope (TB) Theoretical world (computed) Mathematical and technical models > e.g., Structural mechanics (MB), CFD simulation (GB TB/steady, TB and beyond for time series) Artificial world (documented/log ) Data that is designed, e.g. drawing (MB), game industry (GB)

Visualization Pipeline Step 2 Data enhancement Filtering (e.g., smoothing), denoising Resampling (e.g., on a different resolution grid) Reduce data size Calibrate different data sources Data interpolation (e.g., linear, cubic, basis, ) For continuous data only Analysis (may be separated into different steps) Feature identification Data derivation (e.g., gradients, limits, curvature, closed sub sets, structure, )

Visualization Pipeline Step 3 Visualization mapping = map data to something that is renderable Choose proper geometric elements Grids (e.g., the original meshes, images, etc.) typically come with the data. Iso contour/surface calculation (create continuity or discontinuity) need to be extracted Glyphs, Icons determination need to be constructed, map data to the shape, orientation, size, boundary of the glyphs Graph layout calculation (determine geometric locations) Choose proper optical attributes for the geometric elements as above color, transparency, texture

Visualization Pipeline Step 4 Rendering = image generation with Computer Graphics techniques View point selection Visibility calculation Illumination (determine pixel colors) Compositing (combine transparent objects, ) Animation (a sequence of static images)

Visualization Pipeline Overview Data acquisition Data enhancement Changing view point/parameters Selecting different attributes User interactions Visualization mapping Rendering (ND >2D)

Mike s Visualization Pipeline Seven Steps to Creating a Visualization 1. Get the data. Find out something about it. Units? Spatial dimension? Data dimension? 2. Formulate a scientific strategy. What do you want to show? How do you want to show it? What final format/medium do you need it in? 3. Import the data. (This often takes more time than you would ever expect ) 4. Create a simple program, network, script, etc. 5. Incrementally embellish it. Save it often! 6. Choose what quantities you want to interact with. Change the interaction styles to match the quantities being modified. 7. Create the final output. Pay attention to your color choices!

Some Useful Principles Data owners Domain experts Know the content of the application, and characteristics of the data Understand or translate what the user is looking for Visualization mapping, User Interface

Simulation (Data Acquisition) Expected Effects Data Enhancement Domain expert interpretations Visual mapping Rendering Various Visualizations

Reading Robert S. Laramee, How to Read a Visualization Research Paper: Extracting the Essentials http://cs.swan.ac.uk/~csbob/research/how2read/lar amee09how2read.pdf A great tutorial for getting into this area

Data and Its Representation

General Data Types I Data Dimensionality 1D: slider bars for scalar value range 2D: geographical data, images, maps, 2D slices of 3D data 3D: CAD, architecture, medical, biological, scientific computing, N D: records in logs, data entries in database, social media Time series: things that are changing over time

General Data Types II Data organization Sequential: lists (linear relation) Rational: tables Tree: hierarchical data, nested data Graphs: computer network, social network

LET US FOCUS ON SCIENTIFIC DATA

Scientific Data Data Types determined by Characteristics of datasets: dimension of domain: number of coordinates or parameters dimension of values static vs. time dependent Representation discretized data type of discretization: (un )structured grid, scattered data, deterministic vs. stochastic (uncertain)

In many cases, scientific data describe certain functions with the input as the spatial coordinates and time, and the output as the data values. f Source: VIS, University of Stuttgart 1D 2D 3D +time scalar vector tensor

A Complexity Space of Data Data sizes Petabytes Terabytes Gigabytes Megabytes 2D+time 3D Kilobytes 2D scalar vector tensor Higher order tensor Data Values 3D+time Higher dimensional Domain 21

Data Representation In the scientific data regime, the data typically describe continuous physical events in the continuous physical space+time. This is contradict to the discrete natural of the digital machine. In order to represent these data in the machine with finite space, discrete representation is necessary how to sample structured vs. unstructured Sampling case Cartesian grids, images, spacing, etc. Unstructured, connectivity, spacing, primitives (e.g. simplexes) Lists Continuous basis, e.g. polynomials, spectral, wavelet

Data Discretizations Discretization strategy is determined by the types of data sources : Measurement data: typically scattered (no grid) Numerical simulation data: structured, block structured, unstructured grids adaptively refined meshes etc. Houston air monitor stations Imaging methods: uniform grids Mathematical functions: uniform/adaptive sampling on demand

Scattered Data Scattered data means: only nodes, no cells Typical data sources: measurement data, e.g. meteorological Options for visualization: point based methods (relatively few algorithms) triangulation, e.g. constrained Delaunay, difficult in 3D resampling on uniform grid

Voronoi Diagram Source: http://strongriley.github.com/d3/

Delaunay Triangulation Source: http://en.nicoptere.net/?p=10

Data Stored on Grids Unstructured Typical data sources: simulation data, e.g. CFD 2D (plane or surfaces) unstructured cells are triangles and/or quadrangles domain can be a surface embedded in 3 space

Arbitrary Surfaces Mesh (geometry) Discrete representation Parametric surfaces Triangular mesh

Shape visualization Arbitrary Surfaces Attributes that can be used by visualization: Shading/lighting Silhouette Feature curves Colors Transparency

What do we need to represent an unstructured grid? For 2 manifold surfaces: Vertex (0D) Edge (1D) Face (2D) Corner Polyhedron (contains the above member variables)

Polyhedron (Container) Vertex list vertex **vlist; int num_verts, max_verts; Face flist face **flist; int num_faces, max_faces; Edge elist face **elist; int num_edges, max_edges; Corner clist corner **clist; int num_corners, max_corners;

Vertex (required) V=(x, y, z) Basic (x, y, z) coordinates, necessary index almost always needed, automatic based on ordering Attributes or data, like (nx, ny, nz) normal, optional Derived List of faces incident to the vertex almost always needed, constructed later List of edges incident to the vertex almost always needed, constructed later

Face D C (required) A B F=(A, B,C,D) Basic List of vertices necessary, typically the indices of the vertices index almost always needed, automatic based on ordering Attributes and data, optional Derived List of edges almost always necessary, constructed later

Unstructured Grids 3D (volume) unstructured cells are tetrahedra or hexahedra mixed grids ( zoo meshes ) require additional types: wedge (3 sided prism), and pyramid (4 sided)

What Should be Stored? Tetrahedral Vertex list 3D cell list with four vertices for each cell Hexahedra Vertex list 3D cell list with edges (pairs of vertices) that form a cell Hybrid Vertex list 2D cell list 3D cell list

Structured Grids General case: curvilinear grid nodes given in array Ni Nj Nk cells are implicit Special case: rectilinear grid simpler coordinate functions: x = x (i), y = y (j), z = z(k) More special: uniform grid coordinates defined by axis aligned bounding box ( 2 points)

Data Value Storage where are my data stored? Point based Cell based Dual

PLY format Header Elements Properties Data

PLY format of a Cube ply format ascii 1.0 comment created by platoply element vertex 8 property float32 x property float32 y property float32 z element face 6 property list uint8 int32 vertex_indices end_header 1 1 1 1 1 1 1 1 1 1 1 1 Vertex list 1 1 1 1 1 1 1 1 1 1 1 1 4 0 1 2 3 4 5 4 7 6 4 6 2 1 5 Face list 4 3 7 4 0 4 7 3 2 6 4 5 1 0 4 header Data

PLY format (header) ply format ascii1.0 comment created by platoply element vertex 8 property float32 x property float32 y property float32 z element face 6 property list uint8 int32 vertex_indices end_header

PLY format 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 0 1 2 3 4 5 4 7 6 4 6 2 1 5 4 3 7 4 0 4 7 3 2 6 4 5 1 0 4 Vertex list Face list z y x

X Y Z PLY format 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 4 0 1 2 3 4 5 4 7 6 4 6 2 1 5 4 3 7 4 0 4 7 3 2 6 4 5 1 0 4 1 0 4 z 6 2 7 3 y x

PLY format 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 4 0 1 2 3 0 4 5 4 7 6 1 4 6 2 1 5 Face list 4 3 7 4 0 4 7 3 2 6 4 5 1 0 4 1 0 4 1 0 z 6 2 7 3 y #of vertices Vertex indices x

PLY format 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 4 0 1 2 3 0 4 5 4 7 6 1 4 6 2 1 5 Face list 4 3 7 4 0 4 7 3 2 6 4 4 5 1 0 4 5 1 z 4 1 6 5 4 0 0 2 7 3 y #of vertices Vertex indices x

PLY format 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 4 0 1 2 3 0 4 5 4 7 6 1 4 6 2 1 5 Face list 4 3 7 4 0 4 7 3 2 6 4 4 5 1 0 4 5 1 z 4 1 3 6 5 4 2 0 0 2 7 3 y #of vertices Vertex indices x

Store Values in PLY Files X Y Z v1 v2 1 1 1 0 0 1 1 1 0.1 0.1 1 1 1 0.12 0.6 1 1 1 0.31 0 element vertex 8 property float32 x property float32 y property float32 z property float32 v1 property float32 v2

VISUALIZATION LIBRARY

Free open source software for 3D computer graphics, image processing and visualization Consists of a C++ class library VTK classes implemented with.h and.cxx files Several interpreted interface layers, including Python, Tcl/Tk, and Java Supports a wide variety of visualization algorithms including scalar, vector, tensor, texture, and volumetric Advanced modeling techniques implicit modeling, polygon reduction, mesh smoothing, cutting, contouring and Delaunay triangulation Design and implementation influenced by object oriented principles

VTK Visualization Toolkit Resources Source distribution (source and binaries) www.vtk.org, Kitware, Inc. Distribution comes with many examples (http://www.vtk.org/wiki/vtk/examples) Documentation Online help, HTML based (http://www.vtk.org/doc/release/6.2/html/ ) Companion Text Books The Visualization Toolkit The VTK User s Guide

Carlos A. Vinhais

Carlos A. Vinhais

Carlos A. Vinhais

Carlos A. Vinhais

VTK ParaView VisIt Many Others

Acknowledgment Thanks for materials from Dr. Eugene Zhang Dr. Ronald Peikert Carlos A. Vinhais