astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v5.2.1 »
- FITS File Handling (`astropy.io.fits`) »
- Miscellaneous Features

# Miscellaneous Features

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

## Differs

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.

### Example

The `HeaderDiff` class can 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
    False
    >>> 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.