Skip to content
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

Move NXlens_em to base classes #1519

Merged
merged 23 commits into from
Mar 4, 2025
Merged

Conversation

lukaspie
Copy link
Contributor

@lukaspie lukaspie commented Dec 9, 2024

This implements what was discussed in #1407 (comment). It moves NXlens_em from the contributed definitions to the base classes and adds it to NXsource as an renameable group. The difference between the NXlens_em from the contributed definitions and in base classes comes down to formatting, but no new terms have been added.

Note that NXlens_em itself is an extension of NXcomponent (which is meant as a basis for describing any components of an instrument). NXcomponent is also making use of NXcircuit (used for any sort of electronic circuit devices), so this is brought in here as well. These were originally to be discussed in #1424, but I think it's best to bring them in here.

@lukaspie lukaspie marked this pull request as ready for review December 11, 2024 12:49
@lukaspie lukaspie added enhancement discussion needed NIAC should review The NIAC should review/discuss NIAC vote needed PR needs an approving vote from NIAC before merge labels Dec 11, 2024
@phyy-nx
Copy link
Contributor

phyy-nx commented Dec 18, 2024

Comment from Telco:

  • NXcomponent seems like a big change. And that many base classes should derive from it. The NIAC requests a survey of base classes to identify those which should and those which should not derive from NXcomponent. Examples include NXdetector which should, and NXdata which should not.
  • As a corollary, adding NXcomponent as a new parent class to classes such as NXdetector, NXbeam, etc., would be a significant change, so move NXcomponent to a new PR, and make this one dependent on that new PR

Alternate proposal: instead of NXcomponent, add the necessary new fields to NXobject. This would imply that NXobject has NXfabrication and NXcircuit, but that's ok. Better to have more possibilities on NXobject than to add more base classes in general.

Reviewed in the NIAC: took a straw poll and it was almost evenly split between the above two options. This will need more discussion. @nexusformat/developers please chime in here! Thanks!

@lukaspie
Copy link
Contributor Author

Comment from Telco:

  • NXcomponent seems like a big change. And that many base classes should derive from it. The NIAC requests a survey of base classes to identify those which should and those which should not derive from NXcomponent. Examples include NXdetector which should, and NXdata which should not.
  • As a corollary, adding NXcomponent as a new parent class to classes such as NXdetector, NXbeam, etc., would be a significant change, so move NXcomponent to a new PR, and make this one dependent on that new PR

Alternate proposal: instead of NXcomponent, add the necessary new fields to NXobject. This would imply that NXobject has NXfabrication and NXcircuit, but that's ok. Better to have more possibilities on NXobject than to add more base classes in general.

Reviewed in the NIAC: took a straw poll and it was almost evenly split between the above two options. This will need more discussion. @nexusformat/developers please chime in here! Thanks!

#1525 implements option 1 here and adds a list of all classes for which it would likely make sense to extend NXcomponent. This is more meant as an exploration/survey rather than a votable proposal.

@lukaspie
Copy link
Contributor Author

lukaspie commented Jan 9, 2025

@phyy-nx @sanbrock @mkuehbach given that discussions around NXcomponent have not been settled yet (there is a new PR for this anyway, #1525), I moved it out this PR and just copied all relevant concepts to NXlens_em for now, so we can at least move forward with that one.

I think this PR is then ready to be discussion in one of the next Telcos.

@mkuehbach
Copy link
Contributor

Note that NXlens_em itself is an extension of NXcomponent (which is meant as a basis for describing any components of an instrument). NXcomponent is also making use of NXcircuit (used for any sort of electronic circuit devices), so this is brought in here as well. These were originally to be discussed in #1424, but I think it's best to bring them in here.

NXcomponent was removed NXlens_em extends NXobject

@lukaspie
Copy link
Contributor Author

Note that NXlens_em itself is an extension of NXcomponent (which is meant as a basis for describing any components of an instrument). NXcomponent is also making use of NXcircuit (used for any sort of electronic circuit devices), so this is brought in here as well. These were originally to be discussed in #1424, but I think it's best to bring them in here.

NXcomponent was removed NXlens_em extends NXobject

Yes exactly, this is now implemented.

@phyy-nx
Copy link
Contributor

phyy-nx commented Jan 27, 2025

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!

@hgoerzig
Copy link

Is there another link for details of electro-magnetic lenses in the literature
see e.g. `L. Reimer https://doi.org/10.1007/978-3-540-38967-5 ? It forwards to a whole book with a price of 245,-€ . This might be frustrating, if you don't have the book already and if you don't know what scanning elctron microscopy is, you sure don't have the book.

@mkuehbach
Copy link
Contributor

Is there another link for details of electro-magnetic lenses in the literature see e.g. `L. Reimer https://doi.org/10.1007/978-3-540-38967-5 ? It forwards to a whole book with a price of 245,-€ . This might be frustrating, if you don't have the book already and if you don't know what scanning elctron microscopy is, you sure don't have the book.

Possibly one could also point to

In terms of scientific depth, coverage, and succinctness though these references
are weaker than is Reimer. Cheaper than Reimer and also useful e.g.
P. Hawkes, "Magnetic Electron Lenses", ISBN/EAN: 9783642815188

Copy link
Contributor

@phyy-nx phyy-nx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vote has failed. We will discuss the review in tomorrow's telco.

@sanbrock
Copy link
Contributor

After fixing the reference, we can run the vote again.

@lukaspie
Copy link
Contributor Author

After fixing the reference, we can run the vote again.

Added references to all the resources given above, so the NeXus user has some choices.

@sanbrock @phyy-nx please feel free to initiate another vote.

@phyy-nx
Copy link
Contributor

phyy-nx commented Feb 18, 2025

Hi all, as discussed in the Telco, we try again as 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!

@tacaswell
Copy link
Contributor

Was there any discussion of applying this to the elements in a storage ring?

@phyy-nx
Copy link
Contributor

phyy-nx commented Feb 24, 2025

Was there any discussion of applying this to the elements in a storage ring?

Interesting. Do you mean like describing the upstream optical focusing elements at something like a synchrotron?

@tacaswell
Copy link
Contributor

Do you mean like describing the upstream optical focusing elements at something like a synchrotron?

Yes. However I don't know enough about how the accelerator folks describe the lattice to know if it sensible to try and interoperate with the electron microscope lens descriptions beyond the superficial (N-pole magnets focusing / steering electron beams).

@phyy-nx
Copy link
Contributor

phyy-nx commented Feb 24, 2025

Do you mean like describing the upstream optical focusing elements at something like a synchrotron?

Yes. However I don't know enough about how the accelerator folks describe the lattice to know if it sensible to try and interoperate with the electron microscope lens descriptions beyond the superficial (N-pole magnets focusing / steering electron beams).

Likewise, but I like the idea...

@fsaizpoy
Copy link

Hi Lukas,
Is NXlens_em also intended to be used to describe PEEM microscopes?

@lukaspie
Copy link
Contributor Author

Hi Lukas, Is NXlens_em also intended to be used to describe PEEM microscopes?

We have not considered it for PEEM yet. Mostly NXlens_em was designed for electron microscopes (SEM, TEM) and for the electromagnetic lenses in photoelectron spectrometers. We have a draft for an application definition for PEEM (FAIRmat-NFDI#147) together with @PeterC-DLS, but there has been not much work in this direction for some time. I think most concepts in NXlens_em would be applicable for PEEMs as well though.

Copy link
Contributor

@phyy-nx phyy-nx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The vote has passed, thanks everyone. @lukaspie feel free to merge.

@lukaspie lukaspie merged commit db016d0 into nexusformat:main Mar 4, 2025
2 checks passed
@lukaspie lukaspie deleted the nxlens-em branch March 4, 2025 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement NIAC should review The NIAC should review/discuss NIAC vote needed PR needs an approving vote from NIAC before merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants