NXDL question

3 views
Skip to first unread message

Matt Newville

unread,
Jan 26, 2010, 3:32:43 PM1/26/10
to ma...@googlegroups.com
Hi Pete,

On Tue, Jan 26, 2010 at 8:58 AM, Pete R. Jemian <prje...@gmail.com> wrote:
>
> --------------
> short answers:
> --------------
>
> NeXus uses the latter definition: "Application" is meant to describe
> NXDL specifications for scientific techniques and instrument definitions.
>
> Neither of the terms "NXanalysis" or "NXapplication" exist in NeXus.
> Was this their first use in this conversation or did I miss something?
>
> -------------------
> longer explanations:
> -------------------
>
> Class definitions in NeXus prior to 2008 had been in the form of base
> classes and instrument definitions. All of these were in the same
> category. As the development of NeXus had been led mostly by scientists
> from neutron sources, this represented their typical situations.
>
> Both those new to NeXus (self included) and also those familiar saw
> the previous emphasis on instrument definitions as a deficiency that
> limited flexibility and possibly usage.  The point was made that NeXus
> should attempt to better describe reduced data and also data for analysis
> since synchrotron instruments are rarely adhering to a fixed definition.
>
> The design of NeXus is moving towards an object-oriented approach
> where the base classes will be the objects and the "application definitions"
> will use the objects to specify the required components as fits some
> application. Here, "application" is very loosely defined to include:
> * specification of a scientific instrument
> + example: TOF-USANS at SNS
> * specification of what is expected for a scientific technique
> + example: small-angle scattering data for common analysis programs
> * specification of generic data acquisition stream
> + example: TOFRAW - raw time-of-flight data from a pulsed neutron source
> * specification of input or output of a specific software program
>
> The term "the sky is the limit" seems to apply.
> The point of the "NeXus Application Definition" is that all of these
> start with "NX" and all have been approved by the NIAC.
>
> Those NXDL specifications not yet approved by the NIAC fall into
> the category of "NeXus contributed definitions" for which NeXus has a
> place in the repository. t present, this place is empty. Think of
> this category as place to put an NXDL (a candidate for a base class or
> application definition) for the NIAC to consider approving.

Thanks. That more than doubles my understanding of NXDL, which so far
have been limited to Mark's talk. It also leaves me feeling justified
for being confused about whether the meaning of Application was
"specific computer program" or "specific measurement technique".

If I understand correctly, these definitions are meant to be used to
"validate" data -- is that their sole purpose? Can these also be used
to help the Nexus API read a file fitting one of these definitions, so
that it will know how to traverse (and what to expect) from an
NXMyApplication file?

Thanks again,

--Matt

Pete R. Jemian

unread,
Jan 26, 2010, 4:16:45 PM1/26/10
to ma...@googlegroups.com

Matt:

Glad it was useful then. It will also go into the NeXus manual.
I see I need to be careful how I use the word "application,"
even while writing what is below.

Someone else at the HDF5 workshop (Darren Dale perhaps) asked the same question.
I suppose that it is possible to use an NXDL in a software program as a guide to parse a NeXus file.

Use of the NXDL application definitions is not, as far as I know it, in the NeXus API.

The only intended use was to parse (everything but the data in)
NeXus data files for compliance with a given specification.

This tests a writer's ability to write the information in the standard place in the NeXus file.
A given software program could also validate incoming data from a file that may be suspect.
This presumes the given software program knows the things it wants to find.

Your question suggests a more general application that, given a NeXus data file,
adapts itself to the identified NXDL to which the file might conform.

Pete

On 1/26/2010 2:32 PM, Matt Newville wrote:
> Hi Pete,


>
> Thanks. That more than doubles my understanding of NXDL, which so far
> have been limited to Mark's talk. It also leaves me feeling justified
> for being confused about whether the meaning of Application was
> "specific computer program" or "specific measurement technique".
>
> If I understand correctly, these definitions are meant to be used to
> "validate" data -- is that their sole purpose? Can these also be used
> to help the Nexus API read a file fitting one of these definitions, so
> that it will know how to traverse (and what to expect) from an
> NXMyApplication file?
>
> Thanks again,
>
> --Matt
>

--
----------------------------------------------------------
Pete R. Jemian, Ph.D. <jem...@anl.gov>
Beam line Controls and Data Acquisition, Group Leader
Advanced Photon Source, Argonne National Laboratory
Argonne, IL 60439 630 - 252 - 3189
-----------------------------------------------------------
Education is the one thing for which people
are willing to pay yet not receive.
-----------------------------------------------------------

Reply all
Reply to author
Forward
0 new messages