[NeXus-tech] How to write the "axes" attribute in this case?

Pete Jemian prjemian at gmail.com
Sat Jul 19 15:45:23 BST 2014


What is the recommended way to do this?

Consider a pinhole SAS experiment with 2-D arrays of intensity data "I" 
and reciprocal space vector magnitude |Q| as "Q", one way to provide 
this data using the basic NeXus structure is:

/: NeXus HDF5 file root
   entry:NXentry
     data:NXdata
       Q:NX_NUMBER[nx,ny]
       I:NX_NUMBER[nx,ny]
         @signal=1

How to write the/entry/data/I/@axes attribute?

The default visualization of I(Q) is parametric in this case, where the 
Q value associated with a given I are found by corresponding row and 
columns in the two arrays.

Since /entry/data/Q is a 2-D array, we cannot use it in the "axes" 
attribute of /entry/data/I because, in the NXdata specification, axes 
"defines the names of the dimension scales (independent axes) for this 
data set as a colon-delimited array."  Dimension scales, each defining 
an axis of the data, are rank=1 arrays.  Since the values in any column 
of "Q" are different than any other column, we cannot simply create two 
1-D arrays and use them as dimension scales in the "axes" attribute.

Is it permissable to leave out the "axes" attribute?

Otherwise, to provide a default plot, should the writer "dereference" 
these two arrays into two 1-D arrays of I(|Q|), each of length nx*ny?

(Because the source of this data was a 2-D detector, it is less 
desirable to proceed with this reduction, just to satisfy NeXus.  With 
reduction to 1-D, one loses access to intuition about unresolved 
artefacts in the visualized image, such as uneven detector efficiency 
and line dropouts.)
Provide both 2-D and also 1-D reductions?
Same NXdata group?
If the 1-D reduction is written into a separate NXdata group, how is the 
"preferred" NXdata group noted for default visualization?

Thanks,
    Pete



More information about the NeXus-tech mailing list