Transformations require depends on#70
Conversation
|
I think I might have misunderstood some things 🤔 There's probably still an issue here somewhere, but my interpretation is wrong.
|
|
Okay, I think the correct fix here is to say that the target of any |
Yes, chains should always end in |
| return ( | ||
| node.attrs.get("NX_class") == "NXtransformation" | ||
| and "transformation_type" in node.attrs | ||
| and "vector" in node.attrs | ||
| ) |
There was a problem hiding this comment.
As you said yourself, this is not correct. The transformations themselves are typically just fields, not groups, so they do not have an NX_class.
|
Superseded by #71 |
I noticed that some targets of
depends_onare notNXtransformations.I don't think that is correct according to the nexus standard.
In any case, it causes problems in our transformation chain resolution because we expect that a target of a
depends_onhas adepends_onattribute and not adepends_ondataset, and non-NXtransformationcomponents generally don't have adepends_onattribute, even if they might have adepends_ondataset.Specifically, the detector component in the Estia nexus files depends on the
/entry/instrument/multiblade_detector/transformations/detector_rotationentry which is aNXpositionerand does not have adepends_onattribute.It does however have other attributes (
transformation_typeandvector) that indicates it was really intended to have been aNXtransformationbut was mislabeled.To catch this issue and similar I'm adding a requirement that any target of a
depends_onhas to be aNXtransformation.