FAIRmat-NFDI / nexus_definitions

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

Draft for NXmpes_arpes application definition #128

Closed rettigl closed 1 month ago

rettigl commented 7 months ago

This is a draft for an NXmpes_arpes subdefinition. It is not adjusted yet to conform with changes introduced into NXmpes within the refactor process, and some of the concepts still need to be ported to NXmpes.

It assumes angular-dependent measurements with an angular resolving detector, and allows for flexible acquisition modes. The data should contain two angular and one energy coordinate.

The pyarpes loader here https://github.com/FAIRmat-Experimental/arpes/pull/1 supports loading files generated with this Appdef, and converting into momentum space. A respective tutorial is still pending.

lukaspie commented 6 months ago

For your convenience, I have merged mpes_refactor and recreated the NXDL files for the changed nyamls using nyaml v0.0.4.

rettigl commented 2 months ago

@lukaspie @domna Is there any blocker for merging this?

lukaspie commented 2 months ago

@lukaspie @domna Is there any blocker for merging this?

The only remaining issue I see is that

geometries(NXcoordinate_system_set):
  arpes_geometry(NXcoordinate_system):
    depends_on(NX_CHAR):
      doc: |
        Link to transformations defining an APRES base coordinate system,
        which is defined such that the positive z-axis points towards the analyzer entry,
        and the x-axis lies within the beam/analyzer plane.
    (NXtransformations):
      doc: |
        Set of transformations, describing the orientation of the ARPES coordinate system
        with respect to the beam coordinate system (.).

is currently not supported since the base class NXcoordinate_system does not contain NXtransformations yet. They are to be added by https://github.com/FAIRmat-NFDI/nexus_definitions/pull/144. My plan was actually to check that PR today and finalize it. But, since we already agreed that #144 will be accepted, we can also merge this PR here first.

rettigl commented 2 months ago

is currently not supported since the base class NXcoordinate_system does not contain NXtransformations yet. They are to be added by #144. My plan was actually to check that PR today and finalize it. But, since we already agreed that #144 will be accepted, we can also merge this PR here first.

Even without the additions in the base class, this will be a valid definition, just with the respective elements in the appdef...

I think this is ready for merge, please do so if you agree.

rettigl commented 1 month ago

@lukaspie @domna I would suggest to merge this now, close #231 (integrated here), and also finalize #144

lukaspie commented 1 month ago

Let's merge this for now. I am workshopping an example for using NXcoordinate_system and will present it in one of the coming TF meetings. So, depending on the discussion, we may have to slightly change this definition as well. But we can always do this later.