NeXus and 2-D data

Tim Mooney mooney at aps.anl.gov
Tue Aug 4 00:56:58 BST 1998


Dear folks,

We're getting serious about NeXus files, and have run into a problem for which
we don't know the best solution.

Most of our two-dimensional scans are actually sequences of one-dimensional scans,
and each one-dimensional scan has its own X axis (X is the independent variable).
In some cases, all X axes ideally would be identical, but in practice might contain
different positioning errors.  In other cases, users will actively modify the X-axis
range as the scan progresses, for example to track a peak whose location is a function
of the Y-axis positioners.  In still other cases, users will do 2-D scans simply as a
way of programming a series of unrelated 1-D scans, so they can get dinner or some sleep.
We'd like to allow for all possibilities.

Our idea has been to store the Y-axis data in 1-D arrays (one per Y-axis positioner),
to store the X-axis data in 2-D arrays (again, one per X-axis positioner), and to store the 
dependent variables (i.e., the payload data) in 2-D arrays somehow associated with the axes.

Now, how does one use NeXus to tell a data-plotting tool that a 2-D array's Y-axis
information is in any of several 1-D arrays, and it's X-axis information is in any of
several 2-D arrays?

Presumably, we'll need a custom tool to display and analyze this kind of 2-D data correctly,
because standard tools will likely expect 2-D data to have 1-D X- and Y-axis data.  However,
we'd like to write our 2-D data in such a way that standard NeXus and HDF tools at least can
display it as an image, because in many cases it will be an image, apart from any small
irregularities in the behavior of X-axis positioners.

Any advice?  Is there a preferred way to do this?

Tim Mooney
Beamline Controls & Data Acquisition
Advanced Photon Source
Argonne National Laboratory





More information about the NeXus mailing list