Altair Binary Format Organization

ABF is organized according to a three-tier system. The format consists of two parts, the header and the data.


The header contains:
  • An identification string
  • Version information
  • The number of data types in the data set
  • The number of requests (fields) and components (sub-fields) in each data type
  • The quantity and precision of the data

The program uses version information to allow backward compatibility with older versions of the format. A magic number imbedded in the header determines whether the data set was written on a machine with the same byte order as the machine on which it is being read.


The data section of an ABF file is comprised of arrays of numeric values in binary format. Individual values can be integers (one, two, four, or eight bytes) or real numbers (single or double precision floats). The program automatically converts all values to double precision floats internally, but using a smaller precision for data with fewer significant digits requires less disk space and results in faster data transfer.

abflib is a library of routines (or API) that allows you to write routines to output ABF data sets. The API does not change between versions. New routines may be added, but code which uses the capabilities of an older version of the API works with the newest version of the API, without modification. The API also supports outputting data according to older versions of the ABF specification. Currently, it supports versions 2.0 and 3.0.