Standard sequence: read and store pixels

Purpose: acquire and store readouts in a uniform way, independent of the type of camera or its mode.

Typical course of events:

  1. System reads pixels from the camera and writes them directly to the image area of a FITS file. The readout is placed at the start of the image area and fills it, leaving a fraction of a FITS block which the system pads with zeros.
  2. System applies those windows in the range 0..10 that are enabled (one is always enabled). System reads from the camera only those pixels that lie within an enabled window, and disposes of the other pixels with the minimum possible delay. In the FITS image, the pixels are rearranged to remove any rows or columns that lie entirely between windows.
  3. System applies binning. All windows are reduced in each dimension by the binning factor for that dimension. Where a window's dimensions are not multiples of its binning factor, the window is treated as if it had the next smallest dimensions that are exact multiples. Any window that has a dimension smaller than the corresponding binning factor produces no pixels. In the latter two cases, the image-section recorded for the window is not updated.
  4. System applies transformations. In the camera's profiles there is a list, possible empty, of rotations and/or reflections to be applied to the image; the system applies this list.
  5. System applies pixel-value corrections. 16-bit unsigned CCD data have 32,678 subracted to carry them in a 16-bit signed format. IR data are converted to 32-bit floating-point numbers. The engineering profile decides which conversion is used.

Variations:

  1. The camera has more than one readout channel. Each channel is treated separately and directed to its own file.
  2. In general, the image area of the FITS file can be a plane, a cube or a hypercube of 4, 5, 6 or 7 dimensions. Any number of readouts may be combined to fill the image. A single readout always goes entirely into one plane, but otherwise there are no restrictions on how successive readouts are placed. Any unused parts of the image are filled with zeros.
  3. Instead of replacing the values in an image plane, the pixels from a readout may be co-added to the existing numbers. This is much more common for IR data.