[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