skip to content
 
HEASARC: Software

 

FITSVERIFY - A FITS File Format Checker

NOW: use the Web version of FITSVERIFY to instantly verify your FITS files.


fitsverify is a computer program that rigorously checks whether a FITS format data file conforms to all the requirements defined in the FITS (Flexible Image Transport System) Standard document.

The fitsverify program is available as an executable binary file for Solaris, Linux, and Window platforms. The source code is also available for building the program on other platforms. (The CFITSIO library must be linked with the source code. Refer to the README file for instructions).

The program is run by entering

    fitsverify filename.fits

on the command line, where "filename.fits" is the name of the file to be verified. Other available options are:

  • fitsverify -l filename.fits (list all header keywords)
  • fitsverify -q *.fits (Verify all *.fits files in the current directory in 'quiet' mode. This suppresses the detailed verification report and only writes a 1-line pass/fail message for each file)
  • fitsverify -e filename.fits (only check for errors, ignore warnings)
  • fitsverify @textfile (verify the files listed in the text file)
  • fitsverify -h (for complete help listing)

fitsverify is a stand-alone version of the ftverify and fverify tasks that are distributed as part of the ftools software package. Any comments or problems regarding this program should be sent to the FTOOLS helpdesk.

The following is a list of the errors and warning conditions that will be detected by fitsverify:

   SEVERE ERROR CONDITIONS
     - Mandatory keyword not present or out of order
     - Mandatory keyword has wrong datatype or illegal value
     - END header keyword is not present
     - Sum of table column widths is inconsistent with NAXIS1 value
     - BLANK keyword present in image with floating-point datatype
     - TNULLn keyword present for floating-point binary table column
     - Bit column has non-zero fill bits or is not left adjusted
     - ASCII TABLE column contains illegal value inconsistent with TFORMn
     - Address to a variable length array not within the data heap
     - Extraneous bytes in the FITS file following the last HDU
     - Mandatory keyword values not expressed in fixed format
     - Mandatory keyword duplicated elsewhere in the header
     - Header contains illegal ASCII character (not ASCII 32 - 126)
     - Keyword name contains illegal character
     - Keyword value field has illegal format
     - Value and comment fields not separated by a slash character
     - END keyword not filled with blanks in columns 9 - 80
     - Reserved keyword with wrong datatype or illegal value
     - EXTEND not present in the primary array if there are extensions
     - BLOCKED, if present, not among the first 36 keywords
     - XTENSION keyword in the primary array
     - Column related keyword (TFIELDS, TTYPEn,TFORMn, etc.) in an image
     - SIMPLE, EXTEND, or BLOCKED keyword in any extension
     - BSCALE, BZERO, BUNIT, BLANK, DATAMAX, DATAMIN keywords in a table
     - Image WCS keywords (CTYPEn, CRPIXn, CRVALn, etc.) in a table
     - Table WCS keywords (TCTYPn, TCRPXn, TCRVLn, etc.) in an image
     - TDIMn or THEAP keyword in an ASCII table
     - TBCOLn keyword in a Binary table
     - THEAP keyword in a binary table that has PCOUNT = 0
     - XTENSION, TFORMn, TDISPn or TDIMn value contains leading space(s)
     - Index of any WCS keyword (CRPIXn, CRVALn, etc.) greater than
       value of WCSNAXES
     - Index of any table column descriptor keyword (TTYPEn, TFORMn,
       etc.) greater than value of TFIELDS
     - TSCALn or TZEROn present for an ASCII, logical, or Bit column
     - TDISPn value is inconsistent with the column datatype
     - Length of a variable length array greater than the maximum
       length as given by the TFORMn keyword
     - Logical column contains illegal value not equal to 'T', 'F', or 0
     - Character string column contains non-ASCII text character
     - Header fill bytes not all blanks
     - Data fill bytes not all blanks in ASCII tables or all zeros
       in any other type of HDU
     - Gaps between defined ASCII table columns contain characters with
       ASCII value > 127

WARNING CONDITIONS

     - SIMPLE = F
     - Presence of deprecated keywords BLOCKED or EPOCH
     - 2 HDUs have identical EXTNAME, EXTVER, and EXTLEVEL values
     - EXTNAME, EXTVER, or EXTLEVEL keyword in primary array
     - BSCALE or TSCALn value = 0.
     - BLANK OR TNULLn value exceeds the legal range
     - TFORMn has 'rAw' format and r is not a multiple of w
     - DATE = 'dd/mm/yy' and yy is less than 10 (Y2K problem??)
     - Index of any WCS keyword (CRPIXn, CRVALn, etc.) greater than
       value of NAXIS, if the WCSAXES keyword is not present
     - Duplicated keyword (except COMMENT, HISTORY, blank, etc.)
     - Column name (TTYPEn) does not exist or contains characters
       other than letter, digit and underscore
     - Calculated checksum inconsistent with CHECKSUM or DATASUM
       keyword


HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public

Last modified: Thursday, 23-Apr-2009 16:36:45 EDT