OverviewΒΆ

The following figure presents an overview over the classes of the FITS module and their relations.

../../../../_images/uml_fits.png

FITS module

The FITS module provides a high-level interface to FITS files. The module is based on the cfitsio library for file access. The classes of the module implement a logical representation of the FITS file in memory that can be handled independently of the file representation on disk.

The central class of the FITS module is the GFits class that represents a FITS file. The class is a container for classes derived from the abstract GFitsHDU base class which represents a FITS extension (also called Header-Data Unit, HDU). Each extension is composed of one header, implemented by the GFitsHeader class and one data unit. The header is composed of cards representing the meta-data of the fits file. The cards are implemented by the GFitsHeaderCard class. The data unit is either an image, represented by the abstract GFitsImage base class, or a table, represented by the abstract GFitsTable base class. The image can be stored in various data types, each of which is implemented by a specific class derived from GFitsImage. The table can be either an ASCII table, implemented by the GFitsAsciiTable class or a binary table, implemented by the GFitsBinTable class. Each table is comprised of columns, represented by the abstract GFitsTableCol base class. This class is the same for ASCII and binary tables. Similar to images, table column data can be stored in a variety of data types, each of which is implemented by a specific class derived from GFitsTableCol.