visit-plotOn Monday afternoon I attended the VisIt Tutorial, taught by the ever-knowledgeable Sean Ahern and Hank Childs. The tutorial covered all the major parts you could hope for: Basic usage, advanced functionality, expressions, client-server, analysis, and finally development.  I thought I’ld cover some of the highlights for you in case you couldn’t make it yourself.

Read the review after the break.

Background

Of course, VisIt has been under development for over a decade, but major strides have been made in recent history in support of massive data and in analysis functionality.  You may remember a few months ago the announcement of the Trillion-Zone visualization performed using VisIt.  VisIt shares a foundation with ParaView in VTK, the Visualization ToolKit from Kitware.  Unlike ParaView, however, VisIt has added some extra technology under the hood and replaced many of the ParaView systems (such as parallel rendering) with their own alternatives that offer much different functionality.  They did a great job showcasing this functionality and discussing the differences.

Usage

visitusersLike any good tutorial, they opened with basic usage.  Most of the demos were done using the “noise.silo” dataset, shown above.  They heavily referenced the VisIt Users Wiki where you can go to get more information about the product and capabilities.  After quickly showing the basics, they quickly moved into some of the more detailed visualization and analysis features.  One feature they demonstrated, much to my amazement, was IsoVolumes.  This is a great alternative to the classic Thresholding functionality (that I use often in ParaView) where the cells are actually split via an isosurface method, eliminating the classic “blocky” result you typically get.

They then moved quickly into the use of Queries and Expressions, where you can use a basic pseudo-language to compute values based on your data.  The language itself is not “fully featured” (you get basic branching support, but not looping that I could see), but they offer a wide variety of expressions allowing you to compute Min & Max values, Volumes, and much more.  The values could be plotted, allowing you to use them to compute new datasets from within your original datasets.  One particularly powerful demonstration was when they loaded the Noise dataset and performed the Isovolume process to wind up with approximately 7 small objects in the scene.  They they computed connectivity, to separate them into 7 distinct objects, and used an expression to compute the volume of each of the objects.