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

Update metadata convention #3093

Open
wants to merge 1 commit into
base: RELEASE_next_minor
Choose a base branch
from

Conversation

jlaehne
Copy link
Contributor

@jlaehne jlaehne commented Jan 28, 2023

Description of the change

Adapt the metadata structure according to the discussion in #2095

Progress of the PR

  • update metadata documentation,
  • Update occurences where metadata is accessed in HyperSpy,
  • Create PR in RosettaSciIO to reflect the changes in the metadata structure,
  • Check that tests are running on all ends,
  • add an changelog entry in the upcoming_changes folder (see upcoming_changes/README.rst),
  • Check formatting changelog entry in the readthedocs doc build of this PR (link in github checks)
  • ready for review.

@codecov
Copy link

codecov bot commented Jan 28, 2023

Codecov Report

Base: 80.60% // Head: 80.60% // No change to project coverage 👍

Coverage data is based on head (ada3a4c) compared to base (da5a683).
Patch has no changes to coverable lines.

Additional details and impacted files
@@                 Coverage Diff                 @@
##           RELEASE_next_major    #3093   +/-   ##
===================================================
  Coverage               80.60%   80.60%           
===================================================
  Files                     176      176           
  Lines                   24476    24476           
  Branches                 5383     5383           
===================================================
  Hits                    19729    19729           
  Misses                   3421     3421           
  Partials                 1326     1326           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@jlaehne jlaehne linked an issue Feb 17, 2023 that may be closed by this pull request
@jlaehne
Copy link
Contributor Author

jlaehne commented Feb 17, 2023

In hyperspy/rosettasciio#89 (comment) it was suggested to actually migrate to the NeXus metadata convention for electron microscopy, developed in the meantime, instead of improving our custom-scheme.

I'm copying in @sem-geologist @jordiferrero @CSSFrancis, as they were involved in the discussion in #2095.

@jlaehne
Copy link
Contributor Author

jlaehne commented Feb 17, 2023

The main difference between the current proposal and the Nexus definition seems to be to me that the information I proposed to put in source actually moves another level up and directly resides in instrument, but some of the parameters we currently have there then go into the subnodes EBEAM_COLUMN and OPTICAL_SYSTEM_EM.

A rough overview is given in the following, though in the details the structure would need to be more thorougly revised.

Current proposal, which tried to be more generic concerning type of experiment (e.g. allowing also a laser as source without using a different definition):

├── Acquisition_instrument
│   ├── Source
│   │   ├── source_type
│   │   ├── beam_current (nA)
│   │   ├── beam_energy (keV)
│   │   ├── ...
│   │   ├── Stage
│   │   │   ├── rotation (º)
│   │   │   ├── ...
│   │   └── working_distance (mm)
│   ├── Detector
│   │   ├── ...

NeXus scheme (selected components), which is again more EM specific:

├── em_lab - NXinstrument
│   ├── EBAM_COLUMN - NXebeam_column
│   │   ├── probe (e.g. electrons)
│   │   ├── voltage (kV)
│   │   └── ...
│   ├── OPTICAL_SYSTEM_EM - NXoptical_system_em
│   │   ├── working_distance (mm)
│   │   └── ...
│   ├── Stage - NXStage
│   │   ├── rotation (º)
│   │   └── ...
│   ├── Detector - NXdetector
│   │   ├── ...

@ericpre
Copy link
Member

ericpre commented Feb 17, 2023

I am wondering if we should keep the metadata, as they are for HyperSpy 2.0 but plan for HyperSpy 3.0. Using the nexus definition for electron microscopy seems to be a very good option but it would take some time to do correctly. We need to get HyperSpy 2.0 released sooner than later and HyperSpy 3.0 could be focused solely on metadata changes.

@ericpre ericpre modified the milestones: v2.0 Split, Discussion Sep 28, 2023
@CSSFrancis CSSFrancis deleted the branch hyperspy:RELEASE_next_minor December 22, 2023 14:03
@CSSFrancis CSSFrancis closed this Dec 22, 2023
@ericpre
Copy link
Member

ericpre commented Dec 22, 2023

Re-opening because this has been closed automatically by mistake!

@ericpre ericpre reopened this Dec 22, 2023
@ericpre ericpre changed the base branch from RELEASE_next_major to RELEASE_next_minor December 22, 2023 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Discussion: Hyperspy metadata SEM vs TEM
3 participants