-
Notifications
You must be signed in to change notification settings - Fork 68
Fairmat 2024: proposal on atom probe microscopy (APM) #1422
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
mkuehbach
merged 1,234 commits into
nexusformat:main
from
FAIRmat-NFDI:fairmat-2024-apm
Jul 13, 2025
Merged
Changes from 250 commits
Commits
Show all changes
1234 commits
Select commit
Hold shift + click to select a range
58d7523
Further simplification of where and how to store aberrations
atomprobe-tc 8b05200
change ellips name to optical spec
765626e
Use something from lensID
atomprobe-tc 9186ed2
Correcting units for complex aberrations
atomprobe-tc 1debcc9
Removed mandatory model for aberrations as clear for naming conventio…
atomprobe-tc 7300b1c
Reference Rafal for aberration function
atomprobe-tc 24d78d6
Fixed time(NX_TIME) bug
atomprobe-tc c12d7c5
fix_renaming_of_ellipsometry_to_optical_spec
08b7a86
add missed links
24b0d20
add missing #### in title...
9d4af2f
Merge pull request #279 from FAIRmat-NFDI/update_optical_spec_website
RonHildebrandt b259036
Merge branch 'fairmat' into sprint23_em_v3
atomprobe-tc a8cf2af
Clarified issues with depends_on, fixed typo pID for pfID in NXem_ebsd
atomprobe-tc 132fc2a
Hooked in examples for usage of NXem_ebsd and NXem_eds into NXem
atomprobe-tc 98d6784
Merge pull request #223 from FAIRmat-NFDI/namefit-docs
lukaspie 41c61cb
Last cleaning for depends_on on this feature branch
atomprobe-tc 71dcdda
<<<<Merge branch 'fairmat' into sprint23_em_v3
atomprobe-tc 53f21ac
Initial draft of NXmpes_xps sub app-def
lukaspie 16e94a4
Prepare NXmpes_xps for extending NXmpes
lukaspie 65bfb91
Removed information already given in base classes
lukaspie d2d22f8
Removed some unneeded comments
lukaspie 33492b8
Add description of instrument orientation
lukaspie b1e1039
Move orientation of instrument parts
lukaspie 53fca26
Update transmission function information
lukaspie 75a71e4
Update documentation, add comments for discussion
lukaspie 11ff4da
Initial draft of NXmpes_xps sub app-def
lukaspie 5cd71d7
Prepare NXmpes_xps for extending NXmpes
lukaspie 5b76d23
Removed information already given in base classes
lukaspie 27bf927
Removed some unneeded comments
lukaspie 42f7f72
Add description of instrument orientation
lukaspie 34e9046
Move orientation of instrument parts
lukaspie d60f860
Update transmission function information
lukaspie ffeb32c
Update documentation, add comments for discussion
lukaspie 8880b42
fix NXmpes yaml
lukaspie 0e2201c
update to current NXmpes status
lukaspie 7600d27
refine NXtransformations
lukaspie 563d4e9
add coordinate system and coordinate_system_set
lukaspie 51b28b2
Adds mpes_xps to mpes structure
domna 8029e66
rename to NXxps
lukaspie c0ee5a7
initial attempt at modeling XPS peak fitting
lukaspie 8fd5c0c
add lineshape to NXpeak
lukaspie 285de0c
update lineshape in NXpeak
lukaspie ac1f4e6
add NXbackground to NXfit_region
lukaspie a791fe5
add fitting method to NXpeak_model
lukaspie 370f758
remove NXtransformations from NXcoordinate_system
lukaspie 16be1b8
restructure NXfit with background and peaks
lukaspie ebae306
change to NXcoordinate_system_set, use NXfit in NXxps
lukaspie cbb06cd
add fit_function and parameters
lukaspie 9bc7da8
use NXfit_function for peaks and backgrounds
lukaspie 8f3856a
use NXdata in NXfit
lukaspie fb4652a
use new peak fitting in NXxps
lukaspie ecdafd3
add missing class name in NXxps
lukaspie 45b9122
remove underscores from variable names in NXfit
lukaspie b0ff45c
update nyamls
lukaspie aa3d1a2
switch axes docs in NXfit
lukaspie 4a0e293
use old nyaml dim notation for now
lukaspie b55affb
fix math notation
lukaspie 1a70266
make nxdls
lukaspie 5a96bfc
regenerate with nyaml==0.0.8
lukaspie 435fe3c
make NXfit, NXpeak multi-dimensional
lukaspie 15d4c51
redefine XPS coordinate system, small changes to XPS peak fitting
lukaspie 7d1d9b0
required energy axis in XPS
lukaspie d9f01cf
fix dimensions issues
lukaspie 25d0cb4
regenerate NXxps
lukaspie c9add02
make energy an NX_NUMBER
lukaspie 097d889
remove unneeded depends_on enumerations
lukaspie 6952cbb
align symbols across all fit-related definitions
lukaspie 5b4410d
remove single and repeated parameters in fit
lukaspie 4eab351
fix dimensions in NXpeak and NXfit_background
lukaspie f9304ba
use globlal_fit and error_function in NXfit, fix dimensions
lukaspie dbaca7e
docstring fixes in NXfit
lukaspie 4b15fa3
NXfit extends NXprocess
lukaspie 5b80901
fix math notation in NXfit_function
lukaspie 123efd3
fix link in NXfit_function
lukaspie f4c0092
change requiredness for formulas in XPS fit
lukaspie 7f37ded
small fixes for links
lukaspie c66c16e
fix issues with manual build
lukaspie 8639de0
fix math notation
lukaspie c83cdc4
more math fixes
lukaspie 6cc685f
regenerate NXxps and NXpeak nxdl files
lukaspie 903d0e9
fix rebasing issues
lukaspie dfad4b5
make NXpeak spectrum-independent
lukaspie 6ffb9d6
fix rebase conflicts
lukaspie fb0be54
fix nyaml-nxdl inconsistency
lukaspie e71ec46
add notes from both workshops
93033d6
added make nxdl and make local
db8b3ab
lowercase enumeration, source_type todo added, doc for ellipsometry_type
6a7efaf
HOW LONG? does it take to learn to make nxdl and local before commiti…
196f2a8
Fixes in EM
atomprobe-tc c7be812
Merging NXem_adf into NXem_img, enabling microstructure reconstructio…
atomprobe-tc 073f941
Removal of non-standardized assumption that i, j, k can be used as co…
atomprobe-tc 5659cc5
add missing elements in ellipsometry from specialized NXlens_opt
b6b6550
Add todo notes for beamsize and shape description
e1a9984
typo and note for possible rework/reconsideration of NXfabrication
6054ae7
Merge pull request #282 from FAIRmat-NFDI/add_workshop_notes_from_ell…
RonHildebrandt d2c213d
Merge branch 'fairmat' into sprint23_em_v3
atomprobe-tc 5509209
Suggestions from lukaspie
atomprobe-tc 788dd0b
Fixes apm
atomprobe-tc a5b46d4
Added undefined enum in NXidentifier
atomprobe-tc 5a3e07d
Merge pull request #170 from FAIRmat-NFDI/158-xps-peak-fitting-in-nexus
lukaspie 890c785
<Merge branch 'fairmat' into sprint23_em_v3
atomprobe-tc 05df4f0
Merge pull request #278 from FAIRmat-NFDI/sprint23_em_v3
mkuehbach f0f7824
use NXidentifier in NXsample and NXfabrication
lukaspie d828f1f
rename sample name in NXoptical spectroscopy
lukaspie 7f5cce6
make ellipsometer_type optional
lukaspie 0b0538f
NXidentifier in NXoptical_spectroscopy instrument
lukaspie c40127f
remove NXsample name docs from NXoptical_spectroscopy
lukaspie 0c6f1f9
add serial_number to NXfabrication
lukaspie 3ceecff
use NXidentifier in NXmpes
lukaspie 5058b2f
use NXidentifier consistently across all our contributed definitions
lukaspie cdc1719
decode binary strings in nxdl_utils.py
rettigl bbf8060
add function for decoding
rettigl 7b03935
use NXidentifier in NXentry
lukaspie 7f0c0c8
Merge pull request #283 from FAIRmat-NFDI/convert_binary_strings
lukaspie b6b3ba3
small changes to NXbeam and NXmonochromator
lukaspie f13e4a6
Merge pull request #285 from FAIRmat-NFDI/small-nxbeam-changes
lukaspie e147c24
typo fixes
lukaspie b90d494
Merge pull request #284 from FAIRmat-NFDI/use-nx-identifier
lukaspie 0185e43
proper string decoding
lukaspie fb6c759
remove unneeded imports
lukaspie c543a14
black formatting
lukaspie 4dec01e
remove code and move to pynxtools
lukaspie 7bab9e2
remove unneeded requirements
lukaspie d6eabbb
escape black check
lukaspie e33d9a8
ignore flake8 issue
lukaspie f72c27f
isort imports
lukaspie 9a9c70b
use less strict version of str decoding
lukaspie f40693e
slightly enhanced version of str decoding, test
lukaspie 611af7c
remove flake error catching
lukaspie a2d1228
reset requirements.txt
lukaspie a9856f6
reformatting
lukaspie 3039fe3
remove strict type checking
lukaspie b9e537c
add support for list of bytes
lukaspie c10e52a
formatting
lukaspie cf56332
Merge pull request #286 from FAIRmat-NFDI/strict-string-check
lukaspie 6707259
add pulse_delay to NXbeam
lukaspie 619e6f0
recreate nyaml file
lukaspie d3c5237
Merge pull request #288 from FAIRmat-NFDI/pulse-delay-in-nxbeam
lukaspie eae3eb1
Merge branch 'nexusformat/deifinitions/main' into fairmat-2024
lukaspie 2a3e8bb
regenerate nyaml files
lukaspie b048270
various small fixes are merging main and fairmat
lukaspie 1e50475
fix string No in NXelectron_level
lukaspie 3faa2c6
remove unused MANIFEST.in
lukaspie 5a28e07
manually reset NXem yaml file
lukaspie 31f5e9d
format base classes and applications in accordance to existing NIAC v…
lukaspie 2590928
revert changes to NXtransformations docs
lukaspie 7ca8b20
add CSS tweak to hide summary
lukaspie b4aad7b
add css file
lukaspie 08c4fcb
Merge pull request #293 from FAIRmat-NFDI/add-ccs-tweak-to-hide-summary
lukaspie 09aa519
Suggestions from Lukas
atomprobe-tc 139d664
fix dev_tools tests
lukaspie 4abdc46
remove use of details_summary_hide
lukaspie d20af52
change refs in NXarpes
lukaspie 101a093
move doc bundles to applications and base_classes
lukaspie 4f52a8a
Merge commit '09aa5191d2e327d74f54e20aac091c94661b90fe' into fairmat-…
lukaspie 5ac17fb
Reverting the proposal that NXmicrostructure is not just proposed for…
atomprobe-tc e430164
Merge commit '5ac17fba2c96b83b3aa40446ba3f57b877be93bf' into fairmat-…
lukaspie 4e485a6
Revert one more microstructure
atomprobe-tc 2b6e1c3
Merge commit '4e485a6cb4b185da158439b6e6c726e628eb1740' into fairmat-…
lukaspie 81d927c
move new definitions to application and base_classes
lukaspie 4bbc850
small update to mpes-structure
lukaspie 69bc9dc
update category for NXxrd.nxdl. (#296)
RubelMozumder 0200cd6
remove fairmat-specific files
lukaspie 00645ff
remove nyaml files
lukaspie 2287569
move NXdata_mpes* classes back to contributed
lukaspie 1544232
revert small changes to the dev_tools
lukaspie 105029a
change docs in NXcircuit
lukaspie 257e37f
pull out modifications for fairmat-2024-apm
lukaspie 8583dfd
remove classes from contributed that have been moved to base_classes
lukaspie 111f9f7
update type in NXsource
lukaspie dc67a46
Merge remote-tracking branch 'upstream/main' into fairmat-2024-apm
lukaspie 98f6cbe
remove double NXpositioner from NXaperture
lukaspie 4687ce3
Merge remote-tracking branch 'upstream/main' into fairmat-2024-apm
atomprobe-tc 0ebff2b
Correction on NXchamber
atomprobe-tc 291a463
Merge remote-tracking branch 'upstream/main' into fairmat-2024-apm
atomprobe-tc 23c1e1e
Refactored NXapm proposal according to the development version that w…
atomprobe-tc 47e138b
Merge remote-tracking branch 'upstream/main' into fairmat-2024-apm
atomprobe-tc 43baed6
Removing for now all documentation that points to apm-domain-specific…
atomprobe-tc 9bd5e66
Revert white-space change on NXactuator
atomprobe-tc 73b2ebb
reverting
atomprobe-tc a88d34c
Use upstream/main NXbeam
atomprobe-tc 5c683d3
Use upstream/main NXcalibration, remove NXchamber
atomprobe-tc e83f628
Further removal/reverting of base classes not touched by this PR
atomprobe-tc 3a10421
Reversions
atomprobe-tc fdf4468
Finished reversion of classes that the upstream/main merge brought in…
atomprobe-tc f719fe0
Edits on the appdef
atomprobe-tc e1cc412
Fixing issues that were spotted when syncing current fairmat state of…
atomprobe-tc 6299e32
Synced back with the latest edits that we have done in FAIRmat includ…
atomprobe-tc 86f68eb
Merge remote-tracking branch 'upstream/main' into fairmat-2024-apm
atomprobe-tc 445f10a
Merge remote-tracking branch 'upstream/main' into fairmat-2024-apm, u…
atomprobe-tc c209646
Used prepared classes with the latest changes for the apm proposal fo…
atomprobe-tc b844d73
Moved NXcoordinate_system_set back to contributed as its removal can …
atomprobe-tc 84485ce
Used prepared classes with the latest changes for the apm proposal fo…
atomprobe-tc 78f6d1f
Used prepared classes with the latest changes for the apm proposal fo…
atomprobe-tc 619bc75
Used prepared classes with the latest changes for the apm proposal fo…
atomprobe-tc d723867
Removed duplicated NXcs_computer
atomprobe-tc ad4aa02
Used prepared classes with the latest changes for the apm proposal fo…
atomprobe-tc 7fd8ed0
Separating and docstring sharp single line message followed by more e…
atomprobe-tc a55a5d1
Fix inconsistent and wrong use of reserved keyword _errors, editing o…
atomprobe-tc d27b89a
Remaining edits on the NXapm and fixing the CI/CD
atomprobe-tc 4c4a786
Left comment on how to name instances of NXcoordinate_system
atomprobe-tc f1cf83e
Fix incorrect math notation
atomprobe-tc 4460b20
Further renaming of incorrectly copy-pasted name for specific id_offset
atomprobe-tc 7655e18
Fixed formatting error
atomprobe-tc 4ce59db
Changes on manual/source that were left due
atomprobe-tc 0381a21
Using newest CI/CD workflows from the FAIRmat branch to make a mock P…
atomprobe-tc a153bc3
Merge remote-tracking branch 'upstream/main' into fairmat-2024-apm-do…
atomprobe-tc fefb70d
Implementation of feedback based on @benajamin review
atomprobe-tc 2aa49d0
Further implementation of feedback based on @benajamin review
atomprobe-tc d9263fa
Additional implementation of feedback based on @benajamin review
atomprobe-tc bfe256a
Implementation of feedback based on @benajamin review, next steps, ma…
atomprobe-tc 7d3f35f
Refactored NXapm_reconstruction to include more recommendations from …
atomprobe-tc 01c560a
Reverted changes on NXion to the version of upstream/main commit 307e6a7
atomprobe-tc 24a78e8
Remaining edits on the appdef and baseclasses based on @benajamin's r…
atomprobe-tc 03818e7
Resolving comment on NXapm_measurement by @benajamin
atomprobe-tc c159247
Formatting of the mass_resolution molecular ion notation
atomprobe-tc 5512ff1
cspell
atomprobe-tc 0ec93e8
Editing top-level docstring, two-pager
atomprobe-tc 2047f28
Modified part 1 of 2 for two-pager from NXem for NXapm§
atomprobe-tc 2775190
Two-pager draft finished
atomprobe-tc ae413fa
Lower-bound pinning of nyaml that was previously unpinned. This fixes…
atomprobe-tc 350d55d
Revert cspell and changes on CI/CD
atomprobe-tc a9dc6ba
Merge pull request #392 from FAIRmat-NFDI/fairmat-2024-apm-docs-for-r…
mkuehbach 9e29f19
Working on further suggestions by @benajamin after having html artifa…
atomprobe-tc 86f3c42
Comment resolving and further fixes
atomprobe-tc b4a218e
Comment resolving and further fixes
atomprobe-tc b5bcbc7
Cheatsheets remain
atomprobe-tc 55625da
Manual fixes on top-level docstring for NXapm to please humans and th…
atomprobe-tc a4efddb
Formatting fix in NXapm top-level docstring
atomprobe-tc aed0308
Added comments from the second revision round with @benajamin, mainly…
atomprobe-tc ee474e8
One more clarification for source
atomprobe-tc 18fc551
Reply and edits to remaining comments from @benajamin
atomprobe-tc ba9c1e8
One more suggestion on writing in NXapm
atomprobe-tc ac29496
Further edits
atomprobe-tc 36a3540
Final round of edits prior the 04/06/2025 telco
atomprobe-tc 0191abf
Refactoring of NXroi to NXroi_process and adding feedback from the te…
atomprobe-tc ec2d854
NXroi to NXroi_process
atomprobe-tc 3ef0179
Fixing NXapm_ranging in NXapm
atomprobe-tc e4199af
Resolve bug in the hashing rule for NXatom and remove duplicated ment…
atomprobe-tc 3ee8520
Edits on hashing rule
atomprobe-tc 52b0736
Last edits wrt to open conversations
atomprobe-tc 8780d90
Edit docstring of NXprocess to consider @PeterC-DLS comment on missin…
atomprobe-tc 02c0c08
Docstring fixing in NXprocess
atomprobe-tc a71e96b
Merge branch 'main' into fairmat-2024-apm
mkuehbach 99588fc
Replace single quote with double quote in XML header
atomprobe-tc 7f62751
Merge remote-tracking branch 'upstream/main' into fairmat-2024-apm
atomprobe-tc cf9ed4b
Harmonized names for concepts number_of_processes, threads, and gpus
atomprobe-tc 827e60d
Implemented suggestions from @paulmillar to remove parentheses in fav…
atomprobe-tc 43445f6
Implemented remaining rephrasing suggestion from @paulmillar
atomprobe-tc 47bfd85
Merge remote-tracking branch 'upstream/main' into fairmat-2024-apm
atomprobe-tc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Empty file.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,159 @@ | ||
| <?xml version='1.0' encoding='UTF-8'?> | ||
| <?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?> | ||
| <!-- | ||
| # NeXus - Neutron and X-ray Common Data Format | ||
| # | ||
| # Copyright (C) 2024-2025 NeXus International Advisory Committee (NIAC) | ||
| # | ||
| # This library is free software; you can redistribute it and/or | ||
| # modify it under the terms of the GNU Lesser General Public | ||
| # License as published by the Free Software Foundation; either | ||
| # version 3 of the License, or (at your option) any later version. | ||
| # | ||
| # This library is distributed in the hope that it will be useful, | ||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| # Lesser General Public License for more details. | ||
| # | ||
| # You should have received a copy of the GNU Lesser General Public | ||
| # License along with this library; if not, write to the Free Software | ||
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| # | ||
| # For further information, see http://www.nexusformat.org | ||
| --> | ||
| <definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" name="NXapm_charge_state_analysis" extends="NXprocess" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd"> | ||
| <symbols> | ||
| <doc> | ||
| The symbols used in the schema to specify e.g. dimensions of arrays. | ||
| </doc> | ||
| <symbol name="n_cand"> | ||
| <doc> | ||
| The number of (molecular) ion candidates. | ||
| </doc> | ||
| </symbol> | ||
| <symbol name="n_ivec_max"> | ||
| <doc> | ||
| Maximum number of allowed atoms per (molecular) ion (fragment). | ||
|
mkuehbach marked this conversation as resolved.
Outdated
|
||
| </doc> | ||
| </symbol> | ||
| <symbol name="n_variable"> | ||
| <doc> | ||
| Number of entries | ||
| </doc> | ||
| </symbol> | ||
| </symbols> | ||
| <doc> | ||
| Base class to document the parameters (configuration) and results of a processing for recovering | ||
|
mkuehbach marked this conversation as resolved.
Outdated
|
||
| the charge state and nuclide composition of a (molecular) ion from ranging definitions as used | ||
| in the research field of atom probe microscopy. | ||
|
|
||
| A ranging definition classically reports only the mass-to-charge-state-ratio interval plus the | ||
| elemental composition, but not necessarily the nuclide that compose the (molecular) ion. | ||
|
|
||
| As the mass-resolving-power in an atom probe instrument is finite and typically lower | ||
| than for cutting edge tandem mass spectrometry it is possible that different combinations of nuclides | ||
| are indistinguishable and thus multiple (molecular) ions in eventually even different charge states | ||
| can be valid labels for a given mass-to-charge-state-ratio peak. Enumerating the possible combinations | ||
| is a programmatic approach that can help with peak identification. | ||
| </doc> | ||
| <group name="config" type="NXparameters"> | ||
| <doc> | ||
| Parameters for the algorithm that tries to recover which combinations of nuclides | ||
|
mkuehbach marked this conversation as resolved.
Outdated
|
||
| have a mass and charge that matches a set of constraints. | ||
|
|
||
| Each parameter in this group is defines one constraint. | ||
| </doc> | ||
| <field name="nuclides" type="NX_UINT" units="NX_UNITLESS"> | ||
| <doc> | ||
| Parameter that defines the elements considered in the combinatorial search. | ||
| The array contains nuclides as many times as their multiplicity and must not be empty. | ||
|
|
||
| Nuclides are encoded using the hashing rule that is defined in :ref:`NXatom`; an example: | ||
| A ranging definition H:2 O:1 is configured by setting nuclides to a list with entries | ||
| :math:`1 + 0 \cdot 256`, :math:`1 + 0 \cdot 256`, :math:`8 + 0 \cdot 256`. | ||
| Using 0 for the number of neutrons of an oxygen atom allows to encode that | ||
| isotopes of oxygen in general are meant, i.e. the element oxygen. | ||
|
|
||
| Constraining the elements or nuclides instead of providing all nuclides | ||
| reduces the time to perform an exhaustive combinatorial search. | ||
| </doc> | ||
| <dimensions rank="1"> | ||
| <dim index="1" value="n_variable"/> | ||
| </dimensions> | ||
| </field> | ||
| <field name="mass_to_charge_range" type="NX_FLOAT" units="NX_ANY"> | ||
| <doc> | ||
| Parameter that defines the interval :math:`[{m/q}_{min}, {m/q}_{max}]` within which | ||
| (molecular) ions with given mass-to-charge-state-ratio qualify as candidates. | ||
| </doc> | ||
| <dimensions rank="1"> | ||
| <dim index="1" value="2"/> | ||
| </dimensions> | ||
| </field> | ||
| <field name="min_half_life" type="NX_FLOAT" units="NX_TIME"> | ||
| <doc> | ||
| Parameter that defines the minimum half life for how long each nuclide of each | ||
| (molecular) ion needs to be stable such that the ion qualifies as a candidate. | ||
| </doc> | ||
| </field> | ||
| <field name="min_abundance" type="NX_FLOAT" units="NX_DIMENSIONLESS"> | ||
| <doc> | ||
| Parameter that defines the minimum natural abundance of each nuclide of each | ||
| (molecular) ion such that the ion qualifies as a candidate. | ||
| </doc> | ||
| </field> | ||
| <field name="sacrifice_isotopic_uniqueness" type="NX_BOOLEAN"> | ||
| <doc> | ||
| If the value is false, it means that non-unique solutions are accepted. | ||
| These are solutions where multiple candidates have been built from | ||
| different nuclide instances but the charge_state of all the ions is the same. | ||
| </doc> | ||
| </field> | ||
| </group> | ||
| <field name="charge_state" type="NX_INT" units="NX_UNITLESS"> | ||
| <doc> | ||
| Signed charge, i.e. integer multiple of the elementary | ||
| charge of each candidate. | ||
| </doc> | ||
| <dimensions rank="1"> | ||
| <dim index="1" value="n_cand"/> | ||
| </dimensions> | ||
| </field> | ||
| <field name="nuclide_hash" type="NX_UINT" units="NX_UNITLESS"> | ||
| <doc> | ||
| Table of nuclide instances of which each candidate is composed. | ||
| Each row vector is sorted in descending order. | ||
| Unused entries in the matrix should be set to 0. | ||
| </doc> | ||
| <dimensions rank="2"> | ||
| <dim index="1" value="n_cand"/> | ||
| <dim index="2" value="n_ivec_max"/> | ||
| </dimensions> | ||
| </field> | ||
| <field name="mass" type="NX_FLOAT" units="NX_MASS"> | ||
| <doc> | ||
| Accumulated mass of the nuclides in each candidate. | ||
| Not corrected for quantum effects. | ||
| </doc> | ||
| <dimensions rank="1"> | ||
| <dim index="1" value="n_cand"/> | ||
| </dimensions> | ||
| </field> | ||
| <field name="natural_abundance_product" type="NX_FLOAT" units="NX_DIMENSIONLESS"> | ||
| <doc> | ||
| The product of the natural abundances of the nuclides for each candidate. | ||
| </doc> | ||
| <dimensions rank="1"> | ||
| <dim index="1" value="n_cand"/> | ||
| </dimensions> | ||
| </field> | ||
| <field name="shortest_half_life" type="NX_FLOAT" units="NX_TIME"> | ||
|
mkuehbach marked this conversation as resolved.
|
||
| <doc> | ||
| For each candidate the half life of the nuclide that has the | ||
| shortest half life. | ||
| </doc> | ||
| <dimensions rank="1"> | ||
| <dim index="1" value="n_cand"/> | ||
| </dimensions> | ||
| </field> | ||
| </definition> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,70 @@ | ||
| <?xml version='1.0' encoding='UTF-8'?> | ||
| <?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?> | ||
| <!-- | ||
| # NeXus - Neutron and X-ray Common Data Format | ||
| # | ||
| # Copyright (C) 2025-2025 NeXus International Advisory Committee (NIAC) | ||
| # | ||
| # This library is free software; you can redistribute it and/or | ||
| # modify it under the terms of the GNU Lesser General Public | ||
| # License as published by the Free Software Foundation; either | ||
| # version 3 of the License, or (at your option) any later version. | ||
| # | ||
| # This library is distributed in the hope that it will be useful, | ||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| # Lesser General Public License for more details. | ||
| # | ||
| # You should have received a copy of the GNU Lesser General Public | ||
| # License along with this library; if not, write to the Free Software | ||
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| # | ||
| # For further information, see http://www.nexusformat.org | ||
| --> | ||
| <definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" name="NXapm_measurement" extends="NXobject" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd"> | ||
| <doc> | ||
| Base class for collecting a run with a real or a simulated atom probe or field-ion microscope. | ||
|
|
||
| The term run is understood as an exact synonym for session, i.e. the usage of a real or simulated | ||
| tomograph or microscope for a certain amount of time during which one characterizes a single specimen. | ||
|
|
||
| Research workflows for experiments and simulations of atom probe and related field-evaporation | ||
| evolve continuously and become increasingly connected with other methods used for material | ||
| characterization specifically electron microscopy. A few examples in this direction are: | ||
|
|
||
| * `T. Kelly et al. <https://doi.org/10.1017/S1431927620022205>`_ | ||
| * `C. Fleischmann et al. <https://doi.org/10.1016/j.ultramic.2018.08.010>`_ | ||
| * `W. Windl et al. <https://doi.org/10.1093/micmic/ozad067.294>`_ | ||
| * `C. Freysoldt et al. <https://doi.org/10.1103/PhysRevLett.124.176801>`_ | ||
| * `G. da Costa et al. <https://doi.org/10.1038/s41467-024-54169-2>`_ | ||
|
|
||
| The majority of atom probe research is performed using the so-called Local Electrode Atom Probe (LEAP) instruments | ||
| from AMETEK/Cameca. In addition, several research groups have built their own instruments and shared different | ||
| aspects of the technical specifications and approaches including how these groups apply data processing e.g.: | ||
|
|
||
| * `M. Monajem et al. <https://doi.org/10.1017/S1431927622003397>`_ | ||
| * `P. Stender et al. <https://doi.org/10.1017/S1431927621013982>`_ | ||
| * `I. Dimkou et al. <https://doi.org/10.1093/micmic/ozac051>`_ | ||
|
|
||
| to name but a few. | ||
| </doc> | ||
| <field name="status" type="NX_CHAR"> | ||
| <doc> | ||
| A statement whether the measurement completed successfully, or was aborted. | ||
| </doc> | ||
| <enumeration> | ||
| <item value="success"/> | ||
| <item value="aborted"/> | ||
| </enumeration> | ||
| </field> | ||
| <field name="quality" type="NX_CHAR"> | ||
| <doc> | ||
| Statement about the quality of the measurement. | ||
|
|
||
| The value can be extracted from the CAnalysis.CResults.fQuality | ||
| field of a CamecaRoot ROOT file. | ||
| </doc> | ||
| </field> | ||
| <group type="NXinstrument_apm"/> | ||
| <group type="NXevent_data_apm"/> | ||
| </definition> | ||
|
benajamin marked this conversation as resolved.
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,110 @@ | ||
| <?xml version='1.0' encoding='UTF-8'?> | ||
| <?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?> | ||
| <!-- | ||
| # NeXus - Neutron and X-ray Common Data Format | ||
| # | ||
| # Copyright (C) 2024-2025 NeXus International Advisory Committee (NIAC) | ||
| # | ||
| # This library is free software; you can redistribute it and/or | ||
| # modify it under the terms of the GNU Lesser General Public | ||
| # License as published by the Free Software Foundation; either | ||
| # version 3 of the License, or (at your option) any later version. | ||
| # | ||
| # This library is distributed in the hope that it will be useful, | ||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| # Lesser General Public License for more details. | ||
| # | ||
| # You should have received a copy of the GNU Lesser General Public | ||
| # License along with this library; if not, write to the Free Software | ||
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| # | ||
| # For further information, see http://www.nexusformat.org | ||
| --> | ||
| <definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="base" type="group" name="NXapm_ranging" extends="NXprocess" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd"> | ||
| <doc> | ||
| Base class for the configuration and results of ranging definitions. | ||
|
|
||
| Ranging is a data post-processing step used in the research field of | ||
| atom probe during which elemental, isotopic, and/or molecular identities | ||
| are assigned to mass-to-charge-state ratios within certain intervals. | ||
| The documentation of these steps is based on ideas that | ||
| have been described in the literature: | ||
|
|
||
| * `M. K. Miller <https://doi.org/10.1002/sia.1719>`_ | ||
| * `D. Haley et al. <https://doi.org/10.1017/S1431927620024290>`_ | ||
| * `M. Kühbach et al. <https://doi.org/10.1017/S1431927621012241>`_ | ||
| </doc> | ||
| <group type="NXprogram"/> | ||
| <group type="NXnote"/> | ||
| <group name="mass_to_charge_distribution" type="NXprocess"> | ||
| <doc> | ||
| Specifies the mass-to-charge-state ratio histogram. | ||
| </doc> | ||
| <group type="NXprogram"/> | ||
| <field name="min_incr_max" type="NX_FLOAT" units="NX_ANY"> | ||
| <doc> | ||
| Smallest :math:`{\frac{m}{q}}_{min}`, increment :math:`{\frac{m}{q}}_{incr}`, and | ||
| largest mass-to-charge-state ratio :math:`{\frac{m}{q}}_{max}` value respectively. | ||
|
|
||
| The bounds :math:`{\frac{m}{q}}_{min}` and :math:`{\frac{m}{q}}_{max}` are inclusive. | ||
| The increment should be obey :math:`{\frac{m}{q}}_{max} = {\frac{m}{q}}_{min} + n \cdot :math:`{\frac{m}{q}}_{incr}` with :math:`n` a positive integer. | ||
|
mkuehbach marked this conversation as resolved.
Outdated
|
||
| </doc> | ||
| <dimensions rank="1"> | ||
| <dim index="1" value="3"/> | ||
| </dimensions> | ||
| </field> | ||
| <group name="mass_spectrum" type="NXdata"> | ||
| <doc> | ||
| A default histogram aka mass spectrum of | ||
| the mass-to-charge-state ratio values. | ||
| </doc> | ||
| </group> | ||
| </group> | ||
| <group name="background_quantification" type="NXprocess"> | ||
| <doc> | ||
| Details of the background model that was used to | ||
| correct the total counts per bin into counts. | ||
| </doc> | ||
| <group type="NXprogram"/> | ||
| <field name="description" type="NX_CHAR"> | ||
| <doc> | ||
| Free-text field to describe how atom probers define a background model. | ||
|
|
||
| Thereby, community feedback can be collected to inform an improved | ||
| version of this base class in the future. | ||
| </doc> | ||
| </field> | ||
| </group> | ||
| <group name="peak_search_and_deconvolution" type="NXprocess"> | ||
| <doc> | ||
| How were peaks in the mass-to-charge-state ratio histogram identified. | ||
| </doc> | ||
| <group type="NXprogram"/> | ||
| <group type="NXpeak"/> | ||
| </group> | ||
| <group name="peak_identification" type="NXprocess"> | ||
| <doc> | ||
| Details about how peaks, with taking into account | ||
| error models, were interpreted as ion types or not. | ||
| </doc> | ||
| <group type="NXprogram"/> | ||
| <field name="number_of_ion_types" type="NX_UINT" units="NX_UNITLESS"> | ||
| <doc> | ||
| How many ion types are distinguished. If no ranging was performed, each | ||
| ion is of the special unknown type. The iontype ID of this unknown type | ||
| is 0 representing a reserved value. | ||
|
|
||
| Consequently, start counting iontypes from 1. | ||
| </doc> | ||
| </field> | ||
| <field name="maximum_number_of_atoms_per_molecular_ion" type="NX_UINT" units="NX_UNITLESS"> | ||
| <doc> | ||
| Assumed maximum value that suffices to store all relevant molecular ions, | ||
| even the most complicated ones that one can typically observe and distinguish | ||
| typically. Currently, a value of 32 is used (see M. Kühbach et al. <https://doi.org/10.1017/S1431927621012241>`_). | ||
| </doc> | ||
| </field> | ||
| <group type="NXatom"/> | ||
| </group> | ||
| </definition> | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.