# 3.3.3.35. NXapm_paraprobe_results_tessellator¶

**Status**:

application definition, extends NXobject

**Description**:

Results of a paraprobe-tessellator tool run.

**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_f_xdmf: The total number of facets/polygons defining the tessellation.

**Groups cited**:NXcg_face_list_data_structure, NXcg_polyhedron_set, NXcoordinate_system_set, NXcs_computer, NXcs_cpu, NXcs_filter_boolean_mask, NXcs_gpu, NXcs_io_obj, NXcs_io_sys, NXcs_mm_sys, NXcs_profiling_event, NXcs_profiling, NXentry, NXfabrication, NXprocess, NXtransformations, NXuser

**Structure**:

ENTRY: (required) NXentry

@version: (required) NX_CHARVersion 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_results_tessellator`

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_CHARPossibility for leaving a free-text description about this analysis.

start_time: (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 the analysis behind this results file was started, i.e. the paraprobe-tool executable started as a process.

end_time: (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 the analysis behind this results file were completed and the paraprobe-tool executable exited as a process.

config_filename: (required) NX_CHARThe absolute path and name of the config file for this analysis.

@version: (required) NX_CHAR## At least SHA256 strong hash of the specific config_file for ...

At least SHA256 strong hash of the specific config_file for tracking provenance.

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.

status: (required) NX_CHAR## A statement whether the paraprobe-tool executable managed to ...

A statement whether the paraprobe-tool executable managed to process the analysis or failed prematurely.

This status is written to the results file after the end_time at which point the executable must not compute any analysis. Only when this status message is present and shows success, the user should consider the results. In all other cases it might be that the executable has terminated prematurely or another error occurred.

Any of these values:

`success`

|`failure`

## If used, contact information and eventually details ...

If used, contact information and eventually details of at least the person who performed this analysis.

affiliation: (recommended) NX_CHAR ⤆

orcid: (recommended) NX_CHAR ⤆

orcid_platform: (recommended) NX_CHAR ⤆

telephone_number: (optional) NX_CHAR ⤆

COORDINATE_SYSTEM_SET: (required) NXcoordinate_system_setDetails about the coordinate system conventions used.

TRANSFORMATIONS: (required) NXtransformations ⤆## The individual coordinate systems which should be used. ...

The individual coordinate systems which should be used. Field names should be prefixed with the following controlled terms indicating which individual coordinate system is described:

paraprobe

lab

specimen

laser

leap

detector

recon

PROCESS: (optional) NXprocess ⤆

voronoi_tessellation: (required) NXprocess## The tool can be used to compute a Voronoi tessellation the entire ...

The tool can be used to compute a Voronoi tessellation the entire or a sub-set of the reconstruction. The point cloud in the ROI is wrapped into a tight axis-aligned bounding box. The tool detects if Voronoi cells make contact with the walls of this bounding box. The tessellation is computed without periodic boundary conditions.

window: (required) NXcs_filter_boolean_mask## A bitmask which identifies which of the ions in the dataset were ...

A bitmask which identifies which of the ions in the dataset were analyzed.

number_of_ions: (required) NX_UINT {units=NX_UNITLESS}## Number of ions covered by the mask. ...

Number of ions covered by the mask. The mask value for most may be 0.

bitdepth: (required) NX_UINT {units=NX_UNITLESS} ⤆## Number of bits assumed matching on a default datatype. ...

Number of bits assumed matching on a default datatype. (e.g. 8 bits for a C-style uint8).

mask: (required) NX_UINT (Rank: 1, Dimensions: [n_ions]) {units=NX_UNITLESS} ⤆## The unsigned integer array representing the content of the mask. ...

The unsigned integer array representing the content of the mask. If padding is used the padded bits are set to 0. The mask is for convenience always as large as the entire dataset as it will be stored compressed anyway. The convenience feature with this is that then the mask can be decoded with numpy and mirrored against the evaporation_id array and one immediately can filter out all points that were used by the paraprobe. The length of the array adds to the next unsigned integer if the number of ions in the dataset is not an integer multiple of the bitdepth.

wall_contact_global: (required) NXcs_filter_boolean_mask## A bitmask which identifies which of points have Voronoi cells that ...

A bitmask which identifies which of points have Voronoi cells that are truncated by the global axis-aligned bounding box, i.e. boundaries of the threads are ignored.

number_of_ions: (required) NX_UINT {units=NX_UNITLESS}## Number of points covered by the mask. ...

Number of points covered by the mask. The mask value for most may be 0.

bitdepth: (required) NX_UINT {units=NX_UNITLESS} ⤆## Number of bits assumed matching on a default datatype. ...

Number of bits assumed matching on a default datatype. (e.g. 8 bits for a C-style uint8).

mask: (required) NX_UINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS} ⤆## The unsigned integer array representing the content of the mask. ...

The unsigned integer array representing the content of the mask. If padding is used the padded bits are set to 0. The mask is for convenience always as large as the entire dataset as it will be stored compressed anyway. The convenience feature with this is that then the mask can be decoded with numpy and mirrored against the evaporation_id array and one immediately can filter out all points that were used by the paraprobe. The length of the array adds to the next unsigned integer if the number of ions in the dataset is not an integer multiple of the bitdepth.

wall_contact_left: (required) NXcs_filter_boolean_mask## A bitmask which identifies which of points have Voronoi cells that ...

A bitmask which identifies which of points have Voronoi cells that are truncated by a specific wall of the axis-aligned bounding box. The left wall has the negative x axis of the paraprobe coordinate system as the outer unit normal.

number_of_ions: (required) NX_UINT {units=NX_UNITLESS}## Number of points covered by the mask. ...

Number of points covered by the mask. The mask value for most may be 0.

bitdepth: (required) NX_UINT {units=NX_UNITLESS} ⤆## Number of bits assumed matching on a default datatype. ...

Number of bits assumed matching on a default datatype. (e.g. 8 bits for a C-style uint8).

mask: (required) NX_UINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS} ⤆## The unsigned integer array representing the content of the mask. ...

The unsigned integer array representing the content of the mask. If padding is used the padded bits are set to 0. The mask is for convenience always as large as the entire dataset as it will be stored compressed anyway. The convenience feature with this is that then the mask can be decoded with numpy and mirrored against the evaporation_id array and one immediately can filter out all points that were used by the paraprobe. The length of the array adds to the next unsigned integer if the number of ions in the dataset is not an integer multiple of the bitdepth.

wall_contact_right: (required) NXcs_filter_boolean_mask## A bitmask which identifies which of points have Voronoi cells that ...

A bitmask which identifies which of points have Voronoi cells that are truncated by a specific wall of the axis-aligned bounding box. The right wall has the positive x axis of the paraprobe coordinate system as the outer unit normal.

number_of_ions: (required) NX_UINT {units=NX_UNITLESS}## Number of points covered by the mask. ...

Number of points covered by the mask. The mask value for most may be 0.

bitdepth: (required) NX_UINT {units=NX_UNITLESS} ⤆## Number of bits assumed matching on a default datatype. ...

Number of bits assumed matching on a default datatype. (e.g. 8 bits for a C-style uint8).

mask: (required) NX_UINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS} ⤆## The unsigned integer array representing the content of the mask. ...

wall_contact_front: (required) NXcs_filter_boolean_mask## A bitmask which identifies which of points have Voronoi cells that ...

A bitmask which identifies which of points have Voronoi cells that are truncated by a specific wall of the axis-aligned bounding box. The front wall has the negative y axis of the paraprobe coordinate system as the outer unit normal.

number_of_ions: (required) NX_UINT {units=NX_UNITLESS}## Number of points covered by the mask. ...

Number of points covered by the mask. The mask value for most may be 0.

bitdepth: (required) NX_UINT {units=NX_UNITLESS} ⤆## Number of bits assumed matching on a default datatype. ...

Number of bits assumed matching on a default datatype. (e.g. 8 bits for a C-style uint8).

mask: (required) NX_UINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS} ⤆## The unsigned integer array representing the content of the mask. ...

wall_contact_rear: (required) NXcs_filter_boolean_mask## A bitmask which identifies which of points have Voronoi cells that ...

A bitmask which identifies which of points have Voronoi cells that are truncated by a specific wall of the axis-aligned bounding box. The rear wall has the positive y axis of the paraprobe coordinate system as the outer unit normal.

number_of_ions: (required) NX_UINT {units=NX_UNITLESS}## Number of points covered by the mask. ...

Number of points covered by the mask. The mask value for most may be 0.

bitdepth: (required) NX_UINT {units=NX_UNITLESS} ⤆## Number of bits assumed matching on a default datatype. ...

Number of bits assumed matching on a default datatype. (e.g. 8 bits for a C-style uint8).

mask: (required) NX_UINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS} ⤆## The unsigned integer array representing the content of the mask. ...

wall_contact_bottom: (required) NXcs_filter_boolean_mask## A bitmask which identifies which of points have Voronoi cells that ...

A bitmask which identifies which of points have Voronoi cells that are truncated by a specific wall of the axis-aligned bounding box. The left wall has the negative z axis of the paraprobe coordinate system as the outer unit normal.

number_of_ions: (required) NX_UINT {units=NX_UNITLESS}## Number of points covered by the mask. ...

Number of points covered by the mask. The mask value for most may be 0.

bitdepth: (required) NX_UINT {units=NX_UNITLESS} ⤆## Number of bits assumed matching on a default datatype. ...

Number of bits assumed matching on a default datatype. (e.g. 8 bits for a C-style uint8).

mask: (required) NX_UINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS} ⤆## The unsigned integer array representing the content of the mask. ...

wall_contact_top: (required) NXcs_filter_boolean_mask## A bitmask which identifies which of points have Voronoi cells that ...

A bitmask which identifies which of points have Voronoi cells that are truncated by a specific wall of the axis-aligned bounding box. The left wall has the positive z axis of the paraprobe coordinate system as the outer unit normal.

number_of_ions: (required) NX_UINT {units=NX_UNITLESS}## Number of points covered by the mask. ...

Number of points covered by the mask. The mask value for most may be 0.

bitdepth: (required) NX_UINT {units=NX_UNITLESS} ⤆## Number of bits assumed matching on a default datatype. ...

Number of bits assumed matching on a default datatype. (e.g. 8 bits for a C-style uint8).

mask: (required) NX_UINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS} ⤆## The unsigned integer array representing the content of the mask. ...

voronoi_cells: (optional) NXcg_polyhedron_set

dimensionality: (required) NX_POSINT {units=NX_UNITLESS} ⤆Obligatory value:

`3`

cardinality: (required) NX_POSINT {units=NX_UNITLESS} ⤆

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

process_identifier: (optional) NX_POSINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS}By which MPI process was the Voronoi cell computed.

thread_identifier: (optional) NX_POSINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS}By which OpenMP thread was the Voronoi cell computed.

number_of_faces: (optional) NX_POSINT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS} ⤆## The number of faces for each polyhedron. Faces of adjoining polyhedra ...

The number of faces for each polyhedron. Faces of adjoining polyhedra are counted for each polyhedron. This field can be used to interpret the array/field with the individual area values for each face.

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

identifier: (optional) NX_INT (Rank: 1, Dimensions: [i]) {units=NX_UNITLESS} ⤆Integer used to distinguish polyhedra for explicit indexing.

polyhedra: (optional) NXcg_face_list_data_structure ⤆## A simple approach to describe the entire set of polyhedra when ...

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

dimensionality: (required) NX_POSINT {units=NX_UNITLESS} ⤆

number_of_vertices: (required) NX_POSINT {units=NX_UNITLESS} ⤆Number of vertices.

number_of_faces: (required) NX_POSINT {units=NX_UNITLESS} ⤆Number of faces.

vertex_identifier_offset: (required) NX_INT {units=NX_UNITLESS} ⤆

face_identifier_offset: (required) NX_INT {units=NX_UNITLESS} ⤆

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

xdmf_topology: (required) NX_UINT (Rank: 1, Dimensions: [j]) {units=NX_UNITLESS}## A sequence of always first an XDMF topology type key, followed ...

A sequence of always first an XDMF topology type key, followed by the XDMF number of vertices of the polygon, followed by the vertex identifier which define the facet polygon. First we store the polygon of the first facet of the first cell, then the second facet of the first cell, until the last facet of the first cell, followed by the first facet of the second cell, and so on and so forth.

xdmf_cell_identifier: (required) NX_UINT (Rank: 1, Dimensions: [n_f_xdmf]) {units=NX_UNITLESS}## A sequence of cell identifier so that each facet is associated ...

A sequence of cell identifier so that each facet is associated with its cell because of which it is then possible to segment out cells three-dimensionally based on cell i.e. evaporation_id.

performance: (recommended) NXcs_profiling

current_working_directory: (required) NX_CHAR ⤆

command_line_call: (optional) NX_CHAR ⤆

start_time: (recommended) NX_DATE_TIME ⤆

end_time: (recommended) NX_DATE_TIME ⤆

total_elapsed_time: (required) NX_NUMBER ⤆

number_of_processes: (required) NX_POSINT ⤆

number_of_threads: (required) NX_POSINT ⤆

number_of_gpus: (required) NX_POSINT ⤆

CS_COMPUTER: (recommended) NXcs_computer ⤆

operating_system: (required) NX_CHAR ⤆

CS_MM_SYS: (optional) NXcs_mm_sys ⤆

CS_IO_SYS: (optional) NXcs_io_sys ⤆

CS_PROFILING_EVENT: (required) NXcs_profiling_event

start_time: (optional) NX_DATE_TIME ⤆

end_time: (optional) NX_DATE_TIME ⤆

description: (required) NX_CHAR ⤆

elapsed_time: (required) NX_NUMBER ⤆

number_of_processes: (required) NX_POSINT ⤆## Specify if it was different from the number_of_processes ...

Specify if it was different from the number_of_processes in the NXcs_profiling super class.

number_of_threads: (required) NX_POSINT ⤆## Specify if it was different from the number_of_threads ...

Specify if it was different from the number_of_threads in the NXcs_profiling super class.

number_of_gpus: (required) NX_POSINT ⤆## Specify if it was different from the number_of_threads ...

Specify if it was different from the number_of_threads in the NXcs_profiling super class.

## Hypertext Anchors¶

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

/NXapm_paraprobe_results_tessellator/ENTRY/analysis_description-field

/NXapm_paraprobe_results_tessellator/ENTRY/analysis_identifier-field

/NXapm_paraprobe_results_tessellator/ENTRY/config_filename-field

/NXapm_paraprobe_results_tessellator/ENTRY/config_filename@version-attribute

/NXapm_paraprobe_results_tessellator/ENTRY/COORDINATE_SYSTEM_SET-group

/NXapm_paraprobe_results_tessellator/ENTRY/COORDINATE_SYSTEM_SET/TRANSFORMATIONS-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/command_line_call-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_CPU-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_CPU/FABRICATION-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_CPU/name-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_GPU-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_GPU/FABRICATION-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_GPU/name-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_IO_SYS-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_IO_SYS/CS_IO_OBJ-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_IO_SYS/CS_IO_OBJ/name-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_MM_SYS-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_PROFILING_EVENT-group

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/CS_PROFILING_EVENT/end_time-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/name-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/operating_system-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/CS_COMPUTER/uuid-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/current_working_directory-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/end_time-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/number_of_gpus-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/number_of_processes-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/number_of_threads-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/start_time-field

/NXapm_paraprobe_results_tessellator/ENTRY/performance/total_elapsed_time-field

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/voronoi_cells-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/voronoi_cells/volume-field

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_bottom-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_front-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_global-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_left-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_left/mask-field

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_rear-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_rear/mask-field

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_right-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_top-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/wall_contact_top/mask-field

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/window-group

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/window/bitdepth-field

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/window/mask-field

/NXapm_paraprobe_results_tessellator/ENTRY/PROCESS/voronoi_tessellation/window/number_of_ions-field

/NXapm_paraprobe_results_tessellator/ENTRY/program@version-attribute

/NXapm_paraprobe_results_tessellator/ENTRY/results_path-field

/NXapm_paraprobe_results_tessellator/ENTRY/USER/address-field

/NXapm_paraprobe_results_tessellator/ENTRY/USER/affiliation-field

/NXapm_paraprobe_results_tessellator/ENTRY/USER/orcid_platform-field

/NXapm_paraprobe_results_tessellator/ENTRY/USER/social_media_name-field

/NXapm_paraprobe_results_tessellator/ENTRY/USER/social_media_platform-field

/NXapm_paraprobe_results_tessellator/ENTRY/USER/telephone_number-field

/NXapm_paraprobe_results_tessellator/ENTRY@version-attribute