[QUANTITY] Justification for Matrix Quantities

Brian Thomas brian.thomas at gsfc.nasa.gov
Tue Nov 4 07:00:48 PST 2003


	David,

	Overall, some semantics aside, I think we are largely in agreement
	(with one slight difference noted at the bottom of this letter).
	Now, reponses  to your responses. 

On Tuesday 04 November 2003 08:02 am, David Berry wrote:
> Brian,
> [snip]
> > a C programmer). For example, the underlying index could maps to the
> > pixel index as follows:
> >
> > index  0   1    2    3    4     5     ...   N
> > pixel   1   2    3    4    19   20    ...   M
> >
> > where I can choose to make the mapping as I like between the integers.
> > In the case above, I have "reordered" the placement of the 19th and 20th
> > row of pixels to their underlying location in the data array at position
> > 4,5.
>
> I'd go along with you here, but I would translate what you're saying into
> what (for me) would be a simpler concept that "the values stored within
> a pixel array can themselves be pixel indices into another pixel array".

	I can agree with your quoted statement as well. Thats, in essence, 
	at the root of the idea that quantities may serve as axes (indices) on
	other quantities.

> [A detail - just because something is dimensionless does not mean it
> doesn't have units - "angle" is dimensionless but has units (rad.s,
> degrees, etc). One could possible argue that a value which represents a
> count (such as pixel index) should have a "unit" of the thing which is
> being counted. Thus a pixel index value of 10 could be thought of as "10
> pixels" i.e. the units would be "pixel".]

	Agree about dimensionality. Not sure if "pixel" is a unit, but the VO 
	*could* define it as such. I'd rather see "pixel" as a UCD/concept that is a 
	class that inherits from "quantity", but I'm not a stickler on this point.

> [snip]
> > > How do you decide on the dependancy order?
> >
> > 	Dependancy is seen by nesting the order of the functions (quantities).
> > Using your example:
> >
> > 	F ( S )
> >
> > 	is the flux quantity "F", "S" is the sky position quantity where S is a
> > function of RA, DEC quantities, ie.
> >
> > 	S => S(RA,DEC)
> > [snip]

>
> What about focal plane coordinates (e.g. (x,y) in millimetres from the
> telescope boresight)? The flux could equally be thought of as a function
> of focal plane position. And there could potentially be other coordinate
> systems - for instance, if you take a cut-out from a big image you could
> think of flux as a function of pixel index in the cut-out image, or as
> a function of pixel index in the original entire image. My question is how
> does you scheme cope with what FITS-WCS calls alternate axis descriptions?

	Ah, good question. I think this is handled by having a mapping between
	any one set of quantities (like RA, DEC) and another (like B,L).  Thus, even
	though the "S" the sky coordinate is formally defined as a function of 
	the quantity set {RA,DEC}, the mapping between that set, and the {B,L}
	set allows you to easily specify S as a function of B,L, eg.

	S(RA1,DEC1) == S(B1,L1)

	(or focal plane to RA,DEC, etc)

> A general solution should be able to cope with an arbitrary number of
> alternate axis descriptions.

	Totally agree. I believe this solution allows that. The set {RA,DEC} should
	have a pointer/hook to all mappings that it obeys. The user should be able
	to extend this set from the "canonical" one to include their local mappings.
	Thus, while the mapping {RA,DEC} <=> {B,L} is canonical, and always 
	available, {x,y} <=> {RA,DEC} (mapping between instrument focal plane and
	sky ra,dec) may be an add-on mapping for a particular quantity (say "flux",
	that you measured from a camera).

>
> Using the sort of [WCS] idea I've mentioned in the past, this sort of
> Quantity would have a WCS component which could be represented as a tree:
>
>                        PIXEL
>                        / | \
>        ----------------  |  ------------------
>
>       SKY           FOCAL_PLANE        PARENT_PIXEL
>
> Each word represents a "Frame" object (i.e. a description of a coordinate
> system, e.g. using Arnold Rots STC schema), and each the dashed line
> represents a "Mapping" object (i.e. a recipe which describes how to
> transform positions between the two Frames connected by the line).

	Yes, I believe we agree, with minor differences in  the semantic difference 
	of "Frame" vs. "set of quantities" is our difference, and that I would
	prefer that some "primary" frame (say pixels in {x,y}) exists within the 
	quantity being interrogated. I desire this primary frame because it has
	impact on the dimensionality of the units. Consider that a F(lambda)
	array has values which are in units of erg cm^-2 s^-1 wavelength^-1. If
	I choose to store F(i) (where "i" is a dimensionless pixel index) then the 
	units are different, e.g. erg cm^-2 s^-1 pixel^-1. Thus, "set" holds information
	of "frame" but further may include information about unit dimensionality,
	and thus, a "primary" set is needed.
	
	(hope that was an intelligible explanation)

> One more question about your scheme... when you have quantities which are
> functions of other quantities, do the argument quantities contain actual
> numerical values? Back to the CCD example, we have a quantity representing
> the flux values - this quantity presumably contains the actual flux values.
> In your model this quantity is a function of another quantity representing
> sky position. Does this sub-quantity also contain arrays of actual
> numerical RA and DEC values?

	Yes, the sub-quantity it may be actual arrays of numerical values OR these 
	values may be generated from an underlying algorithm. 

	Regards,

	=b.t.

>
>
> ----------------------------------------------------------------------
> 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

-- 

  * Dr. Brian Thomas 

  * Code 630.1 
  * Goddard Space Flight Center NASA

  *   fax: (301) 286-1775
  * phone: (301) 286-6128




More information about the dm mailing list