/
NXapm_paraprobe_results_spatstat.nxdl.xml
364 lines (361 loc) · 17 KB
/
NXapm_paraprobe_results_spatstat.nxdl.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="nxdlformat.xsl"?>
<!--
# NeXus - Neutron and X-ray Common Data Format
#
# Copyright (C) 2014-2024 NeXus International Advisory Committee (NIAC)
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 3 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# For further information, see http://www.nexusformat.org
-->
<definition xmlns="http://definition.nexusformat.org/nxdl/3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" category="application" name="NXapm_paraprobe_results_spatstat" extends="NXobject" type="group" xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd">
<symbols>
<doc>
The symbols used in the schema to specify e.g. dimensions of arrays.
</doc>
<symbol name="n_ions">
<doc>
The total number of ions in the reconstruction.
</doc>
</symbol>
</symbols>
<doc>
Results of a paraprobe-spatstat tool run.
</doc>
<!--by default for appdefs the value of the exists keyword is required
unless it is explicitly specified differently-->
<group type="NXentry" minOccurs="1" maxOccurs="1">
<attribute name="version">
<doc>
Version specifier of this application definition.
</doc>
</attribute>
<!--##MK::begin of the tool-specific section-->
<field name="definition">
<doc>
Official NeXus NXDL schema with which this file was written.
</doc>
<enumeration>
<item value="NXapm_paraprobe_results_spatstat"/>
</enumeration>
</field>
<!--##MK::end of the tool-specific section-->
<field name="program">
<doc>
Given name of the program/software/tool with which this NeXus
(configuration) file was generated.
</doc>
<attribute name="version">
<doc>
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.
</doc>
</attribute>
</field>
<field name="analysis_identifier">
<doc>
Ideally, a (globally persistent) unique identifier for referring
to this analysis.
</doc>
</field>
<field name="analysis_description" optional="true">
<doc>
Possibility for leaving a free-text description about this analysis.
</doc>
</field>
<field name="start_time" type="NX_DATE_TIME">
<doc>
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.
</doc>
</field>
<field name="end_time" type="NX_DATE_TIME">
<doc>
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.
</doc>
</field>
<field name="config_filename">
<doc>
The absolute path and name of the config file for this analysis.
</doc>
<attribute name="version">
<doc>
At least SHA256 strong hash of the specific config_file for
tracking provenance.
</doc>
</attribute>
</field>
<field name="results_path" optional="true">
<doc>
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.
</doc>
</field>
<field name="status">
<doc>
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.
</doc>
<enumeration>
<item value="success"/>
<item value="failure"/>
</enumeration>
</field>
<group type="NXuser" recommended="true">
<doc>
If used, contact information and eventually details
of at least the person who performed this analysis.
</doc>
<field name="name"/>
<field name="affiliation" recommended="true"/>
<field name="address" optional="true"/>
<field name="email" recommended="true"/>
<field name="orcid" recommended="true"/>
<field name="orcid_platform" recommended="true"/>
<field name="telephone_number" optional="true"/>
<field name="role" recommended="true"/>
<field name="social_media_name" optional="true"/>
<field name="social_media_platform" optional="true"/>
</group>
<group type="NXcoordinate_system_set" optional="true">
<doc>
Details about the coordinate system conventions used.
</doc>
<group type="NXtransformations" minOccurs="1" maxOccurs="unbounded">
<doc>
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
</doc>
</group>
</group>
<!--##MK::begin of the tool-specific section-->
<group type="NXprocess" minOccurs="0" maxOccurs="1">
<group name="window" type="NXcs_filter_boolean_mask">
<doc>
A bitmask which identifies which of the ions in the dataset were
analyzed.
</doc>
<field name="number_of_ions" type="NX_UINT" units="NX_UNITLESS">
<doc>
Number of ions covered by the mask.
The mask value for most may be 0.
</doc>
</field>
<!--which does paraprobe use-->
<field name="bitdepth" type="NX_UINT" units="NX_UNITLESS">
<doc>
Number of bits assumed matching on a default datatype.
(e.g. 8 bits for a C-style uint8).
</doc>
</field>
<field name="mask" type="NX_UINT" units="NX_UNITLESS">
<doc>
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.
</doc>
<dimensions rank="1">
<dim index="1" value="n_ions"/>
</dimensions>
</field>
</group>
<field name="iontypes_randomized" type="NX_UINT" units="NX_UNITLESS">
<doc>
The iontype ID for each ion that was assigned to each ion during
the randomization of the ionlabels. Iontype labels are just permuted
but the total number of values for each iontype stay the same.
The order matches the iontypes array from a given ranging results
as is specified in the configuration settings inside the specific
config_filename that was used for this spatstat analysis.
</doc>
<dimensions rank="1">
<dim index="1" value="n_ions"/>
</dimensions>
</field>
<group name="knn" type="NXprocess" optional="true">
<doc>
K-nearest neighbor statistics.
</doc>
<field name="distance" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Right boundary of the binning.
</doc>
<dimensions rank="1">
<dim index="1" value="i"/>
</dimensions>
</field>
<field name="probability_mass" type="NX_FLOAT" units="NX_DIMENSIONLESS">
<dimensions rank="1">
<dim index="1" value="i"/>
</dimensions>
</field>
<field name="cumulated" type="NX_FLOAT" units="NX_UNITLESS">
<doc>
Cumulated
</doc>
<dimensions rank="1">
<dim index="1" value="i"/>
</dimensions>
</field>
<field name="cumulated_normalized" type="NX_FLOAT" units="NX_DIMENSIONLESS">
<doc>
Cumulated and normalized by total counts
</doc>
<dimensions rank="1">
<dim index="1" value="i"/>
</dimensions>
</field>
</group>
<group name="rdf" type="NXprocess" optional="true">
<doc>
Radial distribution statistics.
</doc>
<field name="distance" type="NX_FLOAT" units="NX_LENGTH">
<doc>
Right boundary of the binning.
</doc>
<dimensions rank="1">
<dim index="1" value="i"/>
</dimensions>
</field>
<field name="probability_mass" type="NX_FLOAT" units="NX_DIMENSIONLESS">
<dimensions rank="1">
<dim index="1" value="i"/>
</dimensions>
</field>
<field name="cumulated" type="NX_FLOAT" units="NX_UNITLESS">
<doc>
Cumulated
</doc>
<dimensions rank="1">
<dim index="1" value="i"/>
</dimensions>
</field>
<field name="cumulated_normalized" type="NX_FLOAT" units="NX_DIMENSIONLESS">
<doc>
Cumulated and normalized by total counts
</doc>
<dimensions rank="1">
<dim index="1" value="i"/>
</dimensions>
</field>
</group>
</group>
<!--##MK::end of the tool-specific section-->
<group name="performance" type="NXcs_profiling" recommended="true">
<field name="current_working_directory"/>
<field name="command_line_call" optional="true"/>
<field name="start_time" type="NX_DATE_TIME" recommended="true"/>
<field name="end_time" type="NX_DATE_TIME" recommended="true"/>
<field name="total_elapsed_time" type="NX_NUMBER"/>
<field name="number_of_processes" type="NX_POSINT"/>
<field name="number_of_threads" type="NX_POSINT"/>
<field name="number_of_gpus" type="NX_POSINT"/>
<group type="NXcs_computer" recommended="true">
<field name="name" recommended="true"/>
<field name="operating_system">
<attribute name="version"/>
</field>
<field name="uuid" optional="true"/>
<group type="NXcs_cpu" minOccurs="0" maxOccurs="unbounded">
<field name="name" optional="true"/>
<group type="NXfabrication" recommended="true">
<field name="identifier" optional="true"/>
<field name="capabilities" optional="true"/>
</group>
</group>
<group type="NXcs_gpu" minOccurs="0" maxOccurs="unbounded">
<field name="name" optional="true"/>
<group type="NXfabrication" recommended="true">
<field name="identifier" optional="true"/>
<field name="capabilities" optional="true"/>
</group>
</group>
<group type="NXcs_mm_sys" minOccurs="0" maxOccurs="1">
<field name="total_physical_memory" type="NX_NUMBER"/>
</group>
<group type="NXcs_io_sys" minOccurs="0" maxOccurs="1">
<group type="NXcs_io_obj" minOccurs="1" maxOccurs="unbounded">
<field name="technology"/>
<field name="max_physical_capacity" type="NX_NUMBER"/>
<field name="name" optional="true"/>
<group type="NXfabrication" recommended="true">
<field name="identifier" optional="true"/>
<field name="capabilities" optional="true"/>
</group>
</group>
</group>
<group type="NXcs_profiling_event">
<field name="start_time" type="NX_DATE_TIME" optional="true"/>
<field name="end_time" type="NX_DATE_TIME" optional="true"/>
<field name="description"/>
<field name="elapsed_time" type="NX_NUMBER"/>
<field name="number_of_processes" type="NX_POSINT">
<!--exists: recommended-->
<doc>
Specify if it was different from the number_of_processes
in the NXcs_profiling super class.
</doc>
</field>
<field name="number_of_threads" type="NX_POSINT">
<!--exists: recommended-->
<doc>
Specify if it was different from the number_of_threads
in the NXcs_profiling super class.
</doc>
</field>
<field name="number_of_gpus" type="NX_POSINT">
<!--exists: recommended-->
<doc>
Specify if it was different from the number_of_threads
in the NXcs_profiling super class.
</doc>
</field>
<field name="max_virtual_memory_snapshot" type="NX_NUMBER" recommended="true"/>
<field name="max_resident_memory_snapshot" type="NX_NUMBER" recommended="true"/>
</group>
</group>
</group>
</group>
</definition>