CFITSIO 3.020 review

Download
by rbytes.net on

CFITSIO is a library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data f

License: BSD License
File size: 2182K
Developer: William D. Pence
0 stars award from rbytes.net

CFITSIO is a library of C and Fortran subroutines for reading and writing data files in FITS (Flexible Image Transport System) data format.

CFITSIO simplifies the task of writing software that deals with FITS files by providing an easy to use set of high-level routines that insulate the programmer from the internal complexities of the FITS file format.

Here are some key features of "CFITSIO":

CFITSIO is the result of many man-years of development with major contributions from external projects such as the data centers for INTEGRAL (ISDC), XMM, and Chandra space missions.

Provides 100% complete support for the FITS Standard, including:
all FITS datatypes, including bit, byte, logical, and complex
both signed and unsigned integer support
vector columns
variable length vector columns
null values in images and table columns

Supports many proposed FITS conventions that are widely used but not yet standard, including:
CHECKSUM keyword convention
CONTINUED long string value keywords (longer than 68 characters)
ESO HIERARCH convention for keyword names longer than 8 characters
Hierarchical Grouping convention (used by INTEGRAL)
Keyword units convention (in square brackets in the comment field)
64-bit long-integer datatypes in FITS images and tables.

C++, Fortran, Perl, and Tcl wrappers are available for calling CFITSIO from other languages

The subroutine interface is based on an abstract data model concept which hides the low level FITS format details from users.

The CFITSIO data access routines are simple and intuitive. The basic interface is defined in only 15 pages of the CFITSIO Quick Start Guide.

A dozen simple yet powerful example programs are provided to illustrate how to use CFITSIO.

Supports creating new files based on ASCII template file (from the ISDC)

Supports implicit datatype conversion when reading or writing FITS data

CFITSIO uses plug-in I/O drivers (developed at the ISDC) which makes it easy to to support a variety of physical file formats, including:
IRAF images (code provided by Doug Mink)
raw binary data files
FTP, HTTP, and ROOT file access (code provided by ISDC)
externally compressed files (.gz, .Z, and .zip)
files piped on 'stdin' or 'stdout'
'Tile Compressed' images which are actually stored in binary tables
files in shared memory segments (code provide by ISDC)
files is core memory (widely used in real-time data acquisition)

Has a simple set of self-contained WCS routines, plus has routines to cleanly interface with Doug Mink's more extensive WCS library (but has no linkage dependencies on the WCS library)

The high performance lexical parser (designed by Uwe Lammers) allows completely general table filtering and is as fast as compiled C code.

The parser supports filtering of tables by region files and GTI files.

CFITSIO's Virtual File syntax supports many features, including:
extracting subimages from larger images
modifying or creating table columns on the fly
creating images by binning table columns

The I/O speed has been highly optimized and is largely limited only by the speed of the underlying physical device; Sustained I/O data rates of more than 40MB/s are possible on current generation magnetic disks.

Has modest memory requirements; FITS files sizes are not limited by the amount of available memory.

Supports the 'large file' specification and can read and write FITS files up to 6 terabytes in size.

Extensive error reporting is built into the interface, which aids both developers and end users in debugging problems.

CFITSIO can be built on nearly every Unix platform with the usual './configure' and 'make' procedure. It supports 64-bit architectures.

A binary .dll library is available for Windows platforms.

What's New in This Release:
Support for the H-Compress image compression algorithm was added along with functions for generating random data with either a normal or Poisson distribution.
SGI Altix and Itanium support was fixed.
Numerous minor bugfixes and code cleanups were made.

CFITSIO 3.020 keywords