[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