Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
d093186
Updates on yaml files for compositionspace IUC09
atomprobe-tc Sep 24, 2025
16956fe
Updates on yaml files for filters representing NXparameters now, dise…
atomprobe-tc Sep 24, 2025
f6f0863
Cleaning of remaining issues in NXapm_paraprobe proposal, taking adva…
atomprobe-tc Sep 24, 2025
f44ab4d
Remaining resolving of _set used as a suffix for fields
atomprobe-tc Sep 24, 2025
d87d9f3
Clarifications with set and copyright date for some defs
atomprobe-tc Sep 24, 2025
523bae3
Refactored NXapm_paraprobe taking advantage of application definition…
atomprobe-tc Sep 26, 2025
1303875
Minor updates for SCORE and NXem_calorimetry
atomprobe-tc Sep 26, 2025
f71eb38
Remove redundant config group in TASKPROCESSED
atomprobe-tc Oct 14, 2025
a7b1cfc
One wall contact bitfield was required but should be recommended only
atomprobe-tc Oct 14, 2025
dfbaeec
objects instead of ions
atomprobe-tc Oct 14, 2025
e5fd6c3
Identifier
atomprobe-tc Oct 15, 2025
0b52288
Further indices
atomprobe-tc Oct 15, 2025
9f9e5b9
Deactivate reporting of scalar_field_{magn,grad} 3D/4D NXdata, assumi…
atomprobe-tc Oct 15, 2025
c19d2de
Drop the obsolete weighting_model
atomprobe-tc Oct 15, 2025
7b1e54e
Move normalization
atomprobe-tc Oct 15, 2025
49a01c5
Fix bug that cluster_analysisID did connect to the inherited TASKCONFIG
atomprobe-tc Oct 20, 2025
47f5cd8
Fixing conflicting concepts plural for labels
atomprobe-tc Oct 20, 2025
735b99c
Fixes relevant for the paper with AMAG and integration into NOMAD
atomprobe-tc Nov 7, 2025
7c95017
Fixing dimensionality
atomprobe-tc Nov 7, 2025
4976d74
Fixes related to results based on validate_nexus
atomprobe-tc Nov 7, 2025
d778b46
Further tweaks
atomprobe-tc Nov 7, 2025
756ae55
Spellchecker
atomprobe-tc Nov 7, 2025
28a7623
Also for damask definitions are working
atomprobe-tc Nov 8, 2025
b31c973
Temporarily remove melting temperature, needs proper refactoring
atomprobe-tc Nov 9, 2025
fe533c9
Fixed and finalized implementation of the temperature-dependent shear…
atomprobe-tc Nov 10, 2025
a0fff8b
Add new terms to custom dictionary
atomprobe-tc Nov 10, 2025
78caca7
wqMerge branch 'fairmat' into fairmat-2025-contributed-emapmms
atomprobe-tc Nov 10, 2025
b19e4d6
Update copyright year
atomprobe-tc Nov 11, 2025
fa1e2b2
Update apm-specific docs
atomprobe-tc Nov 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .cspell/custom-dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ FIELDNAME
GROUPNAME
NAPI
NIAC
TASKCONFIG
TASKPROCESSED
UDUNITS
UDunits
UNKNOWNTYPE
Expand All @@ -29,6 +31,7 @@ mtex
stylesheet
textalpha
varphi
mathfrak

# Words related to experimental techniques
360-gons
Expand Down Expand Up @@ -621,6 +624,7 @@ Miessen
Mießen
Monajem
Morawiec
Nadal
NCNR
NFDI
NION
Expand All @@ -642,6 +646,7 @@ Pawley
Pedersen
Peltier
Pennycock
Poac
Popko
Poschenrieder
Preiß
Expand Down Expand Up @@ -704,7 +709,9 @@ invizo
kanapy
kuehbach
laplace_ritchardson
lepoac
mkuehbach
nadal
nion
orientation_rodrigues
piola
Expand Down Expand Up @@ -801,4 +808,4 @@ asscociated
dimensioness
folowing
reproducability
Uncentrainties
Uncentrainties
58 changes: 34 additions & 24 deletions contributed_definitions/NXapm_compositionspace_config.nxdl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,16 @@
<group name="reconstruction" type="NXnote">
<doc>
Specification of the tomographic reconstruction used for this analysis.
Typically, reconstructions in the field of atom probe tomography are communicated via
files which store at least reconstructed ion positions and mass-to-charge-state-ratio
values. Container files like HDF5 though can store multiple reconstructions.
Therefore, the position and mass_to_charge concepts point to specific instances
to use for this analysis.

Reconstructions in the field of atom probe tomography are communicated via
a file which stores the reconstructed position and mass-to-charge-state-ratio
value for each ion.

Container file formats like HDF5, such as NeXus/HDF5 files using :ref:`NXapm`,
can store multiple reconstructions. In this case, the position and mass_to_charge
concepts point to specific instances in the file referred to by file_name for the
analysis with CompositionSpace.
</doc>
<field name="type" type="NX_CHAR" optional="true"/>
<field name="file_name" type="NX_CHAR"/>
<field name="checksum" type="NX_CHAR" recommended="true"/>
<field name="algorithm" type="NX_CHAR" recommended="true"/>
Expand All @@ -60,7 +63,7 @@
</field>
<field name="mass_to_charge" type="NX_CHAR" optional="true">
<doc>
Name of the node which resolves the mass-to-charge-state ratio
Name of the node which resolves the mass-to-charge-state-ratio
values for each reconstructed ion to use for this analysis.
</doc>
</field>
Expand All @@ -69,17 +72,24 @@
<doc>
Specification of the ranging definitions used for this analysis.

Indices start from 1. The value 0 is reserved for the null model of unranged positions whose
iontype is unknown_type. The value 0 is also reserved for voxels that lie outside the dataset.
Ranging definitions in the field of atom probe tomography are communicated via
a file which stores the mass-to-charge-state-ratio interval and the number of elements
of which each (molecular) ion is composed. These values are stored for each ion.

Container file formats like HDF5, such as NeXus/HDF5 files using :ref:`NXapm`,
can store multiple ranging definitions.

Indices of ions start from 1. The value 0 is reserved for the null model of unranged positions
whose iontype is referred to as the unknown_type. The value 0 is also reserved for voxels
that lie outside the dataset.
</doc>
<field name="type" type="NX_CHAR" optional="true"/>
<field name="file_name" type="NX_CHAR"/>
<field name="checksum" type="NX_CHAR" recommended="true"/>
<field name="algorithm" type="NX_CHAR" recommended="true"/>
<field name="ranging_definitions" type="NX_CHAR">
<doc>
Name of the (parent) node directly below which the ranging definitions for
(molecular) ions are stored.
Name of that (parent) node whose child stores the ranging definitions that
are applied in this analysis with CompositionSpace.
</doc>
</field>
</group>
Expand Down Expand Up @@ -131,8 +141,8 @@
</group>
<group name="segmentation" type="NXprocess">
<doc>
Step during which the voxel set is segmented into voxel sets with different
chemical composition.
Step during which the voxel set is segmented into voxel sets
with different chemical composition.
</doc>
<group name="pca" type="NXprocess" optional="true">
<doc>
Expand Down Expand Up @@ -185,14 +195,14 @@
</group>
</group>
<!--meshing(NXprocess):
doc: |
TODO
distance_cut(NX_NUMBER):
doc: |
TODO
units: NX_ANY
normal_end_length(NX_NUMBER):
doc: |
TODO
units: NX_ANY-->
doc: |
TODO
distance_cut(NX_NUMBER):
doc: |
TODO
units: NX_ANY
normal_end_length(NX_NUMBER):
doc: |
TODO
units: NX_ANY-->
</definition>
18 changes: 9 additions & 9 deletions contributed_definitions/NXapm_compositionspace_results.nxdl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -85,13 +85,12 @@
<doc>
Configuration file that was used in this analysis.
</doc>
<field name="type" type="NX_CHAR" optional="true"/>
<field name="file_name" type="NX_CHAR"/>
<field name="algorithm" type="NX_CHAR" recommended="true"/>
<field name="checksum" type="NX_CHAR" recommended="true"/>
</group>
<!--results-->
<group type="NXuser" optional="true"/>
<group name="userID" type="NXuser" optional="true" nameType="partial"/>
<group name="specimen" type="NXsample" recommended="true">
<doc>
Contextualize back to the specimen from which the
Expand Down Expand Up @@ -135,7 +134,7 @@
<item value="1"/>
</enumeration>
</field>
<group name="cg_grid" type="NXcg_grid">
<group name="grid" type="NXcg_grid">
<field name="dimensionality" type="NX_POSINT">
<enumeration>
<item value="3"/>
Expand All @@ -147,7 +146,7 @@
<dim index="1" value="grid_dim"/>
</dimensions>
</field>
<field name="symmetry">
<field name="symmetry" type="NX_CHAR">
<enumeration>
<item value="cubic"/>
</enumeration>
Expand Down Expand Up @@ -200,7 +199,7 @@
<dim index="1" value="n_voxels"/>
</dimensions>
</field>
<group type="NXatom" minOccurs="1" maxOccurs="unbounded">
<group name="ionID" type="NXatom" nameType="partial" minOccurs="1" maxOccurs="unbounded">
<field name="name" type="NX_CHAR">
<doc>
Chemical symbol of the element from the periodic table.
Expand Down Expand Up @@ -291,8 +290,8 @@
</field>
<field name="axis_pca_dimension" type="NX_UINT" units="NX_UNITLESS">
<doc>
Elements identifier matching those from ENTRY/voxelization/ION
as the principal component analysis.
Elements identifier matching those from ENTRY/voxelization/ionID
used during the principal component analysis.
</doc>
<dimensions>
<dim index="1" value="i"/>
Expand Down Expand Up @@ -366,8 +365,9 @@
<group name="clustering" type="NXprocess" minOccurs="0" maxOccurs="1">
<doc>
Step during which the chemically segmented voxel sets are analyzed for their spatial organization
into different spatial clusters of voxels in the same chemical set but representing individual object
not-necessarily watertight or topologically closed objects built from individual voxels.
into different spatial clusters of voxels in the same chemical set but representing individual objects.
The objects are constructed from blobs of neighboring voxels.
The objects are not necessarily watertight or topologically closed.
</doc>
<field name="sequence_index" type="NX_POSINT">
<enumeration>
Expand Down
96 changes: 6 additions & 90 deletions contributed_definitions/NXapm_paraprobe_clusterer_config.nxdl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
#
# 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="application" type="group" name="NXapm_paraprobe_clusterer_config" extends="NXobject" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="application" type="group" name="NXapm_paraprobe_clusterer_config" extends="NXapm_paraprobe_tool_config" 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.
Expand All @@ -46,21 +46,15 @@
<doc>
Application definition for a configuration file of the paraprobe-clusterer tool.

This tool is part of the paraprobe-toolbox. Inspect :ref:`NXapm_paraprobe_tool_config` for details.
The tool paraprobe-clusterer evaluates how points cluster in space.
</doc>
<group type="NXentry" minOccurs="1" maxOccurs="1">
<field name="definition" type="NX_CHAR">
<attribute name="version" type="NX_CHAR"/>
<enumeration>
<item value="NXapm_paraprobe_clusterer_config"/>
</enumeration>
</field>
<field name="number_of_tasks" type="NX_UINT" units="NX_UNITLESS">
<doc>
How many cluster_analysis tasks should the tool execute.
</doc>
</field>
<group name="cameca_to_nexus" type="NXapm_paraprobe_tool_config" minOccurs="0" maxOccurs="1">
<group name="cameca_to_nexus" type="NXapm_paraprobe_tool_parameters" minOccurs="0" maxOccurs="1">
<doc>
This process maps results from a cluster analysis made with IVAS / AP Suite
into an interoperable representation. IVAS / AP Suite usually exports such results
Expand All @@ -70,7 +64,6 @@
point numbers.
</doc>
<group name="reconstruction" type="NXnote">
<field name="type" type="NX_CHAR"/>
<field name="file_name" type="NX_CHAR"/>
<field name="checksum" type="NX_CHAR"/>
<field name="algorithm" type="NX_CHAR"/>
Expand All @@ -86,7 +79,6 @@
quadruplet encode the position of the ion. The fourth value is the integer identifier
of the cluster encoded as a floating point number.
</doc>
<field name="type" type="NX_CHAR"/>
<field name="file_name" type="NX_CHAR"/>
<field name="checksum" type="NX_CHAR"/>
<field name="algorithm" type="NX_CHAR"/>
Expand All @@ -108,82 +100,20 @@ evaporation_id a bitmask which identifies which of the positions
in dataset/dataset/dataset_name_reconstruction where covered
by the IVAS/APSuite cluster analysis. This can be useful to recover
the region of interest.-->
<group name="cluster_analysisID" type="NXapm_paraprobe_tool_config" nameType="partial" minOccurs="0" maxOccurs="unbounded">
<group name="cluster_analysisID" type="NXapm_paraprobe_tool_parameters" nameType="partial" minOccurs="0" maxOccurs="unbounded">
<doc>
This process performs a cluster analysis on a
reconstructed dataset or a ROI within it.
</doc>
<group name="reconstruction" type="NXnote">
<field name="type" type="NX_CHAR"/>
<field name="file_name" type="NX_CHAR"/>
<field name="checksum" type="NX_CHAR"/>
<field name="algorithm" type="NX_CHAR"/>
<field name="position" type="NX_CHAR"/>
<field name="mass_to_charge" type="NX_CHAR"/>
</group>
<group name="ranging" type="NXnote">
<field name="type" type="NX_CHAR"/>
<field name="file_name" type="NX_CHAR"/>
<field name="checksum" type="NX_CHAR"/>
<field name="algorithm" type="NX_CHAR"/>
<field name="ranging_definitions" type="NX_CHAR"/>
</group>
<group name="surface_distance" type="NXnote" optional="true">
<doc>
Distance between each ion and triangulated surface mesh.
</doc>
<field name="type" type="NX_CHAR"/>
<field name="file_name" type="NX_CHAR"/>
<field name="checksum" type="NX_CHAR"/>
<field name="algorithm" type="NX_CHAR"/>
<field name="distance" type="NX_CHAR"/>
</group>
<group name="spatial_filter" type="NXspatial_filter">
<field name="windowing_method" type="NX_CHAR"/>
<group name="hexahedron_set" type="NXcg_hexahedron" optional="true">
<field name="dimensionality" type="NX_POSINT"/>
<field name="cardinality" type="NX_POSINT"/>
<field name="index_offset" type="NX_INT"/>
<group name="hexahedra" type="NXcg_face_list_data_structure">
<field name="vertices" type="NX_UINT"/>
</group>
</group>
<group name="cylinder_set" type="NXcg_cylinder" optional="true">
<field name="dimensionality" type="NX_POSINT"/>
<field name="cardinality" type="NX_POSINT"/>
<field name="index_offset" type="NX_INT"/>
<field name="center" type="NX_NUMBER"/>
<field name="height" type="NX_NUMBER"/>
<field name="radii" type="NX_NUMBER"/>
</group>
<group name="ellipsoid_set" type="NXcg_ellipsoid" optional="true">
<field name="dimensionality" type="NX_POSINT"/>
<field name="cardinality" type="NX_POSINT"/>
<field name="index_offset" type="NX_INT"/>
<field name="center" type="NX_NUMBER"/>
<field name="half_axes_radii" type="NX_NUMBER"/>
<field name="orientation" type="NX_NUMBER"/>
</group>
<group name="polyhedron_set" type="NXcg_polyhedron" optional="true"/>
<!--TODO-->
<group name="bitmask" type="NXcs_filter_boolean_mask" optional="true">
<field name="number_of_objects" type="NX_UINT"/>
<field name="bitdepth" type="NX_UINT"/>
<field name="mask" type="NX_UINT"/>
</group>
</group>
<group name="evaporation_id_filter" type="NXsubsampling_filter" optional="true">
<field name="min_incr_max" type="NX_INT"/>
</group>
<group name="iontype_filter" type="NXmatch_filter" optional="true">
<field name="method" type="NX_CHAR"/>
<field name="match" type="NX_NUMBER"/>
</group>
<group name="hit_multiplicity_filter" type="NXmatch_filter" optional="true">
<field name="method" type="NX_CHAR"/>
<field name="match" type="NX_NUMBER"/>
</group>
<!--config-->
<field name="ion_type_filter" type="NX_CHAR">
<doc>
How should iontypes be considered during the cluster analysis.
Expand Down Expand Up @@ -359,21 +289,7 @@ dim: (j,)-->
</field>
</group>
</group>
<!--ADD FURTHER ALGORITHMS, see L. Stephenson for further details
e.g. https://doi.org/10.1017/S1431927607070900-->
<group name="common" type="NXapm_paraprobe_tool_common">
<field name="status" type="NX_CHAR"/>
<group type="NXprogram" minOccurs="1" maxOccurs="unbounded">
<field name="program" type="NX_CHAR">
<attribute name="version" type="NX_CHAR"/>
</field>
</group>
<group name="profiling" type="NXcs_profiling" recommended="true">
<field name="start_time" type="NX_DATE_TIME"/>
<field name="end_time" type="NX_DATE_TIME"/>
<field name="total_elapsed_time" type="NX_FLOAT"/>
<field name="current_working_directory" type="NX_CHAR"/>
</group>
</group>
</group>
<!--ADD FURTHER ALGORITHMS, see L. Stephenson for further details
e.g. https://doi.org/10.1017/S1431927607070900-->
</definition>
Loading
Loading