Next: Interactive Data Analysis Environments BoF Session
Previous: The SRON-HeaD Data Analysis System
Up: Software Systems
Table of Contents - Index - PS reprint

Astronomical Data Analysis Software and Systems VI
ASP Conference Series, Vol. 125, 1997
Editors: Gareth Hunt and H. E. Payne

Three-dimensional Data Analysis in IRAF and ZODIAC+

P. L. Shopbell

Astronomy Department, California Institute of Technology, Mail Code 105-24, Pasadena, CA. 91125



Despite the widespread use of IRAF for astronomical data reduction, there are a number of special-purpose image processing applications for which the general-purpose IRAF system may not be well suited. One example of this is imaging Fabry-Perot data. Due to the complex three-dimensional data sets, many astronomers with such data employ image processing systems which can easily be extended with additional ``home-grown'' software routines. Chief among these systems is ZODIAC, a mathematical parser-based data reduction environment written by George Miyashiro of the University of Hawaii. In this paper, we examine the suitability of IRAF 2.10 and ZODIAC+ 1.0 (a recent re-structuring of ZODIAC 1.38) to the problem of imaging Fabry-Perot data analysis, in terms of both ease of use and programming extensibility. We demonstrate that both systems can be viable solutions for the problem of reducing complex three-dimensional data sets.


1. Motivation

In the field of optical Fabry-Perot astronomy, many observers reduce their data with a little-known package called ZODIAC (Shopbell 1996). Originally written by George Miyashiro of the University of Hawaii, it is an excellent interactive environment for the manipulation of 0-, 1-, 2-, and 3-D data structures. It also has a relatively simple programming interface. As such, it is well-suited to the small community of Fabry-Perot astronomers, who have extended ZODIAC with special-purpose routines for reducing and analyzing large 3-D data sets.

The simplistic nature of ZODIAC, while a strength in terms of usability and extensibility, places limits upon one's data analysis, particularly in the areas of line and image graphics, networking, and image information handling. This has motivated the development of a Fabry-Perot package in IRAF (Bland-Hawthorn, Shopbell, & Cecil 1992). IRAF can provide the astronomer with a number of basic features not found in ZODIAC, such as a built-in graphics, as well as a large set of familiar tasks for 1-D and 2-D data analysis.

The purpose of this paper is to illustrate a few important differences between ZODIAC and IRAF, as have been encountered during development of the IRAF Fabry-Perot package. We have found that while IRAF is a superior platform from a user standpoint, there are a number of useful ZODIAC features which could be valuable in the IRAF environment.

2. Features of IRAF and ZODIAC

One must be careful when comparing software systems whose applications are broad in scope. While it may be feasible to evaluate two implementations of an FFT algorithm, for example, large packages such as IRAF are applied to a wide variety of problems in many fields. We must therefore take care to examine only generic issues and basic functionality, such as the user interface or line graphic support, and not implementation choices, such as the organization of tasks. A wide variety of approaches to the complex problems of astronomical image processing are often necessary due to constraints such as hardware, but such variety is also beneficial for the end user, providing alternatives for personal preference. The current proliferation of scripting packages (e.g., Perl, python, tcl) are evidence of this well-known software development concept.

2.1. User Interface

Both IRAF and ZODIAC are command-line based systems. Common user-level features include: (i) a command-line interpreter with environment variables, command history, expression parsing, optional command-line editing, (ii) images are stored as individual disk files, (iii) a simple syntax for accessing image sub-arrays, (iv) on-line task-specific help, and (v) extensibility through a simple scripting language. Features particular to IRAF include: (i) substantial use of environment variables (e.g., stdimage, editor, graphcap), (ii) organization of routines into package/task tree structure, (iii) image headers that maintain a data description and processing history, and (iv) a parameter system that provides a standard interface to all tasks. Features particular to ZODIAC include: (i) an interpreter with knowledge of mathematical expressions, for easy manipulation of data, regardless of dimension, (ii) a simple binary disk format for image data, and (iii) support for 0-D constants.

From a user point of view, IRAF is substantially more powerful and robust than ZODIAC. The presentation of each task in a standard parameter system and the organization of tasks into packages based upon function are extremely useful, given the large numbers of tasks in these systems. (However, search routines, such as the APROPOS task, are still necessary, as in UNIX.) The lack of image header information in ZODIAC is a major problem, especially as space-based observatories proliferate and ground-based instruments and telescopes become more complex. The ability of ZODIAC to mathematically manipulate multi-dimensional data (e.g., a=b+c, where a, b, and c have arbitrary dimensions) is much more intuitive than the IMEXPR and IMARITH tasks.

2.2. Programming Interface

Both IRAF and ZODIAC include support for the addition of user code through interpreted scripts and compiled programs. Common features include: (i) a scripting language with simple flow control (e.g., for and while loops), (ii) an image access library interface, and (iii) execution is permitted outside the interactive environment. Features particular to IRAF include: (i) a simple, but limited IMFORT interface, and (ii) a complex SPP interface with an extensive set of standard libraries. Features particular to ZODIAC include: (i) a simple language-independent interface, and (ii) independent integration of each task.

The simplicity of the ZODIAC API has led many Fabry-Perot astronomers to choose it over IRAF. In fact, the ZODIAC interface is only slightly more powerful than the IMFORT interface of IRAF, so external libraries must be used for many purposes, such as plotting (e.g., pgplot) and image display. While this reduces portability and uniformity of the user interface, the steep learning curve of SPP is often more daunting. The OpenIRAF initiative should alleviate this difficulty by eliminating the need to learn another language.

2.3. Fabry-Perot Data Support

Both IRAF and ZODIAC contain basic support for three-dimensional data handling: (i) multi-dimensional array support, (ii) no data structure size restrictions, and (iii) efficient 3-D data access. Features particular to IRAF include: (i) a large library of complex fitting and interpolation routines, (ii) well-integrated graphics, and (iii) multi-axis WCS support. Features particular to ZODIAC include: (i) a small number of interface layers to provide simple, fast data access, and (ii) extensive support for image masks.

Although the foundation for three-dimensional data analysis exists in IRAF, support is not universal at the application level. For example, IRAF has an excellent pixel masking interface ( PMIO), but the standard tasks do not support masks-substantial re-coding would be required to do so. In contrast, ZODIAC contains full support for image masks throughout its tasks, but is lacking in well-integrated graphics and mathematical routines.

3. Summary

Both IRAF 2.10 and ZODIAC+ 1.0 contain features which facilitate the analysis of large three-dimensional data sets. Strengths of each system include:

The primary weaknesses of these systems are common among current image processing packages: difficult debugging of external software, steep learning curves for users, etc. However, these weaknesses and others are being addressed, as we have seen at the ADASS conferences and in the FADS discussions. Future improvements to these two systems, such as the OpenIRAF initiative, increasing use of GUIs and image masks in IRAF, and adoption of image headers and ``standard'' libraries in ZODIAC, should allow both systems better to support the reduction of large three-dimensional datasets. Although the user's choice may still remain one of preference, we expect the more extensive popularity of IRAF to lead to its wider use in the area of Fabry-Perot astronomy.


Bland-Hawthorn, J., Shopbell, P. L., & Cecil, G. 1992, in Astronomical Data Analysis Software and Systems I, ASP Conf. Ser., Vol. 25, eds. D.M. Worrall, C. Biemesderfer, & J. Barnes (San Francisco, ASP), 393

Shopbell, P. L. 1996, Zodiac+ User's Manual, 1st ed.

© Copyright 1997 Astronomical Society of the Pacific, 390 Ashton Avenue, San Francisco, California 94112, USA

Next: Interactive Data Analysis Environments BoF Session
Previous: The SRON-HeaD Data Analysis System
Up: Software Systems
Table of Contents - Index - PS reprint