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

Fairmat 2024: proposal on atom probe microscopy (APM) #1422

Open
wants to merge 1,160 commits into
base: main
Choose a base branch
from

Conversation

lukaspie
Copy link
Contributor

@lukaspie lukaspie commented Sep 24, 2024

Refactored version for NXapm including feedback from the atom probe microscopy/field-ion microscopy community.

This PR depends heavily on others that make changes to existing base classes or introduce base classes that are to be used outside of APM as well. Thus, it will be much smaller once the discussion on these PRs is done and this particular branch here has been rebased:
#1407
#1408
#1410
#1412
#1413
#1414
#1415
#1419
#1420 
#1486

There are however several new base classes that are currently only used within NXapm that are introduced here:

  • NXapm_charge_state_analysis
  • NXapm_ranging
  • NXapm_reconstruction
  • NXchemical_composition
  • NXcs_filter_boolean_mask
  • NXevent_data_apm
  • NXinstrument_apm

Aim and design of the appdef is as follows:
NXapm envisaged to be used for documenting measurement and computer simulation of field evaporation experiment.
Instrument part split in two parts:

  • ENTRY.measurement.instrument, for all those metadata that do not change when event data are collected
  • ENTRY.measurement.events.EVENT_DATA_APM.instrument for all those metadata that do change during events
    This idea allows to not always repeat like with which instrument and hardware components the events were collected

In field evaporation experiment one measures:

  • ToF, timing data on at least two delay-line detectors to get ion impact positions
  • From this one computes, ions, their chemical and/or nuclides, ultimately resulting in a model of the evaporated specimen the so-called reconstruction. The reconstruction is a point cloud, each point can have an ion label.
  • Ion labels are computed based on peak finding and peak identification in calibrated mass-to-charge-state ratio histograms, using methods borrowed from other ToF mass spectrometry and other spectroscopy techniques
  • All these processing steps of data are modelled as inheriting from NXprocess

Contrary to the previous version of this proposal:

  • We have reduced further the number of new base classes and tried to consolidate them even further.
  • We have added references to proprietary concepts of AMETEK/Cameca where known and reliable
  • We backup this example with a metastudy where we have collected the majority of datasets that are available online and use NXapm to map the content of these studies into NeXus/HDF5 files via www.github.com/FAIRmat-NFDI/pynxtools-apm

Points of discussion from my side @mkuehbach:

  • NXchamber should be replaced by NXcomponent
  • NXion should be replaced by NXatom
  • NXevent_data_apm could be replaced by NXevent_data but for this last point to happen at least NXevent_data needs to be refactored as currently its scope is limited to neutron science, specifically " NXevent_data is a special group for storing data from neutron
    detectors in event mode."

Note that in FAIRmat we have a comprehensive set of appdefs built around NXapm which we currently do not propose for standardization but it is worthwhile to mention as these explore in many examples the usage of #1421

lukaspie and others added 30 commits July 4, 2024 16:44
…or_circuits

Cleaned the too many base classes for circuits and cleaned base classes for describing a computer
Make geometries and sourceTYPE recommended in NXxps
…NXms with NXmicrostructure to avoid confusing the symbol convention with mass spectrometry as the abbreviation NXms may suggest
…con and eventually make this NXmicrostructure
@lukaspie lukaspie force-pushed the fairmat-2024-apm branch 3 times, most recently from 690f2d2 to 0f7ac38 Compare September 24, 2024 08:42
@lukaspie lukaspie marked this pull request as ready for review September 24, 2024 09:12
@sanbrock sanbrock mentioned this pull request Sep 29, 2024
@lukaspie lukaspie linked an issue Sep 29, 2024 that may be closed by this pull request
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.

NXapm
7 participants