# Package uk.ac.starlink.fits

Classes for general FITS handling, including NDX, NDArray and StarTable implementations.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  BasicInput | Interface defining the basic data input operations required for the FITS reading classes.
  FitsTableSerializer | Defines an object which can serialize a table to a FITS HDU.
  FitsTableSerializerConfig | Aggregates configuration options for FITS table serialization.
  WideFits | Defines a convention for storing extended column data in a FITS BINTABLE extension.

- Class Summary
  Class | Description
  --- | ---
  AbstractArrayDataIO | Abstract implementation of an implementation of a `nom.tam.util`-compatible FITS I/O handler.
  AbstractFitsTableWriter | Abstract table writer superclass designed for writing FITS tables.
  AbstractWideFits | Implementations of the WideFits interface.
  BasicInputThreadLocal | ThreadLocal based on an InputFactory.
  BintableColumnHeader | Understands how per-column metadata is stored in the headers of a FITS BINTABLE extension.
  BintableStarTable | An implementation of the StarTable interface which uses a FITS BINTABLE extension.
  BlockInput | Partial random-access BasicInput implementation based on a set of ByteBuffers.
  BlockMappedInput | Random-access BasicInput implementation that maps a given region of a file as a number of byte buffers.
  BufferedRandomInput | BasicInput implementation based on a RandomAccessFile.
  ByteBufferInput | Random-access BasicInput implementation based on a ByteBuffer.
  ColFitsStarTable | StarTable based on a single-row FITS BINTABLE which contains the data for an entire column in each cell of the table.
  ColFitsTableBuilder | Implementation of the `TableBuilder` interface which reads tables stored in column-oriented FITS binary table format.
  ColFitsTableSerializer | Object which can serialize a StarTable to a data stream as a one-row FITS file in which each element contains an entire column of the table.
  ColFitsTableWriter | Handles writing of a `StarTable` in a column-oriented FITS binary table format.
  FitsConstants | Utility class providing some constants and static methods related to FITS file format and starlink classes.
  FitsStarTable | An implementation of the StarTable interface which uses FITS TABLE or BINTABLE extensions.
  FitsTableBuilder | Implementation of the `TableBuilder` interface which gets `StarTable`s from FITS files.
  FitsTableWriter | Handles writing of a StarTable in FITS binary format.
  HduFitsTableWriter | TableWriter which writes a single extension BINTABLE HDU containing the table.
  HeaderCards | Controlled access to a collection of FITS header cards.
  HealpixFitsTableWriter | TableWriter implementation that writes FITS files using the HEALPix-FITS convention.
  InputFactory | Represents a sequence of bytes, and can create BasicInput objects to read it.
  MappedFile | Provides mapped access to a data buffer using a single mapped byte buffer, compatible with nom.tam.util classes.
  MultiByteBufferInput | Random-access BasicInput implementation based on a supplied array of byte buffers.
  MultiMappedFile | ArrayDataIO implementation which works by mapping but is capable of splitting a file up into multiple mapped sections.
  SimpleMappedInput | Random-access BasicInput implementation that maps a given region of a file as a monolithic byte buffer.
  StandardFitsTableSerializer | Class which knows how to do the various bits of serializing a StarTable to FITS BINTABLE format.
  Unmapper | Attempts to free resources from a MappedByteBuffer.
  VariableFitsTableSerializer | FitsTableSerializer which can write variable array-valued columns using the 'P' or 'Q' TFORM formatting characters.
  VariableFitsTableWriter | TableWriter which writes FITS BINTABLEs with variable-length arrays where appropriate.

- Exception Summary
  Exception | Description
  --- | ---
  MappedFile.FileTooLongException | Exception indicating that a file is too long to map.

## Package uk.ac.starlink.fits Description

Classes for general FITS handling, including NDX, NDArray and StarTable implementations. Some of these classes use the `nom.tam.fits` package for low-level FITS access, though several of them do most of the handling in customised ways themselves for efficiency reasons.