NXapm_paraprobe_config_intersector

Status:

application definition, extends NXobject

Description:

Configuration of a paraprobe-intersector tool run in atom probe microscopy.

Symbols:

The symbols used in the schema to specify e.g. dimensions of arrays.

Groups cited:

NXcollection, NXcs_profiling, NXentry, NXprocess

Structure:

ENTRY: (required) NXentry

@version: (required) NX_CHAR

Version specifier of this application definition.

definition: (required) NX_CHAR

Official NeXus NXDL schema with which this file was written.

Obligatory value: NXapm_paraprobe_config_intersector

program: (required) NX_CHAR

Given name of the program/software/tool with which this NeXus (configuration) file was generated.

@version: (required) NX_CHAR

Ideally program version plus build number, or commit hash or description of ever persistent resources where the source code of the program and build instructions can be found so that the program can be configured ideally in such a manner that the result of this computational process is recreatable in the same deterministic manner.

analysis_identifier: (optional) NX_CHAR

Ideally, a (globally persistent) unique identifier for referring to this analysis.

analysis_description: (optional) NX_CHAR

Possibility for leaving a free-text description about this analysis.

results_path: (optional) NX_CHAR

Path to the directory where the tool should store NeXus/HDF5 results of this analysis. If not specified results will be stored in the current working directory.

time_stamp: (required) NX_DATE_TIME

ISO 8601 formatted time code with local time zone offset to UTC information included when this configuration file was created.

number_of_processes: (required) NX_UINT {units=NX_UNITLESS}

For now a support field for the tool to identify how many individual analyses the tool should execute as part of the analysis.

volume_volume_spatial_correlation: (required) NXprocess

Tracking volume_volume_spatial_correlation is the process of building logical relations between volumetric features based on meshes, their proximity and eventual intersections. Volumetric overlap and proximity of volumetric features is identified for members of sets of features to members of other sets of volumetric features. Specifically, for each time step k pairs of sets are compared: Members of a so-called current_set to members of a so-called next_set. Members can be different types of volumetric features. In the analysis of M. Kuehbach et al. specifically features can be so-called objects (closed non-degnerated polyhedra representing watertight parts of an e.g. iso-surface) and/or proxies. Proxies are computed doppelganger/replacement meshes for parts of an iso-surface which initially were not resulting in watertight meshes because objects at the edge of the dataset or incompletely measured or truncated objects.

intersection_detection_method: (required) NX_CHAR

Specifies the method whereby to decide if two objects intersect volumetrically. For reasons which are detailed in the supplementary material of M. Kühbach et al., the tool by default assumes that two objects intersect if they share at least one ion with the same evaporation ID (shared_ion). Alternatively, with specifying tetrahedra_intersections, the tool can perform an intersection analysis which attempts to tetrahedralize first each polyhedron. If successful, the tool then checks for at least one pair of intersecting tetrahedra to identify if two objects intersect or not.

However, we found that these geometrical analyses can result in corner cases which the currently used library (TetGen) was not unable to tetrahedralize successfully. These cases were virtually always associated with complicated non-convex polyhedra which had portions of the mesh that were connected by almost point like tubes of triangles. Finding more robust methods for computing intersections between not necessarily convex polyhedra might improve the situation in the future.

Obligatory value: shared_ion

analyze_intersection: (required) NX_BOOLEAN

Specifies if the tool evaluates if for each pair the two objects (and proxies if used) intersect volumetrically.

analyze_proximity: (required) NX_BOOLEAN

Specifies if the tool evaluates if for each pair the two objects (and proxies if used) lie closer to one another than the threshold_proximity.

analyze_coprecipitation: (required) NX_BOOLEAN

Specifies if the tool evaluates, ones all tracking tasks were successfully completed, how intersecting or proximity related objects build sub-graphs. This is the feature which enabled M. Kühbach et al. 2022 the high-throughput analyses of how many objects are coprecipitates in the sense that they are single, duplet, triplet, or high-order. For these analyses to work has_object_volume needs to be activated.

threshold_proximity: (required) NX_FLOAT {units=NX_LENGTH}

The maximum Euclidean distance between two objects below which both objects are still considered within proximity.

has_current_to_next_links: (required) NX_BOOLEAN

Specifies if the tool stores the so-called forward relations between nodes representing members of the current_set to nodes representing members of the next_set.

has_next_to_current_links: (required) NX_BOOLEAN

Specifies if the tool stores the so-called backward relations between nodes representing members of the next_set to nodes representing members of the current_set.

current_set: (required) NXprocess

Current set stores a set of members, meshes of volumetric features, which will be checked for proximity and/or volumetric intersection, to members of the current_set. The meshes were generated as a result of some other meshing process.

set_identifier: (required) NX_UINT {units=NX_ANY}

This identifier can be used to label the current set. The label effectively represents (can be interpreted as) the time/iteration step when the current set was taken. As it is detailed in M. Kühbach et al. 2022, this identifier takes the role of the time variable k.

number_of_feature_types: (required) NX_UINT {units=NX_UNITLESS}

The total number of distinguished feature sets FEATURE. It is assumed that the members within all these FEATURE sets are representing a set together. As an example this set might represent all volumetric_features. However, users might have formed a subset of this set where individuals were regrouped. For paraprobe-nanochem this is the case for objects and proxies. Specifically, objects are distinguished further into those far from and those close to the edge of the dataset. Similarly, proxies are distinguished further into those far from and those close to the edge of the dataset. So while these four sub-sets contain different so-called types of features key is that they were all generated for one set, here the current_set.

FEATURE: (required) NXcollection

feature_type: (required) NX_CHAR

Descriptive category explaining what these features are.

Any of these values:

  • objects_far_from_edge

  • objects_close_to_edge

  • proxies_far_from_edge

  • proxies_close_to_edge

filename: (required) NX_CHAR

Name of the (NeXus)/HDF5 file which contains triangulated surface meshes of the members of the set as instances of NXcg_polyhedron_set.

@version: (required) NX_CHAR

Version identifier of the file such as a secure hash which documents the binary state of the file to add an additional layer of reproducibility from which file specifically contains these data.

groupname_geometry_prefix: (required) NX_CHAR

String whereby the path to the geometry data can be interferred automatically. Currently groupname_geometry_prefix/object<ID>/polyhedron.

feature_identifier: (required) NX_UINT

Array of identifier whereby the path to the geometry data can be interferred automatically.

next_set: (required) NXcollection

Next set stores a set of members, meshes of volumetric features, which will be checked for proximity and/or volumetric intersection, to members of the next_set. The meshes were generated as a result of some other meshing process.

set_identifier: (required) NX_UINT {units=NX_ANY}

This identifier can be used to label the next_set. The label effectively represents (can be interpreted as) the time/iteration step when the current set was taken. As it is detailed in M. Kühbach et al. 2022, this identifier takes the role of the time variable k+1.

number_of_feature_types: (required) NX_UINT {units=NX_UNITLESS}

The total number of distinguished feature sets FEATURE. It is assumed that the members within all these FEATURE sets are representing a set together. As an example this set might represent all volumetric_features. However, users might have formed a subset of this set where individuals were regrouped. For paraprobe-nanochem this is the case for objects and proxies. Specifically, objects are distinguished further into those far from and those close to the edge of the dataset. Similarly, proxies are distinguished further into those far from and those close to the edge of the dataset. So while these four sub-sets contain different so-called types of features key is that they were all generated for one set, here the next_set.

FEATURE: (required) NXcollection

feature_type: (required) NX_CHAR

Descriptive category explaining what these features are.

Any of these values:

  • objects_far_from_edge

  • objects_close_to_edge

  • proxies_far_from_edge

  • proxies_close_to_edge

filename: (required) NX_CHAR

Name of the (NeXus)/HDF5 file which contains triangulated surface meshes of the members of the set as instances of NXcg_polyhedron_set.

@version: (required) NX_CHAR

Version identifier of the file such as a secure hash which documents the binary state of the file to add an additional layer of reproducibility from which file specifically contains these data.

groupname_geometry_prefix: (required) NX_CHAR

String whereby the path to the geometry data can be interferred automatically. Currently groupname_geometry_prefix/object<ID>/polyhedron.

feature_identifier: (required) NX_UINT

Array of identifier whereby the path to the geometry data can be interferred automatically.

performance: (required) NXcs_profiling

current_working_directory: (required) NX_CHAR

Hypertext Anchors

List of hypertext anchors for all groups, fields, attributes, and links defined in this class.

NXDL Source:

https://github.com/FAIRmat-Experimental/nexus_definitions/tree/fairmat/contributed_definitions/NXapm_paraprobe_config_intersector.nxdl.xml