2.3.3.3.28. NXapm_paraprobe_nanochem_results

Status:

application definition, extends NXobject

Description:

Application definition for results files of the paraprobe-nanochem tool. ...

Application definition for results files of the paraprobe-nanochem tool.

This tool is part of the paraprobe-toolbox. Inspect the base class NXapm_paraprobe_tool_results.

Symbols:

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

n_ions: The total number of ions in the reconstruction.

n_atomic: The total number of atoms in the atomic_decomposition match filter.

n_isotopic: The total number of isotopes in the isotopic_decomposition match filter.

d: The dimensionality of the delocalization grid.

c: The cardinality/total number of cells/grid points in the delocalization grid.

n_f_tri: The total number of faces of triangles.

n_f_tri_xdmf: The total number of XDMF values to represent all faces of triangles via XDMF.

n_feature_dict: The total number of entries in a feature dictionary.

n_v_feat: The total number of volumetric features.

n_speci: The total number of member distinguished when reporting composition.

n_rois: The total number of ROIs placed in an oned_profile task.

Groups cited:

NXapm_paraprobe_tool_common, NXapm_paraprobe_tool_results, NXcg_face_list_data_structure, NXcg_grid, NXcg_hexahedron_set, NXcg_marching_cubes, NXcg_polyhedron_set, NXcg_triangle_set, NXcg_unit_normal_set, NXchemical_composition, NXcoordinate_system_set, NXcoordinate_system, NXcs_filter_boolean_mask, NXcs_profiling, NXdata, NXdelocalization, NXentry, NXion, NXisocontour, NXmatch_filter, NXobject, NXprocess, NXprogram, NXserialized, NXuser

Structure:

ENTRY: (required) NXentry

definition: (required) NX_CHAR

Obligatory value: NXapm_paraprobe_nanochem_results

@version: (required) NX_CHAR

delocalizationID: (optional) NXdelocalization

normalization: (required) NX_CHAR

How were results of the kernel-density estimation normalized: ...

How were results of the kernel-density estimation normalized: * total, the total number (intensity) of ions or elements. * candidates, the total number (intensity) of ions matching weighting_model * composition, the value for candidates divided by the value for total, * concentration, the value for candidates divided by the volume of the cell.

Any of these values:

  • total

  • candidates

  • composition

  • concentration

window: (required) NXcs_filter_boolean_mask

number_of_ions: (required) NX_UINT

bitdepth: (required) NX_UINT

mask: (required) NX_UINT

weighting_model: (required) NXmatch_filter

weighting_method: (required) NX_CHAR

method: (required) NX_CHAR

match: (required) NX_UINT

grid: (required) NXcg_grid

The discretized domain/grid on which the delocalization is applied.

dimensionality: (required) NX_POSINT {units=NX_UNITLESS}

Any of these values: 1 | 2 | 3

cardinality: (required) NX_POSINT {units=NX_UNITLESS}

The total number of cells/voxels of the grid.

origin: (required) NX_NUMBER (Rank: 1, Dimensions: [d])

symmetry: (required) NX_CHAR

The symmetry of the lattice defining the shape of the unit cell. ...

The symmetry of the lattice defining the shape of the unit cell.

Obligatory value: cubic

cell_dimensions: (required) NX_NUMBER (Rank: 1, Dimensions: [d]) {units=NX_LENGTH}

The unit cell dimensions according to the coordinate system defined unde ...

The unit cell dimensions according to the coordinate system defined under coordinate_system.

extent: (required) NX_POSINT (Rank: 1, Dimensions: [d])

Number of unit cells along each of the d-dimensional base vectors. ...

Number of unit cells along each of the d-dimensional base vectors. The total number of cells, or grid points has to be the cardinality. If the grid has an irregular number of grid positions in each direction, as it could be for instance the case of a grid where all grid points outside some masking primitive are removed, this extent field should not be used. Instead use the coordinate field.

identifier_offset: (required) NX_INT {units=NX_UNITLESS}

Integer which specifies the first index to be used for distinguishing id ...

Integer which specifies the first index to be used for distinguishing identifiers for cells. Identifiers are defined either implicitly or explicitly. For implicit indexing the identifiers are defined on the interval \([identifier\_offset, identifier\_offset + c - 1]\). For explicit indexing the identifier array has to be defined.

kernel_size: (required) NX_POSINT (Rank: 1, Dimensions: [3]) {units=NX_DIMENSIONLESS}

Halfwidth of the kernel about the central voxel. ...

Halfwidth of the kernel about the central voxel. The shape of the kernel is that of a cuboid of extent 2*kernel_extent[i] + 1 in each dimension i.

kernel_type: (required) NX_CHAR

Functional form of the kernel (Ansatz function). ...

Functional form of the kernel (Ansatz function).

Obligatory value: gaussian

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

Standard deviation :math:`\sigma_i` of the kernel in each dimension ...

Standard deviation \(\sigma_i\) of the kernel in each dimension in the paraprobe coordinate_system with i = 0 is x, i = 1 is y, i = 2 is z.

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

Expectation value :math:`\mu_i` of the kernel in each dimension ...

Expectation value \(\mu_i\) of the kernel in each dimension in the paraprobe coordinate_system with i = 0 is x, i = 1 is y, i = 2 is z.

bounding_box: (required) NXcg_hexahedron_set

A tight axis-aligned bounding box about the grid.

is_axis_aligned: (required) NX_BOOLEAN

For atom probe should be set to true.

identifier_offset: (required) NX_INT {units=NX_UNITLESS}

Integer which specifies the first index to be used for distinguishing ...

Integer which specifies the first index to be used for distinguishing hexahedra. Identifiers are defined either implicitly or explicitly. For implicit indexing the identifiers are defined on the interval \([identifier\_offset, identifier\_offset + c - 1]\). For explicit indexing the identifier array has to be defined.

hexahedron: (required) NXcg_face_list_data_structure

vertex_identifier_offset: (required) NX_INT {units=NX_UNITLESS}

Integer which specifies the first index to be used for distinguishin ...

Integer which specifies the first index to be used for distinguishing identifiers for vertices. Identifiers are defined either implicitly or explicitly. For implicit indexing the identifiers are defined on the interval \([identifier\_offset, identifier\_offset + c - 1]\). For explicit indexing the identifier array has to be defined.

face_identifier_offset: (required) NX_INT {units=NX_UNITLESS}

Integer which specifies the first index to be used for distinguishin ...

Integer which specifies the first index to be used for distinguishing identifiers for faces. Identifiers are defined either implicitly or explicitly. For implicit indexing the identifiers are defined on the interval \([identifier\_offset, identifier\_offset + c - 1]\). For explicit indexing the identifier array has to be defined.

vertices: (required) NX_NUMBER (Rank: 2, Dimensions: [8, 3]) {units=NX_LENGTH}

Positions of the vertices. ...

Positions of the vertices. Users are encouraged to reduce the vertices to unique set of positions and vertices as this supports a more efficient storage of the geometry data. It is also possible though to store the vertex positions naively in which case vertices_are_unique is likely False. Naively here means that one for example stores each vertex of a triangle mesh even though many vertices are shared between triangles and thus the positions of these vertices do not have to be duplicated.

faces: (required) NX_NUMBER (Rank: 2, Dimensions: [6, 4]) {units=NX_UNITLESS}

Array of identifiers from vertices which describe each face. ...

Array of identifiers from vertices which describe each face.

The first entry is the identifier of the start vertex of the first face, followed by the second vertex of the first face, until the last vertex of the first face. Thereafter, the start vertex of the second face, the second vertex of the second face, and so on and so forth.

Therefore, summating over the number_of_vertices, allows to extract the vertex identifiers for the i-th face on the following index interval of the faces array: \([\sum_{i = 0}^{i = n-1}, \sum_{i=0}^{i = n}]\).

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

Six equally formatted sextets chained together. For each sextett the ...

Six equally formatted sextets chained together. For each sextett the first entry is an XDMF primitive topology key (here 5 for polygon), the second entry the XDMF primitive count value (here 4 because each face is a quad). The remaining four values are the vertex indices.

number_of_boundaries: (optional) NX_POSINT {units=NX_UNITLESS}

How many distinct boundaries are distinguished? ...

How many distinct boundaries are distinguished? Most grids discretize a cubic or cuboidal region. In this case six sides can be distinguished, each making an own boundary.

boundaries: (optional) NX_CHAR (Rank: 1, Dimensions: [6])

Name of the boundaries. E.g. left, right, front, back, bottom, top, ...

Name of the boundaries. E.g. left, right, front, back, bottom, top, The field must have as many entries as there are number_of_boundaries.

boundary_conditions: (optional) NX_INT (Rank: 1, Dimensions: [6]) {units=NX_UNITLESS}

The boundary conditions for each boundary: ...

The boundary conditions for each boundary:

0 - undefined 1 - open 2 - periodic 3 - mirror 4 - von Neumann 5 - Dirichlet

scalar_field_magn_SUFFIX: (optional) NXdata

The result of the delocalization :math:`\Phi = f(x, y, z)` based on whic ...

The result of the delocalization \(\Phi = f(x, y, z)\) based on which subsequent iso-surfaces will be computed. In commercial software so far there is no possibility to export this information.

If the intensity for all matches of the weighting_model are summarized name this NXdata instance scalar_field_magn_total.

If the intensity is reported for each iontype one can avoid many subsequent computations as individual intensities can be reinterpreted using a different weighting_model in down-stream usage of the here reported values (e.g. with Python scripting). In this case name the individual NXdata instances scalar_field_magn_ionID using the ID of the ion as per the configuration of the ranging definitions used.

@signal: (required) NX_CHAR

@axes: (required) NX_CHAR

@xpos_indices: (required) NX_UINT

@ypos_indices: (required) NX_UINT

@zpos_indices: (required) NX_UINT

title: (required) NX_CHAR

intensity: (required) NX_FLOAT (Rank: 3, Dimensions: [n_z, n_y, n_x]) {units=NX_ANY}

The actual delocalized intensity values.

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

Cell center of mass positions along x.

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

Cell center of mass positions along y.

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

Cell center of mass positions along z.

xdmf_intensity: (optional) NX_FLOAT (Rank: 1, Dimensions: [n_xyz]) {units=NX_ANY}

Intensity of the field at given point

xdmf_xyz: (optional) NX_FLOAT (Rank: 2, Dimensions: [n_xyz, 3]) {units=NX_UNITLESS}

Center of mass positions of each voxel for rendering the scalar field ...

Center of mass positions of each voxel for rendering the scalar field via XDMF in e.g. Paraview.

xdmf_topology: (optional) NX_NUMBER (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS}

XDMF topology for rendering in combination with xdmf_xyz the scalar fi ...

XDMF topology for rendering in combination with xdmf_xyz the scalar field via XDMF in e.g. Paraview.

scalar_field_grad_SUFFIX: (optional) NXdata

The three-dimensional gradient :math:`\nabla \Phi`. ...

The three-dimensional gradient \(\nabla \Phi\). Follow the naming convention of scalar_field_magn_SUFFIX to report parallel structures.

@signal: (required) NX_CHAR

@axes: (required) NX_CHAR

@xpos_indices: (required) NX_CHAR

@ypos_indices: (required) NX_CHAR

@zpos_indices: (required) NX_CHAR

title: (required) NX_CHAR

intensity: (required) NX_FLOAT (Rank: 4, Dimensions: [n_z, n_y, n_x, 3]) {units=NX_ANY}

The actual point-wise component values.

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

Cell center of mass positions along x.

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

Cell center of mass positions along y.

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

Cell center of mass positions along z.

xdmf_gradient: (optional) NX_FLOAT (Rank: 2, Dimensions: [n_xyz, 3]) {units=NX_ANY}

The gradient vector formatted for direct visualization via XDMF in e.g ...

The gradient vector formatted for direct visualization via XDMF in e.g. Paraview.

xdmf_xyz: (optional) NX_FLOAT (Rank: 2, Dimensions: [n_xyz, 3]) {units=NX_LENGTH}

Center of mass positions of each voxel for rendering the scalar field ...

Center of mass positions of each voxel for rendering the scalar field gradient via XDMF in e.g. Paraview.

xdmf_topology: (optional) NX_NUMBER (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS}

XDMF topology for rendering in combination with xdmf_xyz the scalar fi ...

XDMF topology for rendering in combination with xdmf_xyz the scalar field via XDFM in e.g. Paraview.

iso_surfaceID: (optional) NXisocontour

An iso-surface is the boundary between two regions across which the magn ...

An iso-surface is the boundary between two regions across which the magnitude of a scalar field falls below/exceeds a threshold magnitude \(\varphi\).

For applications in atom probe microscopy, the location and shape of such a boundary (set) is typically approximated by discretization - triangulation to be specific.

This yields a complex of not necessarily connected geometric primitives. Paraprobe-nanochem approximates this complex with a soup of triangles.

dimensionality: (required) NX_POSINT

isovalue: (required) NX_NUMBER {units=NX_ANY}

The threshold or iso-contour value \(\varphi\).

marching_cubes: (required) NXcg_marching_cubes

Details about the specific marching cubes algorithm that was used for ...

Details about the specific marching cubes algorithm that was used for computing the iso-surface.

implementation: (required) NX_CHAR

Reference to the specific implementation of marching cubes used. ...

Reference to the specific implementation of marching cubes used. The value placed here should be a DOI. If there are no specific DOI or details write not_further_specified, or give at least a free-text description. The program and version used is the specific paraprobe-nanochem.

triangle_soup: (optional) NXcg_triangle_set

The resulting triangle soup computed via marching cubes.

dimensionality: (required) NX_POSINT {units=NX_UNITLESS}

cardinality: (required) NX_POSINT {units=NX_UNITLESS}

identifier_offset: (required) NX_INT {units=NX_UNITLESS}

Integer which specifies the first index to be used for distinguishin ...

Integer which specifies the first index to be used for distinguishing triangles. Identifiers are defined either implicitly or explicitly. For implicit indexing the identifiers are defined on the interval \([identifier\_offset, identifier\_offset + c - 1]\).

triangles: (required) NXcg_face_list_data_structure

number_of_vertices: (required) NX_POSINT

number_of_faces: (required) NX_POSINT

vertex_identifier_offset: (required) NX_INT

face_identifier_offset: (required) NX_INT

vertices: (required) NX_NUMBER (Rank: 2, Dimensions: [i, 3]) {units=NX_LENGTH}

Positions of the vertices. ...

Positions of the vertices.

Users are encouraged to reduce the vertices to a unique set as this may result in a more efficient storage of the geometry data. It is also possible though to store the vertex positions naively in which case vertices_are_unique is likely False. Naively here means that each vertex is stored even though many share the same positions.

faces: (required) NX_INT (Rank: 1, Dimensions: [j]) {units=NX_UNITLESS}

Array of identifiers from vertices which describe each face. ...

Array of identifiers from vertices which describe each face.

The first entry is the identifier of the start vertex of the first face, followed by the second vertex of the first face, until the last vertex of the first face. Thereafter, the start vertex of the second face, the second vertex of the second face, and so on and so forth.

Therefore, summating over the number_of_vertices, allows to extract the vertex identifiers for the i-th face on the following index interval of the faces array: \([\sum_{i = 0}^{i = n-1}, \sum_{i=0}^{i = n}]\).

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

A list of as many tuples of XDMF topology key, XDMF number ...

A list of as many tuples of XDMF topology key, XDMF number of vertices and a triple of vertex indices specifying each triangle. The total number of entries is n_f_tri * (1+1+3).

area: (optional) NX_NUMBER (Rank: 1, Dimensions: [j]) {units=NX_AREA}

edge_length: (optional) NX_NUMBER (Rank: 2, Dimensions: [k, 3]) {units=NX_LENGTH}

Array of edge length values. For each triangle the edge length ...

Array of edge length values. For each triangle the edge length is reported for the edges traversed according to the sequence in which vertices are indexed in triangles.

interior_angle: (optional) NX_NUMBER (Rank: 2, Dimensions: [j, 4]) {units=NX_ANGLE}

Array of interior angle values. For each triangle the angle ...

Array of interior angle values. For each triangle the angle is reported for the angle opposite to the edges which are traversed according to the sequence in which vertices are indexed in triangles.

center: (optional) NX_NUMBER (Rank: 2, Dimensions: [j, 3]) {units=NX_LENGTH}

The center of mass of each triangle.

vertex_normal: (optional) NXcg_unit_normal_set

normals: (required) NX_FLOAT (Rank: 2, Dimensions: [j, 3]) {units=NX_DIMENSIONLESS}

Direction of each normal.

orientation: (optional) NX_UINT (Rank: 1, Dimensions: [j]) {units=NX_UNITLESS}

Qualifier how which specifically oriented normal to its ...

Qualifier how which specifically oriented normal to its primitive each normal represents.

  • 0 - undefined

  • 1 - outer

  • 2 - inner

face_normal: (optional) NXcg_unit_normal_set

normals: (required) NX_FLOAT (Rank: 2, Dimensions: [k, 3]) {units=NX_DIMENSIONLESS}

Direction of each normal.

orientation: (optional) NX_UINT (Rank: 1, Dimensions: [k]) {units=NX_UNITLESS}

Qualifier how which specifically oriented normal to its ...

Qualifier how which specifically oriented normal to its primitive each normal represents.

  • 0 - undefined

  • 1 - outer

  • 2 - inner

gradient_guide_magnitude: (required) NX_FLOAT (Rank: 1, Dimensions: [k]) {units=NX_ANY}

Triangle normals are oriented in the direction of the ...

Triangle normals are oriented in the direction of the gradient vector of the local delocalized scalar field. \(\sum_{x, y, z} {\nabla{c}_i}^2\).

gradient_guide_projection: (required) NX_FLOAT (Rank: 1, Dimensions: [k]) {units=NX_ANY}

Triangle normals are oriented in the direction of the ...

Triangle normals are oriented in the direction of the gradient vector of the local delocalized scalar field. The projection variable here describes the cosine of the angle between the gradient direction and the normal direction vector. This is a descriptor of how parallel the projection is that is especially useful to document those triangles for whose the projection is almost perpendicular.

volumetric_features: (optional) NXprocess

Iso-surfaces of arbitrary scalar three-dimensional fields can show ...

Iso-surfaces of arbitrary scalar three-dimensional fields can show a complicated topology. Paraprobe-nanochem can run a DBScan-like clustering algorithm which performs a connectivity analysis on the triangle soup representation of such iso-surface. This may yield a set of connected features whose individual surfaces are discretized by a triangulated mesh each. Such volumetric features can be processed further using paraprobe-nanochem using a workflow with at most two steps.

In the first step, the tool distinguishes three types of (v) i.e. volumetric features:

  1. So-called objects, i.e. necessarily watertight features represented by polyhedra.

    These objects were already watertight within the triangulated iso-surface.

  2. So-called proxies, i.e. features that were not necessarily watertight within the triangulated

    iso-surface but were subsequently replaced by a watertight mesh using polyhedral mesh processing operations (hole filling, refinement, fairing operations).

  3. Remaining triangle surface meshes or parts of these of arbitrary shape and cardinality

    that are not transformable into proxies or for which no transformation into proxies was instructed.

These features can be interpreted as microstructural features. Some of them may be precipitates, some of them may be poles, some of them may be segments of dislocation lines or other crystal defects which are decorated (or not) with solutes.

In the second step, the tool can be used to analyze the proximity of these objects to a model of the surface (edge) of the dataset.

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

The identifier which the triangle_soup connectivity analysis ...

The identifier which the triangle_soup connectivity analysis returned, which constitutes the first step of the volumetric_feature identification process.

feature_type_dict_keyword: (optional) NX_UINT (Rank: 1, Dimensions: [n_feature_dict]) {units=NX_UNITLESS}

The array of keywords of feature_type dictionary.

feature_type_dict_value: (optional) NX_CHAR (Rank: 1, Dimensions: [n_feature_dict])

The array of values for each keyword of the ...

The array of values for each keyword of the feature_type dictionary.

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

The array of controlled keywords, need to be from ...

The array of controlled keywords, need to be from feature_type_dict_keyword, which specify which type each feature triangle cluster belongs to. Keep in mind that not each feature is an object or proxy.

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

The explicit identifier of features.

FEATURE: (optional) NXprocess

In all situations instances of the parent NXprocess group are re ...

In all situations instances of the parent NXprocess group are returned with a very similar information structuring and thus we here replace the template name FEATURE with one of the following types feature-specific group names:

  • objects, objects, irrespective their distance to the surface

  • objects_close_to_edge, sub-set of v_feature_object close surface

  • objects_far_from_edge, sub-set of v_feature_object not close to the surface

  • proxies, proxies, irrespective their distance to the surface

  • proxies_close_to_edge, sub-set of v_feature_proxies, close to surface

  • proxies_far_from_edge, sub-set of v_feature_proxies, not close to surface

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

Explicit identifier of the feature a sub-set of the feature_id ...

Explicit identifier of the feature a sub-set of the feature_identifier in the parent group.

volume: (required) NX_FLOAT (Rank: 1, Dimensions: [i]) {units=NX_VOLUME}

Volume of the feature. NaN for non-watertight objects.

obb: (optional) NXcg_hexahedron_set

An oriented bounding box (OBB) to each object.

size: (optional) NX_FLOAT (Rank: 2, Dimensions: [i, 3]) {units=NX_LENGTH}

Edge length of the oriented bounding box from largest to smallest value.

aspect: (optional) NX_FLOAT (Rank: 2, Dimensions: [i, 2]) {units=NX_DIMENSIONLESS}

Oriented bounding box aspect ratio. ...

Oriented bounding box aspect ratio. YX versus ZY or second-largest over largest and smallest over second largest.

center: (optional) NX_NUMBER (Rank: 2, Dimensions: [i, 3]) {units=NX_LENGTH}

Position of the geometric center, which often is but ...

Position of the geometric center, which often is but not necessarily has to be the center_of_mass of the hexahedrally-shaped sample/sample part.

hexahedra: (optional) NXcg_face_list_data_structure

A simple approach to describe the entire set of hexahedra wh ...

A simple approach to describe the entire set of hexahedra when the main intention is to store the shape of the hexahedra for visualization.

vertices: (required) NX_NUMBER (Rank: 2, Dimensions: [k, 3]) {units=NX_LENGTH}

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

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

objectID: (optional) NXcg_polyhedron_set

polyhedron: (required) NXcg_face_list_data_structure

vertices: (required) NX_FLOAT (Rank: 2, Dimensions: [n_v, 3]) {units=NX_LENGTH}

faces: (required) NX_UINT (Rank: 2, Dimensions: [n_f, 3]) {units=NX_UNITLESS}

face_normals: (required) NX_FLOAT (Rank: 2, Dimensions: [n_f, 3]) {units=NX_LENGTH}

xdmf_topology: (recommended) NX_UINT (Rank: 1, Dimensions: [k]) {units=NX_UNITLESS}

xdmf_feature_identifier: (recommended) NX_UINT (Rank: 1, Dimensions: [k]) {units=NX_UNITLESS}

ion_identifier: (optional) NX_UINT (Rank: 1, Dimensions: [m]) {units=NX_UNITLESS}

Array of evaporation_identifier / ion_identifier which det ...

Array of evaporation_identifier / ion_identifier which details which ions lie inside or on the surface of the feature.

composition: (optional) NXchemical_composition

total: (required) NX_NUMBER (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS}

Total (count) of ions inside or on the surface of the featur ...

Total (count) of ions inside or on the surface of the feature relevant for normalization. NaN for non watertight objects.

ionID: (optional) NXion

charge_state: (required) NX_INT

nuclide_hash: (required) NX_UINT

nuclide_list: (required) NX_UINT

count: (required) NX_NUMBER (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS}

Count or weight which, when divided by total, yields the c ...

Count or weight which, when divided by total, yields the composition of this element, nuclide, or (molecular) ion within the volume of the feature/object.

interface_meshing: (optional) NXapm_paraprobe_tool_results

ion_multiplicity: (optional) NX_UINT (Rank: 1, Dimensions: [n_ions]) {units=NX_UNITLESS}

The multiplicity whereby the ion position is accounted for ...

The multiplicity whereby the ion position is accounted for irrespective whether the ion is considered as a decorator of the interface or not. As an example, with atom probe it is typically not possible to resolve the positions of the atoms which arrive at the detector as molecular ions. Therefore, an exemplar molecular ion of two carbon atoms can be considered to have a multiplicity of two to account that this molecular ion contributes two carbon atoms at the reconstructed location considering that the spatial resolution of atom probe experiments is limited.

decorator_multiplicity: (optional) NX_UINT (Rank: 1, Dimensions: [n_ions]) {units=NX_UNITLESS}

The multiplicity whereby the ion position is accounted for when ...

The multiplicity whereby the ion position is accounted for when the ion is considered one which is a decorator of the interface.

window: (required) NXcs_filter_boolean_mask

number_of_ions: (required) NX_UINT

bitdepth: (required) NX_UINT

mask: (required) NX_UINT

initial_interface: (optional) NXprocess

The equation of the plane that is fitted initially.

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

The four parameter \(ax + by + cz + d = 0\) which define the plane.

mesh_stateID: (optional) NXcg_triangle_set

The triangle surface mesh representing the interface model. ...

The triangle surface mesh representing the interface model. Exported at state before or after the next DCOM step.

state: (required) NX_CHAR

Was this state exported before or after the next DCOM step. ...

Was this state exported before or after the next DCOM step.

Any of these values: before | after

dimensionality: (required) NX_POSINT {units=NX_UNITLESS}

cardinality: (required) NX_POSINT {units=NX_UNITLESS}

identifier_offset: (required) NX_INT {units=NX_UNITLESS}

area: (required) NX_NUMBER (Rank: 1, Dimensions: [c]) {units=NX_AREA}

edge_length: (required) NX_NUMBER (Rank: 2, Dimensions: [c, 3]) {units=NX_LENGTH}

Array of edge length values. For each triangle the edge length is ...

Array of edge length values. For each triangle the edge length is reported for the edges traversed according to the sequence in which vertices are indexed in triangles.

interior_angle: (required) NX_NUMBER (Rank: 2, Dimensions: [c, 4]) {units=NX_ANGLE}

Array of interior angle values. For each triangle the angle is ...

Array of interior angle values. For each triangle the angle is reported for the angle opposite to the edges which are traversed according to the sequence in which vertices are indexed in triangles.

triangles: (required) NXcg_face_list_data_structure

dimensionality: (required) NX_POSINT {units=NX_UNITLESS}

number_of_vertices: (required) NX_POSINT {units=NX_UNITLESS}

number_of_faces: (required) NX_POSINT {units=NX_UNITLESS}

vertex_identifier_offset: (required) NX_INT {units=NX_UNITLESS}

edge_identifier_offset: (required) NX_INT {units=NX_UNITLESS}

face_identifier_offset: (required) NX_INT {units=NX_UNITLESS}

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

vertices: (required) NX_NUMBER (Rank: 2, Dimensions: [i, 3]) {units=NX_LENGTH}

vertex_normal: (required) NX_FLOAT (Rank: 2, Dimensions: [i, 3]) {units=NX_LENGTH}

Direction of each vertex normal.

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

Qualifier which details how specifically oriented the ...

Qualifier which details how specifically oriented the face normal is with respect to its primitive (triangle):

  • 0 - undefined

  • 1 - outer

  • 2 - inner

faces: (required) NX_UINT (Rank: 2, Dimensions: [j, 3]) {units=NX_UNITLESS}

face_normal: (required) NX_FLOAT (Rank: 2, Dimensions: [j, 3]) {units=NX_LENGTH}

Direction of each face normal.

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

Qualifier which details how specifically oriented the ...

Qualifier which details how specifically oriented the face normal is with respect to its primitive (triangle):

  • 0 - undefined

  • 1 - outer

  • 2 - inner

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

oned_profile: (optional) NXapm_paraprobe_tool_results

window: (optional) NXcs_filter_boolean_mask

number_of_ions: (required) NX_UINT

bitdepth: (required) NX_UINT

mask: (required) NX_UINT

xdmf_cylinder: (required) NXcg_polyhedron_set

The ROIs are defined as cylinders for the computations. To visualize these ...

The ROIs are defined as cylinders for the computations. To visualize these we discretize them into regular n-gons. Using for instance 360-gons, i.e. a regular n-gon with 360 edges, resolves the lateral surface of each cylinder such that their renditions are smooth in visualization software like Paraview.

dimensionality: (required) NX_POSINT {units=NX_UNITLESS}

cardinality: (required) NX_POSINT {units=NX_UNITLESS}

center: (required) NX_NUMBER (Rank: 2, Dimensions: [i, 3]) {units=NX_LENGTH}

Position of the geometric center, which often is but not ...

Position of the geometric center, which often is but not necessarily has to be the center_of_mass of the polyhedra.

orientation: (required) NX_FLOAT (Rank: 2, Dimensions: [i, 3]) {units=NX_LENGTH}

The orientation of the ROI defined via a vector which points along ...

The orientation of the ROI defined via a vector which points along the cylinder axis and whose length is the height of the cylinder.

identifier: (optional) NX_UINT (Rank: 1, Dimensions: [j]) {units=NX_UNITLESS}

XDMF support to enable colouring each ROI by its identifier.

edge_contact: (optional) NX_UINT (Rank: 1, Dimensions: [j]) {units=NX_UNITLESS}

XDMF support to enable colouring each ROI whether it has edge contact or not.

number_of_atoms: (optional) NX_UINT (Rank: 1, Dimensions: [j]) {units=NX_UNITLESS}

XDMF support to enable colouring each ROI by its number of atoms.

number_of_ions: (optional) NX_UINT (Rank: 1, Dimensions: [j]) {units=NX_UNITLESS}

XDMF support to enable colouring each ROI by its number of ions.

rois_far_from_edge: (required) NXprocess

Distance and iontype-specific processed data for each ROI. ...

Distance and iontype-specific processed data for each ROI. Arrays signed_distance and nuclide_hash are sorted by increasing distance. Array nuclide_hash reports one hash for each atom of each isotope. Effectively, this can yield to groups of values on signed_distance with the same distance value as molecular ions are reported decomposed into their atoms. Therefore, the XDMF support fields number_of_atoms and number_of_ions are only expected to display pairwise the same values respectively, if all ions are built from a single atom only.

roiID: (optional) NXobject

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

Sorted in increasing order projected along the positive direction ...

Sorted in increasing order projected along the positive direction of the ROI as defined by orientation in the parent group.

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

Hashvalue as defined in NXion.

common: (required) NXapm_paraprobe_tool_common

status: (required) NX_CHAR

analysis_identifier: (required) NX_UINT

config: (required) NXserialized

type: (required) NX_CHAR

path: (required) NX_CHAR

checksum: (required) NX_CHAR

algorithm: (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

number_of_processes: (required) NX_POSINT

number_of_threads: (required) NX_POSINT

number_of_gpus: (required) NX_POSINT

userID: (optional) NXuser

If used, metadata of at least the person who performed this analysis.

name: (required) NX_CHAR

coordinate_system_set: (required) NXcoordinate_system_set

paraprobe: (required) NXcoordinate_system

type: (required) NX_CHAR

handedness: (required) NX_CHAR

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

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

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

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_nanochem_results.nxdl.xml