Fairmat 2024: use NXcoordinate_system together with NXtransformations#1415
Conversation
d5b73b5 to
677b6a1
Compare
52e7bac to
7f010d8
Compare
|
Copying here discussion that was buried in #1464 for clarity: LP: we shall align to and extend the existing ISO standard for XPS. The concept of coordinate systems allow connecting multiple conventions. |
|
"_set" is a restricted keyword thus NXcoordinate_system_set class needs a name change. NXcoordinate_system_set is meant to provide a specialized NXobject with several commonly used NXcoordinate_system conventions with their own specialized NXcoordinate_system (CS) such that this collection can directly be used in appdefs instead of having each app demanding that if they wish to define one or multiple of the CS defined in NXcoordinate_system need to type the definitions again. Possibilities:
|
|
Some comments from @PeterC-DLS made in #1421 will be taken over here |
e9ce133 to
c72d8c8
Compare
* Updates NXtransformations docs * Manually set to lower case true * Do a forward-backward nyaml cycle for NXtransformations # Conflicts: # base_classes/nyaml/NXtransformations.yaml
Yep that sounds good to me. Thanks!
No idea. I hope so because not every local coordinate system is relatable to mcstas. https://manual.nexusformat.org/classes/base_classes/NXtransformations.html
https://manual.nexusformat.org/design.html#nexus-geometry
It somewhat suggests that McSTAS is "the default coordinate frame" but never says what this means and it never says if you omit |
|
Hi all, as discussed in the Telco, we can now move this PR to an online vote. NIAC committee members please vote on this PR using emojis on this comment. 👍 for yes, 👎 for no, anything else (for example 👀) to abstain. We need 14 votes to hit quorum so please review and vote! @mkuehbach @lukaspie, there are a couple of unresolved comments, can you review and resolve them? I don't think they affect the vote. Thanks. |
|
Vote has passed! Once the reviews have finished, comments have been resolved, an approval posted, this can be merged. |
Co-authored-by: Peter Chang <peter.chang@diamond.ac.uk>
|
@PeterC-DLS could you please resolve your one remaining comment? @phyy-nx @PeterC-DLS @woutdenolf if you have nothing else you would still like to change, I could appreciate an approval afterwards. |
Co-authored-by: Peter Chang <peter.chang@diamond.ac.uk>
Co-authored-by: Peter Chang <peter.chang@diamond.ac.uk>
This PR is concerned with coordinate systems and the transformations that are intricately linked to them. It was started for multiple reasons:
NXxps) one could explicitly state which coordinate system is to be used. There has already been some discussion on this, see NXmpes #1464 (comment)NXtransformations) does already allow to define a specific coordinate system (see e.g. discussion in NXtransformations: clarify that these are active transformations + example #1278). But, this has several limitations:Therefore, we introduce in this PR two new base classes:
NXcoordinate_systemandNXrotation_conventions.Explanation of using
NXcoordinate_systemandNXtransformation:NXcoordinate_systemright belowNXentry. See how to use different number of instancesNXcoordinate_systemfrom its lengthy docstring.NXcoordinate_system, there is adepends_on, and(NXtransformation)groupNXtransformationAXISNAMEdepends_on, one can place either".", or the path to anNX_coordinate_systemdepends_onattribute or field links to aNXcoordinate_system, it should pick the respectivedepends_onfield in that class, and apply the specifiedTRANSFORMATIONSExample of how this is implemented in a (proposed) application definition: NXXps. Note that this one still uses the logical grouping
NXcoordinate_system_set, but we removed this because it is not really needed. We would simply havexps_coordinate_system(NXcoordinate_system)directly underNXxps/NXentry.