|AHELP for CIAO 4.2||
CrateData object types in the CRATES library.
The CRATES Library uses CrateData objects to store metadata information and data values of a table column or image. There are three CrateData object types: Regular, Vector, and Virtual.
Regular CrateData objects contain values from an image array or a single table column, which can be composed of either scalar values or arrayed values.
Vector columns are two or more columns that have been grouped together under the same name, but each component column has its own name as well. For example, the vector column SKY has two components, X position and Y position. The notation for vectors in the CRATES library is vector(cpt1, cpt2, ...), so the sky vector is represented as SKY(X,Y).
Vector CrateData objects have values which consist of two or more CrateData objects. Using the previous example, the SKY vector values point to regular columns X position and Y position. When retrieving the values of vector CrateData object, the values of the component columns are interleaved and returned in a single array.
Suppose there is a vector sky = SKY(X,Y) and each component has an array of data values:
X = [x1, x2, x3, ...] Y = [y1, y2, y3, ...]
The returned values for the sky vector would be:
values = sky->get_colvals() ==> [x1, y1, x2, y2, x3, y3, ...]
A Virtual CrateData object has values that have been calculated via a transform from another CrateData object. For example, the virtual column RA is defined by a transform associated with the regular column X.
Vector columns can also be virtual. EQPOS is a virtual vector column comprised of two virtual column components RA and DEC. EQPOS(RA,DEC) values are determined by applying a transform to SKY(X,Y) values.
To view columns names by type, use the print_col_names ("ahelp print_col_names") and get_col_names ("ahelp get_col_names") functions.
See the bug pages on the CIAO website for an up-to-date listing of known bugs.