Top Banner
ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology
38

ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Jan 03, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

ProtoVis

Peter Sikachev

Institute of Computer Graphics and Algorithms

Vienna University of Technology

Page 2: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 2

Overview

Introduction

Language Design

Integration into VolumeShop Plugin

Discussion

Page 3: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 3

Overview

Introduction

Language Design

Integration into VolumeShop Plugin

Discussion

Page 4: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 4

Tool Selection Criterias

expressiveness (“Can I build it?”)

efficiency (“How long will it take?”)

accessibility (“Do I know how?”)

Page 5: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 5

High-level vs Low-level

API’s

OpenGL, Java2D, Processing

Higher-level tools

Flash, Piccolo

Visualization Toolkits

InfoVis Toolkit, Improvis, Prefuse, Flare

Consumer software

Excel, Google Spreadsheets

Page 6: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 6

High-level vs Low-level

API’sOnly imperative methods for primitives

Higher-level tools

Visualization Toolkits

Consumer software

Page 7: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 7

High-level vs Low-level

API’sOnly imperative methods for primitives

Higher-level tools Still no visualization abstractions

Visualization Toolkits

Consumer software

Page 8: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 8

High-level vs Low-level

API’sOnly imperative methods for primitives

Higher-level tools Still no visualization abstractions

Visualization ToolkitsCustomized vis → software engineering

Even simple tasks might be hard to implement

Consumer software

Page 9: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 9

High-level vs Low-level

API’sOnly imperative methods for primitives

Higher-level tools Still no visualization abstractions

Visualization ToolkitsCustomized vis → software engineering

Even simple tasks might be hard to implement

Consumer softwareLimited to what is in GUI

Page 10: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 10

Overview

Introduction

Language Design

Integration into VolumeShop Plugin

Discussion

Page 11: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 11

Marks

Basic grammar primitive

Generated once per associated datum

Mapping visual properties (position, color etc)

Page 12: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 12

Panels

Mark containers

Marks replication

Page 13: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 13

Other Stuff

Event handlers: special properties for adding interactivity

Anchors: related marks, positioned

Inside/nearby (e. g., labels)

Page 14: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 14

Example

Page 15: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 15

Example

Page 16: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 16

Example

Page 17: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 17

Example

Page 18: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 18

Example

Page 19: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 19

Example

Page 20: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 20

Example

Page 21: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 21

More Examples

http://vis.stanford.edu/protovis/

Page 22: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 22

Overview

Introduction

Language Design

Integration into VolumeShop Plugin

Discussion

Page 23: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 23

Motivation

Rich InfoVis sample gallery

Independency from data generation

Cheap interactivity via JavaScript

Page 24: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 24

Challenges

Integration with Qt and VolumeShop

Dual way data and event transfer

GUI exporting (not discussed)

Page 25: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 25

Challenges

Integration with Qt and VolumeShop

Dual way data and event transfer

GUI exporting (not discussed)

Page 26: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 26

Porting

No stable C++ port

Using QWebView

Rendering an html page with JavaScript, running on it

Page 27: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 27

Challenges

Integration with Qt and VolumeShop

Dual way data and event transfer

GUI exporting (not discussed)

Page 28: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 28

Data Transfers

Update data visualized by ProtoVis

Get feedback from ProtoVis event handlers

Page 29: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 29

Data Transfers

Update data visualized by ProtoVis

Get feedback from ProtoVis event handlers

Page 30: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 30

Data Transfers

Page 31: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 31

Data Transfers

Update data visualized by ProtoVis

Get feedback from ProtoVis event handlers

Page 32: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 32

Data Transfers

Page 33: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 33

Data Transfers

Calling ProtoVis functions

Using QWebFrame::addToJavaScriptWindowObject and

QWebFrame::evaluateJavaScriptCalling C++ functions from ProtoVis event handlers

Introduce class, inheriting QObject with functions, defined as slots

Page 34: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 34

Event Handling

Other plugins might need to know about the events, fired by ProtoVis

Special events are fired for the shared resource (shader)

Page 35: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 35

Overview

Introduction

Language Design

Integration into VolumeShop Plugin

Discussion

Page 36: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 36

ProtoVis vs Others

a) ProtoVis

b) Processing

c) Flare

Page 37: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 37

Personal ExperienceSuited for static data and static windows

Can’t use convenient in-built conversions

Data is transferred as a function

Not for large datasetsPrefilter data

Might be not an issue in Java port

Very convenient interaction

Tricky in debuggingCan use browser

Data, coming from application

Page 38: ProtoVis Peter Sikachev Institute of Computer Graphics and Algorithms Vienna University of Technology.

Peter Sikachev 38

Questions?