Home | News | Docs | WCS | Samples | Libraries | Viewers | Utilities | Keywords | Conventions | Resources

Support for 64-bit Integers in FITS Files


Effective 8 December 2005, the IAU FITS Working Group has approved 3 proposals to modify the FITS Standard to support the 64-bit integer data type:
  1. Primary arrays or IMAGE extensions containing 64-bit integer data type arrays are designated by BITPIX = 64 (approved conditionally; the exact wording of this change to the Standard is tentative).
  2. Columns in FITS binary tables that contain 64-bit integers are designated by TFORMn = 'nK'
  3. Array descriptor columns in FITS binary tables with 64-bit integer array length and heap offset values are designated by TFORM = '1Qt' (analogous to the existing 32-bit descriptor type designated by TFORM = '1Pt').
The specific changes to the FITS Standard to support these proposals are shown in this marked-up PDF file.

Recent Discussions and Votes

The issues related to adding support for 64-bit integers to FITS were extensively debated on the FITSBITS mail list in 2005. April, May, and June 2005.

Much of these discussions centered on whether there is sufficient reason for adding support for 64-bit integer primary arrays and Image extensions to FITS to justify the impact it will have, especially to existing software systems. Here are some of the cited justifications.

The 4 Regional FITS committees were asked to vote on these proposals in September 2005. The detailed voting results were posted on the FITSBITS newsgroup and are summarized in the following table:

Proposal Yes No Abstain
images with BITPIX = 64 35 3 1
table columns with TFORM = 'K' 39 0 0
descriptor columns with TFORM = '1Qt' 39 0 0

The IAU FITS Working Group then voted on these same proposals in December 2005. The first proposal (BITPIX = 64) was approved with a 19 'Yes', 2 'No', and 1 'Abstain' vote. Under the IAU FWG voting rules, the 'No' votes force a 6-month delay before the vote becomes final, in the hope that a compromise can be reached that everyone can support. Hence, the final wording of this change in the FITS Standard is tentative.

The other 2 proposals were unanimously approved by the IAU-FWG and hence became effective on 8 December 2005.

A Brief History of this Proposal

The discussion of adding 64-bit integer support to FITS dates back to at least July 1998, when it was suggested that this should be added to the revision of the FITS Standard that was being drafted by the NOST panel at that time. The NOST panel ultimately decided that it did not have the authority to unilaterally adopt such a major change.

This issue was raised again in 2001 on the fitsbits email exploder (see threads of the discussion in September and October 2001). In an informal straw poll taken in October 2001, there were 20 votes in favor of adding 64-bit integer support to FITS, 4 votes against, and 5 undecided or no opinion. It was hard to judge the true sentiment of the FITS community from such a small poll, and the FITS committees that control the FITS Standard took no action at that time. None the less, some software packages began to offer unofficial support for 64-bit integers (see below).

This issue was discussed once again at the FITS Birds-of-a-Feather session at the ADASS meeting held in Pasadena, CA in October 2004. For the first time, there appeared to be wide spread support for this measure after it was confirmed that most existing software environments now support 64-bit integers (even most current generation computers that operate with 32-bit CPU architectures). A show of hands by the ~70 attendees of this BoF session on the question of whether "we should now seriously consider adding support for 64-bit integers to the FITS Standard" showed about 80% in favor, 20% not voting, and only one person against. Given this relatively strong show of support, there was general agreement that this matter should be brought up for discussion by the whole FITS community on the FITSBITS newsgroup and then voted on by the FITS committees.

Sample FITS Files

test64bit1.fit - a small test file that contains:

  1. primary array containing a small 64-bit integer image with BITPIX = 64
  2. binary table extension containing a 64-bit integer column with TFORM2 = '1K'
  3. a second binary table extension containing a '1QK' column of variable-length arrays of 64-bit integers.

Existing Software that supports 64-bit Integer FITS Files

Home | News | Docs | WCS | Samples | Libraries | Viewers | Utilities | Keywords | Conventions | Resources

Last revised: Thursday, 23-Aug-2012 12:00:30 EDT
Contact us: fits @ fits.gsfc.nasa.gov
Hosted by: The HEASARC (High Energy Astrophysics Science Archive Research Center)
Responsible NASA representative: Dr. Thomas A. McGlynn
Privacy, Security & Accessibility Statements.