Scalable and Distributed Visualization using ParaView Eric A. - - PowerPoint PPT Presentation

scalable and distributed visualization using paraview
SMART_READER_LITE
LIVE PREVIEW

Scalable and Distributed Visualization using ParaView Eric A. - - PowerPoint PPT Presentation

Scalable and Distributed Visualization using ParaView Eric A. Wernert, Ph.D. Senior Manager & Scientist, Advanced Visualization Lab Pervasive Technology Institute, Indiana University Big Data for Science Workshop July 26, 2010 Scalable


slide-1
SLIDE 1

Scalable and Distributed Visualization using ParaView

Eric A. Wernert, Ph.D.

Senior Manager & Scientist, Advanced Visualization Lab Pervasive Technology Institute, Indiana University

Big Data for Science Workshop – July 26, 2010

slide-2
SLIDE 2

Scalable & Distributed Visualization Using ParaView July 26, 2010

Outline

  • 1. Background on Visualization – 10 min
  • 2. Introduction to ParaView – 15 min
  • 3. Examples with various data types – 20 min
  • 4. Advanced Features – 5 min
  • 5. Q & A – 10 min
slide-3
SLIDE 3

Scalable & Distributed Visualization Using ParaView July 26, 2010

Resources

  • ParaView

– main page - http://www.paraview.org – Wiki - http://paraview.org/Wiki/ParaView

  • Visualization in General

– VizWorld – www.vizworld.com

slide-4
SLIDE 4

Scalable & Distributed Visualization Using ParaView July 26, 2010

  • 1. Background on Visualization
slide-5
SLIDE 5

Scalable & Distributed Visualization Using ParaView July 26, 2010

What is Visualization?

  • a visual representation of data, “picture is worth a thousand numbers”
  • any technique for creating images, diagrams, or animations to

communicate a message or reveal information

Images from Kitware

slide-6
SLIDE 6

Scalable & Distributed Visualization Using ParaView July 26, 2010

Types of Visualization

  • Scientific Visualization or SciVis

– Data has a natural spatial representation – Many specialty areas have special-purpose software tools – chemistry, geospatial, medical imaging, meteorology

  • Information Visualization or InfoVis

– Data has no natural spatial representation – Traditional statistical graphics, Tufte examples

  • Many other types of vis - Simulation, Design, etc.

– Each has special tools and requirements

We’re focusing on general-purpose scientific visualization

slide-7
SLIDE 7

Scalable & Distributed Visualization Using ParaView July 26, 2010

Samples of Scientific Visualizations

Images from IU Advanced Visualization Lab

slide-8
SLIDE 8

Scalable & Distributed Visualization Using ParaView July 26, 2010

Examples of Information Visualization

Images from IU Advanced Visualization Lab

slide-9
SLIDE 9

Scalable & Distributed Visualization Using ParaView July 26, 2010

Visualization in the Scientific Workflow

  • Exploration – early phases

– I’ve got a bunch of data and need to get a general look at it. What are the trends, outliers, interesting things to look at?

  • Debugging – early-middle

– Can I get some sense of where the code is breaking down?

  • Confirmation – early-late

– Does the data show what I expect?

  • Measurement & Analysis – middle-late

– How can I visually extract information and statistics necessary for my science?

  • Presentation – late

– How can I best communicate my data and methods to the target audience?

slide-10
SLIDE 10

Scalable & Distributed Visualization Using ParaView July 26, 2010

General Visualization Pipeline

  • Read  Filter  Map  Render  Interact
  • Note: ParaView overloads the term “filter”

Image from Prefuse

slide-11
SLIDE 11

Scalable & Distributed Visualization Using ParaView July 26, 2010

Explicit Data-Flow Paradigm

  • AVS
  • OpenDX
  • Iris

Explorer Easy for users to develop their own custom apps

Image from dkrz.de

slide-12
SLIDE 12

Scalable & Distributed Visualization Using ParaView July 26, 2010

Types of Data

Dimensionality

  • 1D, 2D, 3D
  • Single timestep or series

Layout of Cells

  • Uniform Rectilinear Grid (incl. Image data)

– Coordinates implied

  • Non-Uniform Rectilinear Grid
  • Curvilinear Grid (Structured Grid)
  • Unstructured Grid
  • Polygonal Data
  • Unstructured Points

Images from visualization.hpc.mil

slide-13
SLIDE 13

Scalable & Distributed Visualization Using ParaView July 26, 2010

Types of Data (2 of 2)

Image from MayaVi

slide-14
SLIDE 14

Scalable & Distributed Visualization Using ParaView July 26, 2010

Types of Rendering

Style

  • Points
  • Lines
  • Surfaces (Polygonal)
  • Volumetric
  • Non-Photo-Realistic (NPR)

Interactivity

  • Real-time - ~30 FPS
  • Pseudo Realtime – few FPS
  • Batch – render out movie frames
slide-15
SLIDE 15

Scalable & Distributed Visualization Using ParaView July 26, 2010

Types of Displays

  • desktop/laptop
  • stereoscopic
  • ultra-high-res
  • immersive displays
slide-16
SLIDE 16

Scalable & Distributed Visualization Using ParaView July 26, 2010

Types of Interaction

  • filtering, thresholding
  • querying (numeric, conditional)
  • visually selecting
  • cutting & slicing
  • moving & manipulating
  • measuring
  • grouping & extracting
  • changing representation
  • changing color mapping
slide-17
SLIDE 17

Scalable & Distributed Visualization Using ParaView July 26, 2010

  • 2. Introduction to ParaView
slide-18
SLIDE 18

Scalable & Distributed Visualization Using ParaView July 26, 2010

ParaView Pedigree

  • Visualization Toolkit (VTK)
  • API for scientific visualization
  • Developed at GE Corporate R&D in 1993
  • Kitware formed in 1998
  • Additional Libraries include Insight Toolkit (ITK, Image

Processing) and Titan (InfoVis library)

  • VTK is used in other SciVis packages such as VisIt, 3DSlicer,

MayaVi, VisTrails

  • ParaView
  • End-user application developed in 1999
  • Developed by Kitware, Sandia, and Los Alamos
  • Adds GUI and parallel back-end to VTK
slide-19
SLIDE 19

Scalable & Distributed Visualization Using ParaView July 26, 2010

VTK/ParaView pipeline

Data Sources

Data files or generated

Filters

Modify the data in some way

Mappers

Convert data into geometric objects

Actors

Adjust visible properties; make geometry renderable

Renderers & Windows

Draw actors on the screen

Display & Interface Devices

slide-20
SLIDE 20

Scalable & Distributed Visualization Using ParaView July 26, 2010

VTK/ParaView pipeline

  • Places to divide pipeline

Transfer filtered data Transfer geometry

  • r graphics commands

Transfer pixels or images Data Sources

Data files or generated

Filters

Modify the data in some way

Mappers

Convert data into geometric objects

Actors

Adjust visible properties; make geometry renderable

Renderers & Windows

Draw actors on the screen

Display & Interface Devices

slide-21
SLIDE 21

Scalable & Distributed Visualization Using ParaView July 26, 2010

ParaView Architecture

  • Components

– GUI/display client – data server – render server

  • Key to ParaView’s scalability

and distribute-ability

– architected in from the start – most other vis apps don’t and therefore fail to scale

Images from Kitware

Standalone/desktop mode Common client-server mode Supported but not recommended

slide-22
SLIDE 22

Scalable & Distributed Visualization Using ParaView July 26, 2010

ParaView Architecture

Images from visualization.hpc.mil

  • Other capabilities

– Parallel backend for data, mapping, and rendering – Option to display to parallel tiled display

slide-23
SLIDE 23

Scalable & Distributed Visualization Using ParaView July 26, 2010

GUI Components

Toolbar Sources and filters Parameters for current filter View Filters Center of rotation Message box Progress bar Error message

Slide from Kitware

slide-24
SLIDE 24

Scalable & Distributed Visualization Using ParaView July 26, 2010

Supported File Formats

  • Chombo
  • SpyPlot / CTH (.sptch)
  • Exodus
  • Partitioned Exodus
  • HDF5 Raw(.h5)
  • Extensible Data Format (.xdmf)
  • EnSight (.case .sos)
  • Plot3D (.xyz)
  • VRML (.wrl)
  • Protein Data Bank (.pdb)
  • XMol Molecule (.xyz)
  • Stereo Lithography (.stl)
  • BYU (.g)
  • Gaussian Cube File (.cube)
  • Digital elevation map (.dem)
  • ParaView Data (.pvd)
  • VTK PolyData (.vtp)
  • VTK Unstructured Grid (.vtu)
  • VTK Image (.vti)
  • VTK Structured Grid (.vts)
  • VTK Rectilinear (.vtr)
  • VTK Legacy (.vtk)
  • VTK Partitioned PolyData (.pvtp)
  • VTK Partitioned Unstructured grid

(.pvtu)

  • VTK Partitioned Image (.pvti)
  • VTK Partitioned Structured Grid

(.pvts)

  • plus more…

You can also use built-in data sources to experiment and learn.

slide-25
SLIDE 25

Scalable & Distributed Visualization Using ParaView July 26, 2010

Methods to Keep things Interactive

  • Demands of the workflow

– data size, # of timesteps, visualization style & complexity, resolution (# of pixels)

  • Computer limitations

– Memory, CPU, graphics (polygons & pixels), networking bandwidth, internal bus bandwidth

  • Methods to preserve interactivity

– Sub-sampling & decimation – Level of Detail (LOD) – Caching of timesteps – Manual update of changes (Accept button)

slide-26
SLIDE 26

Scalable & Distributed Visualization Using ParaView July 26, 2010

Methods to Keep things Interactive

Decimation Distributed / local rendering Image reduction

Slide from Kitware

slide-27
SLIDE 27

Scalable & Distributed Visualization Using ParaView July 26, 2010

  • 3. Examples
slide-28
SLIDE 28

Scalable & Distributed Visualization Using ParaView July 26, 2010

Example 1 – Nuclear “Pasta”

  • Simulation of dense neutron-neutron interaction

– Results in “pasta” like forms

  • Data from Charles Horowitz (IU Physics) and

Don Berry (IU PTI), c. 2005

slide-29
SLIDE 29

Scalable & Distributed Visualization Using ParaView July 26, 2010

Example 1 – Nuclear Pasta

– Point data – single timestep

  • Glyph filter

– Temporal data – point data over time

  • Animation Features

– Derived vector data

  • Python filter & Calculator filter

– Derived volume data

  • Isosurface (Contour)
  • Volume Rendering
slide-30
SLIDE 30

Scalable & Distributed Visualization Using ParaView July 26, 2010

Example 1 – Nuclear Pasta

  • The given data may be just the beginning
  • There is no single “right” way to visualize most data

sets – Some representations are better than others for specific tasks – There are many “wrong” ways to visualize

  • Applications like ParaView make it easy to explore

parameters interactively – Any ParaView program can also be turned into a VTK program or script for a focused community

slide-31
SLIDE 31

Scalable & Distributed Visualization Using ParaView July 26, 2010

Example 2 – Seismic Tomography

  • Data computed by Gary Pavlis and colleagues,

IU Geology, c. 2007

slide-32
SLIDE 32

Scalable & Distributed Visualization Using ParaView July 26, 2010

Example 2 – Seismic Tomography

  • Section of the earth’s crust  curvilinear grid

– Slicing and clipping – More with color maps – More with isosurfaces

  • Converting between volume formats

– curvilinear grid -> tetrahedrons to allow volume rendering

  • For movies, see

http://seismo.geology.indiana.edu/pavlis/ current_research/imaging/USArrayEars09.htm

slide-33
SLIDE 33

Scalable & Distributed Visualization Using ParaView July 26, 2010

  • 4. Advanced Features
slide-34
SLIDE 34

Scalable & Distributed Visualization Using ParaView July 26, 2010

Client-Server Setup

See pvserver

  • Mpirun
  • Offscreenrender


Normal (forward) connection Reverse connection (IU Quarry)

Images from Kitware

slide-35
SLIDE 35

Scalable & Distributed Visualization Using ParaView July 26, 2010

Data & Rendering Decomposition

  • Image-space method –

distribute data and render per tile of the image.

  • Object-space method – divide

data, render, composite pieces by depth.

Images from equalizer.com

slide-36
SLIDE 36

Scalable & Distributed Visualization Using ParaView July 26, 2010

Other Advanced Features

  • Batch Animation

– See pvbatch

  • Scripting

– pvpython shell & Python console – Scriptable Python filter

  • Extending

– Macros – Plug-ins – Custom Filters

slide-37
SLIDE 37

Scalable & Distributed Visualization Using ParaView July 26, 2010

  • 5. Questions ?