matt mccrory lead visualization engineerworkstation apps - c/c++, python, opengl, matlab, r,...

44
VISUALIZING DATA AT NORTHWESTERN UNIVERSITY Matt McCrory Lead Visualization Engineer

Upload: others

Post on 15-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

VISUALIZING DATA AT NORTHWESTERN UNIVERSITY

Matt McCroryLead Visualization Engineer

Page 2: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

MATT MCCRORYLead Visualization Engineer

- Lighting Artist/Tech Director at DreamWorks Animation

- Visualization Engineer at University of Chicago

- Visualization Engineer at Argonne National Lab

Page 3: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

MATT MCCRORYLead Visualization Engineer

Page 4: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Data Imagery

WHAT IS VISUALIZATION?

Page 5: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Data Imagery

WHAT IS VISUALIZATION?

Page 6: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

WHAT IS VISUALIZATION?

Data Imagery

Page 7: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

WHAT IS VISUALIZATION?N-body

Imaging Z-stack

OBJ

InteractiveIllustrationAnimation

Ideas!

“Big Data”

Page 8: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Explore

Interrogate

Discover

Quantify

Interactive

Page 9: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

InteractiveNative Apps

Local computation

Local data

Some portability

Page 10: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Advanced Displays

Massive resolution

Stereoscopic 3D

Immersive

Collaborative

Interactive

Page 11: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Web Apps

Platform agnostic

Shareable

Mobile

Interactive

Page 12: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Cloud Rendering

Interactive

Page 13: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Cloud Rendering

Interactive

Page 14: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

- GPU, compute, and data co-located in remote resource

- Platform agnostic

- Highly portable

- Collaborative

- Centralized app development

- Massive data visualized on low power devices

Cloud Rendering

Demo!

Interactive

Page 15: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

ToolsWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, TableauAdvanced Displays - C/C++, OpenGL, TCP/IP message passing, framelocking hardware/software, tiling frameworkWeb Apps - D3JS, HTML5, WebGL, IPythonCloud Rendering - Workstation Apps Tools + more…

Interactive

Page 16: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

ToolsWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, TableauAdvanced Displays - C/C++, OpenGL, TCP/IP message passing, framelocking hardware/software, tiling frameworkWeb Apps - D3JS, HTML5, WebGL, IPythonCloud Rendering - Workstation Apps Tools + more…

Upcoming workshops!12/16 - Interactive Visualization on the Web with D3JS - http://bit.ly/learnD3JS12/17 - Introduction to Tableau Desktop - http://bit.ly/learnTableau

Interactive

Page 17: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

ALESSANDRO FEBRETTISenior Interactive Visualization Specialist

- Completing a Ph.D. at UIC’s EVL

- Software Engineer at Milestone Games

- Developed software framework for CAVE2

- Experience developing native apps, web-based apps, advanced displays, and cloud-based apps

Page 18: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

ALESSANDRO FEBRETTISenior Interactive Visualization Specialist

Page 19: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Convey scientific

understanding in a

way that words

alone cannot.

Illustration

Page 20: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Illustration

Page 21: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Illustration

Page 22: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Illustration

Page 23: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Understand and

depict the

progression of

data over time.

Animation

Page 24: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Enhance

pedagogy with

informative

visuals.

Animation

https://www.coursera.org/learn/reproductive-health

Page 25: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

The Animation Pipeline

AnimationThe processes and tools needed to take an animation from concept to final product.

Page 26: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

The Animation Pipeline

AnimationThe processes and tools needed to take an animation from concept to final product.

Page 27: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 28: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 29: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 30: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 31: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 32: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 33: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 34: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 35: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 36: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

The Animation PipelineThe processes and tools needed to take an animation from concept to final product.

Animation

Pre-Production- Data & Asset Assembly- Pre-Visualization- Visual Direction

Production- Modeling/Rigging- Animation- Surfacing/Lighting- Rendering/Compositing

Page 37: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Animation

2D motion graphics

present information

in a clean,

noncomplex visual

style.

Page 38: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Animation

http://www.autodesk.com/education/free-software/mayaMaya

https://www.thefoundry.co.uk/products/nuke/non-commercial/Nuke

https://northwestern.onthehub.com/After Effects

http://molecularmovies.orgTutorials

Page 39: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

JUSTIN MUIRSenior Animation Specialist

- 20 years working in the gaming industry

- Art Manager at Day 1 Studios on Silent Scope, Fear 3

- Director of Animation at Midway Games

- Expert in digital animation tools

Page 40: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

JUSTIN MUIRSenior Animation Specialist

Page 41: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

JUSTIN MUIRSenior Animation Specialist

Page 42: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

How can we help?- General questions

“Does visualization software exist that does _______ ?”

- Small scale visualizationsNo cost

- Guidance on visualization complexity and costsWe can assist with grant proposals that provide visualization funding

- Large scale visualizationsNo cost for consultations or preliminary work

Page 43: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

1. visualization.northwestern.edu - “Request a consultation”

2. Initial consultation to understand your research & viz needs3. Existing solutions?4. Preliminary investigation and production of pre-viz or proof-of-

concept code.5. For big projects, generate cost estimate (recharge rate of $60/hour)

What's the process?

6. Iterate with researcher until completion

Page 44: Matt McCrory Lead Visualization EngineerWorkstation Apps - C/C++, Python, OpenGL, Matlab, R, Mathplotlib, VTK, Paraview, VisIt, Tableau Advanced Displays - C/C++, OpenGL, TCP/IP message

Thank you!

Northwestern Visualizationvisualization.northwestern.edu

Matt [email protected]

Upcoming workshops!12/16 - Interactive Visualization on the Web with D3JS - http://bit.ly/learnD3JS12/17 - Introduction to Tableau Desktop - http://bit.ly/learnTableau