3.2. Tabulated list of pixels
An image may also be represented as a list of p1, p2, ... pixel coordinates in a binary or ASCII table extension. This representation is frequently used in high-energy astrophysics as a way of recording the position and other properties of individually detected photons. This image format requires a minimum of n table columns which give the p1, p2, ..., pn (axes 1 through n) pixel coordinate of the corresponding event in the virtual n-D image; any number of other columns may be included in the table to store other parameters associated with each event such as arrival time or photon energy. This virtual image may be converted into a real image by computing the n-dimensional histogram of the number of listed events that occur in each pixel of the image (i.e. the intensity value assigned to each pixel (p1, p2, ..., pn) of the image is equal to the number of rows in the table which have axis 1 coordinate = p1, axis 2 coordinate = p2), etc.
A variation on this pixel list format may be used to specify explicitly the intensity value of each image pixel. This case requires at least n + 1 table columns which specify the axis 1 coordinate, the axis 2 coordinate, etc. plus the value of the pixel at that coordinate. In this representation each pixel coordinate would only be listed at most once in the table; pixels with a value = 0 may be omitted entirely from the table to conserve space.
Each axis of the image in this representation translates into a separate column of the table, so the suffix of the coordinate system keywords all refer to a column number rather than an axis number (e.g. the TCRP12 keyword applies to the coordinates listed in the 12th column of the table). This form of WCS keyword may only be used with columns containing scalar values; the BINTABLE form must be used with columns containing more than one value per table cell.
The presence of data from each column within a particular row of a table implies an association of those data with each other. However, no formal method has previously been defined for identifying and associating the columns which contain image pixel coordinates, although informal conventions using new keywords have been used. Past practice has been to use distinctive column names (e.g. TTYPE n keywords with values of 'DETX' and 'DETY', or 'X' and 'Y') which a human interpreter may use to form associations. However, this is not generally suitable for interpretation by software.
The keywords defined for pixel lists in Table 2 partially remedy this by identifying the pixel coordinate columns. For example, the presence of TCTYna in the header of a binary table identifies column n as containing a pixel coordinate rather than, say, a pixel value. In so doing it also identifies the binary table as a pixel list. Moreover, where a pixel list contains multiple coordinate representations, the presence of a complete set of TPn_ka keywords would also provide a method of associating the coordinate axes of each representation.
Keyword | Primary | BINTABLE vector | Pixel List | ||
Description | Array | primary | alternate | primary | alternate |
Coordinate dimensionality | WCSAXESa | WCAXna | - | ||
Axis Type | CTYPEia | iCTYPn | iCTYna | TCTYPn | TCTYna |
Axis Units | CUNITia | iCUNIn | iCUNna | TCUNIn | TCUNna |
Reference value | CRVALia | iCRVLn | iCRVna | TCRVLn | TCRVna |
Coordinate increment | CDELTia | iCDLTn | iCDEna | TCDLTn | TCDEna |
Reference point | CRPIXja | jCRPXn | jCRPna | TCRPXn | TCRPna |
Transformation matrix | PCi_ja | ijPCna | TPn_ka | ||
Transformation matrix | CDi_ja | ijCDna | TCn_ka | ||
Coordinate parameter | PV i_ma | iVn_ma | TVn_ma | ||
Coordinate parameter array | - | iVn_Xa | - | ||
Coordinate parameter | PS i_ma | iSn_ma | TSn_ma | ||
Coordinate name | WCSNAMEa | WCSNna | TWCSna | ||
Random error | CRDERia | iCRDna | TCRDna | ||
Systematic error | CSYERia | iCSYna | TCSYna | ||
WCS cross-ref. target | - | WCSTna | - | ||
WCS cross reference | - | WCSXna | - | ||
* Coordinate rotation | CROTA i | iCROTn | TCROTn | ||
* CROTAi form is deprecated. It may be used only when PCi_j, PVi_m, and PSi_m are not used and when a is blank. |
Thus, pending a formal solution of this problem, it is suggested that a complete set of TPn_ka (or TCn_ka) keywords be included in the pixel list header to define an association of coordinate axes. It should be noted that, while such an association is unordered, this is not a concern for the computation of world coordinates.