29
Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Embed Size (px)

Citation preview

Page 1: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Hank Childs, University of Oregon

Volume Rendering Primer /Intro to VisIt

Page 2: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt
Page 3: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Announcements

• Volume rendering lectures: preview today, more next week

• VisIt lectures: today, Friday• Project proposal (whoops):

– WEBSITE SAID NOV 15th

– WEBSITE SAID IT WOULD BE GRADED – 510: due Weds Nov 11th

– 410: due Tues Nov 17th

• Class canceled Mon Nov 16th

• JB^2?

Page 4: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Project #7A

• You write VTK program.– I expect that your answers will be partially derived

from previous VTK programs– Python OK

• 4 renderers in 1 window

isosurface

three slices

hedgehogs

streamlines

Page 5: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Project 7A

Ben Mood project, F13

Page 6: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Project 7B (510 only)

Page 7: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Final Project• Two general flavors:

– Here is some data I find interesting and I want to visualize

• Data source:– Find yourself– I have some

• How to visualize:– Use VTK– Use VisIt– Other

– Here is a visualization algorithm I want to implement

Page 8: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Aneurysm data set

Page 9: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Water Dam data set

Page 11: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Volume Rendering Primer

• Goal: get you enough information to make a decision whether to do self-defined project or pre-defined project

• Volume rendering project:– implement– make some pictures– do a performance study

Page 12: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

X-rays

Emitter

Film/image

Plotting Techniques

Page 13: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Volume rendering

• Important visualization technique for 3D data• Use combination of color and transparency to

see entire 3D data set at one time.

Page 14: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Volume rendering overview

Camera

Pixels on the screen

3D data

Page 15: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Volume rendering overview

Camera

Pixels on the screen

3D data

Ray casting game plan:For every pixel on the screen,

Find ray for that pixelIntersect volume with rayCalculate color from

intersectionAssign color to pixel

Page 16: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

VisIt Overview

• PPT material• Live demo

Page 17: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

Tutorial materials

• http://visitusers.org/index.php?title=VisIt_Tutorial

Page 18: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

18LLNL-PRES-ZZZZZZ

Production end-user tool supporting scientific and engineering applications.

Provides an infrastructure for parallel post-processing that scales from desktops to massive HPC clusters.

Source released under a BSD style license.

VisIt is an open source, turnkey application for data analysis and visualization of mesh-based data.

Density Isovolume of a 3K^3 (27 billion cell) dataset

Project Introduction

Page 19: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

19LLNL-PRES-ZZZZZZ

VisIt supports a wide range of use cases.

Data Exploration

Presentation GraphicsVisualDebuggingVisual Debugging

Comparative Analysis

=?

Quantitative Analysis

Project Introduction

Page 20: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

20LLNL-PRES-ZZZZZZ

The VisIt project started in 2000 to support LLNL’s large scale ASC physics codes.

The project grew beyond LLNL and ASC with research and development from DOE SciDAC and other efforts.

VisIt is now supported by multiple organizations:• LLNL, LBNL, ORNL, UC Davis, Univ of Utah, Intelligent Light, …

Over 75 person years of effort, 1.5+ million lines of code.

VisIt is a vibrant project with many participants.

Project Started LLNL ASC users transitioned to VisIt

2005 R&D 100 VACET Funded Transition to Public SW repo

VisIt 2.0 Release

2000 2003 2005 2006 2008 2010 2012 - 2017

Project Introduction

Page 21: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

21LLNL-PRES-ZZZZZZ

VisIt scales well on current HPC platforms.Machine Architecture Problem Size # of Cores

Graph X86_64 20,0013 (8 T cells) 12K

Dawn BG/P 15,8713 (4 T cells) 64K

Franklin Cray XT4 12,5963 (2 T cells) 32K

JaguarPF Cray XT5 12,5963 (2 T cells) 32K

Juno X86_64 10,0003 (1 T cells) 16K

Franklin Cray XT4 10,0003 (1 T cells) 16K

Ranger Sun 10,0003 (1 T cells) 16K

Purple IBM P5 8,0003 (0.5 T cells) 8K

Scaling Studies of Isosurface Extraction and Volume Rendering (2009)

VisIt is also used daily by domain scientists.

Project Introduction

Page 22: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

22LLNL-PRES-ZZZZZZ

Regular releases (~ 6 / year)• Executables for all major platforms• End-to-end build process script ``build_visit’’

User Support and Training• visitusers.org, wiki for users and developers• Email lists: visit-users, visit-developers• Beginner and advanced tutorials• VisIt class with detailed exercises

Documentation• “Getting data into VisIt” manual

• Python interface manual• Users reference manual

The VisIt team focuses on making a robust, usable product for end users.

Slides from the VisIt class

Project Introduction

Page 23: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

23LLNL-PRES-ZZZZZZ

VisIt’s core abstractions

Databases: How datasets are read

Plots: How you render data

Operators: How you manipulate data

Expressions: Mechanism for generating derived quantities

Queries: How to access quantitative information

Example VisIt Pipelines

Page 24: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

24LLNL-PRES-ZZZZZZ

Examples of VisIt Pipelines

Databases: how you read data

Plots: how you render data

Operators: how you transform/manipulate data

Expressions: how you create new fields

Queries: how you pull out quantitative information

Open a database,which reads from a file(example: open file1.hdf5)

Database

Make a plot of a variable in the database(example: Volume plot)

Plot

Example VisIt Pipelines

Page 25: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

25LLNL-PRES-ZZZZZZ

Examples of VisIt Pipelines

Databases: how you read data

Plots: how you render data

Operators: how you transform/manipulate data

Expressions: how you create new fields

Queries: how you pull out quantitative information

Open a database,which reads from a file(example: open file1.hdf5)

Database

Plot a variable in the database(example: Pseudocolor plot)Plot

Apply an operator to transform the data(example: Slice operator)

Operator

Example VisIt Pipelines

Page 26: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

26LLNL-PRES-ZZZZZZ

Examples of VisIt Pipelines

Databases: how you read data

Plots: how you render data

Operators: how you transform/manipulate data

Expressions: how you create new fields

Queries: how you pull out quantitative information

Open a database,which reads from a file(example: open file1.hdf5)

Database

Plot a variable in the database(example: Pseudocolor plot)Plot

Apply an operator to transform the data(example: Slice operator)

Operator 1

Apply a second operator to transform the data(example: Elevate operator)

Operator 2

Example VisIt Pipelines

Page 27: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

27LLNL-PRES-ZZZZZZ

Examples of VisIt Pipelines

Databases: how you read data

Plots: how you render data

Operators: how you transform/manipulate data

Expressions: how you create new fields

Queries: how you pull out quantitative information

Open a database,which reads from a file(example: open file1.hdf5)

Database

Plot the expression variable(example: Pseudocolor plot)Plot

Create derived quantities from fields in the file(example: magnitude(velocity))

Expression

Example VisIt Pipelines

Page 28: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

28LLNL-PRES-ZZZZZZ

Examples of VisIt Pipelines

Databases: how you read data

Plots: how you render data

Operators: how you transform/manipulate data

Expressions: how you create new fields

Queries: how you pull out quantitative information

Open a database,which reads from a file(example: open file1.hdf5)

Database

Extract quantitative information(example: integrate density to find mass)

Query

Plot a field from the file(example: density + Pseudocolor plot)

Plot

Example VisIt Pipelines

Page 29: Hank Childs, University of Oregon Volume Rendering Primer / Intro to VisIt

29LLNL-PRES-ZZZZZZ

Examples of VisIt Pipelines

Databases: how you read data

Plots: how you render data

Operators: how you transform/manipulate data

Expressions: how you create new fields

Queries: how you pull out quantitative information

Open a database,which reads from a file(example: open file1.hdf5)

Database

Create derived quantities from fields in the file(example: magnitude(velocity))

Expression

Apply an operator to transform the data(example: Slice operator)

Operator 1

Apply a second operator to transform the data(example: Elevate operator)

Operator 2

Plot a field(example: speed + Pseudocolor plot)

Plot

Extract quantitative information(example: maximum speed over cross-section)

Query

Example VisIt Pipelines