# 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.
  CardFactory.Config | CardFactory configuration.
  FitsTableSerializer | Defines an object which can serialize a table to a FITS HDU.
  FitsTableSerializerConfig | Aggregates configuration options for FITS table serialization.
  UnmappableBuffer | Aggregates a ByteBuffer representing a mapped region of a file and a way to attempt to reclaim its resources (off-heap memory).
  WideFits | Defines a convention for storing extended column data in a FITS BINTABLE extension.

- Class Summary
  Class | Description
  --- | ---
  AbstractFitsTableWriter | Abstract table writer superclass designed for writing FITS tables.
  AbstractWideFits | Implementations of the WideFits interface.
  AsciiTableStarTable | StarTable implementation for FITS (ASCII) TABLE extensions.
  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.
  BlockManager | Manages access to a region of a file in blocks using multiple BufferManagers to cover it.
  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.
  BufferManager | Manages access to a region of a file using monolithic byte buffers.
  ByteBufferInput | Random-access BasicInput implementation based on a ByteBuffer.
  CardFactory | Creates FITS CardImages suitable for writing to a FITS header.
  CardImage | Represents a FITS header card that will be written.
  CardType<T> | Defines different types of FITS header card.
  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 | Deprecated Use `uk.ac.starlink.votable.UnifiedFitsTableWriter` instead
  FitsHeader | Represents the header part of a FITS HDU that has been read.
  FitsTableBuilder | Implementation of the `TableBuilder` interface which gets `StarTable`s from FITS files.
  FitsTableWriter | Handles writing of a StarTable in FITS binary format.
  FitsTableWriter.PrimaryType | Characterises the type of Primary HDU that will precede table extensions written by this writer.
  FitsUtil | Utilities for working with FITS files.
  HduFitsTableWriter | Deprecated Use `uk.ac.starlink.votable.UnifiedFitsTableWriter` instead
  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.
  MultiByteBufferInput | Random-access BasicInput implementation based on a supplied array of byte buffers.
  ParsedCard<T> | Represents a single parsed FITS header card.
  SimpleMappedInput | Random-access BasicInput implementation based on a single byte buffer.
  StandardFitsTableSerializer | Class which knows how to do the various bits of serializing a StarTable to FITS BINTABLE format.
  StringEncoder | Serializes String values to byte arrays suitable for output into FITS table columns.
  Unmapper | Knows how to map a region of a file in such a way that it is possible to attempt subsequent freeing of associated resources.
  VariableFitsTableSerializer | FitsTableSerializer which can write variable array-valued columns using the 'P' or 'Q' TFORM formatting characters.
  VariableFitsTableWriter | Deprecated Use `uk.ac.starlink.votable.UnifiedFitsTableWriter` instead

- Enum Summary
  Enum | Description
  --- | ---
  FitsTableWriter.VarArrayMode | Enumeration for variable-length array value storage options.

- Exception Summary
  Exception | Description
  --- | ---
  HeaderValueException | Indicates a problem with a FITS header card.

## 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.