nexusformat / definitions

Definitions of the NeXus Standard File Structure and Contents
https://manual.nexusformat.org/
Other
26 stars 55 forks source link

No definition for `type` field enumeration in `NXSample` #1366

Open paulmillar opened 4 months ago

paulmillar commented 4 months ago

Commit dc2710d1e adds the definition of the NXsample.

This definition includes a field type (of type NX_CHAR) that takes values from a controlled vocabulary. The valid values of type are:

The most pressing issue is that the semantics of any of these terms is undefined.

This leads to a number of questions:

On this last point, is it valid for an NXentry to have two NXsample groups, one of type "sample environment" and one of type "sample". If so, how does NeXus describe the link between them?

I'm also not sure that NXSample is the ideal place to indicate that the data is the result of a numerical simulation (perhaps NXentry would be better?). However, compared to the other issues, this is a relatively minor concern.

paulmillar commented 4 months ago

As noted by @prjemian in his comment on another issue, the choice of name for this field (type) is also problematic because it conflicts with other use in the NXDL language.

prjemian commented 4 months ago

In this context, can refers to the sample container. It comes from neutron scattering, such as a powder diffractometer, where the powder was poured into a metal can. For such instruments, a can is constructed from metal (such as vanadium) that is transparent (or very low absorption) to neutron radiation.

Here's an example picked at random from a web search:

The Si was loaded into a vanadium can and measurements were carried out ...

paulmillar commented 4 months ago

Thanks @prjemian, that makes sense.

I guess type=can indicates data taken with an empty can, while type=sample+can indicates the can was loaded with the (powder) sample, right?

Would an NXsample group with type=none provide a positive statement that no sample was present. By contrast. omitting the NXsample group would provide no information regarding the sample: maybe it was there, maybe not.

prjemian commented 4 months ago

I guess type=can indicates data taken with an empty can, while type=sample+can indicates the can was loaded with the (powder) sample, right?

right

prjemian commented 4 months ago

NXsample group with type=none

Such as a small-angle X-ray scattering measurement with no sample in the beam (common in metallurgy).