From d93f5b5c4a6ca60f333a292f1b5cb3a66d847218 Mon Sep 17 00:00:00 2001 From: mkuehbach Date: Fri, 7 Feb 2025 16:12:39 +0100 Subject: [PATCH] Implementing additions for bugfixes when parsing config and results files from CompositionSpace (NFDI-MatWerk) or paraprobe-toolbox (FAIRmat) into NOMAD for the apmapp developments --- .../NXapm_compositionspace_config.nxdl.xml | 4 +- .../NXapm_compositionspace_results.nxdl.xml | 79 +++++++++++++------ .../NXapm_paraprobe_nanochem_config.nxdl.xml | 54 ++++++++++--- .../nyaml/NXapm_compositionspace_config.yaml | 2 +- .../nyaml/NXapm_compositionspace_results.yaml | 27 +++++-- .../NXapm_paraprobe_nanochem_config.yaml | 18 +++++ 6 files changed, 139 insertions(+), 45 deletions(-) diff --git a/contributed_definitions/NXapm_compositionspace_config.nxdl.xml b/contributed_definitions/NXapm_compositionspace_config.nxdl.xml index ae78d4ad08..df6028cf7d 100644 --- a/contributed_definitions/NXapm_compositionspace_config.nxdl.xml +++ b/contributed_definitions/NXapm_compositionspace_config.nxdl.xml @@ -3,7 +3,7 @@ diff --git a/contributed_definitions/NXapm_compositionspace_results.nxdl.xml b/contributed_definitions/NXapm_compositionspace_results.nxdl.xml index 8e9921e0e4..3173fcdfea 100644 --- a/contributed_definitions/NXapm_compositionspace_results.nxdl.xml +++ b/contributed_definitions/NXapm_compositionspace_results.nxdl.xml @@ -3,7 +3,7 @@ + + + Contextualize back to the specimen from which the + dataset was collected that was here analyzed with + CompositionSpace tool. + + + + A qualifier whether the specimen is a real one or a virtual one. + + + + + + + + + List of comma-separated elements from the periodic table that are + contained in the specimen. If the specimen substance has multiple + components, all elements from each component must be included in + `atom_types`. + + The purpose of the field is to offer research data management systems an + opportunity to parse the relevant elements without having to interpret + these from the resources pointed to by parent_identifier or walk through + eventually deeply nested groups in data instances. + + + Step during which the point cloud is discretized to compute element-specific composition fields. @@ -89,7 +118,7 @@ for if desired all the dependencies and libraries--> Using a discretization grid that is larger than the average distance between reconstructed ion positions reduces computational costs. This is the key idea of the CompositionSpace tool compared to other methods - used in atom probe for characterizing microstructural features using the ion position data directly. + used in atom probe for characterizing microstructural features that use the ion position data directly. @@ -97,14 +126,14 @@ for if desired all the dependencies and libraries--> - + - - - + + + @@ -113,13 +142,13 @@ for if desired all the dependencies and libraries--> - - + + - - + + @@ -128,7 +157,7 @@ for if desired all the dependencies and libraries--> Position of each cell in Euclidean space. - + @@ -137,7 +166,7 @@ for if desired all the dependencies and libraries--> Discrete coordinate of each voxel. - + @@ -147,7 +176,7 @@ for if desired all the dependencies and libraries--> For each ion, the identifier of the voxel into which the ion binned. - + @@ -157,7 +186,7 @@ for if desired all the dependencies and libraries--> Total number of weight (counts for discretization with a rectangular transfer function) for the occupancy of each voxel with atoms. - + @@ -172,7 +201,7 @@ for if desired all the dependencies and libraries--> Element-specific weight (counts for discretization with a rectangular transfer function) for the occupancy of each voxel with atoms of this element. - + @@ -197,7 +226,7 @@ for if desired all the dependencies and libraries--> Element identifier stored sorted in descending order of feature importance. - + @@ -211,7 +240,7 @@ for if desired all the dependencies and libraries--> Element relative feature importance stored sorted in descending order of feature importance. - + @@ -246,7 +275,7 @@ for if desired all the dependencies and libraries--> Explained variance values - + @@ -255,7 +284,7 @@ for if desired all the dependencies and libraries--> Elements identifier matching those from ENTRY/voxelization/elementID as the principal component analysis. - + @@ -284,7 +313,7 @@ for if desired all the dependencies and libraries--> y_pred return values of the computation. - + @@ -301,7 +330,7 @@ for if desired all the dependencies and libraries--> Akaike information criterion values - + @@ -309,7 +338,7 @@ for if desired all the dependencies and libraries--> Bayes information criterion values - + @@ -317,7 +346,7 @@ for if desired all the dependencies and libraries--> Actual n_ic_cluster values used - + @@ -358,7 +387,7 @@ for if desired all the dependencies and libraries--> Raw label return values - + @@ -369,7 +398,7 @@ for if desired all the dependencies and libraries--> Using these identifiers correlated element-wise with the values in the label array specifies for which voxel in the grid clusters from this process were found. - + diff --git a/contributed_definitions/NXapm_paraprobe_nanochem_config.nxdl.xml b/contributed_definitions/NXapm_paraprobe_nanochem_config.nxdl.xml index 8f86ddbd50..7a5ad37189 100644 --- a/contributed_definitions/NXapm_paraprobe_nanochem_config.nxdl.xml +++ b/contributed_definitions/NXapm_paraprobe_nanochem_config.nxdl.xml @@ -3,7 +3,7 @@ + + + Configuration for the algorithm that defines how the multiplicity of all + those ions are computed that are considered in the delocalization. + + + + TODO + + + + + + + + + + + + + + TODO + + + + + + TODO + + + + @@ -250,7 +282,7 @@ identifier(NX_UINT):--> Unused values in each row of the matrix are nullified. Nuclides are identified as hashed nuclide (see :ref:`NXion`) for further details. - + @@ -261,7 +293,7 @@ identifier(NX_UINT):--> on a cuboidal 3D grid (:ref:`NXcg_grid`). The tool performs as many delocalization computations as values are specified in grid_resolution. - + @@ -279,7 +311,7 @@ identifier(NX_UINT):--> The tool performs as many delocalization computations as values are specified in kernel_variance. - + @@ -707,7 +739,7 @@ identifier(NX_UINT):--> Array of nuclide iontypes to filter. - + @@ -724,7 +756,7 @@ identifier(NX_UINT):--> which specify how the initial triangles of the mesh should be iteratively refined by edge splitting and related mesh refinement operations. - + @@ -739,7 +771,7 @@ identifier(NX_UINT):--> self-intersections may occur. The tool detects these and stops in a controlled manner so that the user can repeat the analyses with using a different parameterization. - + @@ -752,7 +784,7 @@ identifier(NX_UINT):--> parameter values to be used in the first DCOM iteration. The first entry of each array those for the second DCOM iteration and so on and so forth. - + @@ -971,19 +1003,19 @@ identifier(NX_UINT):--> cardinality(NX_POSINT):--> - + - + - + diff --git a/contributed_definitions/nyaml/NXapm_compositionspace_config.yaml b/contributed_definitions/nyaml/NXapm_compositionspace_config.yaml index 843c1803fe..0a68afcc9b 100644 --- a/contributed_definitions/nyaml/NXapm_compositionspace_config.yaml +++ b/contributed_definitions/nyaml/NXapm_compositionspace_config.yaml @@ -6,7 +6,7 @@ doc: | This is an application definition for the common NFDI-MatWerk/FAIRmat infrastructure use case IUC09 that explores how to improve the organization and results storage of the - CompositionSpace software using NeXus. + CompositionSpace tool by using the NeXus data model and semantics. type: group NXapm_compositionspace_config(NXobject): # by default for appdefs the value of the exists keyword is required unless it is explicitly specified differently diff --git a/contributed_definitions/nyaml/NXapm_compositionspace_results.yaml b/contributed_definitions/nyaml/NXapm_compositionspace_results.yaml index 145fc6bfbf..9659ad99a7 100644 --- a/contributed_definitions/nyaml/NXapm_compositionspace_results.yaml +++ b/contributed_definitions/nyaml/NXapm_compositionspace_results.yaml @@ -51,6 +51,26 @@ NXapm_compositionspace_results(NXobject): # results (NXuser): exists: optional + specimen(NXsample): + doc: | + Contextualize back to the specimen from which the + dataset was collected that was here analyzed with + CompositionSpace tool. + type(NX_CHAR): + doc: | + A qualifier whether the specimen is a real one or a virtual one. + enumeration: [experiment, simulation] + atom_types(NX_CHAR): + doc: | + List of comma-separated elements from the periodic table that are + contained in the specimen. If the specimen substance has multiple + components, all elements from each component must be included in + `atom_types`. + + The purpose of the field is to offer research data management systems an + opportunity to parse the relevant elements without having to interpret + these from the resources pointed to by parent_identifier or walk through + eventually deeply nested groups in data instances. voxelization(NXprocess): exists: [min, 0, max, 1] doc: | @@ -60,25 +80,20 @@ NXapm_compositionspace_results(NXobject): Using a discretization grid that is larger than the average distance between reconstructed ion positions reduces computational costs. This is the key idea of the CompositionSpace tool compared to other methods - used in atom probe for characterizing microstructural features using the ion position data directly. + used in atom probe for characterizing microstructural features that use the ion position data directly. sequence_index(NX_POSINT): enumeration: [1] cg_grid(NXcg_grid): dimensionality(NX_POSINT): - unit: NX_UNITLESS enumeration: [3] cardinality(NX_POSINT): - unit: NX_UNITLESS origin(NX_NUMBER): - unit: NX_LENGTH dim: (grid_dim,) symmetry: enumeration: [cubic] cell_dimensions(NX_NUMBER): - unit: NX_LENGTH dim: (grid_dim,) extent(NX_POSINT): - unit: NX_UNITLESS dim: (grid_dim,) identifier_offset(NX_INT): unit: NX_UNITLESS diff --git a/contributed_definitions/nyaml/NXapm_paraprobe_nanochem_config.yaml b/contributed_definitions/nyaml/NXapm_paraprobe_nanochem_config.yaml index 793c0c7114..dd240194fd 100644 --- a/contributed_definitions/nyaml/NXapm_paraprobe_nanochem_config.yaml +++ b/contributed_definitions/nyaml/NXapm_paraprobe_nanochem_config.yaml @@ -128,6 +128,24 @@ NXapm_paraprobe_nanochem_config(NXobject): evaporation_id_filter(NXsubsampling_filter): exists: optional min_incr_max(NX_INT): + decomposition(NXmatch_filter): + doc: | + Configuration for the algorithm that defines how the multiplicity of all + those ions are computed that are considered in the delocalization. + method(NX_CHAR): + doc: | + TODO + enumeration: [resolve_unknown, resolve_point, resolve_atom, resolve_element, resolve_element_charge, resolve_isotope, resolve_isotope_charge] + nuclide_whitelist(NX_UINT): + doc: | + TODO + unit: NX_UNITLESS + # dim: ??? + charge_state_whitelist(NX_INT): + doc: | + TODO + unit: NX_DIMENSIONLESS + # dim: ??? iontype_filter(NXmatch_filter): exists: optional method(NX_CHAR):