[Quantity]: Reinventing the wheel?? (Was: Re: Handling data cubes in VO

Brian Thomas thomas at astro.umd.edu
Mon Dec 26 19:06:03 PST 2005


	Ugh. 

	I hate to see this coming up in this context. This is work that has already
	been broached by the work by the Quantity group. I suggest taking look
	at the various online documentation. 

	So to answer one of Roy's questions directly: Yes this in implementable. It 
	has been done by the Quantity DM component, and has a realization in
	the QML/VOQDM Java packages which I have written (http://www.data-model.net)

	Why are we reinventing the wheel on this? 

	=brian


On Monday 26 December 2005 4:11 pm, Arnold Rots wrote:
> Part of this, especially item 5, is really a DM discussion.
> David Berry proposed that the relation between physical coordinate
> axes and pixel coordinates is really a transformation between two
> separate coordinate systems (and provided an implementation).
> As such it has been incorporated in STC.
> 
>   - Arnold
> 
> Roy Williams wrote:
> > Perhaps I can lay out a strawman for a cube access protocol? I believe 
> > that the following five concepts will give us all the exposure and 
> > access that have been mentioned so far, but still keeping it 
> > parsimonious and easily understandable.  Is it enough? Is it 
> > implementable?
> > Your comments welcome.
> > Roy
> > 
> > 
> > (1) Array
> > First, let us define *subscriptRange*. It is a set of consecutive 
> > integers, with the smallest being the lower subscript, and the largest 
> > being one less than the upper subscript. An example of a subscriptRange 
> > is {-2, -1, 0, 1, 2, 3}, which could be abbreviated (-2:4).
> > 
> >  From an ordered finite set of subscriptRanges, we can build an *Array* 
> > as a multi-dimensional block of voxels, labeled by integer subscripts.
> > 
> > I think it would be best at this point to restrict the nature of the 
> > voxel to only standard primitive typess, such as int, float, double, 
> > doubleComplex etc. I think it would be overly complex to allow voxels 
> > to themselves be structures. I would suggest using the same types as 
> > FITS and VOTable. Note that the character is a primitive, but the 
> > string is not. Let us call these the *standard types*.
> > 
> > Precisely, the Array is a mapping from the Cartesian product of the 
> > subscriptRanges to a standard type. An example of an Array would be 
> > written in Fortran like this:
> > 	float Q(-2:4, 0:4, 2:6)
> > The subscriptRanges have 6, 4, and 4 elements, and thus the Array 
> > itself has 6x4x4 = 96 floats. An example of an element of the Array 
> > would be
> > 	Q(-2, 1, 5)
> > 
> > (2) subArray
> > We can define a *subArray* as an Array together with a new set of 
> > subscriptRanges, each of which is a subset of the corresponding 
> > original subscriptRange. For example, a subArray of the example above 
> > could be:
> > 	float Q(0:2, 3:4, 2:3)
> > which has subscriptRanges with 2, 1, 1 elements, and thus the subArray 
> > has 2x1x1 = 2 floats.
> > 
> > (3) permutation
> > We can define a permuted Array by exchanging the order of the 
> > subscriptRanges, but keeping the same data. This is a useful operation 
> > when there is an implied efficiency or ordering convention associated 
> > with the order of the subscriptRanges (eg in Fortran "first subscript 
> > varies fastest").
> > 
> > (4) Axis
> > We can now add metadata to this very abstract object by associating a 
> > metadata object with each SubscriptRange, and calling the result an 
> > *Axis*. Some attibutes of an Axis would include the mapping from 
> > subscript to independent variable, such as lowerLimit, delta, unit, 
> > UCD, and the name of the Axis (eg "velocity").
> > 
> > (5) Continuum model
> > The Array is defined as a mapping from a discrete space (product of 
> > subscriptRanges), and we can extend this to a continuum mode by 
> > interpolating. In other words, we are allowing real-valued subscripts. 
> > This would only work for certain of the standard voxel types (float, 
> > double, floatComplex, doubleComplex), where interpoation makes sense.
> > 
> > 
> > 
> > California Institute of Technology
> > 626 395 3670
> --------------------------------------------------------------------------
> Arnold H. Rots                                Chandra X-ray Science Center
> Smithsonian Astrophysical Observatory                tel:  +1 617 496 7701
> 60 Garden Street, MS 67                              fax:  +1 617 495 7356
> Cambridge, MA 02138                             arots at head.cfa.harvard.edu
> USA                                     http://hea-www.harvard.edu/~arots/
> --------------------------------------------------------------------------
> 



More information about the dm mailing list