Ray Osborn ROsborn at anl.gov
Thu Jan 13 15:17:04 GMT 2000

on 2000/1/10 2:51 PM, Paul Langan at langan_paul at lanl.gov wrote:

> Dear NeXus people,
> please find attached a short note on the NeXus format we are using for the
> TOF neutron Protein Crystallography station being built at LANSCE. I'm
> passing it to you for comments in the spirit of trying to conform to the
> NeXus standard, sharing ideas on <Instrument definitions> and sharing
> example NeXus files. The note is intented for a broader audience so you'll
> probably want to skip the introduction and go to the section on class
> speicifications. 

Firstly, I would like to say how much I appreciate the care you've taken to
adhere to the NeXus standard, even when it's incomplete.  This is a great
help in refining the standard; when you do come across limitations, it makes
it easier to identify which ones are intrinsic to the design of the
standard.  Also, by doing this work early on in the development of
instrument standards, you have a good chance of getting your suggested
modifications incorporated into the standard early.

I made a number of notes while reading the document, which I list below.
They are not in order of importance.

1) The official NeXus home page is really
<http://www.neutron.anl.gov/NeXus>.  The one you quote is the European
mirror site, although both are being maintained together so it doesn't
matter which you use.

2) All classes should have both N and X capitalized.  Browser programs may
not recognize Nxentry as a valid class.  I suspect that the lower casing of
the X was done automatically by MS Word.

3) At the moment, we recommend that the NXmonitor group is at the top level.
We don't want to bury data that people may be interested in plotting.  In
this sense, it has a different status from the rest of the NXinstrument
groups, rather like NXsample.  This may seem an arbitrary choice, and
perhaps should be open for discussion.

4) NeXus supports unsigned short integers.  However, there may be some
problems with people using the Fortran API, since Fortran doesn't support
unsigned data types.  The F90 API should handle this OK, since it is
possible to read the data transparently into a larger integer type, such as

5) You use global attributes not recognized by the standard.  You can add
extra data items to a file, as long as you don't assume that other NeXus
applications will know they are there.  If you think any should be added to
the standard, please let us know; otherwise, they can be local extensions.

6) You correctly mention that the Vgroups don't have attributes.  This was
because they were unavailable when NeXus was first designed.

7) You've added some elements to the NXsample group.  Some of them look as
if they could be useful to add to the standard

e.g. owner, environment, mosaicity, relative_humidity, state.

Any comments from other people on these?

8) The prefix in "sample_dimensions" is unnecessary.  All the quantities
refer to the sample in this group, so the standard calls this "dimensions".

9) NXgoniometer and NXaxis both look like potentially useful additions.  I
wonder if the NXgoniometer group should really be in the NXsample group,
since it's affecting a property of the sample i.e. its orientation.  You can
still use it elsewhere, e.g. as you do in the NXdetector groups.

10) You want the NXaxis group to have units.  Units would be allowed by HDF,
but there is no way for the NeXus API to read group attributes at present
(see note 6 above).  Couldn't you use an SDS inside the group to identify
its type?  I also wonder if this should have a more generic name, such as
NXmotor, since it seems to contain the information returned from a stepping
motor or other motor device.  Perhaps the EPICS experts could help us to
define what this should include.

9) I agree that more things need to be added to the NXsource group.  I am
intrigued about what "crossfire" refers to.

10) The use of an NXdata group within the NXdetector group is an
unconventional use of the NXdata class.  However, it's probably OK as a
local extension to the standard.

All in all, I think this work is very useful is seeing how NeXus can cope
with quite complex instrumentation types.  It seems to be holding up very

Thanks for posting this,
Dr Ray Osborn                Tel: +1 (630) 252-9011
Materials Science Division   Fax: +1 (630) 252-7777
Argonne National Laboratory  E-mail: ROsborn at anl.gov
Argonne, IL 60439-4845

More information about the NeXus mailing list