Next: Session P9. User Interfaces
Up: Session P8. Software Tools
Previous: P8.8 The IUE High
  Author Index
P8.9 CFITSIO, v2.0: A New Full-Featured Data File API
William D. Pence
(NASA/GSFC HEASARC)
Reference URL: http://heasarc.gsfc.nasa.gov/fitsio
CFITSIO has evolved over 7 years into a very rich and powerful data
file API which combines many of the best features of other data
interfaces. Version 2.0 of CFITSIO has just been released and is the
result of a large collaborative effort by many groups and individuals.
It offers a high level of data abstraction by hiding most of the data
structural details from the application program and provides an `object
oriented' view of the data. It is also extremely fast, producing
typical data throughput rates of 5 - 10 MB/s on magnetic disk and of
order 100 MB/s when the data file is stored in shared or core memory.
Some of the new features in CFITSIO are:
- Supports direct network assess to http:// or ftp:// FITS files.
- Supports I/O to FITS files in memory or shared memory for better
performance.
- Tables may be filtered or modified at run time by adding qualifiers to
the file name using a general syntax that supports arbitrarily complex
expressions.
- Tables may be filtered at run time using Good-Time-Interval files (GTIs)
and SAOimage region files. The application only sees the table rows that
satisfy the filtering expression.
- Any 2 table columns may be binned into a 2-dimensional FITS image at
run time. The application program then just sees and opens the FITS
image, not the original table.
- A single FITS file may be opened multiple times by an application,
which can then read or write to different extensions in the FITS file
simultaneously.
- FITS files may be piped between tasks using the stdin and stdout
streams.
- CFITSIO is now Y2000 compliant and supports the new FITS date+time
format.
- New routines for dealing with large sets of hierarchically organized
data files have been added.
- A fully functional Fortran-callable API is available.
- CFITSIO now uses `plug-in' drivers for reading or writing files on each
different `device'. In the future, new drivers will be provided for
tape devices, to support new data compression algorithms, and even to
read other data formats besides FITS (e.g., IRAF-format images and
tables).
Next: Session P9. User Interfaces
Up: Session P8. Software Tools
Previous: P8.8 The IUE High
  Author Index
adass@ncsa.uiuc.edu