From 0ad241d7e77cbf4b89747a1f76cd85e9cedca7df Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Wed, 30 Apr 2025 13:59:09 -0500 Subject: [PATCH 1/8] Improve the description of the group's purpose --- base_classes/NXprocess.nxdl.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/base_classes/NXprocess.nxdl.xml b/base_classes/NXprocess.nxdl.xml index 2dac1278af..2dac9a4051 100644 --- a/base_classes/NXprocess.nxdl.xml +++ b/base_classes/NXprocess.nxdl.xml @@ -26,7 +26,12 @@ xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd" name="NXprocess" type="group" extends="NXobject"> - Document an event of data processing, reconstruction, or analysis for this data. + + The :ref:`NXprocess` class describes an operation used to + process data as part of an analysis workflow, providing + information such as the software used, the date of the + operation, the input parameters, and the resulting data. + Name of the program used From b22e793f1b3960d39762a8e9f7ba750876c4148c Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Wed, 30 Apr 2025 14:00:39 -0500 Subject: [PATCH 2/8] Add NXparameters and NXdata groups These are already allowed through extension of the NXobject group, but it is helpful to show that they have a particular purpose within this base class. --- base_classes/NXprocess.nxdl.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/base_classes/NXprocess.nxdl.xml b/base_classes/NXprocess.nxdl.xml index 2dac9a4051..a402707142 100644 --- a/base_classes/NXprocess.nxdl.xml +++ b/base_classes/NXprocess.nxdl.xml @@ -58,4 +58,14 @@ The name will be numbered to allow for ordering of steps. + + + Parameters used in performing the data analysis. + + + + + The data resulting from the operation. + + From 7f915ccbd9491434a84f2eee5226cc1ff66f87f9 Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Wed, 30 Apr 2025 14:01:11 -0500 Subject: [PATCH 3/8] Reformatting line lengths --- base_classes/NXprocess.nxdl.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/base_classes/NXprocess.nxdl.xml b/base_classes/NXprocess.nxdl.xml index a402707142..bc8e69eebf 100644 --- a/base_classes/NXprocess.nxdl.xml +++ b/base_classes/NXprocess.nxdl.xml @@ -37,8 +37,8 @@ - Sequence index of processing, - for determining the order of multiple **NXprocess** steps. + Sequence index of processing, for determining the order of + multiple **NXprocess** steps. Starts with 1. @@ -50,10 +50,10 @@ - The note will contain information about how the data was processed - or anything about the data provenance. - The contents of the note can be anything that the processing code - can understand, or simple text. + The note will contain information about how the data was + processed or anything about the data provenance. The + contents of the note can be anything that the processing + code can understand, or simple text. The name will be numbered to allow for ordering of steps. From eb46d31a66165b962049e735f5f8171681e7ff31 Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Wed, 30 Apr 2025 14:19:35 -0500 Subject: [PATCH 4/8] Add the default attribute to select the preferred NXdata group In principle, there could be more than one. --- base_classes/NXprocess.nxdl.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/base_classes/NXprocess.nxdl.xml b/base_classes/NXprocess.nxdl.xml index bc8e69eebf..794a854629 100644 --- a/base_classes/NXprocess.nxdl.xml +++ b/base_classes/NXprocess.nxdl.xml @@ -68,4 +68,17 @@ The data resulting from the operation. + + + .. index:: plotting + + Declares which child group contains a path leading to a + :ref:`NXdata` group. + + It is recommended (as of NIAC2014) to use this attribute to help + define the path to the default dataset to be plotted. See + https://www.nexusformat.org/2014_How_to_find_default_data.html + for a summary of the discussion. + + From 9f3a448627afa643e9f8f2fd9313d297ca9d004a Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Fri, 2 May 2025 08:10:42 -0500 Subject: [PATCH 5/8] Remove unneeded `default` attribute --- base_classes/NXprocess.nxdl.xml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/base_classes/NXprocess.nxdl.xml b/base_classes/NXprocess.nxdl.xml index 794a854629..bc8e69eebf 100644 --- a/base_classes/NXprocess.nxdl.xml +++ b/base_classes/NXprocess.nxdl.xml @@ -68,17 +68,4 @@ The data resulting from the operation. - - - .. index:: plotting - - Declares which child group contains a path leading to a - :ref:`NXdata` group. - - It is recommended (as of NIAC2014) to use this attribute to help - define the path to the default dataset to be plotted. See - https://www.nexusformat.org/2014_How_to_find_default_data.html - for a summary of the discussion. - - From 30546659c000f7d6f3c5d20ca9e7fa114b7332c5 Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Mon, 16 Jun 2025 11:13:30 -0500 Subject: [PATCH 6/8] Change the manual to document the possibility of storing data in the NXprocess group. --- manual/source/applying-nexus.rst | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/manual/source/applying-nexus.rst b/manual/source/applying-nexus.rst index 0809ab172d..0c03a16499 100644 --- a/manual/source/applying-nexus.rst +++ b/manual/source/applying-nexus.rst @@ -561,12 +561,18 @@ Processed Data NXprocess Processed Data -Data reduction and analysis programs are encouraged to store their results in -NeXus data files. As far as the necessary, the normal NeXus -:index:`hierarchy ` -is to be implemented. In addition, processed data files -must contain a :ref:`NXprocess` -group. This group, that documents and preserves data provenance, -contains the name of the data processing program and the -parameters used to run this program in order to achieve the results stored in -this entry. Multiple processing steps must have a separate entry each. +Data reduction and analysis programs are encouraged to store their +results in NeXus data files, which may be the same file that contains +the raw data. It is recommended to document the actions taken to +generate the processed data in a :ref:`NXprocess` group, which has +fields to store the name of the program used, its version number, and +the date when it was run. If there are multiple processes recorded in +the file, the group should also contain a sequence index to specify the +order in which they were run. NXProcess groups can also contain one or +more :ref:`NXparameters` groups to store the parameters used by the +program as well as one or more :ref:`NXdata` groups that contain the +results of the process. This has the advantage of encapsulating all the +information required to preserve the provenance of the processed data in +a single group. However, it is also acceptable to store the resulting +data in NXdata group at the same level as the NXprocess group in the +NeXus :index:`hierarchy `. From 629cca572a59c05af89d90ffcb6593f6cf33a61a Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Mon, 16 Jun 2025 13:26:38 -0500 Subject: [PATCH 7/8] Fix typos --- manual/source/applying-nexus.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manual/source/applying-nexus.rst b/manual/source/applying-nexus.rst index 0c03a16499..bc009dea7b 100644 --- a/manual/source/applying-nexus.rst +++ b/manual/source/applying-nexus.rst @@ -568,11 +568,11 @@ generate the processed data in a :ref:`NXprocess` group, which has fields to store the name of the program used, its version number, and the date when it was run. If there are multiple processes recorded in the file, the group should also contain a sequence index to specify the -order in which they were run. NXProcess groups can also contain one or +order in which they were run. NXprocess groups can also contain one or more :ref:`NXparameters` groups to store the parameters used by the program as well as one or more :ref:`NXdata` groups that contain the results of the process. This has the advantage of encapsulating all the information required to preserve the provenance of the processed data in a single group. However, it is also acceptable to store the resulting -data in NXdata group at the same level as the NXprocess group in the +data in a NXdata group at the same level as the NXprocess group in the NeXus :index:`hierarchy `. From 75647df242eb82b18e35827998acd98eef647c20 Mon Sep 17 00:00:00 2001 From: Ray Osborn Date: Wed, 18 Jun 2025 16:33:53 -0500 Subject: [PATCH 8/8] Adds the attribute to define the default NXdata group to be plotted. --- base_classes/NXprocess.nxdl.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/base_classes/NXprocess.nxdl.xml b/base_classes/NXprocess.nxdl.xml index bc8e69eebf..df833f4e34 100644 --- a/base_classes/NXprocess.nxdl.xml +++ b/base_classes/NXprocess.nxdl.xml @@ -32,6 +32,12 @@ information such as the software used, the date of the operation, the input parameters, and the resulting data. + + + Declares which :ref:`NXdata` group contained within this + NXprocess group should be plotted by default. + + Name of the program used