Internal API Documentation#

This page contains the documentation for the internal API of sunpy.

sunpy.io._file_tools Module#

This module provides a generic file reader for internal use.

Functions#

read_file(filepath[, filetype])

Automatically determine the filetype and read the file.

read_file_header(filepath[, filetype])

Reads the header from a given file.

write_file(fname, data, header[, filetype])

Write a file from a data & header pair using one of the defined file types.

detect_filetype(filepath)

Attempts to determine the type of file a given filepath is.

sunpy.io._header Module#

This module provides a generic FileHeader object for the readers.

Classes#

FileHeader(*args, **kwargs)

FileHeader is designed to provide a consistent interface to all other sunpy classes that expect a generic file.

Class Inheritance Diagram#

Inheritance diagram of sunpy.io._header.FileHeader

sunpy.io._fits Module#

This module provides a FITS file reader for internal use.

Notes

  1. FITS files allow comments to be attached to every value in the header. This is implemented in this module as a KEYCOMMENTS dictionary in the sunpy header. To add a comment to the file on write, add a comment to this dictionary with the same name as a key in the header (upcased).

  2. Due to the way fits works with images, the header dictionary may differ depending on whether is accessed before or after the fits[0].data is requested. If the header is read before the data then the original header will be returned. If the header is read after the data has been accessed then the data will have been scaled and a modified header reflecting these changes will be returned: BITPIX may differ and BSCALE and B_ZERO may be dropped in the modified version.

  3. The verify(‘silentfix+warn’) call attempts to handle violations of the FITS standard. For example, nan values will be converted to “nan” strings. Attempting to cast a astropy.io.fits.Header to a dictionary while it contains invalid header tags will result in an error so verifying it early on makes the header easier to work with later.

Functions#

header_to_fits(header)

Convert a header dict to a Header.

read(filepath[, hdus, memmap])

Read a fits file.

get_header(afile)

Read a fits file and return just the headers for all HDU's.

write(fname, data, header[, hdu_type])

Take a data header pair and write a FITS file.

extract_waveunit(header)

Attempt to read the wavelength unit from a given FITS header.

format_comments_and_history(input_header)

Combine COMMENT and HISTORY cards into single entries.

sunpy.io._jp2 Module#

This module provides a JPEG 2000 file reader for internal use.

Functions#

read(filepath, **kwargs)

Reads a JPEG2000 file.

get_header(filepath)

Reads the header from the file.

write(fname, data, header, **kwargs)

Take a data header pair and write a JPEG2000 file.