On Wed, 3 Dec 2003, Tim Jenness wrote:
> To minimize issues such as this we are proposing to develop an abstraction
> layer that will remove the algorithm writer from the DRAMA/NDF issues. The
> obvious model for the NDF part is HDX/NDX (since that can provide an
> identical view for both FITS and NDF) and I've recommended that the FTS
> team adopt it for their pipeline integration. Unfortunately HDX/NDX is
> only in Java which makes it hard to use from C.
>
> + How much effort would it be to write a C version?
> + Is there any detailed documentation on HDX (including an XML schema)?
As per Norman's response, how much work it is depends rather on what
bits you want, or at least what it is you want to do. If, as I think
you're suggesting above, you want format-neutral access to array data
stored in FITS/NDF/potentially other formats, doing it in C is going
to be quite a hefty job.
NDX is, at least, the following things:
- a data model which resembles the one implicit in the NDF library
- a java library for manipulating data conforming to that model
- a set of conventions mapping data stored in various formats
(e.g. FITS files, NDF files, DOMs) into the NDX model
and associated code which gives you a java Ndx object from
a filename/URL/whatever.
I'll leave any further required exposition of HDX to Norman.
[My understanding of] the point of NDX/HDX is mainly to allow structured
access to data in a wide variety of interoperable storage/transmission
formats - importantly, so that you can view data someone else has archived
in a way that makes sense in a data model beyond what they had in mind.
In the kind of closed environment which I imagine you're thinking of
with SCUBA-2 (you know where the files are coming from, what format
they're in, and where they've got to go to) I'm not sure how much
the HDX/NDX view of things buys you.
If what you need is an NDF-library-independent way of accessing
array data stored in NDF files, you are probably better off tackling
that directly than implementing HDX/NDX in C, though certainly it
would make sense to do it with an eye on HDX/NDX to facilitate
interoperability.
There may be controversial statements in the above - others by all
means weigh in (I'm sure you will).
Mark
--
Mark Taylor Starlink Programmer Physics, Bristol University, UK
[log in to unmask] +44-117-928-8776 http://www.star.bris.ac.uk/~mbt/
|