FITS

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
FITS
Filename extension .fits, .fit, .fts
Internet media type image/fits
application/fits[1]
Developed by IAU FITS Working Group[2]
Initial release 1981
Latest release
3.0
(July 2008)
Type of format image format, structured data
Website fits.gsfc.nasa.gov

Flexible Image Transport System (FITS) is an open standard[3] defining a digital file format useful for storage, transmission and processing of scientific and other images. FITS is the most commonly used digital file format in astronomy. Unlike many image formats, FITS is designed specifically for scientific data and hence includes many provisions for describing photometric and spatial calibration information, together with image origin metadata.

The FITS format was first standardized in 1981;[4] it has evolved gradually since then, and the most recent version (3.0) was standardized in 2008. FITS was designed with an eye towards long-term archival storage, and the maxim once FITS, always FITS represents the requirement that developments to the format must be backwards compatible.

A major feature of the FITS format is that image metadata is stored in a human-readable ASCII header, so that an interested user can examine the headers to investigate a file of unknown provenance. The information in the header is designed to calculate the byte offset of some information in the subsequent data unit to support direct access to the data cells. Each FITS file consists of one or more headers containing ASCII card images (80 character fixed-length strings) that carry keyword/value pairs, interleaved between data blocks. The keyword/value pairs provide information such as size, origin, coordinates, binary data format, free-form comments, history of the data, and anything else the creator desires: while many keywords are reserved for FITS use, the standard allows arbitrary use of the rest of the name-space.

FITS is also often used to store non-image data, such as spectra, photon lists, data cubes, or even structured data such as multi-table databases. A FITS file may contain several extensions, and each of these may contain a data object. For example, it is possible to store x-ray and infrared exposures in the same file.

Images

The earliest and still most commonly used type of FITS data is an image header/data block. The term 'image' is somewhat loosely applied, as the format supports data arrays of arbitrary dimension—normal image data are usually 2-D or 3-D (with the third dimension representing for example time or the color plane). The data themselves may be in one of several integer and floating-point formats, specified in the header.

FITS image headers can contain information about one or more scientific coordinate systems that are overlaid on the image itself. Images contain an implicit Cartesian coordinate system that describes the location of each pixel in the image, but scientific uses usually require working in 'world' coordinates, for example the celestial coordinate system. As FITS has been generalized from its original form, the world coordinate system (WCS) specifications have become more and more sophisticated: early FITS images allowed a simple scaling factor to represent the size of the pixels; but recent versions of the standard permit multiple nonlinear coordinate systems, representing arbitrary distortions of the image. The WCS standard includes many different spherical projections, including, for example, the HEALPix spherical projection widely used in observing the cosmic microwave background radiation.[5]

Tables

FITS also supports tabular data with named columns and multidimensional rows. Both binary and ASCII table formats have been specified. The data in each column of the table can be in a different format from the others. Together with the ability to string multiple header/data blocks together, this allows FITS files to represent entire relational databases.

Using FITS files

FITS support is available in a variety of programming languages that are used for scientific work, including C,[6] C++, C#, Fortran,[6] IGOR Pro, IDL, Java, Julia,[7] LabVIEW, Mathematica, MATLAB, Perl, PDL, Python, R, and Tcl. The FITS Support Office at NASA/GSFC maintains a list of libraries and platforms that currently support FITS.[8]

SAOImage DS9 in FVWM2

Image processing programs such as ImageJ, GIMP, Photoshop, XnView and IrfanView can generally read simple FITS images, but frequently cannot interpret more complex tables and databases. Scientific teams frequently write their own code to interact with their FITS data, using the tools available in their language of choice. The FITS Liberator software is used by imaging scientists at the European Space Agency, the European Southern Observatory and NASA.[9] The SAOImage DS9 Astronomical Data Visualization Application is available for many OSs, and handles images and headers.[10]

Many scientific computing environments make use of the coordinate system data in the FITS header to display, compare, rectify, or otherwise manipulate FITS images. Examples are the coordinate transform library included with PDL, the PLOT MAP library in the Solarsoft solar-physics-related software tree, the Starlink Project AST library in C, and the PyFITS package in Python, now merged into the Astropy library.[11]

Current status

The FITS standard version 3.0[12] was officially approved by the IAU FITS Working Group in July 2008.[13]

Release history

Meaning
Red Old Standard/Draft; not supported
Yellow Old Standard; still supported
Green Current Standard
Blue Future Draft
FITS version Release date Notes
3.0 July 2008[14] -
2.1b December 2005[14] Added support for 64-bit integer primary arrays and image extensions
NOST 100-2.0 March 1999[14] -
NOST 100-1.0 June 1993[14] -

See also

References

  1. MIME Sub-type Registrations for Flexible Image Transport System (FITS), rfc4047.txt
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. 6.0 6.1 Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. 14.0 14.1 14.2 14.3 FITS Standard Document, FITS Documentation Page, High Energy Astrophysics Science Archive Research Center

External links