<<

Advanced How to make pretty pictures for science!

Aaron Knoll Research Scientist SCI Institute, University of Utah

Roadmap

• What is visualization, why do it? • How do we do visualization? • Visualization software • Large-scale visualization

4-8 August 2014 2

1 What is visualization?

4-8 August 2014 3

Two kinds of visualization

1. • Data have spatial context • data features to colors in a way that makes visual sense • F(space, time)  RGBA • i.e., “rendering stuff”

4-8 August 2014 4

2 Two kinds of visualization

2. Information visualization • Data have no spatial context (or, space is secondary) • Illustrate relationships between diverse attributes • i.e., “plots, graphs and

4-8 August 2014 5

Two kinds of visualization

• There is no “line in the sand” between InfoVis and SciVis. • Today we’ll mostly talk about SciVis...

4-8 August 2014 6

3 Why do visualization?

4-8 August 2014 7

Why do visualization?

4-8 August 2014 8

4 Why do visualization?

• Illustration • Analysis

4-8 August 2014 9

Why do visualization?

• Illustration • Analysis • Validation

DFT computation - nuclear fission of Plutonium (data courtesy of Nicolas Schunck, LLNL)

4-8 August 2014 10

5 Napoleon in Russia, 1812-1813

4-8 August 2014 11

Florence Nightingale Cox Comb

4-8 August 2014 12

6 Growth of Data 1000

• As of February

100 2011, ) approximately 295

18 exabytes of data

(10 exist 10 all printed documents • Every two days we all spoken words in all lives create as much Exabytes data as we did 1 from the beginning of mankind until 2003 amount human minds can store in 1yr 0.1 Sources: Lesk, Berkeley SIMS, Landauer, EMC, TechCrunch, Smart Planet

“The purpose of computing is insight not numbers.”

-- R. W. Hamming (1961)

4-8 August 2014 14

7 How do we do visualization?

4-8 August 2014 15

Scientific Visualization basics

Computational data scalar/vector/tensor fields structured, unstructured, atomistic Visualization Reader Filters Color Rendering!

Camera Lighting model Rendering algorithm

4-8 August 2014 16

8 Computational Data

• Typically continuous fields 0 4 8 0 • Scalar, vector, tensor 4 14 9 0 • 2D, 3D, 2.5D 6 11 1 0 2 1 0 0

4-8 August 2014 17

Computational Data

• Typically continuous fields • Scalar, vector, tensor • 2D, 3D, 2.5D • Geometry (“topology”) • Structured (finite differences) • Unstructured • Tet,hex meshes (finite elements) • Particles -- n-body simulations, (molecular dynamics, cosmology, blood flow) • AMR • Other (spectral / functional / wavelet) • DFT, FMM, DNS • Usually generate large structured data as postprocess

4-8 August 2014 18

9 Computer graphics (ideally)

Primitives Camera Rendering (points, lines, Display (Rasterization, triangles, (, ray tracing, voxels, (pixels) orthographic) splatting) elements)

4-8 August 2014 19

Computer graphics (reality)

Camera Primitives Rendering Display (perspective, (triangles) (rasterization) (pixels) orthographic)

4-8 August 2014 20

10 The visualization pipeline

• Convert (volume) vis data into renderable (triangle) primitives

4-8 August 2014 21

The visualization pipeline

• Convert (volume) vis data into renderable (triangle) primitives • Simplify data to visualize what we want in the process.

4-8 August 2014 22

11 The visualization pipeline

• Convert (volume) vis data into renderable (triangle) primitives • Simplify data to visualize what we want in the process. • Each step in the pipeline is a filter.

4-8 August 2014 23

Scalar field visualization

Pseudocolor and cut planes.

4-8 August 2014 24

12 Isocontours

0 1 3 2 3

1 5 0 0 3 Isocontour for isovalue = 4? 3 8 6 3 2

0 2 6 1 1

0 1 2 3 1

Isosurfaces

• An isosurface is a contour of a 3D volume. • Marching cubes • in each voxel, extract the isosurface as triangles • Wyvill & McPeeters 86 (blobbies), Lorensen & Cline 87 (structured volumes) – cited over 10,000 times!

4-8 August 2014 26

13

• Alternative to isosurfacing. • Less of a filter, more of a full rendering technique • Filtering is done through the transfer function. • Can be implemented numerous ways (slicing, splatting, ray casting)

4-8 August 2014 27

Volume rendering

• Alternative to isosurfacing. • Less of a filter, more of a full rendering technique • Filtering is done through the transfer function. • Can be implemented numerous ways (slicing, splatting, ray casting) • Renders “all” isosurfaces at once, with control over opacity • Disadvantages: slow, hard to create transfer functions…

4-8 August 2014 28

14 Volume rendering

• Alternative to isosurfacing. • Less of a filter, more of a full rendering technique • Filtering is done through the transfer function. • Can be implemented numerous ways (slicing, splatting, ray casting) • All

4-8 August 2014 29

Flow vis

• So far, we have discussed scalar fields. • What do we do for vector field data?

• Seed + advect particles:

Pnew = Pcurrent + VPDt • Streamlines advect in space • Pathlines advect in time

4-8 August 2014 30

15 Flow vis – texture methods (2D)

• Line integral convolution (LIC) • spot noise

4-8 August 2014 31

Flow vis – volumetric methods

• 3D LIC • FTLE (VisIt) • Virtual rheoscopic fluids (VisIt)

4-8 August 2014 32

16 Visualization software

4-8 August 2014 33

VTK

• http://www.vtk.org • Open source, developed by Kitware • The standard bearer for scientific visualization • Marching cubes, streamlines, cut/clip planes, etc. • Hundreds of filters for data resampling, geometry processing, analysis • VTK data model • Supports any structured/unstructured data, fully-featured C++/templates data model • Call as a library from C++, Java, Python, Tcl/Tk • What VTK does not do: • Full-featured UI • Exploit latest OpenGL 4.X features • Use GPUs for filter computation (VTK-M initiative) • Parallel rendering

4-8 August 2014 34

17 ParaView

• http://www.paraview.org/ • Open source, built on top of VTK • Maintained by Kitware, Sandia, LANL, ARL • Provides data-parallel reading, filtering and rendering • Qt UI, tree hierarchy of filters, camera controls, etc. • Many, many parallel readers • Reasonably good volume rendering

4-8 August 2014 35

VisIt

• http://visit.llnl.gov • Contributors at LLNL, LBNL and many others • Also built on top of VTK • Also provides parallel reading, filtering and rendering! • Additional “AVT” layer • Capabilities outside of the VTK pipeline • Filters replaced with plots and operators • Huge array of techniques • Fast streamlines, particle tracing, FTLE, VRF • Also, many different readers • Enzo AMR, other data

4-8 August 2014 36

18 SCIRun

• http://www.sci.utah.edu/cibc-software/scirun.html • Open source, maintained by the University of Utah • Designed for efficient operation on multithreaded workstations (SMP) • “Computational workbench”: a single pipeline for both simulation and visualization • Bioelectric field FE simulation codes • Computer aided surgery • Unique visualization modalities • Volume rendering with 2D transfer functions

4-8 August 2014 37

Visus

• http://www.pascucci.org/visus/ • Maintained by Valerio Pascucci, SCI Institute, University of Utah • Streaming visualization framework for remote and in situ visualization • IDX file format for efficient data processing and rendering. • Fast out-of-core queries and analysis • 2D and 3D gigapixel imagery, large structured data, AMR

4-8 August 2014 38

19 Volume renderers

• ImageVis3D • http://www.sci.utah.edu/cibc-software/imagevis3d • Maintained by SCI and TU Duisberg • Fast, out-of-core GPU volume renderer with Qt UI, transfer function editors • • http://www.voreen.org • University of Munster and Linkoping University • Supports complicated workflows, variety of rendering and shading methods • Exposure renderer • https://code.google.com/p/exposure-render/ • CUDA-based photorealistic volumetric path tracing • These only support structured volume data.

4-8 August 2014 39

Many, many others

• Molecular • VMD • PyMol • Avogadro • Info Vis • Microsoft Excel • Matplotlib (python) • R • Matlab • IVTK • Google • Rendering frameworks with vis capabilities • Intel Embree • NVIDIA Optix

4-8 August 2014 40

20 Remote visualization demo

4-8 August 2014 41

21