Introduction

esys.pyvisi is a Python module that is used to generate 2D and 3D visualizations for escript and its PDE solver finley. The module provides an easy to use interface to the VTK library (http://www.vtk.org/) to render (generate) surface maps and contours for scalar fields, arrows and streamlines for vector fields, and ellipsoids for tensor fields. There are three approaches for rendering an object. (1) Online - object is rendered on-screen with interaction capability (i.e. zoom and rotate), (2) Offline - object is rendered off-screen (no pop-up window) and (3) Display - object is rendered on-screen but with no interaction capability (on-the-fly animation). All three approaches have the option to save the rendered object as an image (e.g. jpeg) and subsequently converting a series of images into a movie (mpeg).

The following outlines the general steps to use Pyvisi:

  1. Create a Scene instance - a window in which objects will be rendered on.
  2. Create a data input instance (i.e. DataCollector or ImageReader) - reads the source data for visualization.
  3. Create a data visualization object (i.e. Map, Velocity, Ellipsoid, Contour, Carpet, StreamLine, etc.) - creates a visual representation of the source data.
  4. Create a Camera or Light instance - controls the viewing angle and lighting effects.
  5. Render the object - using either the Online, Offline or Display approach.
  6. Generate movie - converts a series of images into a movie. (optional)
$ scene \rightarrow data \; input \rightarrow data \; visualization \rightarrow
camera \, / \, light \rightarrow render \rightarrow movie
$

esys@esscc.uq.edu.au