<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Aptos;
panose-1:2 11 0 4 2 2 2 2 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
span.highlight
{mso-style-name:highlight;}
span.std
{mso-style-name:std;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi Jan,<o:p></o:p></p>
<p class="MsoNormal">I think some of the issues you identify are deficiencies in the package. If by checking the base class, you believe that a warning message is incorrect, please post this as an issue on Github (<a href="https://github.com/nexpy/nxvalidate/issues">https://github.com/nexpy/nxvalidate/issues</a>).
If it’s a problem with the standard or you think the standard needs modifying, we should discuss it at the NIAC. Stimulating such discussions is one of the reasons I announced the package here.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I believe the NXroot NXDL file only allows NXentry groups, so I think the package is issuing the correct message. Whether we should modify the NXDL to allow non-NeXus groups as well may be something for the NIAC to consider. Of course,
it’s only an error message; it can be ignored.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The axes validation requires a little work but I’m not sure I understand your statement that “if axes attribute contain a single string it is separated to single letters.” I don’t think that has ever been true. We have allowed single strings
containing delimiters such as ‘:’ to separate the axes, although lists of strings are now preferred.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I should probably downgrade some of the other warning messages to be informational messages. In fact, I confess I hadn’t spotted the “ignoreExtraFields” and related attributes in the NXDL definition header. I had added a few groups, such
as NXcollection and NXdata, manually to a list where additional fields were allowed, but I hadn’t included NXtransformations. I now see that the header attributes would allow me to do that automatically. The axes validation requires a little work, and I also
don’t handle placeholder name patterns, such as FIELDNAME_errors, or symbols, which are used mostly in dimension statements.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So this is a work in progress and feedback such as this is appreciated.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">With regards,<o:p></o:p></p>
<p class="MsoNormal">Ray</p>
<div>
<div>
<p class="MsoNormal">-- <br>
Ray Osborn, Senior Scientist<br>
Materials Science Division<br>
Argonne National Laboratory<br>
Lemont, IL 60439, USA<br>
Phone: +1 (630) 252-9011<br>
Email: ROsborn@anl.gov<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div id="mail-editor-reference-message-container">
<div>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="color:black">From:
</span></b><span style="color:black">Kotanski, Jan <jan.kotanski@desy.de><br>
<b>Date: </b>Wednesday, September 18, 2024 at 12:42</span><span style="font-family:"Arial",sans-serif;color:black"> </span><span style="color:black">AM<br>
<b>To: </b>Discussion forum for the NeXus data format <nexus@nexusformat.org><br>
<b>Cc: </b>Osborn, Raymond <rosborn@anl.gov><br>
<b>Subject: </b>Re: [Nexus] Announcing beta-version of the NXvalidate Python package<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white">Dear Ray, thank you for providing the tool. I've just run the nxinspect on one of my file and I get unexpected warning i.</span><span style="font-size:1.0pt;font-family:"Arial",sans-serif;color:white"> </span><span style="font-size:1.0pt;color:white">e.
- This field is not defined in the base class NXtransformations (but below NXtransformations we can create a field with<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white">ZjQcmQRYFpfptBannerStart<o:p></o:p></span></p>
</div>
<div style="border:none;border-top:solid #90A4AE 3.0pt;padding:0in 0in 0in 0in;display:block!important;text-align:left!important;margin:0px!important;padding:16px!important;border-radius:4px!important;min-width:200px!important;background-color:#D0D8DC!important;border-top:#90a4ae!important" id="pfptBanner71xcpf5">
<div id="pfptBanner71xcpf5">
<div id="pfptBanner71xcpf5">
<p class="MsoNormal" style="line-height:13.5pt;background:#D0D8DC"><b><span style="font-family:"Arial",sans-serif;color:black">This Message Is From an External Sender
<o:p></o:p></span></b></p>
</div>
<div id="pfptBanner71xcpf5">
<p class="MsoNormal" style="line-height:13.5pt;background:#D0D8DC"><span style="font-family:"Arial",sans-serif;color:black">This message came from outside your organization.
<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal" style="background:#D0D8DC"><span style="color:black"> </span></p>
</div>
</div>
<div>
<p class="MsoNormal" style="mso-line-height-alt:.75pt"><span style="font-size:1.0pt;color:white">ZjQcmQRYFpfptBannerEnd<o:p></o:p></span></p>
</div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">Dear Ray,<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">thank you for providing the tool.<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">I've just run the nxinspect on one of my file and I get unexpected warning i.e.<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">- This field is not defined in the base class NXtransformations<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> (but below NXtransformations we can create a field with any name)<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">- Axis ." not present in group "/scan/data"<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> (I thought '.' one of the possible values i.e.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> 'The NXdata group attribute
<span class="highlight">axes</span> = . . declares that both dimensions of the data field do not<br>
have associated dimension scales (plotting routines should use integer scaling for each axis).' )<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">- Axis e" not present in group "/scan/data"<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> (if axes attribute contain a single string it is separated to single letters)<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">- NXcollection is an invalid class in NXcollection<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> (however in the documentation it is written that 'Anything (groups, fields, or attributes) placed in an
</span><a href="https://urldefense.us/v3/__https:/manual.nexusformat.org/classes/base_classes/NXcollection.html*nxcollection__;Iw!!G_uCfscf7eWS!Yc3QrTHscDtsRbsZ8VdtJNChFi2w9o-rYY6PCL8kgeorvry5Yw0Hc9EeUC_bmMw-idwAaI2c2xMYdgtUOduCsQ$" target="_blank"><span class="std"><span style="font-family:"Arial",sans-serif">NXcollection</span></span></a><span style="font-family:"Arial",sans-serif;color:black">
group will not be validated.'<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> and NXcollection is a group so nesting of NXcollection should be allowed)<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> - NXcollection is an invalid class in NXroot<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> Is the NXcollection group really forbidden below NXroot? I saw some hdf5 multi-format files where NXcollection was used on the root level<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> to denote non-NeXus (meta)data. If NXcollection below in not allowed I would like to ask if it is possible to create HDF5 multiformat files<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"> and how they should be create to be valid NeXus file?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><br>
Best regards,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">Jan<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
<div class="MsoNormal" align="center" style="text-align:center"><span style="font-family:"Arial",sans-serif;color:black">
<hr size="0" width="96%" align="center">
</span></div>
<div>
<p class="MsoNormal"><b><span style="font-family:"Arial",sans-serif;color:black">From:
</span></b><span style="font-family:"Arial",sans-serif;color:black">"Discussion forum for the NeXus data format" <nexus@shadow.nd.rl.ac.uk><br>
<b>To: </b>"Discussion forum for the NeXus data format" <nexus@shadow.isis.cclrc.ac.uk>, "Discussion forum for the NeXus data format" <nexus@nexusformat.org><br>
<b>Cc: </b>"Osborn, Raymond" <rosborn@anl.gov><br>
<b>Sent: </b>Tuesday, 17 September, 2024 15:03:22<br>
<b>Subject: </b>Re: [Nexus] Announcing beta-version of the NXvalidate Python package<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="color:black">Hi Jens,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Thanks for the suggestion. Code maintenance is always an issue, but I had planned to issue a new release whenever there was an official NeXus release, which is not that frequent. I’m reluctant to complicate the
installation process, but I think we could achieve what you are requesting by allowing an option to point to another directory containing the definitions. That directory, for example, could be part of a cloned nexusformat git repository that the user can keep
updated. I should be able to implement that in the next few days.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">With regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Ray<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="color:black">-- <br>
Ray Osborn, Senior Scientist<br>
Materials Science Division<br>
Argonne National Laboratory<br>
Lemont, IL 60439, USA<br>
Phone: +1 (630) 252-9011<br>
Email: ROsborn@anl.gov<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<div id="mail-editor-reference-message-container">
<div>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="color:black">From:
</span></b><span style="color:black">NeXus <nexus-bounces@shadow.nd.rl.ac.uk> on behalf of Jens Krüger via NeXus <nexus@shadow.nd.rl.ac.uk><br>
<b>Date: </b>Tuesday, September 17, 2024 at 1:29</span><span style="font-family:"Arial",sans-serif;color:black"> </span><span style="color:black">AM<br>
<b>To: </b>nexus@nexusformat.org <nexus@nexusformat.org><br>
<b>Cc: </b>Jens Krüger <Jens.Krueger@frm2.tum.de><br>
<b>Subject: </b>Re: [Nexus] Announcing beta-version of the NXvalidate Python package<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:1.0pt;color:white">Hi Ray, thanks for the information about the nxinspect tool and the effort you put into this project. I have a question: Wouldn't it make sense to download all the definitions from the nexusformat.</span><span style="font-size:1.0pt;font-family:"Arial",sans-serif;color:white"> </span><span style="font-size:1.0pt;color:white">org
during the installation and use them locally</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:1.0pt;color:white">ZjQcmQRYFpfptBannerStart</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div style="border:none;border-top:solid #90A4AE 3.0pt;padding:0in 0in 0in 0in;display:block!important;text-align:left!important;margin:0px!important;padding:16px!important;border-radius:4px!important;min-width:200px!important;background-color:#d0d8dc!important;border-top:#90a4ae!important" id="pfptBannerhtoshxv">
<div id="pfptBannerhtoshxv">
<div id="pfptBannerhtoshxv">
<p class="MsoNormal" style="line-height:13.5pt;background:#D0D8DC"><b><span style="font-family:"Arial",sans-serif;color:black">This Message Is From an External Sender
</span></b><span style="color:black"><o:p></o:p></span></p>
</div>
<div id="pfptBannerhtoshxv">
<p class="MsoNormal" style="line-height:13.5pt;background:#D0D8DC"><span style="font-family:"Arial",sans-serif;color:black">This message came from outside your organization.
</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal" style="background:#D0D8DC"><span style="color:black"> <o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:1.0pt;color:white">ZjQcmQRYFpfptBannerEnd</span><span style="color:black"><o:p></o:p></span></p>
</div>
<pre style="white-space:pre-wrap"><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Hi Ray,</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">thanks for the information about the nxinspect tool and the effort you </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">put into this project.</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">I have a question: Wouldn't it make sense to download all the </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">definitions from the nexusformat.org</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">during the installation and use them locally instead of put them into </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">the repo? I'm afraid,</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">that the sync between nexpy and nexusformat repos could be a big </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">challenge in the future.</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Best regards</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Jens</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Am 16.09.24 um 18:04 schrieb Osborn, Raymond via NeXus:</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> I am happy to announce that we have just issued the first beta-release of NXvalidate (</span><a href="https://urldefense.us/v3/__https:/github.com/nexpy/nxvalidate__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gtziFrBLA$" target="_blank"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">https://urldefense.us/v3/__https://github.com/nexpy/nxvalidate__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gtziFrBLA$</span></a><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">), a new Python package used to inspect and validate NeXus files. It is currently available for installation on the PyPI server and the source code can be downloaded from Github. When it is more mature, it will be merged into the nexusformat package, with a GUI interface in NeXpy (</span><a href="https://urldefense.us/v3/__https:/nexpy.github.io/nexpy/__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gv42bvToA$" target="_blank"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">https://urldefense.us/v3/__https://nexpy.github.io/nexpy/__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gv42bvToA$</span></a><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">). I hope to discuss this at the upcoming meeting of the NeXus International Advisory Committee and would welcome any feedback if you try it out before then. Please note that this is not a production release. Please post any issues to </span><a href="https://urldefense.us/v3/__https:/github.com/nexpy/nxvalidate/issues__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gsrqLSP2Q$" target="_blank"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">https://urldefense.us/v3/__https://github.com/nexpy/nxvalidate/issues__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gsrqLSP2Q$</span></a><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">.</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Installation</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Released versions of nxvalidate can be installed using “pip install nxvalidate” and the source code can be downloaded from the NeXpy Git repository:</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> % git clone </span><a href="https://urldefense.us/v3/__http:/github.com/nexpy/nxvalidate.git__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gtz4Uru8A$" target="_blank"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">https://urldefense.us/v3/__http://github.com/nexpy/nxvalidate.git__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gtz4Uru8A$</span></a><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Usage</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> The nxvalidate package provides a single command-line script.</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> % nxinspect -h</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> usage: nxinspect [-h] [-f FILENAME] [-p PATH] [-a [APPLICATION]]</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> [-b BASECLASS] [-i] [-w] [-e] [-v]</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Inspects and validates NeXus files.</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> options:</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> -h, --help show this help message and exit</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> -f FILENAME, --filename FILENAME</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> name of the NeXus file to be validated</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> -p PATH, --path PATH</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> path to group to be validated in the NeXus file</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> -b BASECLASS, --baseclass BASECLASS</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> name of the base class to be listed</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> -a [APPLICATION], --application [APPLICATION]</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> validate the NeXus file against its application definition</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> -i, --info output info messages in addition to warnings and errors</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> -w, --warning output info messages in addition to warnings and errors</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> -e, --error output info messages in addition to warnings and errors</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> -v, --version show program's version number and exit</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> N.B., the command is “nxinspect,” rather than “nxvalidate” to avoid confusion with the existing “cnxvalidate” application (</span><a href="https://urldefense.us/v3/__https:/github.com/nexusformat/cnxvalidate__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gtoRsqAFg$" target="_blank"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">https://urldefense.us/v3/__https://github.com/nexusformat/cnxvalidate__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gtoRsqAFg$</span></a><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">).</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Examples</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> 1. To compare the contents of a NeXus file with the base classes defined by the NeXus standard and print conflicting fields or groups, type:</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> % nxinspect -f <filename.nxs> -e</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> The --info, --warning and --error switches control how much information is output. The default is --warning.</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> 2. To check whether the contents of the NeXus file conform to the required contents of the application definition specified in the file, type:</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> % nxinspect -f <filename.nxs> -a</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> 3. To check whether the contents of the NeXus file conform to the required contents of an application definition file, type:</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> % nxinspect -f <filename.nxs> -a <application.nxdl.xml></span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> 4. To print the contents of a base class, type:</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> % nxinspect -b <base-class-name></span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> With regards,</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Ray Osborn</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> --</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Ray Osborn, Senior Scientist</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Materials Science Division</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Argonne National Laboratory</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Lemont, IL 60439, USA</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Phone: +1 (630) 252-9011</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> Email: ROsborn@anl.gov</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> _______________________________________________</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> NeXus mailing list</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> NeXus@nexusformat.org</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">> </span><a href="https://urldefense.us/v3/__https:/lists.nexusformat.org/mailman/listinfo/nexus__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9guwW37CUg$" target="_blank"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">https://urldefense.us/v3/__https://lists.nexusformat.org/mailman/listinfo/nexus__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9guwW37CUg$</span></a><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">-- </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Dipl.-Phys. Jens Krüger</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Leiter Gruppe Instrumentsteuerung</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Head of Instrument control group</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Technische Universität München</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Forschungsneutronenquelle</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Heinz Maier-Leibnitz (FRM II)</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Lichtenberg-Str. 1</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">D-85748 Garching</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Tel: + 49 (0)89 289 14716</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">Fax: + 49 (0)89 289 14620</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">mailto: jens.krueger@frm2.tum.de</span><span style="color:black"><o:p></o:p></span></pre>
<pre><a href="https://urldefense.us/v3/__https:/www.frm2.tum.de__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gu-04bayA$" target="_blank"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">https://urldefense.us/v3/__https://www.frm2.tum.de__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gu-04bayA$</span></a><span style="color:black"><o:p></o:p></span></pre>
<pre><a href="https://urldefense.us/v3/__https:/www.mlz-garching.de__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gtT85dm6Q$" target="_blank"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">https://urldefense.us/v3/__https://www.mlz-garching.de__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9gtT85dm6Q$</span></a><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black"> </span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">_______________________________________________</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">NeXus mailing list</span><span style="color:black"><o:p></o:p></span></pre>
<pre><span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:black">NeXus@nexusformat.org</span><span style="color:black"><o:p></o:p></span></pre>
<pre><a href="https://urldefense.us/v3/__https:/lists.nexusformat.org/mailman/listinfo/nexus__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9guwW37CUg$" target="_blank"><span style="font-size:12.0pt;font-family:"Arial",sans-serif">https://urldefense.us/v3/__https://lists.nexusformat.org/mailman/listinfo/nexus__;!!G_uCfscf7eWS!dBKs6J3MTRu8kT6R8Vfk1ILUz-I_1i71_Vh7ySBK_KpCdajICcg6uNBz-EHhHtwoin6wbp59N6si9guwW37CUg$</span></a><span style="color:black"><o:p></o:p></span></pre>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><br>
_______________________________________________<br>
NeXus mailing list<br>
NeXus@nexusformat.org<br>
</span><a href="https://urldefense.us/v3/__https:/lists.nexusformat.org/mailman/listinfo/nexus__;!!G_uCfscf7eWS!Yc3QrTHscDtsRbsZ8VdtJNChFi2w9o-rYY6PCL8kgeorvry5Yw0Hc9EeUC_bmMw-idwAaI2c2xMYdguZTaVYdg$"><span style="font-family:"Arial",sans-serif">https://lists.nexusformat.org/mailman/listinfo/nexus</span></a><span style="font-family:"Arial",sans-serif;color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>