File format
Flexible Image Transport System
(
FITS
) is an
open standard
defining a digital
file format
useful for storage, transmission and processing of data: formatted as multi-dimensional arrays (for example a 2D image), or tables.
[3]
FITS is the most commonly used digital
file format
in
astronomy
. The FITS standard was designed specifically for astronomical data, and includes provisions such as 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 (4.0) was standardized in 2016. 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
backward compatible
.
Image metadata
is stored in a human-readable
ASCII
header. The information in this 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
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.
Composition
[
edit
]
The earliest and still most commonly used type of FITS data is an image header/data block.
[
citation needed
]
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]
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
.
Adoption
[
edit
]
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
,
Perl Data Language
(PDL),
Python
,
R
, and
Tcl
. The FITS Support Office at
NASA
/
GSFC
maintains a list of libraries and platforms that currently support FITS.
[8]
Image processing programs such as
ImageJ
,
GIMP
,
Photoshop
,
PhotoLine
,
Chasys Draw IES
,
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
[10]
is available for many OSs, and handles images and headers.
[11]
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.
[12]
Current status
[
edit
]
The FITS standard version 4.0 was officially approved by the
IAU
FITS Working Group in July 2016.
[13]
[14]
Release history
FITS version
|
Support level
|
Release date
|
Notes
|
4.0
|
Current standard
|
July 2016
[15]
|
Final 'language-edited' version formally approved on 13 August 2018
[16]
|
3.0
|
Old standard; still supported
|
July 2008
[15]
|
-
|
2.1b
|
Old standard; still supported
|
December 2005
[15]
|
Added support for 64-bit integer primary arrays and image extensions
|
NOST 100-2.0
|
Old standard; still supported
|
March 1999
[15]
|
-
|
NOST 100-1.0
|
Old standard; still supported
|
June 1993
[15]
|
-
|
See also
[
edit
]
References
[
edit
]
External links
[
edit
]