Skip to content

NXxas and NXxas_trans application definitions and required base classes - #1640

Open
mretegan wants to merge 139 commits into
nexusformat:mainfrom
XraySpectroscopy:xas-base-and-trans-minimal
Open

mretegan wants to merge 139 commits into
nexusformat:mainfrom
XraySpectroscopy:xas-base-and-trans-minimal

Conversation

@mretegan

@mretegan mretegan commented Jul 8, 2026 •

Copy link
Copy Markdown
Contributor

The MR introduces a subset of the X-ray absorption application definitions that use the inheritance-based mechanism discussed in #1352 and XraySpectroscopy#7. Once validated, new MRs will be opened for the remaining classes, which are somewhat more complex.

The new/updated application definitions are:

  • NXxas is a generic application definition for X-ray absorption spectroscopy (XAS).
  • NXxas_trans is an application definition that specializes NXxas for data acquired in transmission mode.

The new classes will replace the current NXxas and NXxasproc, as each of them is designed to hold both raw and processed data, i.e., no need to have separate definitions.

One particularly is the use of dataRank to allow for either 1D or 2D data. Currently this is only expressed in the doc of different fields, but @woutdenolf had a few suggestions on how this could also be validated (see XraySpectroscopy#7 (comment)).

@mretegan mretegan mentioned this pull request Aug 11, 2026
@phyy-nx

phyy-nx commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

From Telco: This removes NXxas from application definitions which requires a vote and adds new content to contributed definitions, which doesn't require a vote. To me that means this should be split into two PRs, one removing old content and one adding new content to contributed definitions. Also your comment mentions removing NXxasproc, but I don't see that in this pull request?

Out of curiosity, how close is this to being fully ready for adoption in the community?

Finally, just verifying that the old NXxas is fully unused, so greatly changing its meaning won't affect a huge of amount of users/data, correct?

@mretegan
mretegan force-pushed the xas-base-and-trans-minimal branch 2 times, most recently from 964f7e0 to ad5cb71 Compare August 31, 2026 08:26
@mretegan

Copy link
Copy Markdown
Contributor Author

@phyy-nx Thank you for the feedback.

I separated the removal of the existing NXxas and NXxasproc to another MR #1651. As I commented there, these classes are not used in the community. @newville can further comment on this if needed.

The current MR builds on this and on a second commit #1619 that introduces a few base classes, like NXabsorption_edge and NXelement, which are required for the new classes.

All the new classes land in the contributed definitions.

Regarding adoption by the community, this will certainly take some time. However, during our meeting in July, we received full support from the chairs of the International X-ray Absorption Society (IXAS) and the IUCr commission on XAS. Additionally, following feedback from scientists doing quick XAS acquisitions at the same meeting, the new definitions were updated to allow multiple spectra to be stored.

github-actions Bot added a commit that referenced this pull request Oct 5, 2026
github-actions Bot added a commit that referenced this pull request Oct 5, 2026
@mretegan

mretegan commented Oct 5, 2026

Copy link
Copy Markdown
Contributor Author

@phyy-nx From what I understood from @woutdenolf the current NXxas definition will be moved to contributed, and will have the fields deprecated.

What is the procedure to make changes to a field like energy?

The old NXxas requires the energy dataset under NXinstrument/monochromator. The new NXxas requires it directly under NXentry. Keeping the old field as optional and deprecated does not satisfy the new required /entry/energy.

github-actions Bot added a commit that referenced this pull request Oct 26, 2026
github-actions Bot added a commit that referenced this pull request Oct 26, 2026
@mretegan
mretegan force-pushed the xas-base-and-trans-minimal branch from 706903c to 27fd7e0 Compare October 26, 2026 17:33
@phyy-nx

phyy-nx commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

@mretegan I've addressed some of the comments, but I think some of the others are beyond me.

github-actions Bot added a commit that referenced this pull request Oct 26, 2026
github-actions Bot added a commit that referenced this pull request Nov 5, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants