2.3.3.3.24. NXapm_paraprobe_intersector_config

Status:

application definition, extends NXobject

Description:

Application definition for a configuration file of the paraprobe-intersector too ...

Application definition for a configuration file of the paraprobe-intersector tool.

This tool is part of the paraprobe-toolbox. Inspect NXapm_paraprobe_tool_config for details.

Symbols:

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

n_variable: Number of entries

Groups cited:

NXapm_paraprobe_tool_common, NXapm_paraprobe_tool_config, NXcs_profiling, NXentry, NXobject, NXprogram, NXserialized

Structure:

ENTRY: (required) NXentry

definition: (required) NX_CHAR

Obligatory value: NXapm_paraprobe_intersector_config

@version: (required) NX_CHAR

number_of_tasks: (required) NX_UINT {units=NX_UNITLESS}

How many v_v_spatial_correlation tasks should the tool execute.

v_v_spatial_correlationID: (required) NXapm_paraprobe_tool_config

Tracking volume_volume_spatial_correlations (v_v) is the process of building ...

Tracking volume_volume_spatial_correlations (v_v) is the process of building logical relations between objects, their proximity and eventual volumetric intersections. Here, objects are assumed to be represented as a set of triangulated surface meshes.

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.

intersection_detection_method: (required) NX_CHAR

Specifies the method whereby to decide if two objects intersect volumetric ...

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., it is assumed by default 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 tetrahedralization library used in the tests (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. For practical reasons we have thus deactivated the functionality of tetrahedra-tetrahedron intersections in paraprobe-intersector.

Obligatory value: shared_ion

analyze_intersection: (required) NX_BOOLEAN

Specifies if the tool evaluates if objects intersect volumetrically.

analyze_proximity: (required) NX_BOOLEAN

Specifies if the tool evaluates if objects lay closer to one another than ...

Specifies if the tool evaluates if objects lay closer to one another than threshold_proximity.

analyze_coprecipitation: (required) NX_BOOLEAN

Specifies if the tool evaluates, provided that all (preprocessing tasks we ...

Specifies if the tool evaluates, provided that all (preprocessing tasks were successful), how intersecting or proximity related objects build sub-graphs. This is the feature that was used in M. Kühbach et al. for the high-throughput analyses of how many objects are coprecipitates in the sense that they are single, duplet, triplet, or high-order local groups.

threshold_proximity: (required) NX_FLOAT {units=NX_LENGTH}

The maximum Euclidean distance between two objects below which they are ...

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

has_current_to_next_links: (required) NX_BOOLEAN

Specifies if the tool stores the so-called forward relations between nodes ...

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 node ...

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) NXobject

Current set stores a set of members, meshes of volumetric features, ...

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 effectiv ...

This identifier can be used to label the current set. The label effectively can be interpreted as the time/iteration (i.e. \(k\)) step when the current set was taken (see M. Kühbach et al. 2022).

number_of_feature_types: (required) NX_UINT {units=NX_UNITLESS}

The total number of distinguished feature sets featureID. ...

The total number of distinguished feature sets featureID. It is assumed that the members within all these featureID 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.

featureID: (required) NXserialized

Name of the (NeXus)/HDF5 file which contains triangulated surface meshes ...

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

feature_type: (required) NX_CHAR

Descriptive category explaining what these features are. ...

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

  • other

type: (required) NX_CHAR

path: (required) NX_CHAR

checksum: (required) NX_CHAR

algorithm: (required) NX_CHAR

geometry: (required) NX_CHAR

Absolute path to the group with geometry data in the HDF5 file referre ...

Absolute path to the group with geometry data in the HDF5 file referred to by path.

feature_identifier: (required) NX_UINT (Rank: 1, Dimensions: [n_variable]) {units=NX_UNITLESS}

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

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

next_set: (required) NXobject

Next set stores a set of members, meshes of volumetric features, ...

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 current set. The label effectiv ...

This identifier can be used to label the current set. The label effectively can be interpreted as the time/iteration (i.e. \(k + 1\)) step when the current set was taken (see M. Kühbach et al. 2022).

number_of_feature_types: (required) NX_UINT {units=NX_UNITLESS}

The total number of distinguished feature sets featureID. ...

The total number of distinguished feature sets featureID. It is assumed that the members within all these featureID 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.

featureID: (required) NXserialized

feature_type: (required) NX_CHAR

Descriptive category explaining what these features are. ...

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

type: (required) NX_CHAR

path: (required) NX_CHAR

checksum: (required) NX_CHAR

algorithm: (required) NX_CHAR

geometry: (required) NX_CHAR

Absolute path to the group with geometry data in the HDF5 file referre ...

Absolute path to the group with geometry data in the HDF5 file referred to by path.

feature_identifier: (required) NX_UINT (Rank: 1, Dimensions: [n_variable]) {units=NX_UNITLESS}

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

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

common: (required) NXapm_paraprobe_tool_common

status: (required) NX_CHAR

programID: (required) NXprogram

program: (required) NX_CHAR

@version: (required) NX_CHAR

profiling: (recommended) NXcs_profiling

start_time: (required) NX_DATE_TIME

end_time: (required) NX_DATE_TIME

total_elapsed_time: (required) NX_FLOAT

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-NFDI/nexus_definitions/tree/fairmat/contributed_definitions/NXapm_paraprobe_intersector_config.nxdl.xml