lightsources / BES-XPCS-Pilot

Work with BES Data Science Team to develop Python code to write NeXus data file with proposed NeXus definitions.
0 stars 0 forks source link

Scattering geometry nexus fields #28

Closed dylanmcreynolds closed 3 years ago

dylanmcreynolds commented 3 years ago

Except for /mask/mask, are these really masks? Are these really instruments values?

prjemian commented 3 years ago

The question for me is /entry/instrument/masks or /entry/instrument/detector/masks?

prjemian commented 3 years ago

In the version of the NXxpcs application definition under development (https://github.com/lightsources/BES-XPCS-Pilot/issues/3#issuecomment-782231852), see this substructure:

    instrument:NXinstrument
      detector:NXdetector
        beam_center_x:NX_NUMBER
        beam_center_y:NX_NUMBER
        count_time:NX_NUMBER
        description:NX_CHAR
        distance:NX_NUMBER
        frame_time:NX_NUMBER
        x_pixel_size:NX_NUMBER
        y_pixel_size:NX_NUMBER
      monochromator:NXmonochromator
        energy:NX_FLOAT
      masks:NXnote
        NXarraymask
        NXparameterizedmask
prjemian commented 3 years ago

The NeXus NXDL (XML) file, NXxpcs.nxdl.xml, provides details of optional vs required, etc. It's not complete yet (lots of TODO items).

Basic rules in application definitions:

prjemian commented 3 years ago

Also:

prjemian commented 3 years ago

FYI (neither of these two base classes have yet been proposed to NeXus, they are under development with NXxpcs):

(bluesky_2021_1) prjemian@poof ~/.../projects/BES-XPCS-Pilot $ punx tree NeXus/NXarraymask.nxdl.xml 

!!! WARNING: this program is not ready for distribution.

file: /home/prjemian/Documents/projects/BES-XPCS-Pilot/NeXus/NXarraymask.nxdl.xml
XSLT: /home/prjemian/.config/punx/master/contributed_definitions/nxdlformat.xsl
NXarraymask (contributed definition)
  (base class definition, NXentry or NXsubentry not found)
  mask:NX_INT[n_masks,n1,n2]
  usage:NX_CHAR
  data_link --> /NXentry/NXdata
  annotation:NXnote

(bluesky_2021_1) prjemian@poof ~/.../projects/BES-XPCS-Pilot $ punx tree NeXus/NXparameterizedmask.nxdl.xml 

!!! WARNING: this program is not ready for distribution.

file: /home/prjemian/Documents/projects/BES-XPCS-Pilot/NeXus/NXparameterizedmask.nxdl.xml
XSLT: /home/prjemian/.config/punx/master/contributed_definitions/nxdlformat.xsl
NXparameterizedmask (contributed definition)
  (base class definition, NXentry or NXsubentry not found)
  mask:NX_INT
  usage:NX_CHAR
  usage:NX_CHAR
  x_max:NX_INT
  x_min:NX_INT
  y_max:NX_INT
  y_min:NX_INT
  data_link --> /NXentry/NXdata
  annotation:NXnote
ambarb commented 3 years ago

@dylanmcreynolds is this still relevant or should we close it?

For now we are relying on analysis code to provide Q information.

dylanmcreynolds commented 3 years ago

I think this has long been superseded by your work. I'll go ahead an close it.