[TRANSFORM] using algorithm to create axis (quantity) values and frame transforms (Was: Re: [QUANTITY] Justification for Matrix Quantities)

Brian Thomas brian.thomas at gsfc.nasa.gov
Tue Nov 4 09:21:43 PST 2003


	David,

On Tuesday 04 November 2003 11:46 am, you wrote:
> > Yes, the sub-quantity it may be actual arrays of numerical values OR
> > these values may be generated from an underlying algorithm.
>
> So there would be no need to store values for the RA and DEC of every
> pixel in an image (just checking)??

	Not exactly. I'll try to explain. 
	
	As we have it, the values in the quantity are generated. Now, if a quantity is 
	specifying the values on an axis, then yes, the axis values are generated from 
	an algorithm. Using your example above (choosing a 1-D linear "stripe" of pixels 
	across the sky), we have the relationship between "pixel no" and internal
	index:

index         0   1   2   3    4   5 .. N
pixel no  10 11 12 13 14 15 .. M

	where the "pixel no" values aren't stored, but may be generated by the linear
	algorithm : "1*x + 10" which is recorded in the "pixel no" quantity which has
	dependence on "index". The Ra, Dec values would be derived by a mapping 
	between the pixel no and Ra, Dec "quantity sets" which is a different algorithm, so 
	that {pixel no} <=> {Ra,Dec}. The 2 algorithms, one for index to pixel no and
	the other, a mapping between frames, are required. The only "stored" data
	would be the size of the 1-D array. Thus, its possible to get

	{Ra1, Dec1 } <=> {PixelNo1} <=> {i}

	where the "bridge" between the Ra,Dec and PixelNo sets is from a mapping/frame
	transform and the second one is from mapping algorithm converting the internal
	index to pixel no values.

	Hope thats clear explanation. Having a choice between storing the mapping in 
	an algorithm that creates the values of a quantity vs. having the algorithm in a 
	full-on transform object may seem a bit untidy. I guess I see a need for 2 different
	methods because the difference is that you dont need a full-on coordinate transform 
	to go from internal index to value because its always a one-to-one conversion 
	(one index always converts to a single value) whereas the frame conversion may 
	change from one *set* of values to another set (of one or more values) as in 
	{RA,DEC} <=> {PixelNo}. 

	I guess I could  be persuded that its "formally" best to have only one way to 
	convert numbers, and create a "simple" frame conversion class for the index
	to value mappings.  I would just hope the implementation of the simple frame 
	transform is "light" so that there isnt any extraneous meta-data to bulk up the
	quantity being passed round/stored.

	Regards,

	-b.t.

-- 

  * 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