Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with...
Transcript of Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with...
![Page 2: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/2.jpg)
Visualization is Communication
![Page 3: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/3.jpg)
Challenges of Visualization
![Page 4: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/4.jpg)
Challenges of Visualization
• Heterogeneous data
• Large/many/big data
• Distributed data
• Computing resources
• Domain-specific
• User-specific
• Heterogeneous devices
• Uncertainties
![Page 5: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/5.jpg)
HOW TO OVERCOME THESE CHALLENGES
![Page 6: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/6.jpg)
The Visualization Toolkit (VTK)
• www.vtk.org
• Started in 1993 at GE
• Visualization Library
• Written in C++ (+5.5 million LOC) – BSD License
• Automatic binding for Java, TCL, Python
• Portable by design: Linux, Windows, Mac OSX, Solaris…
• Very active community: 4000+ users on the mailing list
![Page 7: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/7.jpg)
What can VTK do for me?
• Sci Vis: 2 to 4D data processing and (volume) rendering
• Image processing
• Info Vis (0D)
• Charting/plotting
• Application support (GUI support, Widgets)
![Page 8: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/8.jpg)
Design Philosophy
• Underlying theme is to process data• Find the salient features
• Produce imagery that conveys meaning
• An open-ended architecture used to construct programs• These programs usually give interactive controls to the user
• Let the end user do the searching, visually
• Modular architecture• Modules implemented in Object-Oriented Classes
• Pipeline: Data flows through modules in a pipeline
• Lazy evaluation: Only process what is changed (for big data)
![Page 9: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/9.jpg)
VTK Main Components
• Data structures• How VTK stores/provides access to arbitrary data
• Algorithms/filtering pipeline• Manipulate data
• Readers, sources, filters, writers, mappers
• Rendering classes• Display that data on the screen
• Mappers, actors, lights, cameras, renderers, RenderWindows
• Interaction classes• Events, interactors, widgets
• Application support• Views, representations, Qt and MFC interfaces, wrapping
![Page 10: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/10.jpg)
VTK Main Components
• 140 Readers• STL, EnSight, TecPlot, BMP, JPEG…
• 150 Filters• Contour, Subdivision, Delaunay, Elevation…
• Statistics, Parallel, Geometry, FlowPaths, Extraction…
• 40 Widgets• Distance, Angle, Plane, Seed, Checkerboard
• Application domains• Geo visualization
• Chemistry
• Imaging
![Page 11: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/11.jpg)
2D: Graphs and Charts
![Page 12: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/12.jpg)
Interactive Widgets
![Page 13: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/13.jpg)
Example Code#!/usr/bin/env python
import vtk
# Load an STL File
reader = vtk.vtkSTLReader()
reader.SetFileName("myfile.stl")
# Visualization Pipeline
mapper = vtk.vtkPolyDataMapper()
mapper.SetInputConnection(reader.Get
OutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
# Create a rendering window and renderer
ren = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)
# Create a renderwindowinteractor
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# Assign actor to the renderer
ren.AddActor(actor)
# Enable user interface interactor
iren.Initialize()
renWin.Render()
iren.Start()
![Page 14: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/14.jpg)
Volume Rendering
![Page 15: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/15.jpg)
Image ProcessingPatient
ModelingVisualization
SurgicalPlanning
VTK in Use: Visible Patient
![Page 16: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/16.jpg)
LARGE DATA VISUALIZATION
![Page 17: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/17.jpg)
• www.paraview.org
• OpenSource (BSD)
• Based on VTK
• C++/Qt
• Cross-platform: Linux, Mac, Windows
• Python support
• Very active community (HPC Wire Award)
• Multi-core support (MPI)
• Co-processing (in-situ)
• More than 50 data readers
ParaView
![Page 18: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/18.jpg)
General Purpose Tools
• EnSight
• ParaView
• VisIt
• FieldView
• TecPlot
• …
![Page 19: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/19.jpg)
• An application and an architecture to visualize and analyze massive datasets
• A turn-key visualization application
ParaView
1 billion cell asteroid
detonation simulation
½ billion cell
weather simulation
Fire simulation
![Page 20: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/20.jpg)
![Page 21: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/21.jpg)
ParaView is a Framework
• ParaView extends VTK to provide:
• Client-server computing
• State management
• Python modules
• Application/GUI framework
• ParaView framework can be used to develop other applications
• ParaView can be embedded in other applications and frameworks
![Page 22: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/22.jpg)
ParaView Architecture
![Page 23: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/23.jpg)
Large Data - Unstructured
• CFD simulation
• 20-30 million elements
• Load balancing
source: Swiss supercomputing center
![Page 24: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/24.jpg)
Large Data - Unstructured
• Fire simulation
• 150 million elements
source: Sandia National Labs
![Page 25: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/25.jpg)
Large-scale AMR
![Page 26: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/26.jpg)
ParaView in Use: Immersive Visualization
![Page 27: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/27.jpg)
Co-Processing/InSitu with ParaView Catalyst
![Page 28: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/28.jpg)
18
0
180
![Page 29: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/29.jpg)
SOME OTHER TOOLS…
![Page 30: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/30.jpg)
ParaViewWeb - Collaboration
![Page 31: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/31.jpg)
• http://www.webviz.org
• No plugin
• Works on all devices and browsers
• Instant visualization (fast loading)
• Fully interactive visualization
Web Visualization – vtkWeb/ParaViewWeb
![Page 32: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/32.jpg)
Mobile Visualization: VES/VTK
![Page 33: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/33.jpg)
Tangelo
• htttp://tangelo.kitware.com
• Web framework
• HTML5 web architecture
• Packages several other frameworks too
• Bootstrap, D3, Vega,MongoDB
• Facilitates development & deployment of web apps
![Page 35: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/35.jpg)
VTKWeb and Open Chemistry
http://data.openchemistry.org/
![Page 36: Scientific Visualization with Open Source Tools 2014/jomier.pdf · Scientific Visualization with Open Source Tools HM 2014 Julien Jomier julien.jomier@kitware.com. Visualization is](https://reader036.fdocuments.us/reader036/viewer/2022062602/5f01c9527e708231d401075d/html5/thumbnails/36.jpg)
Benefits of Open-Source
• Extended support
• The Visualization Toolkit: ~$100M
• Active maintenance
• Community-supported
• Access to expertise
• Reduce costs
• Development
• Maintenance
• Evolution
• No licensing fee