Subject: Describing irregular coordinates

From: Guy Rixon <gtr at ast.cam.ac.uk>
Date: 4 Jan 1996 10:07:43 GMT

How does one record an irregular axis-calibration in FITS?

I'm interested in the case of a time-series of 2D images stored as a cube.  The
reduction software wants to retrieve the calibration of the time axis from the
FITS file, but the calibration isn't linear.  In fact, it isn't necessarily
describable by any function, as the time between frames may vary randomly at a
level higher than the timing accuracy.

Clearly, one needs to record a time for each plane of the cube.  Is there any
`standard' way to do this?  Are there ways that are neater than using header
keywords TIME1, TIME2, .. , TIMEn ?

---

From: Arnold Rots <arots at xebec.gsfc.nasa.gov>
Date: Fri, 5 Jan 1996 09:24:27 -0500 (EST)

> keywords TIME1, TIME2, .. , TIMEn ?

This is analogous to a problem we had in specifying axis coordinates
in XTE binary tables, using multi-dimensional vector cells.

[Our general solution for specifying those coordinates, as you may
recall from an earlier post, was to use the "Cxxxxiii" keywords
defined for primary extensions (such as CRVAL999) and modify them to
"iCxxxnnn"; nnn is the column number here, the maximum number of coordinate
axes is restricted to 9, and "xxxx" has one character taken out.]

For irregularly spaced data we invented the keyword "iCPIXnnn" which
value is a string containing comma-separated values.  [There are some
other conventions in the syntax of this keyword, too, such as the use
of the tilde to indicate ranges: "0~4,5,6,7~255" would indicate four
coordinate values, the first covering the range 0 through 4, then 5,
then 6, and finally the range 7 through 255; needless to say that we
are dealing with histograms, here.]

It isn't necessarily pretty, but it's simple and very general.  We do
use the "long string convention" outlined in an earlier post, since
obviously 68 characters aren't always enough.

Anyway, this could be adapted to primary array use, doing the inverse
of what's described above: introduce a keyword "CPIXLiii".

Would this solve your problem?

  - Arnold Rots