Relationship between Q and STC - Frames & Mapping
dsb at ast.man.ac.uk
Tue May 11 07:06:58 PDT 2004
> > It's also important to reinforce that the current mapping prescription is
> > for *values* (V-mappings if you will).
> I understand (now) this is the intention but not why. If you have a set
> of values in a frame then the values should be in that Frame;
Words, words! Where would we be without them? What do you mean by "in a"?
Do you mean "contained within", or "specified in the coordinate system
of"? A Frame is not intended to >contain< any axis values (or Mappings),
just to describe a coordinate system.
> if the
> values need to be mapped to something in order to appear in that frame
> then that should be done when the Quantity is created. If the values
> have some use in their 'raw' form, ie presumably in some other Frame,
> then they should be presented with that other Frame. I'm just going to
> read Dave's examples though...
There is an option to store the values explicitly in the CoreQ, in that
the Mapping component of the CoreQ can be replaced by an explicit list of
values. This is often what you will want. For instance if you have a
simple list of flux values, your CoreQ will contain this list of numerical
values explicitly - no Mapping. The CoreQ will also contain some suitable
FluxFrame describing the bandpass, UCD, etc, which define the phenomenon
represented by the numerical values.
However using a Mapping instead of an explicit list of values is
1) The quantity does not represent discrete sampled values but instead
represents a contiuously variable value calculated on the basis of some
other value. Representing these cases using an explicit list of values
looses accuracy because you have to then use some form of interpolation
between the sampled values. An example of this is the use of Mappings to
define WCS - you *could* just store the (RA,Dec) or whatever at every
pixel centre explicitly within the CoreQ, but it would result in a *very*
large CoreQ, and would not be accurate at a sub-pixel level.
2) As implied above, if the list of explicit values is very large and can
be adequatetly described by a Mapping, then using a Mapping saves
Note, that a "list of values" is effecively a sort of Mapping, in that it
transforms an input value (the list index) into an output value (the list
value at the given index). This is what a Mapping does. Indeed the AST
library has a subclass of Mapping called LutMap which implements just such
a look-up-table Mapping.
Dr David S. Berry (dsb at ast.man.ac.uk)
STARLINK project | Centre for Astrophysics
(http://www.starlink.ac.uk/) | University of Central Lancashire
Rutherford Appleton Laboratory | PRESTON
DIDCOT | United Kingdom
United Kingdom | PR1 2HE
OX11 0QX Tel. 01772 893733
More information about the dm