3.3.3.23. NXapm_paraprobe_config_spatstat

Status:

application definition (contribution), extends NXobject

Description:

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

Symbols:

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

n_ivecmax: Maximum number of atoms per molecular ion. Should be 32 for paraprobe.

n_ion_source: Number of different sources iontypes to distinguish.

n_ion_target: Number of different target iontypes to distinguish.

Groups cited:

NXapm_input_ranging, NXapm_input_reconstruction, NXcg_cylinder_set, NXcg_ellipsoid_set, NXcg_face_list_data_structure, NXcg_hexahedron_set, NXcs_filter_boolean_mask, NXcs_prng, NXcs_profiling, NXentry, NXmatch_filter, NXprocess, NXspatial_filter, NXsubsampling_filter

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

Official NeXus NXDL schema with which this file was written.

Obligatory value: NXapm_paraprobe_config_spatstat

program: (required) NX_CHAR

Given name of the program/software/tool with which this NeXus ...

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

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: (required) NX_CHAR

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

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

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

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}

How many range_with_existent_iontypes processes should ...

How many range_with_existent_iontypes processes should the tool execute as part of the analysis.

PROCESS: (required) NXprocess

spatial_statistics: (optional) NXprocess

randomize_ion_types: (required) NX_BOOLEAN

Specifies if the iontypes are randomized for the point cloud or not. ...

Specifies if the iontypes are randomized for the point cloud or not. Internally paraprobe uses a sequentially executed deterministic MT19987 (MersenneTwister) pseudo-random number generator to shuffle the iontype labels randomly across the entire set of ions.

ion_query_type_source: (required) NX_CHAR

How should the iontype be interpreted on the source-side, i.e. ...

How should the iontype be interpreted on the source-side, i.e. all these ion positions where a regions-of-interest (ROI) around so-called source ions will be placed. Different options exist how iontypes are interpreted given an iontype represents in general a (molecular) ion with different isotopes that have individually different multiplicity.

The value resolve_all will set an ion active in the analysis regardless of which iontype it is. Each active ion is accounted for once.

The value resolve_unknown will set an ion active when the ion is of the UNKNOWNTYPE type. Each active ion is accounted for once.

The value resolve_ion will set an ion active if it is of the specific iontype, irregardless of its elemental or isotopic details. Each active ion is counted once.

The value resolve_element will set an ion active, and most importantly, account for each as many times as the (molecular) ion contains atoms of elements in the whitelist ion_query_isotope_vector.

The value resolve_isotope will set an ion active, and most importantly, account for each as many times as the (molecular) ion contains isotopes in the whitelist ion_query_isotope_vector.

In effect, ion_query_isotope_vector acts as a whitelist to filter which ions are considered as source ions of the correlation statistics and how the multiplicity of each ion will be factorized, i.e. how often it is accounted for.

Any of these values:

  • resolve_all

  • resolve_unknown

  • resolve_ion

  • resolve_element

  • resolve_isotope

ion_query_isotope_vector_source: (required) NX_UINT (Rank: 2, Dimensions: [n_ion_source, n_ivecmax]) {units=NX_UNITLESS}

Matrix of isotope vectors, as many as rows as different candidates ...

Matrix of isotope vectors, as many as rows as different candidates for iontypes should be distinguished as possible source iontypes. In the simplest case, the matrix contains only the proton number of the element in the row, all other values set to zero. Combined with ion_query_type_source set to resolve_element this will recover usual spatial correlation statistics like the 1NN C-C spatial statistics.

ion_query_type_target: (required) NX_CHAR

Similarly as ion_query_type_source how should iontypes be interpreted ...

Similarly as ion_query_type_source how should iontypes be interpreted on the target-side, i.e. how many counts will be bookkept for ions which are neighbors of source ions within or on the surface of each inspection/ROI about each source ion. Source ion in the center of the ROI are not accounted for during counting the summary statistics. For details about the resolve values consider the explanations in ion_query_type_source. These account for ion_query_type_target as well.

Any of these values:

  • resolve_all

  • resolve_unknown

  • resolve_ion

  • resolve_element

  • resolve_isotope

ion_query_isotope_vector_target: (required) NX_UINT (Rank: 2, Dimensions: [n_ion_target, n_ivecmax]) {units=NX_UNITLESS}

Matrix of isotope vectors, as many as rows as different candidates for ...

Matrix of isotope vectors, as many as rows as different candidates for iontypes to distinguish as possible targets. See additional comments under ion_query_isotope_vector_source.

dataset: (required) NXapm_input_reconstruction

filename: (required) NX_CHAR

@version: (required) NX_CHAR

dataset_name_reconstruction: (required) NX_CHAR

dataset_name_mass_to_charge: (required) NX_CHAR

iontypes: (required) NXapm_input_ranging

filename: (required) NX_CHAR

@version: (required) NX_CHAR

group_name_iontypes: (required) NX_CHAR

spatial_filter: (optional) NXspatial_filter

windowing_method: (required) NX_CHAR

CG_ELLIPSOID_SET: (optional) NXcg_ellipsoid_set

dimensionality: (required) NX_POSINT

cardinality: (required) NX_POSINT

identifier_offset: (required) NX_INT

center: (required) NX_NUMBER

half_axes_radii: (required) NX_NUMBER

orientation: (required) NX_NUMBER

CG_CYLINDER_SET: (optional) NXcg_cylinder_set

dimensionality: (required) NX_POSINT

cardinality: (required) NX_POSINT

identifier_offset: (required) NX_INT

center: (required) NX_NUMBER

height: (required) NX_NUMBER

radii: (required) NX_NUMBER

CG_HEXAHEDRON_SET: (optional) NXcg_hexahedron_set

dimensionality: (required) NX_POSINT

cardinality: (required) NX_POSINT

identifier_offset: (required) NX_INT

hexahedra: (required) NXcg_face_list_data_structure

CS_FILTER_BOOLEAN_MASK: (optional) NXcs_filter_boolean_mask

number_of_objects: (required) NX_UINT

bitdepth: (required) NX_UINT

mask: (required) NX_UINT

identifier: (required) NX_UINT

evaporation_id_filter: (optional) NXsubsampling_filter

iontype_filter: (optional) NXmatch_filter

hit_multiplicity_filter: (optional) NXmatch_filter

ion_to_edge_distances: (optional) NXprocess

The tool enables to inject precomputed distances of each ion to a ...

The tool enables to inject precomputed distances of each ion to a representation of the edge of the dataset which can be used to control and substantially reduce edge effects when computing spatial statistics.

filename: (required) NX_CHAR

Name of an HDF5 file which contains ion-to-edge distances.

dataset_name_distances: (required) NX_CHAR

Absolute HDF5 path to the dataset with the ...

Absolute HDF5 path to the dataset with the ion-to-edge distance values for each ion. The shape of the distance values has to match the length of the ion positions array in dataset/dataset_name_reconstruction and dataset_name_mass_to_charge respectively.

edge_distance: (required) NX_FLOAT {units=NX_LENGTH}

Threshold to define how large an ion has to lay at least far away ...

Threshold to define how large an ion has to lay at least far away from the edge of the dataset so that the ion can act as a source, i.e. that an ROI is placed at the location of the ion and its neighbors are analyzed how they contribute to the computed statistics.

The ion_to_edge_distances threshold can be combined with a threshold for the ion_to_feature_distances. Specifically, if ion_to_feature_distances are loaded an ion only acts as a source if both threshold criteria are met.

The threshold is useful to process the dataset such that ROIs do not protrude out of the dataset as this would add bias.

ion_to_feature_distances: (optional) NXprocess

In addition to spatial filtering, and considering how far ions lie ...

In addition to spatial filtering, and considering how far ions lie to the edge of the dataset, it is possible to restrict the analyses to a sub-set of ions within a distance not farther away to a feature than a threshold value.

filename: (required) NX_CHAR

Name of an HDF5 file which contains ion-to-feature distances.

dataset_name_distances: (required) NX_CHAR

Absolute HDF5 path to the dataset with the ...

Absolute HDF5 path to the dataset with the ion-to-feature distance values for each ion.

threshold: (required) NX_FLOAT {units=NX_LENGTH}

Threshold to define how close an ion has to lay to a feature so that ...

Threshold to define how close an ion has to lay to a feature so that the ion can at all qualify as a source, i.e. that an ROI is placed at the location of the ion and its neighbors are then analyzed how they contribute to the computed statistics.

Recall that the ion_to_feature_distances threshold is combined with the ion_to_edge_distances threshold.

random_number_generator: (recommended) NXcs_prng

type: (required) NX_CHAR

seed: (required) NX_NUMBER

warmup: (required) NX_NUMBER

statistics: (required) NXprocess

Specifies which spatial statistics to compute.

knn: (optional) NXprocess

Compute k-th nearest neighbour statistics.

nth: (required) NX_UINT {units=NX_UNITLESS}

Order k.

histogram_min_incr_max: (required) NX_FLOAT (Rank: 1, Dimensions: [3]) {units=NX_LENGTH}

Minimum value, increment, and maximum value of the histogram binning.

rdf: (optional) NXprocess

Compute radial distribution function.

histogram_min_incr_max: (required) NX_FLOAT (Rank: 1, Dimensions: [3]) {units=NX_LENGTH}

Minimum value, increment, and maximum value of the histogram binning.

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/nexusformat/definitions/blob/main/contributed_definitions/NXapm_paraprobe_config_spatstat.nxdl.xml