-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NXdata linking of signal #205
Conversation
I like the overall idea and agree that this is something that is needed. I am also not sure what would be the best approach.
In general, I have the feeling that NeXus more often uses a NXdata:
\@depends_on(NX_CHAR):
doc: |
Points to the path of a field defining the data on which the `DATA` field depends.
[...]
AXISNAME(NX_NUMBER):
\@depends_on(NX_CHAR):
Points to the path of a field defining the axis on which the ``AXISNAME`` axis depends. Then, these attributes would anyway be associated with the group/field, so there would be no need for the uppercase notation. In any case, I would argue it should be the same for the |
I would vote for a generic |
I agree and I think we cannot fully get rid of the However, I was also thinking about the name |
I think with Luka's suggestion to just make these attributes to the AXISNAME and DATA fields, we can get rid of them. I would suggest to not re-use @depends_on, because this is as far as I know reserved for NXtransformations. We can call it e.g. @ reference or @ source or so. |
Yes, I just generally meant that we cannot remove the I like NXdata:
\@reference(NX_CHAR):
doc: |
Points to the path of a field defining the data to which this NXdata group refers.
[...]
AXISNAME(NX_NUMBER):
\@reference(NX_CHAR):
Points to the path of a field defining the axis to which this ``AXISNAME`` axis refers.
DATA(NX_NUMBER):
\@reference(NX_CHAR):
Points to the path of a field defining the axis to which the ``DATA`` refers. We could also propose |
I agree that having an explicit way how to define that a concept A has a connection to another concept B in addition to the explicit parent, child relationships (that come with the concept tree that a base class and appdef defines) makes sense. My argument always against using @depends_on (although conceptually this makes sense) was that the symbol "depends_on" should be reserved for cases of NXtranslations. In this spirit I support "reference" I also can see an argument to use "refers_to" or: and this I would find better why at all use one symbol only? |
One thing I am not sure I understand: why is |
I agree with you that these terms are very useful for our description work.
I agree with you and I think that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. We should, however, also change the respective appdefs that use these concepts (NXmpes, NXmpes_arpes, NXxps (?)).
I rebased this branch and then used the IMO, we can merge this PR now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from minor comments, LGTM. Respective example config files also need to be adoped (and maybe the readers/converters)
* Add depends for data field * Use `@reference` * use reference attribute in NXmpes and NXmpes_arpes * change text style * fix duplicated in reference attribute --------- Co-authored-by: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> # Conflicts: # base_classes/nyaml/NXdata.yaml # contributed_definitions/NXdata_mpes.nxdl.xml # contributed_definitions/NXmpes.nxdl.xml # contributed_definitions/NXmpes_arpes.nxdl.xml # contributed_definitions/nyaml/NXdata_mpes.yaml # contributed_definitions/nyaml/NXmpes.yaml # contributed_definitions/nyaml/NXmpes_arpes.yaml
* Add depends for data field * Use `@reference` * use reference attribute in NXmpes and NXmpes_arpes * change text style * fix duplicated in reference attribute --------- Co-authored-by: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> # Conflicts: # base_classes/nyaml/NXdata.yaml # contributed_definitions/NXdata_mpes.nxdl.xml # contributed_definitions/NXmpes.nxdl.xml # contributed_definitions/NXmpes_arpes.nxdl.xml # contributed_definitions/nyaml/NXdata_mpes.yaml # contributed_definitions/nyaml/NXmpes.yaml # contributed_definitions/nyaml/NXmpes_arpes.yaml
This enables the option to describe where the signal data of an NXdata comes from. It's a similar concept as the
AXISNAME_depends
. It's just a proposal open for discussion and I'm not entirely sure if this is the right path to do it. So I welcome your feedback @lukaspie and @rettigl. Also general feedback from @FAIRmat-NFDI/areab is welcome.Different options could be:
depends
field for the NXdata group to denote that it was linked to somewhere else. This is essentially a shortcut for writing outAXISNAME_depends
+DATA_depends
if they belong to the same target group.This is coming from a recent discussion with Anders Hahlin and Anders Frisk. They are trying to combine multiple detector readings into the top-level
data
(e.g., for spin-resolved measurements).