Python Gist


The Python Gist Scientific Graphics Package, version 1.5, written by Lee Busby and Zane Motteler of Lawrence Livermore National Laboratory, is a set of Python modules for production of general scientific graphics. We abbreviate the name to "PyGist" here and elsewhere.

Description

"Gist" is a scientific graphics library written by David H. Munro of Lawrence Livermore National Laboratory. It features support for three common graphics output devices: X-Windows, (Color) PostScript, and ANSI/ISO Standard Computer Graphics Metafiles (CGM). The library is small (written directly to Xlib), portable, efficient, and full-featured. It produces x-vs-y plots with "good" tick marks and tick labels, 2-D quadrilateral mesh plots with contours, vector fields, or pseudocolor maps on such meshes, and a selection of 3-D plots.

The Python Gist module utilizes the ``Numerical'' package due to J. Hugunin and others. It is therefore fast and able to handle large datasets. The Gist module includes an X-windows event dispatcher which can be dynamically added to the Python interpreter. This makes fast mouse-controlled zoom, pan, and other graphic operations available to the researcher while maintaining the usual Python command-line interface.


Installation

Two external libraries are required to successfully make gistCmodule.so. One is libX11.a, which is part of the standard X11 distribution, and the other is libgist.a, which is part of Munro's Yorick-1.4 distribution. Yorick can be obtained from many sites:

  ftp-icf.llnl.gov:/pub/Yorick/yorick-1.4.tar.gz
  wuarchive.wustl.edu: /languages/yorick/yorick-1.4.tar.gz
  sunsite.unc.edu: /pub/languages/yorick/yorick-1.4.tar.gz
  sunsite.unc.edu: /pub/Linux/apps/math/matrix/yorick-1.4.tar.gz
  netlib.att.com: /netlib/env/yorick-1.4.tar.gz
  netlib2.cs.utk.edu: /env/yorick-1.4.tar.gz

It is easiest to simply install the entire Yorick distribution. This requires only about 5MB of disk space. If you are interested in Python Gist, chances are you will also be interested in Yorick. However, should you desire to remove the files not strictly necessary for compilation and installation of Python Gist, here is a list of the *required* files and directories, in their default installation locations:

  /usr/local/share/yorick/1.4/gist         # Style and color palette files
  /usr/local/lib/yorick/1.4/lib/libgist.a  # The Gist library
  /usr/local/lib/yorick/1.4/h/*.h          # header files

You may also want to save or print out various documentation files included with Yorick. After you have installed Yorick, you can configure and compile the Numeric package and then this Graphics package.

In addition to Yorick, you'll need to install the NumPy package, and Python itself, of course. Note that the header files from LLNLDistribution/Numerical/Include need to be installed in the same directory as other Python header files. The default Unix location is /usr/local/include/python1.5.

Modify the Setup file to note your locations for libX11.a and libgist.a. Then you can make and install the shared libraries gistCmodule.so and arrayfnsmodule.so by running the command

  python makethis.py
  make install
You need to also install the many python language modules which are part of PyGist. Until we write a generic installation script, the following commands will do (substitute your own target directory as appropriate):
  cp Gist/Lib/*.py Gist/Lib/*.help /usr/local/lib/python1.5/site-packages
  cp Gist3D/Lib/*.py /usr/local/lib/python1.5/site-packages
  cp OOG/Lib/*.py /usr/local/lib/python1.5/site-packages
  cp Arrayfcns/Lib/*.py /usr/local/lib/python1.5/site-packages

Running Gist

After you have built PyGist, you can test it by running
  >>> import gistdemolow
  >>> gistdemolow.run()
(There are numerous other demo files in the several Demo
subdirectories.) You can get started with the online help using
  >>> from gist import *
  >>> help("help.")
  >>> help("gist.")

Author's Address

Lee Busby, mailstop L-030 or
Zane Motteler, mailstop L-038

Lawrence Livermore National Laboratory
7000 East Avenue
Livermore, CA, USA 94550

E-mail: busby1@llnl.gov
E-mail: motteler1@llnl.gov