next up previous contents
Next: Scaled Integers Up: Basic FITS Previous: Units

3.1.2 Primary Data Array

  In the original design of FITS, the data array represented a digitized image. Each array element would therefore correspond to a pixel of this image. Consequently, while the elements of a FITS data array are often called ``pixels'', the array does not represent an image and the term ``pixel'' may simply refer to a member of an array rather than a section of an actual image.

The primary data array starts at the beginning of the record following the last primary header record. The data occur in the order defined by the header--pixel numbers increasing, with the index along axis 1 varying most rapidly and the index along the last axis varying least rapidly. Data are packed into the 2880-byte records with no gaps. Each entry in the array immediately follows the preceding entry; the first pixel of any given axis does not necessarily appear in the first word of a new record. If the last member of the data array is not at the end of a record, the remaining bits of the record are filled with zeroes, corresponding to 0 (integer) or +0.0 (floating point).

The bytes in each word are in order of decreasing significance, with the sign bit first. Thus, INTEL and VAX machines will have to reverse the order of the bytes in 16- and 32-bit integers and make the appropriate conversions between IEEE floating point and internal storage order before writing or after reading. Numbers are stored in twos-complement form; conversion will be required for ones-complement machines.

The data type of the array members may be any type corresponding to a valid value of BITPIX: unsigned eight-bit integers or characters, signed 16- or 32-bit integers, or single or double precision IEEE floating point. Proposals to add 16- and 32-bit unsigned integer types have been discussed from time to time, but a consensus in favor of these proposals has not developed. Data with the numerical range corresponding to unsigned integers can be included in a FITS file by using signed integers and then scaling, for example, setting BZERO equal to 32768 (215) for 16-bit integers.

Some detector systems produce files that conform to the FITS rules except in their use of multibyte unsigned integers; these files should not be described as FITS files and should not have SIMPLE set equal to T in the first card image. Such files are an example of a good use for setting SIMPLE equal to F.



 
next up previous contents
Next: Scaled Integers Up: Basic FITS Previous: Units