Difference between revisions of "Tutorials/Vis2009"
Line 73: | Line 73: | ||
=== Advanced hands-on usage of VisTrails (1h 30m) - Presenter: Erik === | === Advanced hands-on usage of VisTrails (1h 30m) - Presenter: Erik === | ||
This will all be in the context of a very specific example - We have recieved permission from Yvette Spitz to use the ROMS simulation for this. This allows us to give concrete examples that participants can follow along on their own as the tutorial progresses. Slides and .vt files to be distributed will be completed shortly. | |||
* Organizational principles of the History Tree | * Organizational principles of the History Tree for Visualization creation and exploration | ||
** Multiple, independent workflows contained in the same version tree. This method of organization makes creating more complex visualization easier. | |||
* QBE, Analogies, Parameter Exploration -> New Version | |||
** First Query for visualizations supporting picking so that we can add this features by analogy to another version created from a parameter exploration over color map ranges. This will highlight data exploration and its interplay with the existing technologies inside of VisTrails | |||
* vtkInteractionHandlers - Slicing and dicing data | * vtkInteractionHandlers - Slicing and dicing data | ||
** We will investigate, in detail, the specific requirements for adding advanced interaction capabilities to a VTK-based visualization. Specifically, we will create workflows in which we can perform arbitrary culling as well as slicing along all 3 principle axes. | |||
* PythonSource as callback definition - Picking specific elements | * PythonSource as callback definition - Picking specific elements | ||
** Callbacks allow many systems to fire unique events that can drive interactivity with visualizations. Here we will explore the details of implementing VTK-style picking in the ROMS data to change the scalar field being displayed in visualization. | |||
* The workflow debugger | * The workflow debugger | ||
* Transforming VTK pipelines into VisTrails workflows --- modified version of Dave's script to get all VTK example into a .vt, and show how to query/search that. | ** The workflow debugger allows stateful inspection of Module input/outputs. These advanced features can be used to provide interactive debugging and exploration of individual Module processes and interim data products. | ||
* Transforming VTK pipelines into VisTrails workflows --- modified version of Dave's script to get all VTK example into a .vt, and show how to query/search that. As a summary, this will be shown and posted allowing people to search for a single VTK module to see how it must be connected and parameterized in order to be properly used. | |||
=== Developing a plug-in (30-40m) - Presenter: Manu === | === Developing a plug-in (30-40m) - Presenter: Manu === |
Revision as of 15:43, 23 July 2009
I organized this first part to contain the information required for the program.
The webpage for last year's tutorials is here: http://vis.computer.org/VisWeek2008/session/tutorials.html
Provenance-Enabled Data Exploration and Visualization
Level
Beginning to advandced.
Presenters
Cláudio Silva, University of Utah
Juliana Freire, University of Utah
Emanuele Santos, University of Utah
Erik Anderson, University of Utah
Abstract
Scientists are now faced with an incredible volume of data to analyze. To explore and understand the data, they need to assemble complex workflows (pipelines) to manipulate the data and create insightful visual representations. Provenance is essential in this process. The provenance of a digital artifact contains information about the process and data used to derive the artifact. This information is essential for preserving the data, for determining the data's quality and authorship, for both reproducing and validating results -- all important elements of the scientific process. Provenance has shown to be particularly useful for enabling comparative visualization and data analysis. This tutorial will inform computational and visualization scientists, users and developers about different approaches to provenance and the trade-offs among them. Using the VisTrails project as a basis, we will cover different approaches to acquiring and reusing provenance, including techniques that attendees can use for provenance-enabling their own tools. The tutorial will also discuss uses of provenance that go beyond the ability to reproduce and share results.
Working Outline
After discussion, it seems that the tutorial is best broken into two distinct pieces: A user-centric portion focused on using VisTrails, and a power-user or developer-centric portion focusing on plug-ins, mashups, etc.
Introduction to Provenance and VisTrails (1h 30m) - Presenter: Claudio/Erik/Juliana/Manu (?)
- Brief view of plugins and released features of VisTrails
- Define provenance, explain why it is important for data analysis and visualization
- Introduce VisTrails, explain the differences and similarities between VisTrails and other vis and scientific workflow systems
- Say it is open source
- Multi-platform: written in Python+QT
- Downloaded 1000's of times
- Shipped with packages: XXXYYYZZZ
- User-contributed packages: XXXXXXX -- you can add your own! (more later)
- Explain the version tree and the action-based provenance model
- Show features that are enabled by the action-based provenance, and how they can help in the process of analyzing and visualizing data
- Going back and forth on the tree
- Automatic capture of changes
- Compare different workflows and their results
- Exploring parameter spaces
- Querying workflows by example
- Refining workflows by analogy
- Discuss how the action-based provenance model can be combined with interactive tools
- Give a brief overview of the plugins
- Show videos for a couple of them and point to the detailed tutorial of how to build a plugin later.
Basic hands-on usage of VisTrails (1h 30m) - Presenter: Manu
Slides: https://vgc.sci.utah.edu/svn/tutorials/Vis2009/slides/basic_handson.pdf
- Building Simple Pipelines
- VisTrails Builder overview
- Adding and connecting modules
- Setting parameters
- Setting module labels
- Accessing module documentation
- Using modules for displaying results in the spreadsheet
- Using the Spreadsheet
- Spreadsheet overview
- Syncing cells
- Moving cells
- Saving camera
- Using Edit mode functionality
- Using PythonSource
- Defining and using input ports and output ports
- Connecting to databases
- Defining custom database connections
- Loading a vistrail from the database
- Saving a vistrail to the database
- VisTrails as a Server
- Environment Setup
- Running VisTrails in Server Mode
- Showing Examples to illustrate the types of requests that can be done
- Querying
- Executing
- Getting the result images
Advanced hands-on usage of VisTrails (1h 30m) - Presenter: Erik
This will all be in the context of a very specific example - We have recieved permission from Yvette Spitz to use the ROMS simulation for this. This allows us to give concrete examples that participants can follow along on their own as the tutorial progresses. Slides and .vt files to be distributed will be completed shortly.
- Organizational principles of the History Tree for Visualization creation and exploration
- Multiple, independent workflows contained in the same version tree. This method of organization makes creating more complex visualization easier.
- QBE, Analogies, Parameter Exploration -> New Version
- First Query for visualizations supporting picking so that we can add this features by analogy to another version created from a parameter exploration over color map ranges. This will highlight data exploration and its interplay with the existing technologies inside of VisTrails
- vtkInteractionHandlers - Slicing and dicing data
- We will investigate, in detail, the specific requirements for adding advanced interaction capabilities to a VTK-based visualization. Specifically, we will create workflows in which we can perform arbitrary culling as well as slicing along all 3 principle axes.
- PythonSource as callback definition - Picking specific elements
- Callbacks allow many systems to fire unique events that can drive interactivity with visualizations. Here we will explore the details of implementing VTK-style picking in the ROMS data to change the scalar field being displayed in visualization.
- The workflow debugger
- The workflow debugger allows stateful inspection of Module input/outputs. These advanced features can be used to provide interactive debugging and exploration of individual Module processes and interim data products.
- Transforming VTK pipelines into VisTrails workflows --- modified version of Dave's script to get all VTK example into a .vt, and show how to query/search that. As a summary, this will be shown and posted allowing people to search for a single VTK module to see how it must be connected and parameterized in order to be properly used.
Developing a plug-in (30-40m) - Presenter: Manu
- Plug-in architecture overview
- Different implementation strategies
- Attaching the host plugin to the main application
- Callback mechanism
- Undo/Redo Stack
- Communication between Host Plugin and Capture API
- callbacks
- Sockets
- Attaching the host plugin to the main application
- ParaView Plug-in Implementation
- Explaining required changes to the source
- Showing the limitations
- Demo
New Extensions to VisTrails (50-60m) - Presenter: Claudio/Erik/Juliana/Manu
- Display Wall
- Provenance Rich Publications
- Mashups
- Repository
- Web-based execution (?)