8000 Remodel the `eln_mapper` tool to use the NeXusTree by lukaspie · Pull Request #607 · FAIRmat-NFDI/pynxtools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Remodel the eln_mapper tool to use the NeXusTree #607

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

Merged
merged 17 commits into from
Apr 3, 2025

Conversation

lukaspie
Copy link
Collaborator
@lukaspie lukaspie commented Mar 31, 2025

I have started using the automatic ELN creation because I would like to have a parser in pynxtools-xps that automatically creates a matching ELN for a given input file. In that progess, it became obvious that the current eln_mapper tool can be improved upon. Therefore, I completely remodelled it.

  • ELN creation based on the existing NexusTree structure used for the validation
  • Both the reader and schema ELN generators are now classes that build on top of a common abstract ElnGenerator class.
  • Two new options for the CLI tool:
    • --optionality: choice between writing those concepts to the ELN that are either "required", "recommended", "optional".
    • --filter-file: Possibility to pass a list of filters (each of which is a template key) to the ELN generation. Only those concepts that are in the list will be written. For the CLI tool, we allow passing files that are used as config files in the MultiFormatReader to define such filters. Only those concepts that are supposed to come from the ELN file (annotated by the @eln prefix) are selected for the generated ELN file.

Can ideally be tested by running generate_eln --nxdl NXxps --eln-type schema --optionality optional --filter-file src/pynxtools_xps/config/config_vms.json from the root of the pynxtools-xps repo.

@lukaspie lukaspie force-pushed the eln-mapper-nexus-tree branch from 32f2ef8 to 6373779 Compare April 3, 2025 11:55
Copy link
Collaborator
@RubelMozumder RubelMozumder left a comment

Choose a reason for hiding this comment

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

LGTM!

@lukaspie lukaspie merged commit 15e7e22 into master Apr 3, 2025
17 checks passed
@lukaspie lukaspie deleted the eln-mapper-nexus-tree branch April 3, 2025 13:59
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.

3 participants
0