Subject: WGAS talk

From: pence at heawk1.gsfc.nasa.gov ( William Pence)
Date: Tue, 23 Jun 1992 17:49:23 GMT

As was requested prior to the meeting, here is a summary of the talk that I 
gave at the WGAS session of the AAS meeting in Columbus earlier this month.

-Bill Pence           pence at tetra.gsfc.nasa.gov
                      LHEAVX::PENCE
-----------------------------------------------------------------------------
    FITS RELATED ACTIVITIES AT THE HIGH ENERGY ASTROPHYSICS SCIENCE ARCHIVE  
        RESEARCH CENTER (HEASARC) AT GODDARD SPACE FLIGHT CENTER

I.  FITSIO STATUS UPDATE

- FITSIO is a Fortran subroutine interface for reading or writing FITS files.

	- Supports all common types of FITS files: primary arrays, IMAGE
		extensions, ASCII and Binary table extensions (including
		variable length arrays)

	- Currently supported on: VAX/VMS, SUNs, DECstations, IBM mainframes, 
		IBM PCs, Amigas, NeXTs, Silcon Graphics IRIS, Convex

- Latest release: V3.20 was released in April 1992;

	- No new major enhancements are planned, however minor releases
          will be made periodically to fix bugs and add a few enhancements

	- Available via anonymous ftp from tetra.gsfc.nasa.gov in directory
          pub/fitsio3/

	- Next release (V3.21) will be available in the last week of June 1992.

- Subroutine bindings for C and possibly for SPP are being developed for FITSIO

	- These consist of thin layers of C or SPP subroutines which sit on 
          top of the Fortran FITSIO subroutines

	- These binding will allow C or SPP programmers to simply call the
          FITSIO library without having to worry about the machine specific
          details of calling Fortran subroutines from another language, or
          the conversion of data types (e.g., converting SPP strings into
	  Fortran strings).

	- The C bindings use the CFORTRAN library (available from
	  zebra.desy.de [131.169.2.244]) which provides a machine independent
          interface for calling Fortran from C.

	- In the SPP version the low level file I/O routines will also be 
	  replaced with calls to the IRAF VOS for complete IRAF compatibility.

	- the C binding should be available in July and the SSP binding
          later in July or August.

II.  FTOOLS - FITS TOOLS PACKAGE DESCRIPTION

- FTOOLS is a set of utility programs for manipulating FITS files using FITSIO.

	- modeled after the STSDAS TTOOLS package

- Specifically developed to support the Astro-D mission but most tasks are 
  very general.  

- FTOOLS will form the core HEASARC software for processing data from any 
  past or future high-energy astronomy mission.

- FTOOLS directly processes FITS files without first having to convert them 
  into a local data format. (FITS is not just a transport format).

	- the software and the data are both machine independent

	- can simply ftp FITS data files between users on different machines

- All input and output files to the FTOOLS tasks are in FITS format
  (with the occasionally ASCII file as well) .

- Each FTOOLS task performs one simple operation, e.g., sort, print,
  plot, select, or copy information in a FITS file.

- Most of the tasks operate on tables (ASCII or Binary) however they also
  operate on images wherever it make sense to do so.

III.  FTOOLS DESIGN PHILOSOPHY

- The FTOOLS code is designed with portability as a prime requirement.

	- written in ANSI-standard Fortran or C 

	- all data I/O and user I/O is isolated through standard 
	  interface subroutines

		- data I/O:  FITSIO used to access FITS files

		- user I/O:  uses IRAF F77 parameter interface calling sequences

- FTOOLS is currently implemented in 2 different environments:

	- as an IRAF package - uses .par files just like any other IRAF task

	- as stand-alone tasks using the SAO-developed Parameter Interface 
	  which mimics the way IRAF reads parameters from a .par file, but
	  has no dependency on the IRAF software or libraries.

- It should be relatively easy to port the code to any other environment.

- First public release of FTOOLS is planned for July 1992. Should run on
  SUNS, and DECstations, and probably VAX/VMS.
  [watch this space for further announcements when the package is available]

- 2.5 programmers and 2 (part time) astronomers are currently working on 
  the FTOOLS project.   Work on developing more FTOOLS tasks will continue
  into 1993.

IV. List of Selected FTOOLS Tasks

The following is a list of just some of the tasks that are planned for
the FTOOLS package.

FDUMP - format the header and/or data of a FITS table into an ASCII file
FCREATE - create a new FITS table extension from an input ASCII template file
FMODHEAD - modify the header keywords in a FITS file
FLCOL - list the names and datatypes of all columns in a table
FPROJECT - create a new table from columns extracted from an existing table 
FSELECT - extract selected rows from a table and write to a new table
FAPPEND - combine 2 or more separate extensions into one FITS file
FEXTRACT - extract an entire FITS extension from one file to a new file
FHIST - bin the data in a table column into a histogram
F2DHIST - bin the data in 2 table columns into a rectangular FITS image
FSTAT - calculate statistics (mean, variance, etc) on a column of numbers
FSORT - sort a table based on the entries in a given column
FCALC - perform arithmetic operations on a table of numbers
PLOTFITS - plot one or more columns in a table extension