VisTrails
Encyclopedia
VisTrails is a scientific workflow management system
developed at the Scientific Computing and Imaging Institute
at the University of Utah
that provides support for data exploration and visualization. It is written in Python
and employs Qt
via PyQt
bindings. The system is open source, released under the GPL v2 license. The pre-compiled versions for Windows
, Mac OS X
, and Linux
come with an installer and several packages, including VTK
, matplotlib
, and ImageMagick
. VisTrails also supports user-defined packages.
management support for exploratory
computational tasks. It combines features of workflow
and visualization systems. Similar to
workflow systems, it allows the combination of loosely-coupled resources, specialized libraries,
and grid and Web services. Similar to some visualization systems, it provides a mechanism
for parameter exploration and comparison of different results. But unlike these other systems,
VisTrails was designed to manage exploratory processes in which computational tasks evolve
over time as a user iteratively formulates and tests hypotheses. A key distinguishing feature of
VisTrails is its comprehensive provenance infrastructure that maintains detailed history information
about the steps followed in the course of an exploratory task. VisTrails leverages this
information to provide novel operations and user interfaces that streamline this process.
VisTrails has been developed for exploratory visualization, but the system is general, and provides
functionality in the following areas:
s Cláudio Silva and Juliana Freire. Initial development began in 2004 by graduate students at the University of Utah
. Although the first prototypes were implemented in C++
, the current version of VisTrails is written in Python
. The first public release was in September 2007.
-style interface, allowing multiple visualizations from different versions of a workflow to be viewed and compared simultaneously. The VisTrails spreadsheet currently supports VTK
and HTML
rendering.
VisTrails supports four basic modes
, or views. Each view interacts with the underlying workflow in a different way.
formed VisTrails, Inc., a spinoff company intended to commercialize VisTrails technology. Development for the free version of VisTrails is currently funded by the University of Utah and VisTrails, Inc. The company's first product is a plugin for the 3D modeling software Maya
. While the main VisTrails distribution is free software
, the VisTrails plugin for Maya is distributed under a closed-source/proprietary license
.
Workflow
A workflow consists of a sequence of connected steps. It is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. Workflow may be seen as any abstraction of real work...
developed at the Scientific Computing and Imaging Institute
Scientific Computing and Imaging Institute
The Scientific Computing and Imaging Institute is a permanent research institute at the University of Utah. It is a leader in engineering and research in the areas of scientific computing, visualization, and imaging...
at the University of Utah
University of Utah
The University of Utah, also known as the U or the U of U, is a public, coeducational research university in Salt Lake City, Utah, United States. The university was established in 1850 as the University of Deseret by the General Assembly of the provisional State of Deseret, making it Utah's oldest...
that provides support for data exploration and visualization. It is written in Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
and employs Qt
Qt (toolkit)
Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...
via PyQt
PyQt
PyQt is a Python binding of the cross-platform GUI toolkit Qt. It is one of the alternatives for GUI programming in Python to Tkinter, which is bundled with Python. Other popular alternatives are PySide, PyGTK, and wxPython. Like Qt, PyQt is free software. PyQt is implemented as a Python...
bindings. The system is open source, released under the GPL v2 license. The pre-compiled versions for Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
, and Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
come with an installer and several packages, including VTK
VTK
The Visualization Toolkit is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. Kitware, whose team created and continues to...
, matplotlib
Matplotlib
matplotlib is a plotting library for the Python programming language and its NumPy numerical mathematics extension. It provides an object-oriented API which allows plots to be embedded into applications using generic GUI toolkits, like wxPython, Qt, or GTK...
, and ImageMagick
ImageMagick
ImageMagick is an open source software suite for displaying, converting, and editing raster image files. It can read and write over 100 image file formats. ImageMagick is licensed under the Apache 2.0 license.- Features and capabilities:...
. VisTrails also supports user-defined packages.
Overview
VisTrails is a new system that provides provenanceProvenance
Provenance, from the French provenir, "to come from", refers to the chronology of the ownership or location of an historical object. The term was originally mostly used for works of art, but is now used in similar senses in a wide range of fields, including science and computing...
management support for exploratory
computational tasks. It combines features of workflow
Workflow
A workflow consists of a sequence of connected steps. It is a depiction of a sequence of operations, declared as work of a person, a group of persons, an organization of staff, or one or more simple or complex mechanisms. Workflow may be seen as any abstraction of real work...
and visualization systems. Similar to
workflow systems, it allows the combination of loosely-coupled resources, specialized libraries,
and grid and Web services. Similar to some visualization systems, it provides a mechanism
for parameter exploration and comparison of different results. But unlike these other systems,
VisTrails was designed to manage exploratory processes in which computational tasks evolve
over time as a user iteratively formulates and tests hypotheses. A key distinguishing feature of
VisTrails is its comprehensive provenance infrastructure that maintains detailed history information
about the steps followed in the course of an exploratory task. VisTrails leverages this
information to provide novel operations and user interfaces that streamline this process.
VisTrails has been developed for exploratory visualization, but the system is general, and provides
functionality in the following areas:
- Flexible provenance architecture.
- Querying and re-using history.
- Support for collaborative exploration.
- Extensibility.
- Scalable derivation of data products, parameter exploration, multi-view and comparative visualization.
History
VisTrails is the result of a collaborative effort between computer scientistComputer scientist
A computer scientist is a scientist who has acquired knowledge of computer science, the study of the theoretical foundations of information and computation and their application in computer systems....
s Cláudio Silva and Juliana Freire. Initial development began in 2004 by graduate students at the University of Utah
University of Utah
The University of Utah, also known as the U or the U of U, is a public, coeducational research university in Salt Lake City, Utah, United States. The university was established in 1850 as the University of Deseret by the General Assembly of the provisional State of Deseret, making it Utah's oldest...
. Although the first prototypes were implemented in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
, the current version of VisTrails is written in Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
. The first public release was in September 2007.
Functionality
A common use for VisTrails is scientific visualization. Visualizations generated as part of a workflow are rendered in a spreadsheetSpreadsheet
A spreadsheet is a computer application that simulates a paper accounting worksheet. It displays multiple cells usually in a two-dimensional matrix or grid consisting of rows and columns. Each cell contains alphanumeric text, numeric values or formulas...
-style interface, allowing multiple visualizations from different versions of a workflow to be viewed and compared simultaneously. The VisTrails spreadsheet currently supports VTK
VTK
The Visualization Toolkit is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. Kitware, whose team created and continues to...
and HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....
rendering.
VisTrails supports four basic modes
Mode (computer interface)
In user interface design, a mode is a distinct setting within a computer program or any physical machine interface, in which the same user input will produce perceived different results than it would in other settings....
, or views. Each view interacts with the underlying workflow in a different way.
- The Pipeline view lets the user create, view and edit a visual pipelinePipeline (software)In software engineering, a pipeline consists of a chain of processing elements , arranged so that the output of each element is the input of the next. Usually some amount of buffering is provided between consecutive elements...
of a workflow. The pipelines are typically rendered from top to bottom, with each module's output connecting to the input of the module(s) below it. A module corresponds roughly to a data typeData typeIn computer programming, a data type is a classification identifying one of various types of data, such as floating-point, integer, or Boolean, that determines the possible values for that type; the operations that can be done on values of that type; the meaning of the data; and the way values of...
or a function. - The History view displays a tree structureTree structureA tree structure is a way of representing the hierarchical nature of a structure in a graphical form. It is named a "tree structure" because the classic representation resembles a tree, even though the chart is generally upside down compared to an actual tree, with the "root" at the top and the...
representing the various versions of the pipeline. Each time a change is made in the Pipeline view, a new node is added to the version tree in the History view. The user can optionally assign names, or tags, to one or more nodes of the tree. To conserve space, VisTrails does not render a node unless it is a root or leaf node or has a tag. - The Query view is similar in appearance to the Pipeline view. Here, the user constructs partial pipelines. When the query is executed, VisTrails identifies the pipeline versions which contain the specified partial pipeline. This is analogous to the Query By ExampleQuery by ExampleQuery by Example is a database query language for relational databases. It was devised by Moshé M. Zloof at IBM Research during the mid 1970s, in parallel to the development of SQL. It is the first graphical query language, using visual tables where the user would enter commands, example elements...
method of performing database queries. - The Exploration view automates the process of creating several workflow pipelines that differ only by a few parameter values.
Commercial variants
In 2007, the University of UtahUniversity of Utah
The University of Utah, also known as the U or the U of U, is a public, coeducational research university in Salt Lake City, Utah, United States. The university was established in 1850 as the University of Deseret by the General Assembly of the provisional State of Deseret, making it Utah's oldest...
formed VisTrails, Inc., a spinoff company intended to commercialize VisTrails technology. Development for the free version of VisTrails is currently funded by the University of Utah and VisTrails, Inc. The company's first product is a plugin for the 3D modeling software Maya
Maya (software)
Autodesk Maya , commonly shortened to Maya, is 3D computer graphics software that runs on Microsoft Windows, Mac OS and Linux, originally developed by Alias Systems Corporation and currently owned and developed by Autodesk, Inc. It is used to create interactive 3D applications, including video...
. While the main VisTrails distribution is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
, the VisTrails plugin for Maya is distributed under a closed-source/proprietary license
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
.
Version release dates history
- 1.6.2: April 2011
- 1.5.1: August 2010
- 1.4.2: March 2010
- 1.4: January 2010
- 1.3: July 2009
- 1.2: July 2008
- 1.1: May 2008
- 1.0: September 2007
External links
See also
- Scientific VisualizationScientific visualizationScientific visualization is an interdisciplinary branch of science according to Friendly "primarily concerned with the visualization of three-dimensional phenomena , where the emphasis is on realistic renderings of volumes, surfaces, illumination sources, and so forth, perhaps...
- VTKVTKThe Visualization Toolkit is an open-source, freely available software system for 3D computer graphics, image processing and visualization. VTK consists of a C++ class library and several interpreted interface layers including Tcl/Tk, Java, and Python. Kitware, whose team created and continues to...
- Kepler scientific workflow systemKepler scientific workflow systemKepler is a free software system for designing, executing, reusing, evolving, archiving, and sharing scientific workflows.Kepler's facilities provide process and data monitoring, provenance information, and high-speed data movement solutions...
- Bioinformatics workflow management systemsBioinformatics workflow management systemsA bioinformatics workflow management system is a specialized form of workflow management system designed specifically to compose and execute a series of computational or data manipulation steps, or a workflow, in a specific domain of science, bioinformatics....
- ImageVis3DImageVis3DImageVis3D is a lightweight, open source, volume rendering application for the interactive visualization of very large volumetric data sets. It utilizes both the slice based as well as the GPU ray casting approach to visualize the volume data...