Miscellaneous Features

This section describes some of the miscellaneous features of astropy.io.fits.


The astropy.io.fits.diff module contains several facilities for generating and reporting the differences between two FITS files, or two components of a FITS file.

The FITSDiff class can be used to generate and represent the differences between either two FITS files on disk, or two existing HDUList objects (or some combination thereof).

Likewise, the HeaderDiff class can be used to find the differences just between two Header objects. Other available differs include HDUDiff, ImageDataDiff, TableDataDiff, and RawDataDiff.

Each of these classes are instantiated with two instances of the objects that they diff. The returned diff instance has a number of attributes starting with .diff_ that describe differences between the two objects.

For example the HeaderDiff class cam be used to find the differences between two Header objects like so:

>>> from astropy.io import fits
>>> header1 = fits.Header([('KEY_A', 1), ('KEY_B', 2)])
>>> header2 = fits.Header([('KEY_A', 3), ('KEY_C', 4)])
>>> diff = fits.diff.HeaderDiff(header1, header2)
>>> diff.identical
>>> diff.diff_keywords
(['KEY_B'], ['KEY_C'])
>>> diff.diff_keyword_values
defaultdict(..., {'KEY_A': [(1, 3)]})

See the API documentation for details on the different differ classes.