Subject: C++ FITS Classes

From: bglenden at colobus.CV.NRAO.EDU (Brian Glendenning)
Date: Thu, 20 Oct 1994 19:46:53 GMT

AIPS++ FITS Classes

There has been some interest on the part of various groups in
obtaining the C++ FITS classes which have been developed for the
AIPS++ project by Allen Farris of the Space Telescope Science
Institute. These classes deal with all the usual FITS types - Primary
Array, Image Extension, Binary Tables, ASCII tables, and Random
Groups.

It needs to be emphasized that the classes are presently very poorly
documented. However, since they are useful we are releasing them on an
informal basis. They will be released with improved documentation at a
later time.

0. Contacting us

Send any bug reports, comments, requests for features, porting notes,
etc. to aips2-bugs at nrao.edu.

1. Location

The master distribution location is in the directory:
	  ftp://aips2.nrao.edu/pub/aips++/RELEASED/fits/

We anticipate that it will be cached at other FITS repositories. In
particular, it is also found at:
          ftp://fits.cv.nrao.edu/fits/src/

FITS information in general may be found at http://fits.cv.nrao.edu/

2. Installation

The make system used internally to the AIPS++ project is quite
involved. A very simple set of makefiles are supplied here.
	o Retrieve and unpack the distribution
	o cd aips; make       # makes lib/libaips.a - mostly a Complex class
	o cd FITS; make       # makes lib/libfits.a
        o cd test; make       # makes bin/tfits[1-5]; some small test and
                              # sample programs

Making the sample programs will also cause template instantiations to
be placed in a library for faster linking.

It will work "right out of the box" for CFront 3.0.1+ based compilers
under Solaris 2. The code also compiles under AIX with IBM's xlC
compiler, and under IRIX with the SGI native compiler. It has been
compiled on PC's with Borland in the past, but we haven't done this
recently. We are very interested in any experience you might have
porting these classes, and will endeavour to get such changes into the
mainline code.

"make distclean" from the top (aips) directory should clean out all
generated files.

3. Use

A more formal release will have better tutorial and reference
documentation. Until then, there is some documentation in the headers,
particularly hdu.h, and the test programs show by example how to use
them.

tfits1 - Parse a FITS file
tfits2 - Create a primary array and image extension
tfits3 - Create a random groups file
tfits4 - Create a binary table
tfits5 - Convert an ASCII table to a binary table

4. Known bugs and deficiencies

        o The classes presently do not work from tape drives.
        o Null values in ASCII tables are not handled.

5. Copyright

The code is under the GNU library license. See the file aips/COPYING
for details.

6. Version

The software in these classes corresponds to AIPS++ internal
distribution 4.058 (19OCT94).

       Brian Glendenning - National Radio Astronomy Observatory
bglenden at nrao.edu          Charlottesville Va.           (804) 296-0286
--
       Brian Glendenning - National Radio Astronomy Observatory
bglenden at nrao.edu          Charlottesville Va.           (804) 296-0286