Lecture 3 January 16, 2020 The Visualization Toolkit Open source - - PowerPoint PPT Presentation

lecture 3
SMART_READER_LITE
LIVE PREVIEW

Lecture 3 January 16, 2020 The Visualization Toolkit Open source - - PowerPoint PPT Presentation

CS530 - Spring 2020 Introduction to Scientific Visualization Lecture 3 January 16, 2020 The Visualization Toolkit Open source library for Visualization: Mostly sciviz, some infoviz Computer Graphics Imaging Written in C++ Supports Python


slide-1
SLIDE 1

CS530 - Spring 2020

Introduction to Scientific Visualization

Lecture

January 16, 2020

3

slide-2
SLIDE 2

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

The Visualization Toolkit

Open source library for

Visualization: Mostly sciviz, some infoviz Computer Graphics Imaging

Written in C++ Supports Python (via wrapper)

2

slide-3
SLIDE 3

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Outline

Visualization pipeline Internal data representation Examples

3

slide-4
SLIDE 4

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Object-Oriented Design

OO visualization system Object models properties of entity

State: Attributes (variables) Behavior: Operations (methods)

Inheritance: derive object from another

Add properties Overload (specialize) methods Base / derived class (abstract class)

4

slide-5
SLIDE 5

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Outline

Visualization pipeline Internal data representation Examples

5

slide-6
SLIDE 6

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

6

slide-7
SLIDE 7

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

7

Source

slide-8
SLIDE 8

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

8

Source Filter(s)

slide-9
SLIDE 9

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

9

Source Filter(s) Mapper

slide-10
SLIDE 10

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

10

Source Filter(s) Mapper Actor

slide-11
SLIDE 11

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

11

Source Filter(s) Mapper Actor Renderer

slide-12
SLIDE 12

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

12

Source Filter(s) Mapper Actor Renderer Render Window

slide-13
SLIDE 13

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 13

Filter(s) Mapper Actor Renderer Render Window Source

slide-14
SLIDE 14

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 14

Mapper Actor Renderer Render Window Filter(s) Source

slide-15
SLIDE 15

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 15

Source Filter(s) Mapper Actor Renderer Render Window

slide-16
SLIDE 16

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 15

Source Filter(s) Mapper Actor Renderer Render Window

  • VTK pipeline connection syntax:

(1) Receiver.SetInputConnection(Supplier.GetOutputPort()) (2) Receiver.SetInputData(Supplier.GetOutput())

slide-17
SLIDE 17

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 15

Source Filter(s) Mapper Actor Renderer Render Window

  • VTK pipeline connection syntax:

(1) Receiver.SetInputConnection(Supplier.GetOutputPort()) (2) Receiver.SetInputData(Supplier.GetOutput())

slide-18
SLIDE 18

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 15

Source Filter(s) Mapper Actor Renderer Render Window

  • VTK pipeline connection syntax:

(1) Receiver.SetInputConnection(Supplier.GetOutputPort()) (2) Receiver.SetInputData(Supplier.GetOutput())

slide-19
SLIDE 19

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 16

Source Filter(s) Mapper Actor Renderer Render Window

slide-20
SLIDE 20

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 17

Source Filter(s) Actor Renderer Render Window Mapper

slide-21
SLIDE 21

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 18

Renderer Render Window Source Filter(s) Mapper Actor

slide-22
SLIDE 22

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 19

Renderer Render Window Source Filter(s) Mapper Actor

slide-23
SLIDE 23

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 20

Render Window Source Filter(s) Mapper Actor Renderer

slide-24
SLIDE 24

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 21

Render Window Source Filter(s) Mapper Actor Renderer

slide-25
SLIDE 25

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 22

Source Filter(s) Mapper Actor Renderer Render Window

slide-26
SLIDE 26

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 23

Source Filter(s) Mapper Actor Renderer Render Window

slide-27
SLIDE 27

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 24

Source Filter(s) Mapper Actor Renderer Render Window Interactor

slide-28
SLIDE 28

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020 25

Source Filter(s) Mapper Actor Renderer Render Window Interactor

slide-29
SLIDE 29

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Rendering Pipeline in VTK

26

slide-30
SLIDE 30

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Rendering Pipeline in VTK

26

slide-31
SLIDE 31

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

  • Rendering Pipeline in VTK

26

slide-32
SLIDE 32

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

  • Rendering Pipeline in VTK

26

slide-33
SLIDE 33

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

  • Rendering Pipeline in VTK

26

slide-34
SLIDE 34

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

  • Rendering Pipeline in VTK

26

slide-35
SLIDE 35

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

  • Rendering Pipeline in VTK

26

slide-36
SLIDE 36

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

  • Rendering Pipeline in VTK

26

slide-37
SLIDE 37

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

  • render_demo

Rendering Pipeline in VTK

26

slide-38
SLIDE 38

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

27

slide-39
SLIDE 39

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

28

slide-40
SLIDE 40

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

28

slide-41
SLIDE 41

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

28

slide-42
SLIDE 42

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

28

slide-43
SLIDE 43

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

28

slide-44
SLIDE 44

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

28

slide-45
SLIDE 45

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

28

slide-46
SLIDE 46

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

28

slide-47
SLIDE 47

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Visualization Pipeline

Implicit control of execution (lazy evaluation): algorithms are only (re)executed when needed

29

A B D E C F G

slide-48
SLIDE 48

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Outline

Visualization pipeline Internal data representation Examples

30

slide-49
SLIDE 49

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Cell Types

31

slide-50
SLIDE 50

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Cell Types

32

slide-51
SLIDE 51

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Cell Types

33

slide-52
SLIDE 52

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Cell Types

34

slide-53
SLIDE 53

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Cell Types

35

slide-54
SLIDE 54

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Data Attributes

36

 a11 a12 a13 a21 a22 a23 a31 a32 a33  

  u v w     u v w   , u2 + v2 + w2 = 1

slide-55
SLIDE 55

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Dataset Types

37

slide-56
SLIDE 56

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Dataset Hierarchy

38

slide-57
SLIDE 57

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Dataset Hierarchy

39

slide-58
SLIDE 58

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Dataset Hierarchy

39

slide-59
SLIDE 59

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Dataset Hierarchy

40

slide-60
SLIDE 60

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Dataset Hierarchy

41

slide-61
SLIDE 61

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Dataset Hierarchy

42

slide-62
SLIDE 62

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Dataset Hierarchy

43

slide-63
SLIDE 63

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Outline

Visualization pipeline Internal data representation Examples

44

slide-64
SLIDE 64

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Demos

45

Many examples available at:

https://lorensen.github.io/VTKExamples/site/Python/

slide-65
SLIDE 65

CS530 / Spring 2020 : Introduction to Scientific Visualization.

  • 03. VTK

01/16/2020

Additional References

VTK Wiki http://www.vtk.org/Wiki/VTK VTK Tutorial

in source code under Examples/Tutorial

VTK Examples

in source code under Examples/, primarily VisualizationAlgorithms, Rendering,

Graphics, Geometric Modeling

VTK User’s Guide

Kitware Inc., ISBN 1-930934-0804

The Visualization Toolkit

An object-oriented Approach to 3D Graphics,

3rd edition, W. Schroeder, K. Martin, B. Lorensen, Kitware

46