From d73f3567db37b7939ee79a619ede23a87140dd74 Mon Sep 17 00:00:00 2001 From: Pete R Jemian Date: Sat, 27 Feb 2016 10:06:53 -0600 Subject: [PATCH 01/15] trivial change to test the NeXus Jenkins server --- _sphinx/README | 1 + 1 file changed, 1 insertion(+) diff --git a/_sphinx/README b/_sphinx/README index 74d58f567..70194edee 100755 --- a/_sphinx/README +++ b/_sphinx/README @@ -4,6 +4,7 @@ This directory contains the source for an alternative rendering of the NeXus doc The tool used here is sphinx. It relies on source code files coded in reST. See the sphinx WWW site for how this works: http://sphinx.pocoo.org/ + Typical Builds ---------------- From 7e6df579cc2cf6c36f0cded103176c405e85f5b9 Mon Sep 17 00:00:00 2001 From: prjemian Date: Sat, 27 Feb 2016 19:03:17 -0600 Subject: [PATCH 02/15] fixes #456 - resolve inconsistent indentation (associated with figures) --- manual/source/introduction.rst | 154 ++++++++++++++++----------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/manual/source/introduction.rst b/manual/source/introduction.rst index dd4e514fb..cf38e3c9f 100644 --- a/manual/source/introduction.rst +++ b/manual/source/introduction.rst @@ -166,14 +166,14 @@ Example of a NeXus File The following diagram shows an example of a NeXus data file represented as a tree structure. - .. compound:: - - .. _Figure.Example_NeXus_file: - - .. rubric:: Example of a NeXus Data File - - .. image:: img/Hierarchy.png - :width: 80% +.. compound:: + + .. _Figure.Example_NeXus_file: + + .. rubric:: Example of a NeXus Data File + + .. image:: img/Hierarchy.png + :width: 80% Note that each field is identified by a name, such as ``counts``, @@ -238,25 +238,25 @@ complete list can be found in the :ref:`Design` chapter. .. index:: NXinstrument (base class) :ref:`NXinstrument` - There might also be a group with - class ``NXinstrument``. This is designed to encapsulate all the - instrumental information that might be relevant to a - measurement, such as flight paths, collimation, chopper - frequencies, etc. - - .. compound:: - - .. _Figure.NXinstrument_excerpt: - - .. rubric:: ``NXinstrument`` excerpt - - .. image:: img/NXinstrument.png - :width: 50% - - Since an instrument can include several beamline components each - defined by several parameters, the components are each specified by a separate group. - This hides the complexity from generic file browsers, but makes the - information available in an intuitively obvious way if it is required. + There might also be a group with + class ``NXinstrument``. This is designed to encapsulate all the + instrumental information that might be relevant to a + measurement, such as flight paths, collimation, chopper + frequencies, etc. + + .. compound:: + + .. _Figure.NXinstrument_excerpt: + + .. rubric:: ``NXinstrument`` excerpt + + .. image:: img/NXinstrument.png + :width: 50% + + Since an instrument can include several beamline components each + defined by several parameters, the components are each specified by a separate group. + This hides the complexity from generic file browsers, but makes the + information available in an intuitively obvious way if it is required. .. _Introduction-SimpleExample: @@ -275,14 +275,14 @@ that could be used to transfer data between programs. (Later in this section, we show how to write and read this simple example.) - .. compound:: - - .. _fig.simple-example: - - .. rubric:: Example structure of a simple data file - - .. image:: img/Simple.png - :width: 60% +.. compound:: + + .. _fig.simple-example: + + .. rubric:: Example structure of a simple data file + + .. image:: img/Simple.png + :width: 60% This illustrates the fact that the structure of NeXus files is @@ -291,16 +291,16 @@ information, if required, but it can also be used to store very simple data sets. Here is the structure of a very simple NeXus data file (:download:`examples/verysimple.nx5`): - .. compound:: - - .. _fig.verysimple-structure: - - .. rubric:: Structure of a very simple NeXus Data file - - .. literalinclude:: examples/verysimple.txt - :tab-width: 4 - :linenos: - :language: text +.. compound:: + + .. _fig.verysimple-structure: + + .. rubric:: Structure of a very simple NeXus Data file + + .. literalinclude:: examples/verysimple.txt + :tab-width: 4 + :linenos: + :language: text .. index:: NeXpy @@ -308,28 +308,28 @@ sets. Here is the structure of a very simple NeXus data file NeXus files are easy to visualize. Here, this data is plotted using *NeXPy* simply by opening the NeXus data file and double-clicking the file name in the list: - .. compound:: - - .. _fig.verysimple-png: +.. compound:: + + .. _fig.verysimple-png: - .. rubric:: Plot of a very simple NeXus HDF5 Data file + .. rubric:: Plot of a very simple NeXus HDF5 Data file - .. image:: img/verysimple.png - :width: 60% + .. image:: img/verysimple.png + :width: 60% NeXus files are easy to create. This example NeXus file was created using a short Python program and the *h5py* package: - .. compound:: - - .. _fig.verysimple-py: - - .. rubric:: Using Python to write a very simple NeXus HDF5 Data file - - .. literalinclude:: examples/verysimple.py - :tab-width: 4 - :linenos: - :language: guess +.. compound:: + + .. _fig.verysimple-py: + + .. rubric:: Using Python to write a very simple NeXus HDF5 Data file + + .. literalinclude:: examples/verysimple.py + :tab-width: 4 + :linenos: + :language: guess .. _Introduction-DataStorageObjects: @@ -366,14 +366,14 @@ the simple NeXus file shown above. .. compound:: - .. _fig.verysimple.nxdl.xml: - - .. rubric:: A very simple NeXus Definition Language (NXDL) file - - .. literalinclude:: examples/verysimple.nxdl.xml - :tab-width: 4 - :linenos: - :language: guess + .. _fig.verysimple.nxdl.xml: + + .. rubric:: A very simple NeXus Definition Language (NXDL) file + + .. literalinclude:: examples/verysimple.nxdl.xml + :tab-width: 4 + :linenos: + :language: guess Complete examples of reading and writing NeXus data files are provided :ref:`later `. @@ -407,14 +407,14 @@ would contain lines similar to the following: .. compound:: - .. _fig.ex-simple.c: - - .. rubric:: Simple example of reading data using the NeXus API - - .. literalinclude:: examples/ex-simple.c - :tab-width: 4 - :linenos: - :language: guess + .. _fig.ex-simple.c: + + .. rubric:: Simple example of reading data using the NeXus API + + .. literalinclude:: examples/ex-simple.c + :tab-width: 4 + :linenos: + :language: guess In this example, the program requests the value of the data that has the label ``wavelength``, storing the result in the variable lambda. From 01e50e861753c705a50ee982da350edaadd48569 Mon Sep 17 00:00:00 2001 From: Pete R Jemian Date: Sat, 27 Feb 2016 19:09:03 -0600 Subject: [PATCH 03/15] remove SVN keywords --- _sphinx/README | 1 - 1 file changed, 1 deletion(-) diff --git a/_sphinx/README b/_sphinx/README index 70194edee..343648d93 100755 --- a/_sphinx/README +++ b/_sphinx/README @@ -1,4 +1,3 @@ -$Id: README 841 2011-05-18 20:35:30Z Pete Jemian $ This directory contains the source for an alternative rendering of the NeXus documentation. The tool used here is sphinx. It relies on source code files coded in reST. From b1bcb8e51444477e5efd2d97b19ac8b5e1931ee7 Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 27 Feb 2016 19:12:23 -0600 Subject: [PATCH 04/15] minor --- _sphinx/{README => README.rst} | 71 ++++++++++++++++++---------------- 1 file changed, 37 insertions(+), 34 deletions(-) rename _sphinx/{README => README.rst} (90%) diff --git a/_sphinx/README b/_sphinx/README.rst similarity index 90% rename from _sphinx/README rename to _sphinx/README.rst index 343648d93..2a9f43e20 100755 --- a/_sphinx/README +++ b/_sphinx/README.rst @@ -1,34 +1,37 @@ - -This directory contains the source for an alternative rendering of the NeXus documentation. -The tool used here is sphinx. It relies on source code files coded in reST. -See the sphinx WWW site for how this works: http://sphinx.pocoo.org/ - - -Typical Builds ----------------- - -These commands are useful on Linux -(from the /trunk/sphinx directory): - - make clean - make html - make latexpdf - firefox build/html/index.html & - evince build/latex/nexus.pdf & - - -Development -------------- - -When building the new sphinx documentation, -commands similar to these might be useful when -sifting through the output:: - - cp /dev/null makelog.txt - logmake clean html - grep introduction makelog.txt \ - | grep -v include \ - | grep -v undefined \ - | grep -v "not readable" \ - | grep -v "not found" \ - | grep -v Duplicate + +README: The *Impatient* Guide +############################# + +This directory contains the source for an alternative rendering of the NeXus documentation. +The tool used here is sphinx. It relies on source code files coded in reST. +See the sphinx WWW site for how this works: http://sphinx.pocoo.org/ + + +Typical Builds +************** + +These commands are useful on Linux +(from the /trunk/sphinx directory): + + make clean + make html + make latexpdf + firefox build/html/index.html & + evince build/latex/nexus.pdf & + + +Development +*********** + +When building the new sphinx documentation, +commands similar to these might be useful when +sifting through the output:: + + cp /dev/null makelog.txt + logmake clean html + grep introduction makelog.txt \ + | grep -v include \ + | grep -v undefined \ + | grep -v "not readable" \ + | grep -v "not found" \ + | grep -v Duplicate From 532171fbf888319a1172234651fea064f43edfe5 Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 27 Feb 2016 19:39:59 -0600 Subject: [PATCH 05/15] refs #452: remove obsolete directory used during transition from docbook to ReST --- .settings/org.eclipse.core.resources.prefs | 1 - README.md | 3 +- _sphinx/Makefile_old | 137 -- _sphinx/README.rst | 37 - _sphinx/db2rst.py | 1159 ----------------- _sphinx/docbook.xml | 14 - _sphinx/nxdb2rst.py | 371 ------ _sphinx/nxdl2rst.py | 262 ---- _sphinx/runner.py | 119 -- _sphinx/source/TODO.rst | 115 -- _sphinx/source/authors.rst | 17 - _sphinx/source/cheatsheet.rst | 214 --- _sphinx/source/conf.py.in | 277 ---- _sphinx/source/contents.rst | 19 - _sphinx/source/frontmatter.rst | 37 - _sphinx/source/index.rst | 28 - _sphinx/source/markup-spec.rst | 1021 --------------- _sphinx/source/nexuslogo.png | Bin 4985 -> 0 bytes _sphinx/source/preface.rst | 136 -- _sphinx/source/revhistory.rst | 39 - .../source/volume1/design/data-linking.png | Bin 109763 -> 0 bytes _sphinx/source/volume1/design/datarules.rst | 587 --------- _sphinx/source/volume1/design/fileformat.rst | 189 --- _sphinx/source/volume1/design/index.rst | 718 ---------- _sphinx/source/volume1/design/mcstascoord.png | Bin 157872 -> 0 bytes _sphinx/source/volume1/design/polplane.png | Bin 23850 -> 0 bytes _sphinx/source/volume1/design/rules/index.rst | 75 -- .../volume1/design/rules/processed.rst0 | 380 ------ _sphinx/source/volume1/faq.rst | 259 ---- _sphinx/source/volume1/index.rst | 19 - _sphinx/source/volume1/introduction/NAPI.rst | 37 - .../volume1/introduction/howto/browse.rst | 93 -- .../volume1/introduction/howto/read.rst | 41 - .../volume1/introduction/howto/write.rst | 117 -- _sphinx/source/volume1/introduction/index.rst | 39 - .../motivations/data-post-nexus.jpg | Bin 40976 -> 0 bytes .../motivations/data-pre-nexus.jpg | Bin 38753 -> 0 bytes .../introduction/motivations/dictionary.rst | 21 - .../introduction/motivations/index.rst | 75 -- .../introduction/motivations/plotting.rst | 19 - .../introduction/motivations/unified.rst | 116 -- .../volume1/introduction/whatis/Hierarchy.png | Bin 117389 -> 0 bytes .../introduction/whatis/NXinstrument.png | Bin 136001 -> 0 bytes .../volume1/introduction/whatis/Simple.png | Bin 31546 -> 0 bytes .../volume1/introduction/whatis/community.rst | 28 - .../volume1/introduction/whatis/design.rst | 245 ---- .../volume1/introduction/whatis/index.rst | 60 - .../volume1/introduction/whatis/lowlevel.rst0 | 18 - .../volume1/introduction/whatis/objects.rst | 85 -- .../introduction/whatis/subroutines.rst | 46 - .../volume2/NXDL/applications/NXarchive.rst | 107 -- .../volume2/NXDL/applications/NXdirecttof.rst | 65 - .../volume2/NXDL/applications/NXfluo.rst | 81 -- .../NXDL/applications/NXindirecttof.rst | 66 - .../volume2/NXDL/applications/NXiqproc.rst | 81 -- .../volume2/NXDL/applications/NXlauetof.rst | 81 -- .../volume2/NXDL/applications/NXmonopd.rst | 84 -- .../volume2/NXDL/applications/NXrefscan.rst | 85 -- .../volume2/NXDL/applications/NXreftof.rst | 85 -- .../volume2/NXDL/applications/NXsas.rst | 99 -- .../volume2/NXDL/applications/NXsastof.rst | 97 -- .../volume2/NXDL/applications/NXscan.rst | 96 -- .../volume2/NXDL/applications/NXspe.rst | 82 -- .../volume2/NXDL/applications/NXsqom.rst | 84 -- .../volume2/NXDL/applications/NXtas.rst | 100 -- .../volume2/NXDL/applications/NXtofnpd.rst | 84 -- .../volume2/NXDL/applications/NXtofraw.rst | 88 -- .../volume2/NXDL/applications/NXtofsingle.rst | 85 -- .../volume2/NXDL/applications/NXtomo.rst | 105 -- .../volume2/NXDL/applications/NXtomophase.rst | 107 -- .../volume2/NXDL/applications/NXtomoproc.rst | 90 -- .../volume2/NXDL/applications/NXxas.rst | 84 -- .../volume2/NXDL/applications/NXxasproc.rst | 73 -- .../volume2/NXDL/applications/NXxbase.rst | 90 -- .../volume2/NXDL/applications/NXxeuler.rst | 75 -- .../volume2/NXDL/applications/NXxkappa.rst | 74 -- .../volume2/NXDL/applications/NXxlaue.rst | 65 - .../NXDL/applications/NXxlaueplate.rst | 63 - .../volume2/NXDL/applications/NXxnb.rst | 72 - .../volume2/NXDL/applications/NXxrot.rst | 72 - .../volume2/NXDL/applications/index.rst | 14 - .../volume2/NXDL/base_classes/NXaperture.rst | 61 - .../NXDL/base_classes/NXattenuator.rst | 67 - .../volume2/NXDL/base_classes/NXbeam.rst | 76 -- .../volume2/NXDL/base_classes/NXbeam_stop.rst | 64 - .../NXDL/base_classes/NXbending_magnet.rst | 68 - .../volume2/NXDL/base_classes/NXcapillary.rst | 65 - .../NXDL/base_classes/NXcharacterization.rst | 78 -- .../NXDL/base_classes/NXcollection.rst | 64 - .../NXDL/base_classes/NXcollimator.rst | 67 - .../volume2/NXDL/base_classes/NXcrystal.rst | 115 -- .../volume2/NXDL/base_classes/NXdata.rst | 145 --- .../volume2/NXDL/base_classes/NXdetector.rst | 147 --- .../NXDL/base_classes/NXdetector_group.rst | 75 -- .../NXDL/base_classes/NXdisk_chopper.rst | 67 - .../volume2/NXDL/base_classes/NXentry.rst | 101 -- .../NXDL/base_classes/NXenvironment.rst | 64 - .../NXDL/base_classes/NXevent_data.rst | 62 - .../NXDL/base_classes/NXfermi_chopper.rst | 70 - .../volume2/NXDL/base_classes/NXfilter.rst | 83 -- .../volume2/NXDL/base_classes/NXflipper.rst | 64 - .../volume2/NXDL/base_classes/NXgeometry.rst | 65 - .../volume2/NXDL/base_classes/NXguide.rst | 106 -- .../NXDL/base_classes/NXinsertion_device.rst | 70 - .../NXDL/base_classes/NXinstrument.rst | 82 -- .../volume2/NXDL/base_classes/NXlog.rst | 78 -- .../volume2/NXDL/base_classes/NXmirror.rst | 79 -- .../volume2/NXDL/base_classes/NXmoderator.rst | 66 - .../volume2/NXDL/base_classes/NXmonitor.rst | 77 -- .../NXDL/base_classes/NXmonochromator.rst | 72 - .../volume2/NXDL/base_classes/NXnote.rst | 63 - .../volume2/NXDL/base_classes/NXobject.rst | 56 - .../NXDL/base_classes/NXorientation.rst | 59 - .../NXDL/base_classes/NXparameters.rst | 58 - .../volume2/NXDL/base_classes/NXpolarizer.rst | 62 - .../NXDL/base_classes/NXpositioner.rst | 74 -- .../volume2/NXDL/base_classes/NXprocess.rst | 60 - .../volume2/NXDL/base_classes/NXroot.rst | 89 -- .../volume2/NXDL/base_classes/NXsample.rst | 118 -- .../volume2/NXDL/base_classes/NXsensor.rst | 75 -- .../volume2/NXDL/base_classes/NXshape.rst | 61 - .../volume2/NXDL/base_classes/NXsource.rst | 87 -- .../volume2/NXDL/base_classes/NXsubentry.rst | 120 -- .../NXDL/base_classes/NXtranslation.rst | 59 - .../volume2/NXDL/base_classes/NXuser.rst | 67 - .../NXDL/base_classes/NXvelocity_selector.rst | 69 - .../volume2/NXDL/base_classes/NXxraylens.rst | 70 - .../volume2/NXDL/base_classes/index.rst | 14 - .../contributed_definitions/NXbeamline.rst | 67 - .../NXelectrostatic_kicker.rst | 67 - .../NXmagnetic_kicker.rst | 67 - .../NXquadrupole_magnet.rst | 64 - .../NXsai_controller.rst | 62 - .../contributed_definitions/NXseparator.rst | 69 - .../contributed_definitions/NXsnsevent.rst | 191 --- .../contributed_definitions/NXsnshisto.rst | 194 --- .../NXsolenoid_magnet.rst | 64 - .../NXspin_rotator.rst | 69 - .../NXtechnical_data.rst | 67 - .../NXDL/contributed_definitions/index.rst | 14 - _sphinx/source/volume2/NXDL/index.rst | 15 - _sphinx/source/volume2/index.rst | 15 - 142 files changed, 1 insertion(+), 14390 deletions(-) delete mode 100755 _sphinx/Makefile_old delete mode 100755 _sphinx/README.rst delete mode 100644 _sphinx/db2rst.py delete mode 100644 _sphinx/docbook.xml delete mode 100755 _sphinx/nxdb2rst.py delete mode 100755 _sphinx/nxdl2rst.py delete mode 100755 _sphinx/runner.py delete mode 100755 _sphinx/source/TODO.rst delete mode 100755 _sphinx/source/authors.rst delete mode 100755 _sphinx/source/cheatsheet.rst delete mode 100755 _sphinx/source/conf.py.in delete mode 100755 _sphinx/source/contents.rst delete mode 100755 _sphinx/source/frontmatter.rst delete mode 100755 _sphinx/source/index.rst delete mode 100755 _sphinx/source/markup-spec.rst delete mode 100755 _sphinx/source/nexuslogo.png delete mode 100755 _sphinx/source/preface.rst delete mode 100755 _sphinx/source/revhistory.rst delete mode 100755 _sphinx/source/volume1/design/data-linking.png delete mode 100755 _sphinx/source/volume1/design/datarules.rst delete mode 100755 _sphinx/source/volume1/design/fileformat.rst delete mode 100755 _sphinx/source/volume1/design/index.rst delete mode 100755 _sphinx/source/volume1/design/mcstascoord.png delete mode 100755 _sphinx/source/volume1/design/polplane.png delete mode 100755 _sphinx/source/volume1/design/rules/index.rst delete mode 100755 _sphinx/source/volume1/design/rules/processed.rst0 delete mode 100644 _sphinx/source/volume1/faq.rst delete mode 100755 _sphinx/source/volume1/index.rst delete mode 100755 _sphinx/source/volume1/introduction/NAPI.rst delete mode 100755 _sphinx/source/volume1/introduction/howto/browse.rst delete mode 100755 _sphinx/source/volume1/introduction/howto/read.rst delete mode 100755 _sphinx/source/volume1/introduction/howto/write.rst delete mode 100755 _sphinx/source/volume1/introduction/index.rst delete mode 100755 _sphinx/source/volume1/introduction/motivations/data-post-nexus.jpg delete mode 100755 _sphinx/source/volume1/introduction/motivations/data-pre-nexus.jpg delete mode 100755 _sphinx/source/volume1/introduction/motivations/dictionary.rst delete mode 100755 _sphinx/source/volume1/introduction/motivations/index.rst delete mode 100755 _sphinx/source/volume1/introduction/motivations/plotting.rst delete mode 100755 _sphinx/source/volume1/introduction/motivations/unified.rst delete mode 100755 _sphinx/source/volume1/introduction/whatis/Hierarchy.png delete mode 100755 _sphinx/source/volume1/introduction/whatis/NXinstrument.png delete mode 100755 _sphinx/source/volume1/introduction/whatis/Simple.png delete mode 100755 _sphinx/source/volume1/introduction/whatis/community.rst delete mode 100755 _sphinx/source/volume1/introduction/whatis/design.rst delete mode 100755 _sphinx/source/volume1/introduction/whatis/index.rst delete mode 100755 _sphinx/source/volume1/introduction/whatis/lowlevel.rst0 delete mode 100755 _sphinx/source/volume1/introduction/whatis/objects.rst delete mode 100755 _sphinx/source/volume1/introduction/whatis/subroutines.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXarchive.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXdirecttof.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXfluo.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXindirecttof.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXiqproc.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXlauetof.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXmonopd.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXrefscan.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXreftof.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXsas.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXsastof.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXscan.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXspe.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXsqom.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXtas.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXtofnpd.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXtofraw.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXtofsingle.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXtomo.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXtomophase.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXtomoproc.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXxas.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXxasproc.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXxbase.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXxeuler.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXxkappa.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXxlaue.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXxlaueplate.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXxnb.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/NXxrot.rst delete mode 100644 _sphinx/source/volume2/NXDL/applications/index.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXaperture.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXattenuator.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXbeam.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXbeam_stop.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXbending_magnet.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXcapillary.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXcharacterization.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXcollection.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXcollimator.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXcrystal.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXdata.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXdetector.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXdetector_group.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXdisk_chopper.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXentry.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXenvironment.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXevent_data.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXfermi_chopper.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXfilter.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXflipper.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXgeometry.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXguide.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXinsertion_device.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXinstrument.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXlog.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXmirror.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXmoderator.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXmonitor.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXmonochromator.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXnote.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXobject.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXorientation.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXparameters.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXpolarizer.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXpositioner.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXprocess.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXroot.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXsample.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXsensor.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXshape.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXsource.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXsubentry.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXtranslation.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXuser.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXvelocity_selector.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/NXxraylens.rst delete mode 100644 _sphinx/source/volume2/NXDL/base_classes/index.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXbeamline.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXelectrostatic_kicker.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXmagnetic_kicker.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXquadrupole_magnet.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXsai_controller.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXseparator.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXsnsevent.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXsnshisto.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXsolenoid_magnet.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXspin_rotator.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/NXtechnical_data.rst delete mode 100644 _sphinx/source/volume2/NXDL/contributed_definitions/index.rst delete mode 100644 _sphinx/source/volume2/NXDL/index.rst delete mode 100755 _sphinx/source/volume2/index.rst diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 164911a88..09f487014 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,4 +1,3 @@ eclipse.preferences.version=1 -encoding//_sphinx/db2rst.py=utf-8 encoding//manual/source/conf.py=utf-8 encoding//utils/rst_table.py=iso-8859-1 diff --git a/README.md b/README.md index d1f3f0eb3..a81c9b1b5 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ README.make.txt | how to build the documentation applications/ | NXDL files for applications and instrument defs base_classes/ | NXDL files for components contributed_definitions/ | NXDL files from the community +impatient-guide/ | *NeXus for the Impatient* jenkins_build | configuration for Jenkins continuous integration service manual/ | Sphinx source files for the NeXus documentation nxdl.xsd | XML Schema for NXDL files @@ -22,7 +23,5 @@ package/ | directory for packaging this content utils/ | various tools used in the definitions tree www/ | launch (home) page of NeXus WWW site xslt/ | various XML stylesheet transformations -_cmake_include_obsolete | (obsolete) configuration for cmake builds -_sphinx/ | (obsolete) remnant Sphinx source files for the manual (pre-release development) See README.make.txt for how to build the documentation diff --git a/_sphinx/Makefile_old b/_sphinx/Makefile_old deleted file mode 100755 index 52be671cb..000000000 --- a/_sphinx/Makefile_old +++ /dev/null @@ -1,137 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = build - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - -rm -rf $(BUILDDIR)/doctrees $(BUILDDIR)/latex $(BUILDDIR)/epub - -realclean: - -rm -rf $(BUILDDIR)/* - -complete: html latexpdf - -cp -f $(BUILDDIR)/latex/*.pdf $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML and PDF pages are in $(BUILDDIR)/html." - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/NeXusacommondataformatforneutronx-rayandmuonscience.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/NeXusacommondataformatforneutronx-rayandmuonscience.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/NeXusacommondataformatforneutronx-rayandmuonscience" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/NeXusacommondataformatforneutronx-rayandmuonscience" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: latex - @echo "Running LaTeX files through pdflatex..." - make -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." diff --git a/_sphinx/README.rst b/_sphinx/README.rst deleted file mode 100755 index 2a9f43e20..000000000 --- a/_sphinx/README.rst +++ /dev/null @@ -1,37 +0,0 @@ - -README: The *Impatient* Guide -############################# - -This directory contains the source for an alternative rendering of the NeXus documentation. -The tool used here is sphinx. It relies on source code files coded in reST. -See the sphinx WWW site for how this works: http://sphinx.pocoo.org/ - - -Typical Builds -************** - -These commands are useful on Linux -(from the /trunk/sphinx directory): - - make clean - make html - make latexpdf - firefox build/html/index.html & - evince build/latex/nexus.pdf & - - -Development -*********** - -When building the new sphinx documentation, -commands similar to these might be useful when -sifting through the output:: - - cp /dev/null makelog.txt - logmake clean html - grep introduction makelog.txt \ - | grep -v include \ - | grep -v undefined \ - | grep -v "not readable" \ - | grep -v "not found" \ - | grep -v Duplicate diff --git a/_sphinx/db2rst.py b/_sphinx/db2rst.py deleted file mode 100644 index 78b832fe8..000000000 --- a/_sphinx/db2rst.py +++ /dev/null @@ -1,1159 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -""" - DocBook to ReST converter - ========================= - This script may not work out of the box, but is easy to extend. - If you extend it, please send me a patch: wojdyr at gmail. - - Docbook has >400 elements, most of them are not supported (yet). - ``pydoc db2rst`` shows the list of supported elements. - - In ReST, inline markup can not be nested (major deficiency of ReST). - Since it is not clear what to do with, say, - x - the script outputs incorrect (nested) ReST (:sub:`*x*`) - and it is up to user to decide how to change it. - - Usage: - db2rst.py file.xml > file.rst - db2rst.py file.xml output_directory/ - - :copyright: 2009 by Marcin Wojdyr. - :license: BSD. - :URL: https://raw.github.com/kurtmckee/db2rst/master/db2rst.py -""" - -import os.path -import sys -import re -import lxml.etree -import logging -import itertools - -__contributors__ = ('Kurt McKee ', - 'Anthony Scopatz ', - 'Pete Jemian ', - ) -INDENT = ' '*4 - - -def write_footnotes(footnotes): - if len(footnotes) == 0: - return None - s = ".. rubric:: Footnote" - if len(footnotes) > 1: - s += "s" - s += '\n\n' - for note in footnotes: - s += '.. [#] ' - if len(note.split('\n')) == 1: - s += note + '\n' - else: - s += '\n' - for line in note.split("\n"): - s += INDENT + line + '\n' - return s - - -class Db2Rst: - ''' - handle conversion of DocBook source code files - into ReST: Restructured Text source code documents - ''' - - def __init__(self): - self.remove_comments = False - self.write_unused_labels = False - self._linked_ids = set() # which id/labels are really needed - self.id_attrib = "id" # can modify if namespace is present - self.linkend = "linkend" # can modify if namespace is present - self.output_dir = None # if converting a set of docbook files - self.namespacePrefix = None # as used in the DocBook file - self.ns = "" - - def process(self, dbfile, converter=None): - ''' - process one DocBook XML file - - :param str dbfile: name of DocBook source code file - :param obj converter: optional subclass override of Convert - :return: None or string buffer with converted ReST source - ''' - logging.info('parsing %s with converter %s' % (dbfile, str(converter))) - parser = lxml.etree.XMLParser(remove_comments=self.remove_comments) - logging.info('created the parser') - tree = lxml.etree.parse(dbfile, parser=parser) - logging.info('parsed XML file') - root = tree.getroot() - if self.namespacePrefix in root.nsmap: - self.ns = "{%s}" % root.nsmap[self.namespacePrefix] - self._linked_ids = self._get_linked_ids(tree) - if converter is None: - obj = Convert(root, self) - else: - obj = converter(root, self) - if self.output_dir: - self.writeToDir(obj) - return None - else: - return str(obj).strip() + "\n" - - def _get_linked_ids(self, tree): - ''' - discover all the ids referenced in the file - - :param tree: name of DocBook source code file - :type tree: lxml document tree - :return [str]: list of strings containing all the ids - ''' - ids = set() - for elem in tree.getiterator(): - if elem.tag in (self.ns + "xref", self.ns + "link"): - for nskey, nsstr in elem.nsmap.items(): - ns = "{%s}" % nsstr - for term in ('linkend', 'href'): - text = elem.get(ns + term) - if text is not None: - ids.add(text.lstrip('#')) - return ids - - def writeToDir(self, obj): - ''' - Write the ReST files to the named directory. - Generate an ``index.rst`` file as directed. - - :param obj: db2rst.Convert object - ''' - if self.output_dir is None: - return - output = str(obj).strip() - for fname in obj.files: - f = open(os.path.join(self.output_dir, fname + '.rst'), 'wb') - f.write(obj.files[fname].encode('utf-8').strip()) - f.close() - # write the index if it doesn't exist already - if 'index' not in obj.files: - f = open(os.path.join(self.output_dir, 'index.rst'), 'wb') - f.write(output) - f.write('\n\n.. toctree::\n :maxdepth: 1\n\n') - for fname in sorted(obj.files): - f.write(' %s\n' % (fname,)) - f.close() - # write a simple conf.py - c = open(os.path.join(self.output_dir, 'conf.py'), 'wb') - c.write("extensions = []\n") - c.write("master_doc = 'index'\n") - c.write("project = u'projname'\n") - c.write("#copyright = u'2012, authname'\n") - c.write("exclude_patterns = ['_build']\n") - c.close() - - def removeComments(self, remove): - ''' - Either remove comments from source stream (True) - or convert them to ReST-format comments. - - :param bool remove: if True, XML comment will be discarded - - This DocBook (XML) comment:: - - - - becomes this ReST code:: - - .. COMMENT: This is a comment - with two lines. - - .. note:: Note that ReST doesn't support inline comments. XML comments - are converted to ReST comment blocks, which may break paragraphs. - ''' - self.remove_comments = remove - - def writeUnusedLabels(self, write): - ''' - Any ``id`` attributes of DocBook elements are translated to ReST labels. - - :param bool write: if False, only labels that are used in links are generated. - ''' - self.write_unused_labels = write - - - -class Convert(object): - ''' converts DocBook tree into reST ''' - - def __init__(self, el, parent=None, namespace=None): - self.el = el - self.files = {} - if parent is None: - parent = Db2Rst() # looks inverted, provides basic constants - if namespace is not None: - parent.ns = "{%s}" % namespace - self.parent = parent # object that called the converter - self._not_handled_tags = set() # to avoid duplicate error reports - self._substitutions = set() # to avoid duplicate substitutions - - # _buffer is flushed after the end of paragraph - # used for ReST substitutions - self._buffer = "" - self.footnotes = [] - - def __str__(self): - output = self._conv(self.el) - - notes = write_footnotes(self.footnotes) - if notes is not None: - output += '\n' + notes - - # remove trailing whitespace - output = re.sub(r"[ \t]+\n", "\n", output) - # leave only one blank line - output = re.sub(r"\n{3,}", "\n\n", output) - return output.encode('utf-8') - - def _conv(self, el, do_assert=True): - ''' - Element to string conversion. - Looks for a defined function e_tag() and calls it, - where tag is the element name. - The function e_tag() has one argument, - the DocBook element node to process. - ''' - tag = str(el.tag) - if tag == "": - logging.info("_conv(): line %d in %s" % (el.sourceline, - str(el.base))) - logging.info("ignoring ProcessingInstruction for now") - return "" - if tag == "": - #logging.info("_conv(): line %d in %s" % (el.sourceline, - # str(el.base))) - #logging.info("ignoring Comment for now") - return self.Comment(el) - if tag.find(self.parent.ns) == 0: - # strip off the default namespace - tag = tag[len(self.parent.ns):] - if tag.startswith("{"): - # identify other namespaces by prefix used in XML file - ns, rawTag = tag[1:].split("}") - if ns in el.nsmap.values(): - # find the namespace prefix, given its full value - prefix = [k for k, v in el.nsmap.iteritems() if v == ns][0] - if prefix is not None: - tag = "_".join([prefix, rawTag]) - # - #if len(self.footnotes): - # print len(self.footnotes), self._what(el) - # - method_name = 'e_' + tag - if hasattr(self, method_name): - return getattr(self, method_name)(el) # call the e_tag(el) method - elif isinstance(el, lxml.etree._Comment): - if el.text.strip(): - return self.Comment(el) - else: - return u'' - else: - if el.tag not in self._not_handled_tags: - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - self._warn("Don't know how to handle <%s>" % el.tag) - self._not_handled_tags.add(el.tag) - return self._concat(el) - - def _warn(self, s): - logging.warning(s) - - def _supports_only(self, el, tags): - "print warning if there are unexpected children" - for i in el.getchildren(): - if i.tag not in tags: - self._warn("%s/%s skipped." % (el.tag, i.tag)) - - def _what(self, el): - "returns string describing the element, such as or Comment" - if isinstance(el.tag, basestring): - return "<%s>" % el.tag - elif isinstance(el, lxml.etree._Comment): - return "Comment" - else: - return str(el) - - def _has_only_text(self, el): - "print warning if there are any children" - if el.getchildren(): - self._warn("children of %s are skipped: %s" % (self._get_path(el), - ", ".join(self._what(i) for i in el.getchildren()))) - - def _has_no_text(self, el): - "print warning if there is any non-blank text" - if el.text is not None and not el.text.isspace(): - self._warn("skipping text of <%s>: %s" % (self._get_path(el), - el.text)) - for i in el.getchildren(): - if i.tail is not None and not i.tail.isspace(): - self._warn("skipping tail of <%s>: %s" % (self._get_path(i), - i.tail)) - - def _no_special_markup(self, el): - return self._concat(el) - - def _remove_indent_and_escape(self, s): - """ - remove indentation from the string s - escape some of the special chars - """ - s = "\n".join(i.lstrip().replace("\\", "\\\\") for i in s.splitlines()) - # escape inline mark-up start-string characters (even if there is no - # end-string, docutils show warning if the start-string is not escaped) - # TODO: handle also Unicode: � � � � � � as preceding chars - s = re.sub(r"([\s'\"([{ element in a - s += self._conv(i) - if i.tail is not None: - if len(s) > 0 and not s[-1].isspace() and i.tail[0] in " \t": - s += i.tail[0] - s += self._remove_indent_and_escape(i.tail) - return s - - def _original_xml(self, el): - return lxml.etree.tostring(el, with_tail=False) - - def _no_markup(self, el): - s = lxml.etree.tostring(el, with_tail=False) - s = re.sub(r"<.+?>", " ", s) # remove tags - s = re.sub(r"\s+", " ", s) # replace all blanks with single space - return s - - def _get_level(self, el): - "return number of ancestors" - return sum(1 for _ in el.iterancestors()) - - def _get_path(self, el): - t = [el] + list(el.iterancestors()) - return "/".join(str(i.tag) for i in reversed(t)) - - def _make_title(self, t, level): - ''' - :param str t: title - :param int level: [1...] indicating priority of section level - ''' - if level == 1: - return "\n\n" + "=" * len(t) + "\n" + t + "\n" + "=" * len(t) - char = ["#", "=", "-", "~", "^", ".", "*", "+", "_", ",", ":", "'", - "!", "?", '"', '$', '%', '&', ';', '(', ')', '/', '<', '>', - "@", "[", "]", "`", "{", "}", "|", "\\", ] - return "\n\n" + t + "\n" + char[level - 2] * len(t) - - def _join_children(self, el, sep): - self._has_no_text(el) - return sep.join(self._conv(i) for i in el.getchildren()) - - def _block_separated_with_blank_line(self, el): - pi = [i for i in el.iterchildren() if isinstance(i, - lxml.etree._ProcessingInstruction)] - if pi and 'filename=' in pi[0].text: - fname = pi[0].text.split('=')[1][1:-1].split('.')[0] - #import pdb; pdb.set_trace() - el.remove(pi[0]) - self.files[fname] = self._conv(el) - return "\n" - else: - s = "\n\n" + self._concat(el) - if self._buffer: - s += "\n\n" + self._buffer - self._buffer = "" - return s - - def _indent(self, el, indent, first_line=None): - "returns indented block with exactly one blank line at the beginning" - lines = [" "*indent + i for i in self._concat(el).splitlines() - if i and not i.isspace()] - if first_line is not None: - # replace indentation of the first line with prefix `first_line' - lines[0] = first_line + lines[0][indent:] - return "\n\n" + "\n".join(lines) - - def _normalize_whitespace(self, s): - return " ".join(s.split()) - - ################### DocBook elements ##################### - - # special "elements" - - def _directive(self, el, name): - ''' - Creates a reST directive:: - - .. name: ``el.text`` provides the content. - Indentation is sized automatically like this. - - Some directives have two colons: - - .. note:: This is an advisory note. - - Some might only have one colon. - If you need two, supply it in the caller. - - :param XML_node el: node of the lxml document tree - :param str name: text to be written after the two dots - ''' - prefix = ".. %s: " % name - indentation = len(prefix) - return self._indent(el, indentation, prefix) - - def _docbook_source(self, el, name): - s = "\n\n.. rubric:: %s\n\n::\n\n" % name - s += INDENT + self._original_xml(el) - s += "\n\n" - return s - - def _include_source(self, el): - s = "literalinclude:: %s\n" - s += INDENT + ":language: %s\n" - s += INDENT + ":linenos:\n" - s += INDENT + ":tab-width: %s\n" - s += "\n" + INDENT - return self._directive(el, s) - - def _literal_source(self, el): - #return "\n::\n" + self._indent(el, 4) + "\n" - #s = "\n\n.. code-block:: guess" - return self._directive(el, 'code-block: guess\n :linenos:\n\n ') - - def Comment(self, el): - return self._indent(el, 4, ".. ") - - def ProcessingInstruction(self, el): - # TODO: How/where to call this? - return self._docbook_source(el, "ProcessingInstruction") - - def e_figure(self, el): - return self._docbook_source(el, 'FIGURE') - - def e_example(self, el): - return self._docbook_source(el, 'EXAMPLE') - - def e_informalexample(self, el): - return self._docbook_source(el, 'INFORMALEXAMPLE') - - def e_calloutlist(self, el): - return self._docbook_source(el, 'CALLOUTLIST') - - def e_include(self, el): - ''' - process "include" directives - as triggered by a statement such as this:: - - - - This produces the ReST result:: - - .. include:: preface.xml - ''' - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - href = el.get('href', None) - if href is not None: - return "\n\n.. include:: %s\n\n" % href - return "\n\n.. UNHANDLED LINE %d in %s" % (el.sourceline, str(el.base)) - - # general inline elements - - def e_emphasis(self, el): - return "*%s*" % self._concat(el).strip() - e_phrase = e_emphasis - e_citetitle = e_emphasis - e_replaceable = e_emphasis - - def e_literal(self, el): - return "``%s``" % self._concat(el).strip() - e_code = e_literal - - def e_firstterm(self, el): - self._has_only_text(el) - return ":dfn:`%s`" % el.text - - def e_acronym(self, el): - if el.attrib.get('condition'): - return u":abbr:`%s (%s)`" % (el.text, el.attrib['condition']) - else: - return u":abbr:`%s`" % (el.text,) - - #def e_userinput(self, el): - # return u":kbd:`%s`" % (el.text,) - - def e_quote(self, el): - q = " ".join(el.text.split("\n")) - return u'"%s"' % (q,) - - # links - - def e_ulink(self, el): - url = el.get("url") - text = self._concat(el).strip() - if text.startswith(".. image::"): - return "%s\n :target: %s\n\n" % (text, url) - elif url == text: - return text - elif text.strip(): - return "`%s <%s>`_" % (text, url) - else: - return "`%s <%s>`_" % (url, url) - - # TODO: - # put labels where referenced ids are - # e.g. -> .. _license:\n - # if the label is not before title, we need to give explicit title: - # :ref:`Link title ` - # (in DocBook was: the section called �Variables�) - - def e_xref(self, el): - return ":ref:`%s`" % el.get("linkend") - - def e_link(self, el): - # some text - # - # regular expression example - text = self._concat(el).strip().strip("`") - # TODO: handle properly - link = el.get(self.parent.linkend) - if link is None: - return ":ref:`%s`" % text - else: - if text is None or len(text) == 0 or text.strip("`") == link: - return ":ref:`%s`" % link.lstrip('#') - else: - return ":ref:`%s <%s>`" % (text, link.lstrip('#')) - - - # math and media - # the DocBook syntax to embed equations is sick. - # Usually, (inline)equation is - # a (inline)mediaobject, which is imageobject + textobject - - def e_inlineequation(self, el): - self._supports_only(el, (self.parent.ns + "inlinemediaobject",)) - return self._concat(el).strip() - - def e_informalequation(self, el): - self._supports_only(el, (self.parent.ns + "mediaobject",)) - return self._concat(el) - - def e_equation(self, el): - self._supports_only(el, (self.parent.ns + "title", - self.parent.ns + "mediaobject")) - title = el.find(self.parent.ns + "title") - if title is not None: - s = "\n\n**%s:**" % self._concat(title).strip() - else: - s = "" - for mo in el.findall(self.parent.ns + "mediaobject"): - s += "\n" + self._conv(mo) - return s - - def e_mediaobject(self, el, substitute=False): - self._supports_only(el, (self.parent.ns + "imageobject", - self.parent.ns + "textobject")) - # assume the most common case is one imageobject and one (or none) - alt = "" - for txto in el.findall(self.parent.ns + "textobject"): - self._supports_only(txto, (self.parent.ns + "phrase",)) - if alt: - alt += "; " - alt += self._normalize_whitespace( - self._concat(txto.find(self.parent.ns + "phrase"))) - symbols = [] - img = "" - for imgo in el.findall(self.parent.ns + "imageobject"): - self._supports_only(imgo, (self.parent.ns + "imagedata",)) - fileref = imgo.find(self.parent.ns + "imagedata").get("fileref") - s = "\n\n.. image:: %s" % fileref - if (alt): - s += "\n :alt: %s" % alt - if substitute: - if fileref not in self._substitutions: - img += s[:4] + " |%s|" % fileref + s[4:] # insert |symbol| - self._substitutions.add(fileref) - symbols.append(fileref) - else: - img += s - img += "\n\n" - if substitute: - return img, symbols - else: - return img - - def e_inlinemediaobject(self, el): - subst, symbols = self.mediaobject(el, substitute=True) - self._buffer += subst - return "".join("|%s|" % i for i in symbols) - - def e_subscript(self, el): - return "\ :sub:`%s`" % self._concat(el).strip() - - def e_superscript(self, el): - return "\ :sup:`%s`" % self._concat(el).strip() - - - # GUI elements - - def e_menuchoice(self, el): - if all(i.tag in ("guimenu", "guimenuitem") for i in el.getchildren()): - self._has_no_text(el) - return ":menuselection:`%s`" % \ - " --> ".join(i.text for i in el.getchildren()) - else: - return self._concat(el) - - def e_guilabel(self, el): - self._has_only_text(el) - return ":guilabel:`%s`" % el.text.strip() - e_guiicon = e_guilabel - e_guimenu = e_guilabel - e_guimenuitem = e_guilabel - e_mousebutton = _no_special_markup - - e_uri = _no_special_markup - - # system elements - - def e_keycap(self, el): - self._has_only_text(el) - return ":kbd:`%s`" % el.text - - def e_application(self, el): - self._has_only_text(el) - return ":program:`%s`" % el.text.strip() - - def e_userinput(self, el): - return "``%s``" % self._concat(el).strip() - - e_systemitem = e_userinput - e_prompt = e_userinput - - def e_filename(self, el): - self._has_only_text(el) - return ":file:`%s`" % el.text - - def e_command(self, el): - return ":command:`%s`" % self._concat(el).strip() - - def e_parameter(self, el): - if el.get("class"): # this hack is specific for fityk manual - return ":option:`%s`" % self._concat(el).strip() - return self.e_emphasis(el) - - def e_cmdsynopsis(self, el): - # just remove all markup and remember to change it manually later - return "\n\nCMDSYN: %s\n" % self._no_markup(el) - - # programming elements - - def e_function(self, el): - return "``%s``" % self._concat(el).strip() - - def e_constant(self, el): - self._has_only_text(el) - return "``%s``" % ( - (el.text or '') + - ''.join(map(self._conv, el.getchildren()))) - - e_varname = e_constant - - # popular block elements - - def e_title(self, el): - # Titles in some elements may be handled from the title's parent. - t = self._concat(el).strip() - level = self._get_level(el) - #parent = el.getparent().tag - ## title in elements other than the following will trigger assertion - #? parent in ("book", "chapter", "section", "variablelist", "appendix") - return self._make_title(t, level) - e_screen = _literal_source - e_literallayout = _literal_source - e_programlisting = _include_source - - def e_blockquote(self, el): - return self._indent(el, 4) - - e_set = _no_special_markup - e_volume = _no_special_markup - e_book = _no_special_markup - e_article = _no_special_markup - e_para = _block_separated_with_blank_line - e_section = _block_separated_with_blank_line - e_appendix = _block_separated_with_blank_line - e_chapter = _block_separated_with_blank_line - e_preface = _block_separated_with_blank_line - e_simplesect = _block_separated_with_blank_line - e_revhistory = _block_separated_with_blank_line - e_info = _block_separated_with_blank_line - - def e_revhistory(self, el): - # TODO: only make a title here if no title has been defined - s = self._make_title("Revision History", 1) - s += self._block_separated_with_blank_line(el) - return s - - def e_entry(self, el): - # TODO: FIXME: directive automatically handled by sphinx ''' - return '' - - def e_indexterm(self, el): - # http://www.docbook.org/tdg/en/html/indexterm.html - ''' - The resulting .rst document will contain some entries such as:: - - :index:`EDIT_ME ` - - Since the EDIT_ME text will appear in the final, formatted document, - it is necessary to replace EDIT_ME with appropriate text from the local context - and weave this index entry into the local context. - - * Use the index role (requires sphinx v.1.1+) for all DocBook elements - * use the (implied) single option as default - * avoid the triple option, it looks bad due to the commas - * options for 'see' (and 'seealso' treated synonymously) should be entered as additional index roles - ''' - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - preferred_significance = el.get("significance", "normal") == 'preferred' - nodes = [el.find(self.parent.ns+t) for t in ('primary', 'secondary', 'tertiary')] - s = "" - if len([c for c in nodes if c is not None]) > 0: - terms = [self._concat(node).strip() for node in nodes if node is not None] - items = "; ".join(terms) - if preferred_significance: - items = "!" + items - s += ":index:`EDIT_ME <%s>` " % items # EDIT_ME will appear in the formatted text, fix it in the editor - - # are there any "see" or "seealso" elements? - related_nodes = [el.find(self.parent.ns+t) for t in ('see', 'seealso')] - if len([c for c in related_nodes if c is not None]) > 0: - seealso_terms = [self._concat(node).strip() for node in related_nodes if node is not None] - items = "; ".join(list(itertools.chain(*[seealso_terms, [terms[0]]]))) - s += ":index:`EDIT_ME ` " % items - return s - - def e_footnote(self, el): - ''' - Collect the content of footnotes in a queue. - Return a generic reference ([#]_) for now. - Write out the queue contents later. - "Later" could be when the file is done processing, - before writing, or earlier. - ''' - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - s = self._concat(el).strip() - self.footnotes.append(s) - return ' [#]_' - - # admonition directives - - def e_note(self, el): - return self._directive(el, 'note:') - def e_caution(self, el): - return self._directive(el, 'caution:') - def e_important(self, el): - return self._directive(el, 'important:') - def e_tip(self, el): - return self._directive(el, 'tip:') - def e_warning(self, el): - return self._directive(el, 'warning:') - - # bibliography - - def e_author(self, el): - # could be in or . - # Hope these conditionals help it apply to both. - self._supports_only(el, (self.parent.ns + "personname", - self.parent.ns + "address", - self.parent.ns + "affiliation", - self.parent.ns + "email",)) - s = "\n\n" - s += self._conv(el.find(self.parent.ns + "personname")).strip() - node = el.find(self.parent.ns + "email") - if node is not None: - s += " ``<%s>``" % self._conv(node).strip() - node = el.find(self.parent.ns + "affiliation") - if node is not None: - s += ", " + self._conv(node).strip() - node = el.find(self.parent.ns + "address") - if node is not None: - s += ", " + self._join_children(node, ", ").strip() - return s - - def e_personname(self, el): - return self._join_children(el, " ").strip() - - e_editor = e_author - e_firstname = _no_special_markup # _has_only_text - e_surname = _no_special_markup - e_othername = _no_special_markup - e_affiliation = _no_special_markup - e_orgname = _no_special_markup - e_city = _no_special_markup - e_state = _no_special_markup - e_country = _no_special_markup - - def e_email(self, el): - self._has_only_text(el) - return self._concat(el).strip() - - def e_authorgroup(self, el): - # TODO: only make a title here if no title has been defined - s = self._make_title("Authorgroup", 1) - s += self._join_children(el, ", ") - return s - - def e_biblioentry(self, el): - self._supports_only(el, (self.parent.ns + "abbrev", - self.parent.ns + "authorgroup", - self.parent.ns + "author", - self.parent.ns + "editor", - self.parent.ns + "title", - self.parent.ns + "publishername", - self.parent.ns + "pubdate", - self.parent.ns + "address")) - s = "\n" - - abbrev = el.find(self.parent.ns + "abbrev") - if abbrev is not None: - self._has_only_text(abbrev) - s += "[%s] " % abbrev.text - - auth = el.find(self.parent.ns + "authorgroup") - if auth is None: - auth = el.find(self.parent.ns + "author") - if auth is not None: - s += "%s. " % self._conv(auth) - - editor = el.find(self.parent.ns + "editor") - if editor is not None: - s += "%s. " % self._conv(editor) - - title = el.find(self.parent.ns + "title") - if title is not None: - self._has_only_text(title) - s += "*%s*. " % title.text.strip() - - address = el.find(self.parent.ns + "address") - if address is not None: - self._supports_only(address, (self.parent.ns + "otheraddr",)) - s += "%s " % address.findtext(self.parent.ns + "otheraddr") - - publishername = el.find(self.parent.ns + "publishername") - if publishername is not None: - self._has_only_text(publishername) - s += "%s. " % publishername.text - - pubdate = el.find(self.parent.ns + "pubdate") - if pubdate is not None: - self._has_only_text(pubdate) - s += "%s. " % pubdate.text - return s - - def e_bibliography(self, el): - self._supports_only(el, (self.parent.ns + "biblioentry",)) - s = self._make_title("Bibliography", 2) + "\n" - s += self._join_children(el, "\n") - return s - - def e_revision(self, el): - self._supports_only(el, (self.parent.ns + "date", - self.parent.ns + "authorinitials", - self.parent.ns + "revnumber", - self.parent.ns + "revdescription",)) - t = [] - for k, v in {"date": "*%s*", - "revnumber": "**%s**", - "authorinitials": "*%s*"}.items(): - node = el.find(self.parent.ns + k) - if node is not None: - self._has_only_text(node) - t.append(v % node.text) - s = "\n\n" - s += self._indent(el.find(self.parent.ns + "revdescription"), - 4, ", ".join(t) + "\n ") - return s - - def e_table(self, el): - # Probably fails for these cases at least: - # * (empty DocBook elements) - # * 0: - for line_num in range( max(map(len, [_.split("\n") for _ in row])) ): - item = [self._pick_line(r.split("\n"), line_num) for r in row] - text += indentation + fmt % tuple(item) - return text - - def find_widths(self): - ''' - measure the maximum width of each column, - considering possible line breaks in each cell - ''' - width = [] - if len(self.labels) > 0: - width = [max(map(len, _.split("\n"))) for _ in self.labels] - for row in self.rows: - row_width = [max(map(len, _.split("\n"))) for _ in row] - if len(width) == 0: - width = row_width - width = map( max, zip(width, row_width) ) - return width - - def _pick_line(self, text, lineNum): - ''' - Pick the specific line of text or supply an empty string. - Convenience routine when analyzing tables. - ''' - if lineNum < len(text): - s = text[lineNum] - else: - s = "" - return s - - -def original_main(args): - if len(args) < 2 or len(args) > 3 or args[1] == '-h' or args[1] == '--help': - sys.stderr.write(__doc__) - sys.exit() - input_file = args[1] - if len(args) == 3: - output_dir = args[2] - else: - output_dir = None - sys.stderr.write("Parsing XML file `%s'...\n" % input_file) - - converter = Db2Rst() - if output_dir is not None: - converter.output_dir = output_dir - result = converter.process(input_file) - if result is not None: - return str(result) - - -if __name__ == '__main__': - #result = original_main(sys.argv) - docbook_file = 'docbook.xml' - if len(sys.argv) == 2 and os.path.exists(sys.argv[1]): - docbook_file = sys.argv[1] - result = original_main([sys.argv[0], docbook_file]) - if result is not None: - print result - diff --git a/_sphinx/docbook.xml b/_sphinx/docbook.xml deleted file mode 100644 index f551deea0..000000000 --- a/_sphinx/docbook.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - -Hello, world - -This is my first DocBook file. - - - diff --git a/_sphinx/nxdb2rst.py b/_sphinx/nxdb2rst.py deleted file mode 100755 index 00661cf14..000000000 --- a/_sphinx/nxdb2rst.py +++ /dev/null @@ -1,371 +0,0 @@ -#!/usr/bin/env python - -########### SVN repository information ################### -# $Date: 2011-11-10 00:33:02 -0600 (Thu, 10 Nov 2011) $ -# $Author: Pete Jemian $ -# $Revision: 1009 $ -# $URL: https://svn.nexusformat.org/definitions/trunk/sphinx/runner.py $ -# $Id: runner.py 1009 2011-11-10 06:33:02Z Pete Jemian $ -########### SVN repository information ################### - -''' -Overrides certain handler routines for -translating DocBook elements into restructured -text (reST) documents. -''' - - -import os -import db2rst -import lxml.etree -import logging -import argparse - -NEXUS_DIR = "../docbook" -NEXUS_DIR = os.path.abspath(NEXUS_DIR) -INDENT = ' '*4 -__description__ = "Translate NeXus Docbook source files into ReST source files" -__version__ = "$Id: runner.py 1009 2011-11-10 06:33:02Z Pete Jemian $" - - -class Convert(db2rst.Convert): - ''' - NeXus overrides of the db2rst Convert class for these DocBook elements: - + table - + figure - + informalexample - + example - + programlisting - + programlistingco - + subtitle - + info - + revdescription - + legalnotice - + revhistory - + areaspec - + calloutlist - + callout - + xi:include where xmlns:xi="http://www.w3.org/2001/XInclude" - ''' - - def e_table(self, el): - s = "\n\n" - id = el.get(self.parent.id_attrib, "") - if len(id) > 0: - s += ".. _%s:\n\n" % id - - s += ".. rubric:: Table: " - title = self.childNodeText(el, 'title') - if title is not None: - s += title - s += "\n\n" - - t = db2rst.Table() - tgroup_node = el.find(self.parent.ns+'tgroup') - thead = tgroup_node.find(self.parent.ns+'thead') - if thead is not None: - row = thead.find(self.parent.ns+'row') - t.labels = self.get_entry_text_list( row ) - - tbody = tgroup_node.find(self.parent.ns+'tbody') - rows = tbody.findall(self.parent.ns+'row') - t.rows = map(self.get_entry_text_list, rows) - - s = t.reST(fmt='simple') - return s - - def get_entry_text_list(self, parent_node): - ''' - Return a list with the text of the child entry nodes. - The members of the list are strings with optional line breaks. - ''' - nodes = parent_node.findall(self.parent.ns+'entry') - rowText = [self._conv(item).split("\n") for item in nodes] - return map( "\n".join, rowText) - - def pick_line(self, text, lineNum): - ''' - pick the specific line of text or supply an empty string - ''' - if lineNum < len(text): - s = text[lineNum] - else: - s = "" - return s - - def e_figure(self, el): - ''' - may contain a programlisting or a mediaobject - - .. figure:: nexuslogo.png - :width: 200px - :align: center - :height: 100px - :alt: alternate text - :figclass: align-center - ''' - id = el.get(self.parent.id_attrib, "") - title = self.childNodeText(el, "title") - - content = self._concat(el).strip() - - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - pl_node = el.find(self.parent.ns+"programlisting") - if pl_node is not None: - # contains a programlisting - s = "\n\n.. compound::\n\n" - s += INDENT + ".. rubric:: Figure: %s\n\n" % title - for line in content.split('\n'): - s += line + '\n' - s += '\n' + INDENT - return s - - mo_node = el.find(self.parent.ns+"mediaobject") - if mo_node is None: - return content + " --> e_figure" - # contains a mediaobject - - io_node = mo_node.find(self.parent.ns+"imageobject") - if io_node is None: - return content + " --> e_figure" - # contains an imageobject - - image_node = io_node.find(self.parent.ns+"imagedata") - if image_node is None: - return content + " --> e_figure" - # contains imagedata - - # - # .. figure:: picture.png - # :scale: 50 % - # :alt: map to buried treasure - name = image_node.get('fileref') - width = image_node.get('width', None) - height = image_node.get('height', None) - scalefit = image_node.get('scalefit', None) - # TODO: Need to handle width - # TODO: Need to handle scalefit - # TODO: Is height used at all? Might remove it. - s = "\n\n.. compound::\n\n" - s += INDENT + ".. _%s:\n\n" % id - s += INDENT + ".. rubric:: Figure: %s\n\n" % title - s += "\n\n" + ".. figure:: %s\n" % name - s += INDENT + ":alt: %s\n" % id - s += "\n" - for line in str(title).split('\n'): - s += INDENT + line + '\n' - return s - - def e_informalexample(self, el): - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - return self._concat(el) - - def e_example(self, el): - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - id = el.get(self.parent.id_attrib, "") - title = self.childNodeText(el, "title") - pl_node = el.find(self.parent.ns+"programlisting") - plco_node = el.find(self.parent.ns+"programlistingco") - if (pl_node is not None) or (plco_node is not None): - # contains a programlisting - node = pl_node - if node is None: - node = plco_node - s = "\n\n.. compound::\n\n" - s += INDENT + ".. rubric:: Figure: %s\n\n" % title - for line in self._concat(node).strip().split('\n'): - s += line + '\n' - s += '\n' + INDENT - return s - return self._concat(el).strip() + " --> e_example" - - def e_programlisting(self, el): - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - language = el.get("language", "guess") - linenumbering = 'numbered' in el.get("linenumbering", '') - s = self._concat(el).strip() - lmatch = '.. include::' - if s.startswith(lmatch): # include a program - s = "\n.. literalinclude:: %s\n" % s[len(lmatch):].strip() - s += INDENT + ':tab-width: 4\n' - if linenumbering: - s += INDENT + ':linenos:\n' - s += INDENT + ':language: %s\n' % language - s += '\n' + INDENT - return s - - # inline content - t = '\n\n.. code-block:: %s\n' % language - if linenumbering: - t += INDENT + ':linenos:\n' - t += '\n' - for line in s.split('\n'): - t += INDENT + line + '\n' - return t - - def e_programlistingco(self, el): - pl_node = el.find(self.parent.ns+"programlisting") - if pl_node is not None: # ignore the callout and just process the listing - return self._concat(pl_node).strip() - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - return self._concat(el).strip() + " --> e_programlistingco" - - def e_subtitle(self, el): - ''' - figure with a caption:: - - .. _fig.data-pre-nexus: - - .. figure:: data-pre-nexus.jpg - :width: 200 pt - :alt: example NeXus data file hierarchy - - *N* separate file formats - ''' - t = self._concat(el).strip() - return "\n\n" + t + "\n" + "@" * len(t) - - def e_info(self, el): - ''' - NeXus-style - - This produces the ReST result:: - - .. include:: preface.xml - ''' - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - href = el.get('href', None) - if href is not None: - return "\n\n.. include:: %s\n\n" % href - return "\n\n.. UNHANDLED LINE %d in %s" % (el.sourceline, str(el.base)) - - def e_areaspec(self, el): - # related to e_calloutlist - # idea: when the XML file is first open, - # parse all the \programlistingco\areaspec\\area elements - # and build a dictionary with the coords v. xml:id - # Then, use that dictionary when processing each callout element - ''' - - - - - - - - - - - - - - - - - - [line 6] - Open the file NXfile.nxs with - create - access (implying write access). - NAPI - returns a file identifier of type NXhandle. - - - ''' - return "" - - def e_calloutlist(self, el): - # FIXME: - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - s = "\n\n.. compound::\n\n" - s += INDENT + ".. _%s:\n\n" % id - s += INDENT + ".. rubric:: Callout List\n\n" - for node in el.findall(self.parent.ns+'callout'): - t = self._concat(node).strip() - s += INDENT + "#. callout item:\n" - for line in t.split('\n'): - s += INDENT + INDENT + line + '\n' - return s - - def e_callout(self, el): - # FIXME: - logging.info("line %d in %s" % (el.sourceline, str(el.base))) - return self._concat(el).strip() - - -if __name__ == '__main__': - parser = argparse.ArgumentParser(description=__description__) - parser.add_argument('docbook_file', action='store', help="DocBook file name (input)") - parser.add_argument('-v', '--version', action='version', version=__version__) - args = parser.parse_args() - dbfile = args.docbook_file.strip() - if not os.path.exists(dbfile): - print "%s does not exist" % dbfile - exit(1) - converter = db2rst.Db2Rst() - result = converter.process( dbfile, Convert ) - if result is not None: - print result - diff --git a/_sphinx/nxdl2rst.py b/_sphinx/nxdl2rst.py deleted file mode 100755 index f0e21adf9..000000000 --- a/_sphinx/nxdl2rst.py +++ /dev/null @@ -1,262 +0,0 @@ -#!/usr/bin/env python - -########### SVN repository information ################### -# $Date$ -# $Author$ -# $Revision$ -# $URL$ -# $Id$ -########### SVN repository information ################### - -''' -Extracts documentation from NXDL files and builds the NeXus manual page. - -For an example of what the DocBook page provides, see -http://download.nexusformat.org/doc/html/ClassDefinitions-Base.html#NXentry -''' - - -import sys, os -import lxml.etree -import db2rst -import nxdb2rst -from argparse import ArgumentError - - -class Describe: - - def __init__(self): - self.nxdlFile = None - self.nxdlType = None - self.nxdlName = None - self.fileSuffix = '.rst' - self.ns = {'nx': 'http://definition.nexusformat.org/nxdl/3.1'} - - def parse(self, nxdlFile): - self.nxdlFile = os.path.normpath( nxdlFile ) - - stem, self.nxdlName = os.path.split(nxdlFile[:nxdlFile.find('.nxdl.xml')]) - self.nxdlType = os.path.split(stem)[1] - self.tree = lxml.etree.parse(nxdlFile) - - def report(self, outputDir = '.'): - rstFile = os.path.join(outputDir, self.nxdlType , self.nxdlName+ self.fileSuffix) - path, _ = os.path.split(self.nxdlFile) - - root = self.tree.getroot() - - rest = self.make_heading(self.nxdlName, 1, self.nxdlName, True) - - rest += ".. index:: ! . NXDL %s; %s\n\n" % (self.nxdlType, self.nxdlName) - - URL = "http://svn.nexusformat.org/definitions/trunk/%s/%s.nxdl.xml" % (self.nxdlType, self.nxdlName) - extends = root.get('extends', 'none') - if extends != "none": - extends = ":ref:`%s`" % extends - - rest += self.get_doc(root, "No documentation provided.") + "\n\n" - - t = db2rst.Table() - t.labels = ('item', 'Description', ) - t.rows.append( ['category', self.nxdlType, ] ) - t.rows.append( ['NXDL class', "*%s*" % self.nxdlName, ] ) - t.rows.append( ['URL', "%s" % URL, ] ) - t.rows.append( ['version', root.get('version', 'unknown'), ] ) - t.rows.append( ['extends class', extends, ] ) - t.rows.append( ['included classes', self.groups_list(root), ] ) - rest += t.reST(fmt='simple') - - rest += "\n" - rest += ".. rubric:: Basic Structure of **%s**\n\n" % self.nxdlName - # make the XSLT transformation, see: http://lxml.de/xpathxslt.html#xslt - self.xsltFile = "nxdlformat.xsl" # could learn from the XML file? - xsltFile = os.path.join(path, self.xsltFile) - xslt = lxml.etree.XSLT( lxml.etree.parse(xsltFile) ) # prepare the transform - text = ":linenos:\n\n" - text += str( xslt( self.tree ) ) # make the transform - rest += ".. code-block:: text\n" + self.indented_lines(4, text) - - rest += self.symbols_table(root) + "\n\n" - - rest += self.top_attributes_table(root) + "\n\n" - - t = db2rst.Table() - t.labels = ('Name and Attributes', - 'Type', - 'Units', - 'Description (and Occurrences)', ) - for node in root.findall('*'): - try: - tag = node.tag.split('}')[-1] - except: - continue - if tag in ('group', 'field'): - name = node.get('name', {'group': '', 'field': 'unknown'}[tag]) - type = node.get('type', {'group': 'unknown', 'field': 'NX_CHAR'}[tag]) - units = '' - description = '' - if name == '': - name = '..' - t.rows.append( [name, type, units, description, ] ) - - rest += "\n.. rubric:: Comprehensive Structure of **%s**\n\n" % self.nxdlName - rest += t.reST() - - return rstFile, rest - - def make_heading(self, title, level, ref = None, upperBar = False): - '''Return a formatted ReST heading - - :param str title: the text of the title - :param int level: level number (1, 2, 3, 4, ...) - :param str ref: (optional) text of the reference label - :param bool upperBar: (optional) add an upper bar to the heading - ''' - s = "" - if ref is not None: - s += ".. _%s:\n\n" % ref - - symbols = "# = - ~ ^ . * + _".split() - if level < 1 or level > len(symbols): - raise ArgumentError, "level must be between 1 and %d, received %d" % (len(symbols), level) - - bar = symbols[level-1]*len(title) + "\n" - if upperBar: - s += bar - s += title + "\n" + bar + "\n" - - return s - - def make_definition(self, term, definition): - '''Return a string-formatted ReST definition - - :param str term: the thing to be defined - :param str definition: the words to describe the term - ''' - s = term + "\n" - s += self.indented_lines(4, definition) - s += "\n" - return s - - def indented_lines(self, numSpaces, lines): - '''Return a string of indented lines from text with line breaks - - :param int numSpaces: number of spaces to indent - :param str lines: text with embedded line breaks (assumes UNIX EOL - might be a problem) - ''' - s = "" - indent = " "*numSpaces - for line in lines.split("\n"): - s += "%s%s\n" % (indent, line) - return s - - def groups_list(self, root): - '''Return a string of reST references to the groups used - in this NXDL, sorted alphabetically - - :param root: root of XML tree - ''' - groups = lxml.etree.ETXPath( './/{%s}group' % self.ns['nx'] )(root) - if len(groups) > 0: - L = [] - for G in groups: - N = ":ref:`%s`" % G.get('type') - if N not in L: - L.append( N ) - groups = ",\n".join(sorted( L )) - else: - groups = "none" - return groups - - def symbols_table(self, root): - '''Return a table of ReST references to the symbols defined in this NXDL - - :param root: root of XML tree - ''' - rest = "\n.. rubric:: Symbols used in definition of **%s**\n\n" % self.nxdlName - symbols = "none" - node = root.find( '{%s}symbols' % self.ns['nx'] ) - if node is None: - rest += 'No symbols are defined in this NXDL file\n' - else: - table = db2rst.Table() - table.labels = ('Symbol', 'Description', ) - title = self.get_doc(node, None) - if title is not None: - rest += title + "\n" - for SN in lxml.etree.ETXPath( './/{%s}symbol' % self.ns['nx'] )(node): - symbol = "``%s``" % SN.get('name') - desc = "%s" % self.get_doc(SN).strip('\n') - table.rows.append( [symbol, desc] ) - rest += table.reST() - return rest - - def get_doc(self, node, undefined = ""): - DN = node.find( '{%s}doc' % self.ns['nx'] ) - if DN is None: - doc = undefined - else: - # TODO: this could be much, much better - ns = self.ns['nx'] - obj = Convert(DN, namespace=ns) - doc = str(obj).strip() + "\n" - #doc = DN.text - return doc - - def top_attributes_table(self, root): - '''Return a table of ReST references to the attributes defined - in the root element of this NXDL. - - :param root: root of XML tree - ''' - rest = "" - nodelist = root.findall( '{%s}attribute' % self.ns['nx'] ) - if len(nodelist) > 0: - fmt = "\n.. rubric:: Attributes of ``definition`` element in **%s**\n\n" - rest = fmt % self.nxdlName - table = db2rst.Table() - table.labels = ('Attributes', 'Type', 'Units', 'Description (and Occurrences) ', ) - for node in nodelist: - name = '@' + node.get('name') - type = node.get('type', 'NX_CHAR') - # FIXME: this has not been finished - units = node.get('type', '..') - # start db2rst parsing from this node - # put result into description - description = '..' - table.rows.append( [name, type, units, description] ) - rest += table.reST() - return rest - - -class Convert(nxdb2rst.Convert): - ''' - Treat our NXDL doc element like a DocBook para element - ''' - e_doc = db2rst.Convert.e_para - - -if __name__ == '__main__': - NXDL_DIRS = ['../base_classes', - '../applications', - '../contributed_definitions', ] - OUTPUT_DIR = os.path.join(*list('./source/volume2/NXDL'.split('/'))) - nxdl_file_list = [] - for dir in NXDL_DIRS: - fulldir = os.path.abspath(dir) - for _, dirs, files in os.walk(dir): - if '.svn' in dirs: - dirs.remove('.svn') - for file in sorted(files): - if file.endswith('.nxdl.xml'): - nxdlFile = os.path.join(fulldir, file) - nxdl_file_list.append(nxdlFile) - obj = Describe() - obj.parse(nxdlFile) - rstFile, restText = obj.report(OUTPUT_DIR) - print rstFile - print restText - f = open (rstFile, 'w') - f.write(restText + "\n") - f.close() - print len(nxdl_file_list), ' NXDL files discovered' diff --git a/_sphinx/runner.py b/_sphinx/runner.py deleted file mode 100755 index 315a274d7..000000000 --- a/_sphinx/runner.py +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/env python - -########### SVN repository information ################### -# $Date$ -# $Author$ -# $Revision$ -# $URL$ -# $Id$ -########### SVN repository information ################### - -''' -Runs the ``db2rst`` program on a specific DocBook XML file. -This code was written to test the db2rst code as it is being -extended to convert the NeXus documentation into sphinx: - - converter = Db2Rst() - result = converter.process( input_file ) - if result is not None: - return str(obj) - -''' - - -import sys, os -import nxdb2rst, db2rst -import logging - -NEXUS_DIR = "../docbook" -NEXUS_DIR = os.path.abspath(NEXUS_DIR) - -DocBook_FILE_LIST = [] - - -def buildList(item): - path = os.path.join(NEXUS_DIR, item) - if os.path.exists(path): - DocBook_FILE_LIST.append(path) - - -buildList("applying-nexus.xml") -buildList("authorgroup.xml") -buildList("ClassDefinitions.xml") # problems with in
-buildList("community.xml") -buildList("datarules.xml") -buildList("design.xml") -buildList("examples.xml") -buildList("ex_code_napi.xml") -buildList("ex_code_native.xml") -buildList("faq.xml") -buildList("fileformat.xml") -buildList("h5py-example.xml") -#buildList("hierarchy.xml") # not used in the manual now -buildList("history.xml") -#buildList("impatient.xml") # not used in the manual now -buildList("installation.xml") -buildList("introduction.xml") -buildList("issues.xml") -buildList("license.xml") -buildList("mailinglist.xml") -buildList("motivations.xml") -buildList("napi-java.xml") -#buildList("NAPI.xml") # !!! problem here !!! ` with the index. - -.. index:: - single: item3, item4 - -You can even combine separate index entries under one directive. - -.. index:: - pair: item6; item7 - pair: item8; item9 - single: item1; item5 - see: item11; item12 - seealso: item13; item14 - see: item8; item6 - see: item4; item8; item6 - -Emphasize an **item** in the index with a preceding bang (!). - -.. index:: !item0 - -There are index entries that appear on a :index:`single ` line. -Sometimes, they have some :index:`hierarchy `. -It is possible to :index:`coordinate ` entries, -even with some complexity. - -What about the :index:`tertiary, inline Docbook index ` entry? -This is not the way to handle the *seealso* :index:`element `. -Instead, use :index:`two ` :index:`separate ` index roles. diff --git a/_sphinx/source/authors.rst b/_sphinx/source/authors.rst deleted file mode 100755 index 5cd2959ab..000000000 --- a/_sphinx/source/authors.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. $Id$ - -Documentation Authors -======================================================================== - -.. index:: authors - -These people have made substantial contributions to the NeXus manual: - -* Ray Osborn, Argonne National Laboratory, ```` -* Mark Koennecke, Paul Scherrer Institut, ```` -* Przemek Klosowski, U. of Maryland and NIST, ```` -* Frederick Akeroyd, Rutherford Appleton Laboratory, ```` -* Peter F. Peterson, Spallation Neutron Source, ```` -* Pete R. Jemian, Advanced Photon Source, ```` -* Stuart I. Campbell, Oak Ridge National Laboratory, ```` -* Tobias Richter, Diamond Light Source Ltd., ```` diff --git a/_sphinx/source/cheatsheet.rst b/_sphinx/source/cheatsheet.rst deleted file mode 100755 index 898f810cf..000000000 --- a/_sphinx/source/cheatsheet.rst +++ /dev/null @@ -1,214 +0,0 @@ -.. $Id$ - -################# -Sphinx Cheatsheet -################# - -This is a sphinx cheat sheet and will be removed later. - -Section headings automatically get labels assigned. -For example, see this: `Demo list-table`_ - -====== ================================================= -symbol description -====== ================================================= -`#` with overline, for parts -`*` with overline, for chapters -`=` for sections -`-` for subsections -`^` for subsubsections -`"` for paragraphs -====== ================================================= - - -Typesetting Math and Equations -++++++++++++++++++++++++++++++ - -Enjoy inline math such as: :math:`E=mc^2` -using LaTeX markup. You will need the ``matplotlib`` -package in your Python. There is also separate math. - -.. sidebar:: TODO: - :subtitle: adjust `conf.py`? - - Sphinx has some inconsistency with this expression:: - - .. ! this is a candidate for conditional compilation - make html needs two backslashes while - make latexpdf needs one backslash - - .. math:: - - \tilde I(Q) = {2 \over l_o} \ \int_0^\infty I(\sqrt{(q^2+l^2)}) \ dl - - .. tip:: Perhaps some modification of `conf.py` would help? - - The Sphinx HTML renderer handles simple math this way but - not all LaTeX markup. The HTML renderer needs two backslashes - while the LaTeX renderer only needs one. - -This was possible with this definition -in `conf.py`:: - - extensions = ['sphinx.ext.pngmath', 'sphinx.ext.ifconfig'] - extensions.append( 'matplotlib.sphinxext.mathmpl' ) - -Other Links -+++++++++++ - -Here are some links to more help about reStructuredText formatting. - -reST home page - http://docutils.sourceforge.net/rst.html - -Docutils - http://docutils.sourceforge.net/ - -**Very useful!** - http://docutils.sourceforge.net/docs/ref/rst/directives.html - -Independent Overview - http://www.siafoo.net/help/reST - -Wikipedia - http://en.wikipedia.org/wiki/ReStructuredText - -reST Quick Reference - http://docutils.sourceforge.net/docs/user/rst/quickref.html - -Comparison: text v. reST v. DocBook - http://www.ibm.com/developerworks/library/x-matters24/ - -Curious - http://rst2a.com/ - - -Demo list-table -+++++++++++++++ - -Does this work? - -It was found on this page - http://docutils.sourceforge.net/docs/ref/rst/directives.html - -.. list-table:: Frozen Delights! - :widths: 15 10 30 - :header-rows: 1 - - * - Treat - - Quantity - - Description - * - Albatross - - 2.99 - - On a stick! - * - Crunchy Frog - - 1.49 - - If we took the bones out, it wouldn't be - crunchy, now would it? - * - Gannet Ripple - - 1.99 - - On a stick! - -.. Yes, it _does_ work. - Use it for the tables in the NXDL description. - -Numbered Lists -++++++++++++++ - -What about automatically numbering a list? - - #. How will the numbering look? - #. Will it look great? - - #. Even more great? - What about more than one line of text in the source code? - - 8. Made a jump in the numbering. - But that started a new list and produced a compile error. - What about more than one line of text in the source code? - Cannot use multiple paragraphs in a list, it seems. - Maybe there is a way. - #. And another ... - - F. Perhaps we can switch to lettering? - Only if we start a new list. - But we needed a blank line at the switch. - #. Another lettered item. - -.. Yup, that works. - - -About Linking -+++++++++++++ - -What about a link to :ref:`indirect hyperlinks` on another page? - -The reSt documentation says that links can be written as:: - - `NeXus: User Manual`_ - -This works for sphinx, as long as the link target -is in the same ``.rst`` document. -**But**, when the link is in -a different document, sphinx requires the citation to use:: - - :ref:`NeXus User Manual` - -and the target must be a section with an explicit -hyperlink definition, such as on the top page of these docs:: - - .. _NeXus User Manual: - - ###################### - NeXus: User Manual - ###################### - -This is the correct link: :ref:`NeXus User Manual`. - -Missing Links -+++++++++++++ - -These sections show up as missing links. - -Can you find the `history`_ link below? -What about the history_ link below? -This works: :ref:`History` (or :ref:`history`). - -.. _History: - -history (not converted yet) -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. _Utilities: - -utilities (not converted yet) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. _nxdl_tutorial-creatingnxdlspec: - -nxdl_tutorial-creatingnxdlspec (not converted yet) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. _nxdata-structure: - -nxdata-structure (not converted yet) - -.. _NIAC-link: - -NIAC description -^^^^^^^^^^^^^^^^ - -.. _example.data-linking: - -example.data-linking (not converted yet) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. _cross-reference example: - -Section to cross-reference --------------------------- - -This is the text of the section. - -It refers to the section itself, see :ref:`cross-reference example`. -What about a section on another page, such as :ref:`footnote references`? diff --git a/_sphinx/source/conf.py.in b/_sphinx/source/conf.py.in deleted file mode 100755 index d1ee85c24..000000000 --- a/_sphinx/source/conf.py.in +++ /dev/null @@ -1,277 +0,0 @@ -# -*- coding: utf-8 -*- -# -# $Id$ -# -# NeXus: User Guide and Reference Documentation build configuration file, created by -# sphinx-quickstart on Wed May 18 12:57:35 2011. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -# This file is processed by CMake to generate conf.py with @MACRO@ values replaced - -import sys, os - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - -# -- General configuration ----------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -needs_sphinx = '1.1' # the :index: role debuted in v1.1 - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [] -extensions.append( 'sphinx.ext.pngmath' ) -extensions.append( 'sphinx.ext.ifconfig' ) -extensions.append( 'matplotlib.sphinxext.mathmpl' ) -extensions.append( 'sphinx.ext.todo' ) -extensions.append( 'sphinx.ext.ifconfig' ) -extensions.append( 'sphinx.ext.viewcode' ) - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['@SOURCEDIR@/_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'NeXus: Manual' -copyright = u'2014, http://nexusformat.org' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '2012' -# The full version, including alpha/beta/rc tags. -release = '2012-05' - -nxdl_version = "@NXDL_RELEASE@" # from nxdl_release.cmake -if nxdl_version is not None: - version = nxdl_version.split('.')[0] - release = nxdl_version - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = [] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -#html_theme = 'default' -html_theme = 'sphinxdoc' -html_theme = 'agogo' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None -html_logo = "@SOURCEDIR@/nexuslogo.png" - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['@SOURCEDIR@/_static'] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'nexus' - - -# -- Options for LaTeX output -------------------------------------------------- - -# The paper size ('letter' or 'a4'). -#latex_paper_size = 'letter' - -# The font size ('10pt', '11pt' or '12pt'). -latex_font_size = '11pt' - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ('index', 'nexus.tex', u'NeXus: a common data format for neutron, x-ray, and muon science', - u'http://nexusformat.org', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None -latex_logo = "@SOURCEDIR@/nexuslogo.png" - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False -latex_use_parts = True - -# If true, show page references after internal links. -#latex_show_pagerefs = False -latex_show_pagerefs = True - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Additional stuff for the LaTeX preamble. -#latex_preamble = '' - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'nexus', u'NeXus: User Guide and Reference Documentation', - [u'http://nexusformat.org'], 1) -] - - -# -- Options for Epub output --------------------------------------------------- - -# Bibliographic Dublin Core info. -epub_title = u'NeXus: User Guide and Reference Documentation' -epub_author = u'http://nexusformat.org' -epub_publisher = u'http://nexusformat.org' -epub_copyright = u'2012, http://nexusformat.org' - -# The language of the text. It defaults to the language option -# or en if the language is not set. -#epub_language = '' - -# The scheme of the identifier. Typical schemes are ISBN or URL. -#epub_scheme = '' - -# The unique identifier of the text. This can be a ISBN number -# or the project homepage. -#epub_identifier = '' - -# A unique identification for the text. -#epub_uid = '' - -# HTML files that should be inserted before the pages created by sphinx. -# The format is a list of tuples containing the path and title. -#epub_pre_files = [] - -# HTML files shat should be inserted after the pages created by sphinx. -# The format is a list of tuples containing the path and title. -#epub_post_files = [] - -# A list of files that should not be packed into the epub file. -#epub_exclude_files = [] - -# The depth of the table of contents in toc.ncx. -#epub_tocdepth = 3 - -# Allow duplicate toc entries. -#epub_tocdup = True diff --git a/_sphinx/source/contents.rst b/_sphinx/source/contents.rst deleted file mode 100755 index 1c6cdd1b3..000000000 --- a/_sphinx/source/contents.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. $Id$ - - -This manual is also available in `a PDF version. `_ - -Contents -======== - -.. toctree:: - :maxdepth: 2 - - preface - volume1/index - volume2/index - authors - TODO - -* :ref:`genindex` -* :ref:`search` diff --git a/_sphinx/source/frontmatter.rst b/_sphinx/source/frontmatter.rst deleted file mode 100755 index a90010d9b..000000000 --- a/_sphinx/source/frontmatter.rst +++ /dev/null @@ -1,37 +0,0 @@ -.. $Id$ - -.. _frontmatter: - -front matter -==================================== - -copyright -++++++++++++++++++ - -publication date: |today| - -Copyright (C) 1996-2012, -NeXus International Advisory Committee - -http://www.nexusformat.org - - The NeXus manual is licensed under the terms of the - GNU Free Documentation License version 1.3. See the FDL license - file included with the source of this manual or refer to - http://www.gnu.org/licenses/fdl-1.3.txt for more details. - - The examples in the NeXus manual are licensed under the terms of the - GNU Lesser General Public License version 3. See the LGPL license - file included with the source of this manual or refer to - http://www.gnu.org/licenses/lgpl-3.0.txt for more details. - -other -++++++++++++++++++ - -.. toctree:: - :maxdepth: 1 - :glob: - - cheatsheet - revhistory - markup-spec diff --git a/_sphinx/source/index.rst b/_sphinx/source/index.rst deleted file mode 100755 index b83968a8c..000000000 --- a/_sphinx/source/index.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. NeXus: a common data format for neutron, x-ray, and muon science documentation master file, created by - $Id$ - -.. :title-reference:`NeXus Documentation: User Manual and Reference Documentation` - -################################################################ -NeXus: a common data format for neutron, X-ray, and muon science -################################################################ - -NeXus is a common data format for neutron, -X-ray, and muon science. It is developed as an -international standard by scientists and programmers -representing major scientific facilities in Europe, Asia, -Australia, and North America in order to facilitate -greater cooperation in the analysis and visualization -of neutron, X-ray, and muon data. - -NeXus home: -http://nexusformat.org - -.. toctree:: - :maxdepth: 1 - :glob: - - contents - frontmatter - -This manual built |today| diff --git a/_sphinx/source/markup-spec.rst b/_sphinx/source/markup-spec.rst deleted file mode 100755 index 46f619b41..000000000 --- a/_sphinx/source/markup-spec.rst +++ /dev/null @@ -1,1021 +0,0 @@ -.. $Id$ - -======================================= - reStructuredText Markup Specification -======================================= -Author: David Goodger -Contact: dgoodger@bigfoot.com -Version: 0.2 -Date: 2001-05-29 - -.. sidebar:: Help for reST authors - - This - `document `_, - while old, presents information useful - to authors of reST documents, such as this manual. - - This will be removed in the released - version of the NeXus documentation. - -reStructuredText_ is plain text that uses simple and intuitive constructs -to indicate the structure of a document. These constructs are equally easy -to read in raw and processed forms. This document is itself an example of -reStructuredText (raw, if you are reading the text file, or processed, if -you are reading an HTML document, for example). reStructuredText is a -candidate markup syntax for the `Python Docstring Processing System`_. - -Simple, implicit markup is used to indicate special constructs, such as -section headings, bullet lists, and emphasis. The markup used is as minimal -and unobtrusive as possible. Less often-used constructs and extensions to -the basic reStructuredText syntax may have more elaborate or explicit -markup. - -The first section gives a quick overview of the syntax of the -reStructuredText markup by example. More details are given in the `Syntax -Details`_ section. - -`Literal blocks`_ are used for examples throughout this document. - ------------------------ - Quick Syntax Overview ------------------------ - -A reStructuredText document is made up of body elements, and may be -structured into sections. `Section Structure`_ is indicated through title -style (underlines & optional overlines). Sections contain body elements -and/or subsections. - -Here are examples of body elements: - -- Paragraphs_ (and `inline markup`_):: - - Paragraphs contain text and may contain inline markup: *emphasis*, - **strong emphasis**, `interpreted text`, ``inline literals``, - standalone hyperlinks (http://www.python.org), indirect hyperlinks - (Python_), internal cross-references (example_), footnote references - ([1]_). - - Paragraphs are separated by blank lines and are flush left. - -- Three types of lists: - - 1. `Bullet lists`_:: - - - This is a bullet list. - - - Bullets can be '-', '*', or '+'. - - 2. `Enumerated lists`_:: - - 1. This is an enumerated list. - - 2. Enumerators may be arabic numbers, letters, or roman numerals. - - 3. `Definition lists`_:: - - what - Definition lists associate a term with a definition. - - how - The term is a one-line phrase, and the definition is one or - more paragraphs or body elements, indented relative to the - term. - -- `Literal blocks`_:: - - Literal blocks are indented, and indicated with a double-colon ('::') - at the end of the preceeding paragraph:: - - if literal_block: - text = 'is left as-is' - spaces_and_linebreaks = 'are preserved' - markup_processing = None - -- `Block quotes`_:: - - Block quotes consist of indented body elements: - - This theory, that is mine, is mine. - - Anne Elk (Miss) - -- Tables_:: - - +------------------------+------------+----------+ - | Header row, column 1 | Header 2 | Header 3 | - +========================+============+==========+ - | body row 1, column 1 | column 2 | column 3 | - +------------------------+------------+----------+ - | body row 2 | Cells may span | - +------------------------+------------+----------+ - -- Comments_:: - - .. Comments begin with two dots and a space. Anything may follow, - except for the syntax of directives, footnotes, and hyperlink - targets, described below. - -- Directives_:: - - .. graphic:: mylogo.png - -- Footnotes_:: - - .. _[1] A footnote contains indented body elements. - - It is a form of hyperlink target. - -- `Hyperlink targets`_:: - - .. _Python: http://www.python.org - - .. _example: - - The '_example' target above points to this paragraph. - -.. _syntax details: - ----------------- - Syntax Details ----------------- - -Below is a diagram of the hierarchy of element types in reStructuredText. -Elements may contain other elements below them. Element types in -parentheses indicate recursive or one-to-many relationships: sections may -contain (sub)sections, tables contain further body elements, etc. :: - - +------------------------------------------------------------------+ - | document | - | +--------------------------------------+ - | [root element] | +-------+ | - | | sections [begin with one | title |] | - | | +-------+ | - |---------------------------+-------------------------+------------| - | [body elements:] | (sections) | - | | | - lists | | - comments +------------+ - | | | - tables | | - directives | - | para- | literal | - block | foot- | - hyperlink | - | graphs | blocks | quotes | notes | targets | - +---------+---------+----------+-------+--------------+ - | [text]+ | [text] | (body elements) | [text] | - | (inline +---------+------------------+--------------+ - | markup) | - +---------+ - -For definitive element hierarchy details, see the "Generic Plaintext -Document Interface DTD" XML document type definition, gpdi.dtd_. -Descriptions below list 'DTD elements' (XML 'generic identifiers') -corresponding to syntax constructs. - -.. _whitespace: - -Whitespace -========== -Blank lines are used to separate paragraphs and other elements. Blank lines -may be omitted when the markup makes element separation unambiguous. - -Indentation is used to indicate, and is only significant in indicating: - -- multiple body elements within a list item (including nested lists), -- the definition part of a definition list item, -- block quotes, and -- the extent of literal blocks. - -Although spaces are recommended for indentation, tabs may also be used. -Tabs will be converted to spaces. Tab stops are at every 8th column. - -.. _escaping mechanism: - -Escaping Mechanism -================== -The character set available in plain text documents, 7-bit ASCII, is -limited. No matter what characters are used for markup, they will already -have multiple meanings in written text. Therefore markup characters *will* -sometimes appear in text **without being intended as markup**. - -Any serious markup system requires an escaping mechanism to override the -default meaning of the characters used for the markup. In reStructuredText -we use the backslash, commonly used as an escaping character in other -domains. - -A backslash followed by any character escapes the character. The escaped -character represents the character itself, and is prevented from playing a -role in any markup interpretation. The backslash is removed from the -output. A literal backslash is represented by two backslashes in a row. - -There are two contexts in which backslashes have no special meaning: -literal blocks and inline literals. In these contexts, a single backslash -represents a literal backslash. - -.. _section structure: - -Section Structure -================= -DTD elements: section, title. - -Sections are identified through their titles, which are marked up with -'underlines' below the title text (and, in some cases, 'overlines' above -the title). An underline/overline is a line of non-alphanumeric characters -that begins in column 1 and extends at least as far as the right edge of -the title text. When there an overline is used, the length and character -used must match the underline. There may be any number of levels of section -titles. - -Rather than imposing a fixed number and order of section title styles, the -order enforced will be the order as encountered. The first style -encountered will be an outermost title (like HTML H1), the second style -will be a subtitle, the third will be a subsubtitle, and so on. - -Below are examples of section title styles:: - - =============== - Section Title - =============== - - --------------- - Section Title - --------------- - - Section Title - ============= - - Section Title - ------------- - - Section Title - ............. - - Section Title - ~~~~~~~~~~~~~ - - Section Title - ************* - - Section Title - +++++++++++++ - - Section Title - ^^^^^^^^^^^^^ - -When a title has both an underline and an overline, the title text may be -inset, as in the first two examples above. This is merely aesthetic and not -significant. Underline-only title text may not be inset. - -A blank line after a title is optional. All text blocks up to the next -title of the same or higher level are included in a section (or subsection, -etc.). - -All section title styles need not be used, nor must any specific section -title style be used. However, a document must be consistent in its use of -section titles: once a hierarchy of title styles is established, sections -must use that hierarchy. - -.. _body elements: - -Body Elements -============= - -.. _paragraphs: - -Paragraphs ----------- -DTD element: paragraph. - -Paragraphs consist of blocks of left-aligned text with no markup indicating -any other body element. Blank lines separate paragraphs from each other and -from other body elements. Paragraphs may contain `inline markup`_. - -Syntax diagram:: - - +------------------------------+ - | paragraph | - | | - +------------------------------+ - +------------------------------+ - | paragraph | - | | - +------------------------------+ - -.. _bullet lists: - -Bullet Lists ------------- -DTD elements: bullet_list, list_item. - -A text block which begins with a '-', '*', or '+', followed by whitespace, -is a bullet list item (a.k.a. 'unordered' list item). For example:: - - - This is the first bullet list item. The blank line above the first - list item is required; blank lines between list items (such as below - this paragraph) are optional. Text blocks must be left-aligned, - indented relative to the bullet. - - - This is the first paragraph in the second item in the list. - - This is the second paragraph in the second item in the list. The - blank line above this paragraph is required. The left edge of this - paragraph lines up with the paragraph above, both indented relative - to the bullet. - - - This is a sublist. The bullet lines up with the left edge of the - text blocks above. A sublist is a new list so requires a blank line - above and below. - - - This is the third item of the main list. - - This paragraph is not part of the list. - -Here are examples of **incorrectly** formatted bullet lists:: - - - This first line is fine. - A blank line is required between list items and paragraphs. (Warning) - - - The following line appears to be a new sublist, but it is not: - - This is a paragraph contination, not a sublist (no blank line). - - Warnings may be issued by the implementation. - -Syntax diagram:: - - +------+-----------------------+ - | '- ' | list item | - +------| (body elements)+ | - +-----------------------+ - -.. _enumerated lists: - -Enumerated Lists ----------------- -DTD elements: enumerated_list, list_item. - -Enumerated lists (a.k.a. 'ordered' lists) are similar to bullet lists, but -use enumerators instead of bullets. An enumerator consists of an -enumeration sequence member and formatting, followed by whitespace. The -following enumeration sequences are recognized: - -- arabic numerals: 1, 2, 3, ... (no upper limit). -- uppercase alphabet characters: A, B, C, ..., Z. -- lower-case alphabet characters: a, b, c, ..., z. -- uppercase Roman numerals: I, II, III, IV, ... (no upper limit). -- lowercase Roman numerals: i, ii, iii, iv, ... (no upper limit). - -The following formatting types are recognized: - -- suffixed with a period: '1.', 'A.', 'a.', 'I.', 'i.'. -- surrounded by parentheses: '(1)', '(A)', '(a)', '(I)', '(i)'. -- suffixed with a right-parenthesis: '1)', 'A)', 'a)', 'I)', 'i)'. - -For an enumerated list to be recognized, the following must hold true: - -1. The list must consist of multiple adjacent list items (2 or more). -2. The enumerators must all have the same format and sequence type. -3. The enumerators must be in sequence (i.e., '1.', '3.' is not allowed). - -It is recommended that the enumerator of the first list item be ordinal-1 -('1', 'A', 'a', 'I', or 'i'). Although other start-values will be -recognized, they may not be supported by the output format. - -Nested enumerated lists must be created with indentation. For example:: - - 1. Item 1. - - a) item 1a. - b) Item 1b. - -.. _definition lists: - -Definition Lists ------------------ -DTD elements: definition_list, definition_list_item, term, definition. - -Each definition list item contains a term and a definition. A term is a -simple one-line paragraph. A definition is a block indented relative to the -term, and may contain multiple paragraphs and other body elements. Blank -lines are required before the term and after the definition, but there may -be no blank line between a term and a definition (this distinguishes -definition lists from `block quotes`_). :: - - term 1 - Definition 1. - - term 2 - Definition 2, paragraph 1. - - Definition 2, paragraph 2. - -Syntax diagram:: - - +------+ - | term | - +--+---+-----------------------+ - | defninition | - | (body elements)+ | - +---------------------------+ - -.. _field lists: - -Field Lists ------------ -DTD elements: field_list, field, field_name, field_argument, field_body. - -.. XXX Syntax under construction. Comments and suggestions welcome. - -Field lists are mappings from field names to field bodies, modeled on -RFC822_ headers. A field name is made up of one or more letters, numbers, -and punctuation, except colons (':') and whitespace. A single colon and -whitespace follows the field name, and this is followed by the field body. -The field body may contain multiple body elements. - -Applications of reStructuredText may recognize field names and transform -fields or field bodies in certain contexts. Field names are -case-insensitive. Any untransformed fields remain in the field list as the -document's first body element. - -The syntax for field lists has not been finalized. Syntax alternatives: - -1. Unadorned RFC822_ everywhere:: - - Author: Me - Version: 1 - - Advantages: clean, precedent. Disadvantage: ambiguous (these paragraphs - are a prime example). - - Conclusion: rejected. - -2. Special case: use unadorned RFC822_ for the very first or very last text - block of a docstring:: - - """ - Author: Me - Version: 1 - - The rest of the docstring... - """ - - Advantages: clean, precedent. Disadvantages: special case, flat - (unnested) field lists only. - - Conclusion: accepted, see below. - -3. Use a directive:: - - .. fields:: - - Author: Me - Version: 1 - - Advantages: explicit and unambiguous. Disadvantage: cumbersome. - -4. Use Javadoc-style:: - - @Author: Me - @Version: 1 - @param a: integer - - Advantages: unambiguous, precedent, flexible. Disadvantages: - non-intuitive, ugly. - -One special context is defined for field lists. A field list as the very -first non-comment block, or the second non-comment block immediately after -a title, is interpreted as document bibliographic data. No special syntax -is required, just unadorned RFC822_. The first block ends with a blank -line, therefore field bodies must be single paragraphs only and there may -be no blank lines between fields. The following field names are recognized -and transformed to the corresponding DTD elements listed, child elements of -the 'document' element. No ordering is imposed on these fields: - -- Title: title -- Subtitle: subtitle -- Author/Authors: author -- Organization: organization -- Contact: contact -- Version: version -- Status: status -- Date: date -- Copyright: copyright - -This field-name-to-element mapping can be extended, or replaced for other -languages. See the implementation documentation for details. - -.. _literal blocks: - -Literal Blocks --------------- -DTD element: literal_block. - -Two colons ('::') at the end of a paragraph signifies that all following -**indented** text blocks comprise a literal block. No markup processing is -done within a literal block. It is left as-is, and is typically rendered in -a monospaced typeface:: - - This is a typical paragraph. A literal block follows:: - - for a in [5,4,3,2,1]: # this is program code, formatted as-is - print a - print "it's..." - # a literal block continues until the indentation ends - - This text has returned to the indentation of the first paragraph, is - outside of the literal block, and therefore treated as an ordinary - paragraph. - -When '::' is immediately preceeded by whitespace, both colons will be -removed from the output. When text immediately preceeds the '::', *one* -colon will be removed from the output, leaving only one (i.e., '::' will be -replaced by ':'). When '::' is alone on a line, it will be completely -removed from the output; no empty paragraph will remain. - -In other words, these are all equivalent: - -1. Minimized:: - - Paragraph:: - - Literal block - -2. Partly expanded:: - - Paragraph: :: - - Literal block - -3. Fully expanded:: - - Paragraph: - - :: - - Literal block - -The minimum leading whitespace will be removed from each line of the -literal block. Other than that, all whitespace (including line breaks) is -preserved. Blank lines are required before and after a literal block, but -these blank lines are not included as part of the literal block. - -Syntax diagram:: - - +------------------------------+ - | paragraph | - | (ends with '::') | - +------------------------------+ - +---------------------------+ - | literal block | - +---------------------------+ - -.. _block quotes: - -Block Quotes ------------- -DTD element: block_quote. - -A text block that is indented relative to the preceeding text, without -markup indicating it to be a literal block, is a block quote. All markup -processing (for body elements and inline markup) continues within the block -quote:: - - This is an ordinary paragraph, introducing a block quote: - - "It is my business to know things. That is my trade." - - --Sherlock Holmes - -Blank lines are required before and after a block quote, but these blank -lines are not included as part of the block quote. - -Syntax diagram:: - - +------------------------------+ - | (current level of | - | indentation) | - +------------------------------+ - +---------------------------+ - | block quote | - | (body elements)+ | - +---------------------------+ - -.. _tables: - -Tables ------- -DTD elements: table, tgroup, colspec, thead, tbody, row, entry. - -Tables are described with a visual outline made up of the characters '-', -'=', '|', and '+'. The hyphen ('-') is used for horizontal lines (row -separators). The equals sign ('=') may be used to separate optional header -rows from the table body. The vertical bar ('|') is used for vertical lines -(column separators). The plus sign ('+') is used for intersections of -horizontal and vertical lines. - -Each cell contains zero or more body elements. Example:: - - +------------------------+------------+----------+----------+ - | Header row, column 1 | Header 2 | Header 3 | Header 4 | - | (header rows optional) | | | | - +========================+============+==========+==========+ - | body row 1, column 1 | column 2 | column 3 | column 4 | - +------------------------+------------+----------+----------+ - | body row 2 | Cells may span columns. | - +------------------------+------------+---------------------+ - | body row 3 | Cells may | - Table cells | - +------------------------+ span rows. | - contain | - | body row 4 | | - body elements. | - +------------------------+------------+---------------------+ - -As with other body elements, blank lines are required before and after -tables. Tables' left edges should align with the left edge of preceeding -text blocks; otherwise, the table is considered to be part of a block -quote. - -Comment Blocks --------------- -A comment block is a text block: - -- whose first line begins with '.. ' (the 'comment start'), -- whose second and subsequent lines are indented relative to the first, and -- which ends with an unindented line. - -Comments are analogous to bullet lists, with '..' as the bullet. Blank -lines are required between comment blocks and other elements, but are -optional between comment blocks where unambiguous. - -The comment block syntax is used for comments, directives, footnotes, and -hyperlink targets. - -.. _comments: - -Comments -........ -DTD element: comment. - -Arbitrary text may follow the comment start and will be processed as a -comment element, possibly being removed from the processed output. The only -restriction on comments is that they not use the same syntax as directives, -footnotes, or hyperlink targets. - -Syntax diagram:: - - +-------+----------------------+ - | '.. ' | comment block | - +--+----+ | - | | - +---------------------------+ - -.. _directives: - -Directives -.......... -DTD element: directive. - -Directives are indicated by a comment start followed by a single word (the -directive type, regular expression '`[a-zA-Z][a-zA-Z0-9_-]*`'), two colons, -and whitespace. Two colons are used for these reasons: - -- To avoid clashes with common comment text like:: - - .. Danger: modify at your own risk! - -- If an implementation of reStructuredText does not recognize a directive - (i.e., the directive-handler is not installed), the entire directive - block (including the directive itself) will be treated as a literal - block, and a warning generated. Thus '::' is a natural choice. - -Directive names are case-insensitive. Actions taken in response to -directives and the interpretation of data in the directive block or -subsequent text block(s) are directive-dependent. - -No directives have been defined by the core reStructuredText specification. -The following are only examples of *possible uses* of directives. - -Directives can be used as an extension mechanism for reStructuredText. For -example, here's how a graphic could be placed:: - - .. graphic:: mylogo.png - -A figure (a graphic with a caption) could be placed like this:: - - .. figure:: larch.png - - The larch. - -Directives can also be used as pragmas, to modify the behavior of the -parser, such as to experiment with alternate syntax. - -Syntax diagram:: - - +-----------------+------------+ - | '.. ' type '::' | directive | - +--+--------------+ block | - | | - +---------------------------+ - -.. _hyperlink targets: - -Hyperlink Targets -................. -DTD element: target. - -Hyperlink targets consist of a comment start ('.. '), an underscore, the -hyperlink name (no trailing underscore), a colon, whitespace, and a link -block. Hyperlink targets go together with `indirect hyperlinks`_ and -`internal hyperlinks`_. Internal hyperlink targets have empty link blocks; -they point to the next element. Indirect hyperlink targerts have an -absolute or relative URI in their link blocks. - -If a hyperlink name contains colons, either: - -- the phrase must be enclosed in backquotes:: - - .. _`FAQTS: Computers: Programming: Languages: Python`: - http://python.faqts.com/ - -- or the colon(s) must be backslash-escaped in the link target:: - - .. _Chapter One\: 'Tadpole Days': - - It's not easy being green... - -Whitespace is normalized within hyperlink names, which are -case-insensitive. - -Syntax diagram:: - - +-----------------+------------+ - | '.. _' name ':' | link | - +--+--------------+ block | - | | - +---------------------------+ - -.. _footnotes: - -Footnotes -......... -DTD elements: footnote, label. - -Footnotes are similar to hyperlink targets: a comment start, an underscore, -open square bracket, footnote label, close square bracket, and whitespace. -To differentiate footnotes from hyperlink targets: - -- the square brackets are used, -- the footnote label may not contain whitespace, -- no colon appears after the close bracket. - -Footnotes may occur anywhere in the document, not necessarily at the end. -Where or how they appear in the processed output depends on the output -formatter. Here is a footnote, referred to in `Footnote References`_:: - - .. _[GVR2001] Python Documentation, van Rossum, Drake, et al., - http://www.python.org/doc/ - -Syntax diagram:: - - +-------------------+----------+ - | '.. _[' label ']' | footnote | - +--+----------------+ | - | (body elements)+ | - +---------------------------+ - -.. _inline markup: - -Inline Markup -============= -Inline markup is the markup of text within a text block. Inline markup -cannot be nested. - -There are six inline markup constructs. Four of the constructs (emphasis_, -`strong emphasis`_, `interpreted text`_, and `inline literals`_) use -start-strings and end-strings to indicate the markup. The -`indirect hyperlinks`_ construct -(shared by `internal hyperlinks`_) uses an end-string -only. `Standalone hyperlinks`_ are interpreted implicitly, and use no extra -markup. - -The inline markup start-string and end-string recognition rules are as -follows: - -1. Inline markup start-strings must be immediately preceeded by whitespace - and zero or more of single or double quotes, '(', '[', or '{'. - -2. Inline markup start-strings must be immediately followed by - non-whitespace. - -3. Inline markup end-strings must be immediately preceeded by - non-whitespace. - -4. Inline markup end-strings must be immediately followed by zero or more - of single or double quotes, '.', ',', ':', ';', '!', '?', '-', ')', ']', - or '}', followed by whitespace. - -5. If an inline markup start-string is immediately preceeded by a single or - double quote, '(', '[', or '{', it must not be immediately followed by - the corresponding single or double quote, ')', ']', or '}'. - -6. An inline markup end-string must be separated by at least one character - from the start-string. - -7. Except for the end-string of `inline literals`_, an unescaped backslash - preceeding a start-string or end-string will disable markup recognition. - See `escaping mechanism`_ above for details. - -For example, none of the following are recognized as inline markup -start-strings: ' * ', '"*"', "'*'", '(*)', '(* ', '[*]', '{*}', '\*', ' ` -', etc. - -.. _emphasis: - -Emphasis --------- -DTD element: emphasis. - -Text enclosed by single asterisk characters (start-string = end-string = -'*') is emphasized:: - - This is *emphasized text*. - -Emphasized text is typically displayed in italics. - -.. _strong emphasis: - -Strong Emphasis ---------------- -DTD element: strong. - -Text enclosed by double-asterisks (start-string = end-string = '**') is -emphasized strongly:: - - This is **strong text**. - -Strongly emphasized text is typically displayed in boldface. - -.. _interpreted text: - -Interpreted Text ----------------- -DTD element: interpreted. - -Text enclosed by single backquote characters (start-string = end-string = -'`') is interpreted:: - - This is `interpreted text`. - -The semantics of interpreted text are domain-dependent. It can be used as -implicit or explicit descriptive markup (such as for program identifiers, -as in the `Python Extensions`_ to reStructuredText), for cross-reference -interpretation (such as index entries), or for other applications where -context can be inferred. The role of the interpreted text may be inferred -implicitly. The role of the interpreted text may also be indicated -explicitly, either a prefix (role + colon + space) or a suffix (space + -colon + role), depending on which reads better:: - - `role: interpreted text` - - `interpreted text :role` - -.. _inline literals: - -Inline Literals ---------------- -DTD element: literal. - -Text enclosed by double-backquotes (start-string = end-string = '``') is -treated as inline literals:: - - This text is an example of ``inline literals``. - -Inline literals may contain any characters except two adjacent backquotes -in an end-string context (according to the recognition rules above). No -markup interpretation (including backslash-escape interpretation) is done -within inline literals. Line breaks are *not* preserved; other whitespace -is not guaranteed to be preserved. - -Inline literals are useful for short code snippets. For example:: - - The regular expression ``[+-]?(\d+(\.\d*)?|\.\d+)`` matches - non-exponential floating-point numbers. - -.. _hyperlinks: - -Hyperlinks ----------- -Hyperlinks are indicated by a trailing underscore, '_', except for -`standalone hyperlinks`_ which are recognized independently. - -.. _standalone hyperlinks: - -Standalone Hyperlinks -..................... -DTD element: link. - -An absolute URI_ within a text block is treated as a general external -hyperlink with the URI itself as the link's text (start-string = end-string -= '', the empty string). For example:: - - See http://www.python.org for info. - -would be marked up in HTML as:: - - See http://www.python.org for info. - -.. _URI: - -Uniform Resource Identifier: - URIs are a general form of URLs (Uniform Resource Locators). - For the syntax of URIs see RFC2396_. - -.. _indirect hyperlinks: - -Indirect Hyperlinks -................... - -DTD element: link. - -Indirect hyperlinks consist of two parts. In the text body, there is a -source link, a name with a trailing underscore (start-string = '', -end-string = '_'; start-string = '\`', end-string = '\`_'):: - - See the Python_ home page for info. - -Somewhere else in the document is a target link containing a URI (see -`Hyperlink Targets`_ for a full description):: - - .. _Python: http://www.python.org - -After processing into HTML, this should be expressed as:: - - See the Python home page for info. - --------------------- - -See the Python_ home page for info. - -.. _Python: http://www.python.org - --------------------- - -Phrase-links (a hyperlink whose name is a phrase, two or more -space-separated words) can be expressed by enclosing the phrase in -backquotes and treating the backquoted text as a link name:: - - Want to learn about `my favorite programming language`_? - - .. _my favorite programming language: http://www.python.org - --------------------- - -Want to learn about `my favorite programming language`_? - -.. _my favorite programming language: http://www.python.org - --------------------- - -Whitespace is normalized within hyperlink names, which are -case-insensitive. - -.. _internal hyperlinks: - -Internal Hyperlinks -................... -DTD element: link. - -Internal hyperlinks connect one point to another within a document. They -are identical to indirect hyperlinks (start-string = '', end-string = '_'; -start-string = '\`', end-string = '\`_') except that there is no URI in the -target link. See `Hyperlink Targets`_ for a full description. For example:: - - Clicking on this internal hyperlink will take us to the target_ below. - - .. _target: - - The hyperlink target above points to this paragraph. - --------------------- - -Clicking on this internal hyperlink will take us to the target_ below. - -.. _target: - -The hyperlink target above points to this paragraph. - --------------------- - -.. _footnote references: - -Footnote References -................... -DTD element: footnote_reference. - -Footnote references consist of a square-bracketed label (no whitespace), -with a trailing underscore (start-string = '[', end-string = ']_'):: - - Please refer to the fine manual [GVR2001]_. - -See Footnotes_ for the footnote itself. - -.. _reStructuredText: http://structuredtext.sf.net -.. _Python Docstring Processing System: http://docstring.sf.net -.. _Doc-SIG: http://www.python.org/sigs/doc-sig/ -.. _gpdi.dtd: http://docstring.sf.net/spec/gpdi.dtd -.. _RFC822: http://www.rfc-editor.org/rfc/rfc822.txt -.. _RFC2396: http://www.rfc-editor.org/rfc/rfc2396.txt -.. _Python Extensions: http://structuredtext.sf.net/spec/pyextensions.txt - diff --git a/_sphinx/source/nexuslogo.png b/_sphinx/source/nexuslogo.png deleted file mode 100755 index bd748b37518f6772a88ef5af263a6eacc92c401c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4985 zcmV-<6Nc=GP)a|oAs36gmTn05`1dJU0y5s-Qjk$Dx6ehZU*5R!lpmVOnIfEJj96`6k$EToV!rG+?=hdz>s zHnkm8qkZu%v{wr-`_ykGZ6hwx^Q0rIfa)l)R^x zx2cxAtcJp|g3GLp!L5?Qu!_jAi^;T+%dD5ct(L>Em&mk(&$Wrqw}#WafYrZ++O>?* zxr^4fk<+)9(YcS-x|GOL;#2d9Y_EG010qNS#tmY3ljhU3ljkVnw%H_000McNliru+XWI69w>Q9 z+#~=15AsPwK~!ko?OJ zWnxbW251|DG6_vh;x#OOk1)rNA=kCXKsbSkX=tcz{J0PIE{`U5)m&d`P2ylDHZ}aS z?>mp{>sK0e>K{xwQXBi+bH8(b=X?FmcYN7rpO<#o1=~E7c_{Nx=Aq0(nTIkDWgf~r zlzAxgQ2w8xWX(<2^=x&!(D%lzN(}#^Hy_fZeR`qR3`&D3Ntdd!Z{)*VmY|~y`kIO# zb-qhnl+k;Mpuh~8mQ}03s9Gwe7%h`JH8-7@UQ213N;aTMR7z9z3uC!hD0)^9UR6>l zO|9xOH%V5sx$Nc(l~*=MGLfjCG7I{vq@>hKXkZ%5(I>)cjkW4(HI!q$a_YiR^z5&z z-jNiF=;OT;8xWN3HY)ySZAd z{s^i?gI)O(?dj;Scq6F%O9o{>nP-zXET%PMQHq#6K>F==mp^QvoE?gWJ8&C=Vs}x2 zfR7=u+pU49d?~eZFP+KZOGp`&sYTNi`6qNmPIo+sRxt-CU`>US!$V=uy?J~*`JVzy5^GbVF!{-p5XK+$QESCxAk_r z)8z;CYU=Df<9~pnEn-uD&mBr;G$Y$dW-p}6B{Vd`_t zyZ}jptCzjQSb(mZMe2>9l#SLDicZoBGci9|G)pa60%eDt+DWY`p$$SB*R*W)D!|Pp zChiaTW=7K(5(oGk_ePTOiGY;B3P=ZhQR}o){Q{x+`FgRPWFw z)IlM$esurU@br1g1FEsezop{VI7tlqDhb0K7(GN;V?Jl_f~!FSCQV)c{h{Z6@xZ$Z z%B#^wsrbPbHe8>~PnViPNx_KiOfBxDp_Zmla3!1hO0MmdOmEPq8OgA)fS7(CKkaU_ z&^V|uLRrrWXjilkgLM^1;zFVVDuTU$v5@b}AR*^l-_DvXCYpCZy{8zF|_idVI_TOp#$X^qJtynv25 z-03+cf?iczhOoNR7KG4KHjvy*sOi4DuA!qJclZa#r;5$Aq97Eywil4KA`0D~9b5#$97N{7Wpa*al2+tz0FMJrIs z7+ilC5BS|~*B(0BJvf$c21R|JKyfiwWedkCe?y=+++itWBANhUUr%>e=U)1P1?H{| zaKKeK6#Tyv93_Cc$v_O6Gbn(?jZm`MO*A@yIE6zgUkP3N0EgS}_q$<*J31WwL*vb% zJdX=hlALhp%XxIy~oyNvr+6z><&M05w)@7@7xLh{jt5>=1*Yo zGGb$8$a;96Y*mT@1G6xo{EFC#%jJ*72L=Y>Xd=hsBa?+vsR@)V1d6|Z6`kHqy&PtH z2F)G(HBr$D`pLrXuC8ux;9)ZQ2u6i;jaI<%4;s$&u(i_)^iHm!KAJ+FK4z!#brTeB zU}dUy$BFph$mrS8VT9E`csAEOg56A^!~^V1!Duk0nL7ZA5uo)f!hX85)8-2&h_7r1 zhK3fY*2d!~N3zCY1!9dZUps^`JfHxeFzPDnI?yvU289MMiz_xbIx(5cy&~M<_s2&j z@{lB(Kv{{7=?cUX2Wve40W@AqB^K-CMA+KZ-UVyBfigrwMwA+@fLcU;1amqZpl5WH z8WNY{P-01hawV0Ao~dOCl=3g>h~x3$@f_s&sk4Le_|VxL#NuX91PUdQOwh@%qFB`I zjSLEl#ef7+Z))oVB*>;0w$l`zu3aU1_1i4z!dk?CBIGmQ4vu-3&j6$(`jnfM0Sl_n2RS*{YJXWj2<&Hs+ zO*gQfZ0Z?KDUZkMEzlsbj21EWOp=&rK+!9l;!U7lh2r$gOsO;r6m-AUs1-S#7XQL5 z91q6|g@VMNGI>G_*ASgATej?qWlI*ewhA{iu91Dn7eS$@^=D@W#f@svwy-2a%#AVQ zQht$%Ac11QVE{<;^9m^)t!cMHcF1Jp^R5o|g)dYyT))8iP3XE{Zp zZr8L~smZ3JJh=eXz!Ye)v1DE`38&Msch|PN*RB3a>mF-Yx33loe8eR2eFnwqYLIxc z*|%thB?ni2_#+jOG(UQkOZoBP*Gy1W42@%^Z>|-jaqDOz1SZ4-@;ach@MmwkE5vy* z%V`M3VIj?GY45`0M%8%*&bnxcS9Mw*p=ruVs~lWq6h~>9JaNs-Q{K#S9hpEI5q`eP)cwug~CvCD8<6WnW6Ye zD~EDo;0!gfhFVFPp&()9CbrW?p>T??K492$B55>HRx(<>%L6B{x?>f;t5XXPU`Pc7 z;ocr5+XUr5!Ur=m)A`ABBLlG$SFjKQ9H!6=iq0YlhXVXue4W1c1ZB)T{%AMQfQh6D zQV@i0(zKdlA6?^NWa|k=>K<|hY6`VFcRYjw$0Al}wo{f&p{x`(Pv)kkrwh4>(ZLvl za$?}@RIv#ZRjJkro{6ILAPots)xm{>B~o_R>U2RS$Y{LbZJA!3P~b3+1(t*;8uhiX zSfduE6;~_)G5_a1HujaR0)1W(l(Dgi0?^3(i{PJQpYMUkGqWHoH?73wI@~xD?=Wxm6#dIY4J3i<4fQ% zx$zN39f-3ufkG(5YI|kL7{#7qQ0{b^pgdzL1*eHR0E)Rn3P@;Z*w{f2^D=T-^PtT7lu9G2o zrTjZVI2eeZ&H?W#1C~iToE9mXKv{re78BKGc%?KghWKfNRNu^~8gp;~5E z3am&0-qQ$*&QtgTJHIX<$u1=)@8VD@MKI+DbrkHz-agKY^-A#>2!Wf}pqAl|{{%hF z86l!lr(WgtczkT{voC zd?Ki=%Srm>_Y@hihEIOspwD-#PvINz5ig?idlW5eSeWn-1T=cE(W`C`mO30ZPrxW@ zw6?SW(bmfR1Sts1Hox`q{rKT^x9j8pEmG7$slHJcguk((yly0y1x_>R(Bx=~dHiCV z&DMRiSD|+bEmhB+N}@2;urRXcKa$y{eT8K&wA&pvUnFUI6;9Ynu~cUOiJ03TA09`Z z-+;IrsvdkBH~=Sx8c8m#h96?zDMbt|uK+pR+1Y9HL_`YZ@71!_Ch&e;&B9Cq3qR<93M!Dun;|54kKcCsA1!{MU80syrn12&Wo6IgAY5Q73S zq%Vm5z$UOrmXX8VmJaeAwxJ56`UKD}>LV<5Kcry?P;{m%^Dt-*iD<11VdGaI>@qwX{F$$#I=vozT z*<~>qO++Gza5$WZMA26&p&t(Vkw{cB-$$r`MM@?@!0y9|q$tUpOkx06q~1s*f|5{H zA3HhXjd3^>fbK{ln(Q;^3*L%{i4el)Qt)z^en+X06=(93o zG1(O+B#VX!-*8MCJJd2H_?f~~Zesl0*tzkE$y~lbsx8efyLIwAuuP?CrrI2?FO|YR zwTk%S8)-|HS@#IYC8BUpFlfb_pG@j@}|Fr)Cr+G1}RZ2dr00000NkvXXu0mjf DSSW~M diff --git a/_sphinx/source/preface.rst b/_sphinx/source/preface.rst deleted file mode 100755 index 0f3452aba..000000000 --- a/_sphinx/source/preface.rst +++ /dev/null @@ -1,136 +0,0 @@ -.. $Id$ - -.. _preface: - -Preface -================================================= - -With this edition of the manual, NeXus introduces a complete version -of the documentation of the NeXus standard. The content from the wiki -has been converted, augmented (in some parts significantly), clarified, -and indexed. The NeXus Definition Language (NXDL) is introduced now -to define base classes and application definitions. -NXDL replaces the previous method (meta-DTD) to define NeXus classes. -NeXus base classes and instrument definitions -are now assigned to one of three classifications: - -#. *base classes* (that represent the components used - to build a NeXus data file), -#. *application definitions* (that define a minimum - set of data for a specific purpose such as scientific data processing - or an instrument definition), - and -#. *contributed definitions* (definitions and specifications - that are in an incubation status before ratification by the NIAC). - -Additional examples have been added to respond to -inquiry from the users of the NeXus standard about implementation -and usage. Hopefully, the improved documentation with -more examples and the new NXDL will reduce -the learning barriers incurred by those new to NeXus. - - -Representation of data examples -------------------------------------------------- - -.. index:: - single: data; examples - -Most of the examples of data files have been written in a format -intended to show the structure of the file rather than the data content. -In some cases, where it is useful, some of the data is shown. -Consider this prototype example: - -.. code-block:: text - :linenos: - - entry:NXentry - instrument:NXinstrument - detector:NXdetector - data:[] - @axes = "bins" - @long_name = "strip detector 1-D array" - @signal = 1 - bins:[0, 1, 2, ... 1023] - @long_name = "bin index numbers" - sample:NXsample - name = "zeolite" - data:NXdata - data --> /entry/instrument/detector/data - bins --> /entry/instrument/detector/bins - -Some words on the notation: - -* Hierarchy is represented by indentation. - Objects on the same indentation level are in the same group -* The combination ``name:NXclass`` denotes a NeXus group with - name ``name`` and class ``NXclass``. -* A simple name (no following class) denotes a data field. - An equal sign is used to show the value, where this is - important to the example. -* Sometimes, a data type is specified and possibly a set of - dimensions. For example, ``energy:NX_NUMBER[NE]`` says ``energy`` - is a 1-D array of numbers (either integer or floating point) - of length ``NE``. -* Attributes are noted as ``@name=value`` pairs separated by comma. - The ``@`` symbol only indicates this is an attribute. The ``@`` - symbol is not part of the attribute name. -* Links are shown with a text arrow ``-->`` indicating the source - of the link (using HDF5 notation listing the sequence of names). - -[Line 1] - shows that there is one group at the root level of the file named - ``entry``. This group is of type ``NXentry`` - which means it conforms to the specification of the ``NXentry`` - NeXus base class. Using the HDF5 nomenclature, we would refer to this - as the ``/entry`` group. - -[Lines 2, 10, and 12] - The ``/entry`` group contains three subgroups: - ``instrument``, ``sample``, and ``data``. - These groups are of type ``NXinstrument``, ``NXsample``, - and ``NXdata``, respectively. - -[Line 4] - The data of this example is stored in the - ``/entry/instrument/detector`` group in the dataset called - ``data`` (HDF5 path is ``/entry/instrument/detector/data``). - The indication of ``data:[]`` says that ``data`` is an - array of unspecified dimension(s). - -[Lines 5-7] - There are three attributes of ``/entry/instrument/detector/data``: - ``axes``, ``long_name``, and ``signal``. - -[Line 8] (reading ``bins:[0, 1, 2, ... 1023]``) - shows that - ``bins`` is a 1-D array of length presumably 1024. A small, - representative selection of values are shown. - -[Line 9] - an attribute that shows a descriptive name of - ``/entry/instrument/detector/bins``. This attribute - might be used by a NeXus client while plotting the data. - -[Line 11] (reading ``name = "zeolite"``) - shows how a string value is represented. - -[Lines 13-14] - The ``/entry/data`` group has two datasets that are actually - linked as shown. (As you will see later, the ``NXdata`` group - is required and enables NeXus clients to easily determine what to - offer for display on a default plot.) - - -Class path specification -------------------------------------------------- - -In some places in this documentation, a path may be shown -using the class types rather than names. For example: -``/NXentry/NXinstrument/NXcrystal/wavelength`` -identifies a dataset called ``wavelength`` -that is inside a group of type ``NXcrystal`` inside a group -of type ``NXinstrument`` inside a group of type ``NSentry``. -This nomenclature is used when the exact name of each group is -either unimportant or not specified. Often, this will be used in -a NXDL specification to indicate the connections of a link. diff --git a/_sphinx/source/revhistory.rst b/_sphinx/source/revhistory.rst deleted file mode 100755 index 92050c8cf..000000000 --- a/_sphinx/source/revhistory.rst +++ /dev/null @@ -1,39 +0,0 @@ -.. $Id$ - -.. _revhistory: - -Revision History -================================================= - - -============= =========== ===================================================================== ========== -NUMBER DATE DESCRIPTION NAME -============= =========== ===================================================================== ========== -3.2a 2012-05 Changing documentation source from DocBook to Sphinx PRJ -3.1.0 2012-05 Ready for release. PRJ -3.1 2012-02 Now using ``cmake`` to control multiplatform build PRJ - and packaging. -1.0b 2011-11 Preparing manual for initial release. Also PRJ - preparing to convert manual source from - DocBook to Sphinx for next release of manual. -draft 2010-11 Nearly complete but still much finishing work PRJ - remains. The description of dimensions and the - description of the coordinate system needs major - revision and improvement. More examples are - needed. The manual is now divided into two - volumes. Volume I is the User Manual, Volume II - is the Reference Documentation. Much of the - NXDL chapter in Volume II is autogenerated from - the ``nxdl.xsd`` Schema and the NXDL source - files. - - Initial release of NXDL, manual, and next release - of NAPI (compatibility release), - manual in editing stage, packaging tools need to be built. -initial draft 2010 spring Most of the content from the old NeXus PRJ - mediawiki documentation is included. Some new - wiki content has been introduced but should be - easy to identify for inclusion in the manual. -.. 2009-11 Started conversion from the old NeXus mediawiki PFP - documentation. -============= =========== ===================================================================== ========== diff --git a/_sphinx/source/volume1/design/data-linking.png b/_sphinx/source/volume1/design/data-linking.png deleted file mode 100755 index 37219acc2a4d9ff312a0893e62e9ae1841ddc45e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109763 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¤fv}$V8 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 LrjIIDy%+XBT2iY< diff --git a/_sphinx/source/volume1/design/datarules.rst b/_sphinx/source/volume1/design/datarules.rst deleted file mode 100755 index 66fe038de..000000000 --- a/_sphinx/source/volume1/design/datarules.rst +++ /dev/null @@ -1,587 +0,0 @@ -.. $Id$ - -.. _DataRules: - -Rules for Storing Data Items in NeXus Files -=========================================== - -This section describes the rules which apply for -storing single data fields in data files. - - - -.. _Design-Naming: - -Naming Conventions ------------------- - -Group and field names used within NeXus follow a naming -convention which adheres to these rules. :index:`rules; naming` -The names of NeXus `group `_ and `field `_ -objects must contain only a restricted set of characters. -This set may be described by this regular expression syntax. - -.. _RegExpName: - -:: - - [A-Za-z_][\w_]* - -This name pattern starts with a letter (upper or lower case) -or "`_`" (underscore), then letters, -numbers, and "`_`" and is limited to no more than 63 characters -(imposed by the HDF5 rules for names). - -.. index:: rules; HDF5 - -Sometimes it is necessary to combine words in order to -build a descriptive name for a data field or a group. -In such cases lowercase words are connected by underscores. :: - - number_of_lenses - -For all data fields, only names from the NeXus base class dictionaries are to -be used. -If a data field name or even a complete component is missing, -please suggest the addition to the NIAC. The addition will usually be -accepted provided it is adequately documented -and not a duplication of an existing field. - -.. note: - The NeXus base classes provide a comprehensive dictionary - of terms than can be used for each class. - :index:`NeXus basic motivation; defined dictionary` - - - -.. _Design-NeXusDimensions: - -NeXus Storage -------------- - -NeXus stores multi dimensional arrays of physical values -in C language storage order, :index:`dimension; storage order` -last dimension is the fastest varying. This is the rule. - - **Good reasons are required to deviate from this rule.** - -One good reason to deviate from this rule is the situation -where data must be streamed to disk as fast as possible and -a conversion to NeXus storage order is not possible. -In such cases, exceptions can be made. It is possible -to store data in other storage orders in NeXus -as well as to specify that the data needs to be converted first -before being useful. - -.. ... store data in other storage orders in NeXus ... - - - - -.. _Design-NonCStorageOrder: - -Non C Storage Order -................... - -In order to indicate that the storage order :index:`dimension; storage order` -is different from C storage order two -additional data set attributes, offset and stride, -have to be stored which together define the storage -layout of the data. Offset and stride contain rank -numbers according to the rank of the multidimensional -data set. Offset describes the step to make when the -dimension is multiplied by 1. Stride defines the step to -make when incrementing the dimension. -This is best explained by some examples. - - -Offset and Stride for 1-D data -++++++++++++++++++++++++++++++ - -* raw data = 0 1 2 3 4 5 6 7 8 9 - -.. code-block:: text - - size[1] = { 10 } // assume uniform overall array dimensions - -* default stride - -.. code-block:: text - :linenos: - - stride[1] = { 1 } - offset[1] = { 0 } - for i: - result[i]: - 0 1 2 3 4 5 6 7 8 9 - -* reverse stride - -.. code-block:: text - :linenos: - - stride[1] = { -1 } - offset[1] = { 9 } - for i: - result[i]: - 9 8 7 6 5 4 3 2 1 0 - - -Offset and Stride for 2-D data -++++++++++++++++++++++++++++++ - -* raw data = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 - -.. code-block:: text - - size[2] = { 4, 5 } // assume uniform overall array dimensions - -* row major (C) stride - -.. code-block:: text - :linenos: - - stride[2] = { 5, 1 } - offset[2] = { 0, 0 } - for i: - for j: - result[i][j]: - 0 1 2 3 4 - 5 6 7 8 9 - 10 11 12 13 14 - 15 16 17 18 19 - -* column major (Fortran) stride - -.. code-block:: text - :linenos: - - stride[2] = { 1, 4 } - offset[2] = { 0, 0 } - for i: - for j: - result[i][j]: - 0 4 8 12 16 - 1 5 9 13 17 - 2 6 10 14 18 - 3 7 11 15 19 - -* "crazy reverse" row major (C) stride - -.. code-block:: text - :linenos: - - stride[2] = { -5, -1 } - offset[2] = { 4, 5 } - for i: - for j: - result[i][j]: - 19 18 17 16 15 - 14 13 12 11 10 - 9 8 7 6 5 - 4 3 2 1 0 - - -Offset and Stride for 3-D data -++++++++++++++++++++++++++++++ - -* raw data = 0 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 - -.. code-block:: text - - size[3] = { 3, 4, 5 } // assume uniform overall array dimensions - -* row major (C) stride - -.. code-block:: text - :linenos: - - stride[3] = { 20, 5, 1 } - offset[3] = { 0, 0, 0 } - for i: - for j: - for k: - result[i][j][k]: - 0 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 - -* column major (Fortran) stride - -.. code-block:: text - :linenos: - - stride[3] = { 1, 3, 12 } - offset[3] = { 0, 0, 0 } - for i: - for j: - for k: - result[i][j][k]: - 0 12 24 36 48 - 3 15 27 39 51 - 6 18 30 42 54 - 9 21 33 45 57 - - 1 13 25 37 49 - 4 16 28 40 52 - 7 19 31 43 55 - 10 22 34 46 58 - - 2 14 26 38 50 - 5 17 29 41 53 - 8 20 32 44 56 - 11 23 35 47 59 - -.. 2011-10-15,PRJ: NXformula has not been ratified by the NIAC. - This entire part is premature. - - .. _Design-DataValueTransformations: - - Data Value Transformations - ++++++++++++++++++++++++++ - - .. TODO: Is it too early to include a section about Data Value Transformations and NXformula? - - It is possible to store raw values in NeXus data files. Such data has to be stored in - special `NXformula` [#]_ groups together with the data and information required to transform - it into physical values. - - .. [#] NeXus has not yet defined the `NXformula` group (or base class) for use in NeXus data files. - The exact content of the `NXformula` group is still under discussion. - - - -.. _Design-DataTypes: - -NeXus Data Types ----------------- - -Matching regular expressions for NeXus data types - -================ =================================== -description matching regular expression -================ =================================== -integer ``NX_INT(8|16|32|64)`` -floating-point ``NX_FLOAT(32|64)`` -array ``(\[0-9\])?`` -valid item name ``^[A-Za-z_][A-Za-z0-9_]*$`` -valid class name ``^NX[A-Za-z0-9_]*$`` -================ =================================== - -NeXus supports numeric data as either integer or floating-point -numbers. A number follows that indicates the number of bits in the word. -The table above shows the regular expressions that -matches the data type specifier. - -integers - ``NX_INT8``, ``NX_INT16``, ``NX_INT32``, or ``NX_INT64`` - -floating-point numbers - ``NX_FLOAT32`` or ``NX_FLOAT64`` - -date / time stamps - ``NX_DATE_TIME`` or ``ISO8601`` - - Dates and times :index:`date and time` are specified using - ISO-8601 standard definitions. - Refer to :ref:`Design-Dates-Times`. - -strings - All strings are to be encoded in UTF-8. Since most strings in a - NeXus file are restricted to a small set of characters and - the first 128 characters are standard across encodings, - the encoding of most of the strings in a NeXus file will be a moot point. - UTF-8 encoding will be important when recording - peoples' names in :ref:`NXuser` - and text notes in :ref:`NXnote`. - - .. index:: utility; nxvalidate - - Because the few places where encoding is important also - have unpredictable content, as well as the way in which - current operating systems handle character encoding, it - is practically impossible to test the encoding used. Hence, - `nxvalidate` provides no messages relating to character encoding. - -binary data - Binary data is to be written as ``UINT8``. - -images - Binary image data is to be written using ``UINT8``, - the same as binary data, but with an accompanying image mime-type. - If the data is text, the line terminator is ``[CR][LF]``. - - - -.. _Design-Dates-Times: - -NeXus dates and times ---------------------- - -.. index:: date and time - -NeXus dates and times should be stored using the -ISO 8601 [#ISO8601]_ format, such as: - -.. code-block:: text - - 1996-07-31T21:15:22+0600 - -**Note:** - The `T` appears literally in the string, - to indicate the beginning of the time element, as specified - in ISO 8601. It is common to use a space in place of the `T`. - While human-readable, compatibility with the ISO 8601 standard is not - assured with this substitution. - -The standard also allows for time intervals in fractional seconds -with *1 or more digits of precision*. -This avoids confusion, e.g. between U.S. and European conventions, -and is appropriate for machine sorting. - -.. [#ISO8601] ISO 8601, http://www.w3.org/TR/NOTE-datetime - -.. Uh, a leftover ... ... something above should be one level lower. - - - - -.. _Design-Units: - -NeXus Units ------------ - -.. index:: units - -Given the plethora of possible applications of NeXus, it is difficult to -define units -to use. Therefore, the general rule is that you are free to -store data in any unit you find fit. However, any data field must have a -units attribute which describes the units, Wherever possible, SI units are -preferred. NeXus units are written as a string attribute (``NX_CHAR``) -and describe the engineering units. The string -should be appropriate for the value. -Values for the NeXus units must be specified in -a format compatible with Unidata UDunits. [#UDunits]_ -The UDunits specification also includes instructions for derived units. -At present, the contents of NeXus `units` attributes -are not validated in data files. -Application definitions may specify units to be used for fields -using an `enumeration`. :index:`enumeration` - -.. [#UDunits] Unidata UDunits, http://www.unidata.ucar.edu/software/udunits/udunits-2-units.html - - -Linking Multi Dimensional Data with Axis Data ---------------------------------------------- - -NeXus allows to store multi dimensional arrays of data. -In most cases -it is not sufficient to just have the indices into the array as a label for -the dimensions of the data. Usually the information which physical value -corresponds to an index into a dimension :index:`dimension` -of the multi dimensional data set. -To this purpose a means is needed to locate appropriate data arrays which describe -what each dimension of a multi dimensional data set actually corresponds too. -There is a standard HDF facility to do this: it is called dimension scales. -Unfortunately, at a time, there was only one global namespace for dimension scales. -Thus NeXus had to come up with its own scheme for locating axis data which is described -here. A side effect of the NeXus scheme is that it is possible to have multiple -mappings of a given dimension to physical data. For example a TOF data set can have the TOF -dimension as raw TOF or as energy. - -There are two methods of linking :index:`link` -each data dimension to its respective dimension scale. -:index:`dimension; dimension scales` -The preferred method uses the ``axes`` attribute -to specify the names of each dimension scale. -The original method uses the ``axis`` attribute to identify -with an integer the axis whose value is the number of the dimension. -After describing each of these methods, the two methods will be compared. -A prerequisite for both methods is that the data fields describing the axis -are stored together with the multi dimensional data set whose axes need to be defined -in the same NeXus group. If this leads to data duplication, use links. - - - -.. _Design-Linking-ByName: - -Linking by name using the `axes` attribute -.......................................... - -The preferred method is to define an attribute of the data itself -called *axes*. :index:`axes` The ``axes`` attribute contains the names of -each dimension scale :index:`dimension; dimension scales` -as a colon (or comma) separated list in -the order they appear in C. For example: - -Preferred way of denoting axes -++++++++++++++++++++++++++++++ - - -.. code-block:: text - :linenos: - - data:NXdata - time_of_flight = 1500.0 1502.0 1504.0 ... - polar_angle = 15.0 15.6 16.2 ... - some_other_angle = 0.0 0.0 2.0 ... - data = 5 7 14 ... - @axes = polar_angle:time_of_flight - @signal = 1 - - - -.. _Design-LinkingByDimNumber: - -Linking by dimension number using the `axis` attribute -++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -The original method is to define an attribute of each dimension -scale called *axis*. :index:`axis` -It is an integer whose value is the number of -the dimension, in order of fastest varying dimension. :index:`dimension; fastest varying` -That is, if the array being stored is data with elements -``data[j][i]`` in C and -``data(i,j)`` in Fortran, where ``i`` is the -time-of-flight index and ``j`` is -the polar angle index, the :ref:`NXdata` group :index:`NXdata` -would contain: - -.. code-block:: text - :linenos: - - data:NXdata - time_of_flight = 1500.0 1502.0 1504.0 ... - @axis = 1 - @primary = 1 - polar_angle = 15.0 15.6 16.2 ... - @axis = 2 - @primary = 1 - some_other_angle = 0.0 0.0 2.0 ... - @axis = 1 - data = 5 7 14 ... - @signal = 1 - -The ``axis`` attribute must -be defined for each dimension scale. -The ``primary`` attribute is unique to this method of linking. - -There are limited circumstances in which more -than one dimension scale :index:`dimension; dimension scales` -for the same data dimension can be included in the same -:ref:`NXdata` group. :index:`NXdata` -The most common is when the dimension scales are -the three components of an -*(hkl)* scan. In order to -handle this case, we have defined another attribute -of type integer called -``primary`` whose value determines the order -in which the scale is expected to be -chosen for plotting, :index:`NeXus basic motivation; default plot` -i.e. - - **Note:** - The `primary` attribute can only be - used with the first method of defining dimension scales - :index:`dimension; dimension scales` - discussed above. In addition to - the ``signal`` data, this - group could contain a data set of the same rank - :index:`rank` - and dimensions called ``errors`` - containing the standard deviations of the data. - -1st choice: - ``primary="1"`` - -2nd choice: - ``primary="2"`` - -etc. - -If there is more than one scale with the same value of the ``axis`` attribute, one -of them must have set ``primary="1"``. Defining the ``primary`` -attribute for the other scales is optional. - - -.. _Design-Linking-Discussion: - -Discussion of the two linking methods -+++++++++++++++++++++++++++++++++++++ - -In general the method using the ``axes`` attribute on the multi dimensional -data set :index:`dimension; data set` should be preferred. -This leaves the actual axis describing data sets -unannotated and allows them to be used as an axis for other multi dimensional -data. This is especially a concern as an axis describing a data set may be linked -into another group where it may describe a completely different dimension -of another data set. - -Only when alternative axes definitions are needed, the ``axis`` method -should be used to specify an axis of a data set. -This is shown in the example above for -the ``some_other_angle`` field where ``axis="1"`` -denotes another possible primary axis for plotting. The default -axis for plotting carries the ``primary="1"`` attribute. - -Both methods of linking data axes will be supported in NeXus -utilities that identify dimension scales, :index:`dimension; dimension scales` -such as ``NXUfindaxis()``. - - -.. _Rules-StoringDetectors: - -Storing Detectors ------------------ - -There are very different types of detectors out there. Storing their data -can be a challenge. As a general guide line: if the detector has some -well defined form, this should be reflected in the data file. A linear -detector becomes a linear array, a rectangular detector becomes an -array of size ``xsize`` times ``ysize``. -Some detectors are so irregular that this -does not work. Then the detector data is stored as a linear array, with the -index being detector number till ``ndet``. Such detectors must be accompanied -by further arrays of length ``ndet`` which give -``azimuthal_angle``, ``polar_angle`` and ``distance`` for each detector. - -If data from a time of flight (TOF) instrument must be described, then the -TOF dimension becomes the last dimension, for example an area detector of -``xsize`` *vs.* ``ysize`` -is stored with TOF as an array with dimensions -``xsize``, ``ysize``, ``ntof``. - - -.. _Rules-StoringData-Monitors: - -Monitors are Special --------------------- - -Monitors, :index:`monitor` detectors that measure the properties -of the experimental probe rather than the -sample, have a special place in NeXus files. Monitors are crucial to normalize data. -To emphasize their role, monitors are not stored in the -:ref:`NXinstrument` hierarchy but as :ref:`NXmonitor` group(s) as direct -children of the :ref:`NXentry` level, as there might be multiple monitors. Of special -importance is the monitor in a group called ``control``. -This is the main monitor against which the data has to be normalized. -This group also contains the counting control information, -i.e. counting mode, times, etc. - -Monitor data may be multidimensional. Good examples are scan monitors -where a monitor value per scan point is expected or -time-of-flight monitors. diff --git a/_sphinx/source/volume1/design/fileformat.rst b/_sphinx/source/volume1/design/fileformat.rst deleted file mode 100755 index 88864445a..000000000 --- a/_sphinx/source/volume1/design/fileformat.rst +++ /dev/null @@ -1,189 +0,0 @@ -.. $Id$ - -.. _Fileformat: - -===================================== -Physical File format -===================================== - -.. index:: NeXus; low-level file formats -.. index:: NAPI; bypassing - -This section describes how NeXus structures are mapped to features of the -underlying physical file format. -This can also be considered a guide for people who wish to create NeXus -files without using the NeXus-API. - -.. _Fileformat-HDF-Choice: - -Choice of HDF as Underlying File Format -------------------------------------------------- - -.. index:: HDF -.. index:: API - -At its beginnings, the founders of NeXus identified the Hierarchical Data -Format (HDF) [#]_, as a multi-platform data storage format with capacity -for conveying large data payloads and a substantial user community. HDF -(now HDF5) was provided with software to read and write data (this is the -application-programmer interface, or API) using a large number of -computing systems in common use for neutron and X-ray science. HDF is a -binary data file format that supports compression and structured data. - -.. [#] HDF: http://www.hdfgroup.org, - initially from the National Center for Supercomputing - Applications (NCSA) at the University of Illinois at - Urbana-Champaign (UIUC) and later spun off into its own group - called The HDF Group (THG). - -.. _Fileformat-Mapping-HDF: - -Mapping NeXus into HDF -------------------------------------------------- - -.. index:: attributes - -NeXus data structures map directly to HDF structures. - -NeXus *groups* - HDF4 *vgroups* or HDF5 *groups* - -NeXus data sets (or *fields*) - HDF4 *SDS (scientific data sets)* or HDF5 *datasets* - -Attributes - HDF group or dataset attributes. - -The only special case is the NeXus class name. -HDF4 supports a group class -which is set with the ``Vsetclass()`` call -and read with ``VGetclass()``. -HDF-5 has no group class. Thus the NeXus class -is stored as a group attribute with the name ``NX_class``. - -NeXus links directly map to the HDF linking mechanisms. - - - -.. _Fileformat-Mapping-XML: - -Mapping NeXus into XML -------------------------------------------------- - -.. index:: attributes - -This takes a bit more work than HDF. -At the root of NeXus XML file -is a XML element with the name ``NXroot``. -Further XML attributes to -``NXroot`` define the NeXus file level attributes. - -NeXus groups are encoded into XML as elements with the name of the NeXus -class and an XML attribute ``name`` which defines the NeXus name of the -group. Further group attributes become XML attributes. An example of a -NeXus group element in XML: - -.. code-block:: text - :linenos: - - - - -.. index:: dimension - -NeXus data sets are encoded as XML elements with the name of the data. An -attribute ``NAPItype`` defines the type and dimensions of the data. The -actual data is stored as ``PCDATA`` [#]_ in the element. An example of two -NeXus data elements in XML: - -.. code-block:: text - :linenos: - - - monitor - - - 21 456 127876 319 - - - -.. [#] ``PCDATA`` is the XML term for - *parsed character data* - (see: http://www.w3schools.com/xml/xml_cdata.asp) - -.. index:: dimension -.. index:: attributes - -Data are printed in appropriate formats and in C storage order. -The codes understood for ``NAPItype`` are -all the NeXus data type names. The dimensions -are given in square brackets as a comma -separated list. No dimensions need to be given if -the data is just a single value. -Data attributes are represented as XML attributes. -If the attribute is not a text string, then the -attribute is given in the form: *type:value*, for example: -``signal="NX_INT32:1"``. - -.. index:: link -.. index:: NAPIlink - -NeXus links are stored in XML as XML elements with the name ``NAPIlink`` -and a XML attribute ``target`` which stores the path to the linked entity -in the file. If the item is linked under a different name, then this name -is specified as a XML attribute name to the element ``NAPIlink``. - -The authors of the NeXus API worked with the author of the miniXML XML -[#miniXML]_ library to create a reasonably efficient way of handling -numeric data with XML. Using the NeXus API handling something like 400 -detectors versus 2000 time channels in XML is not a problem. But you may -hit limits with XML as the file format when data becomes to large or you -try to process NeXus XML files with general XML tools. General XML tools -are normally ill-prepared to process large amounts of numbers. - -.. [#miniXML] MiniXML: http://www.minixml.org/ - - - - -.. _Fileformat-SpecialAttributes: - -Special Attributes -------------------------------------------------- - -.. index:: attributes - -NeXus makes use of some special attributes for its internal purposes. -These attributes are stored as normal group or data set attributes -in the respective file format. These are: - -.. index:: link - -target - The `target` attribute is automatically created when items get linked. - The target attribute contains a text string with - the path to the source of the item linked. - -``napimount`` - The ``napimount`` attribute is used to implement - external linking in NeXus. - The string is a URL to the file and group in the - external file to link too. The system is meant to be extended. - But as of now, the only format supported is: - ``nxfile://path-to-file#path-infile``. - This is a NeXus file in the file system at path-to-file - and the group path-infile in that - NeXus file. - -.. index:: NAPIlink - -``NAPIlink`` - NeXus supports linking items in another group under another name. - This is only supported natively in HDF-5. - For HDF-4 and XML a crutch is needed. - This crutch is a special class name or attribute - ``NAPIlink`` combined with the - target attribute. For groups, ``NAPILink`` - is the group class, for data items a special attribute - with the name ``NAPIlink``. - \ No newline at end of file diff --git a/_sphinx/source/volume1/design/index.rst b/_sphinx/source/volume1/design/index.rst deleted file mode 100755 index 3f0437027..000000000 --- a/_sphinx/source/volume1/design/index.rst +++ /dev/null @@ -1,718 +0,0 @@ -.. $Id$ - -.. TODO: subdivide this file - -.. _NeXus-Design: - -************ -NeXus Design -************ - -This chapter actually defines the rules to use for -writing valid NeXus files. An explanation of NeXus objects -is followed by the definition of NeXus coordinate systems, -the rules for structuring files and the rules for -storing single items of data. - - **Note:** - In this manual, we use the terms *field*, *data field*, and - *data item* synonymously to be consistent - with their meaning between NeXus data file instances and - NXDL specification files. - -.. index:: hierarchy -.. index:: data objects; fields - -The structure of NeXus files is extremely flexible, -allowing the storage both of simple data sets, such as a -single data array and its axes, and also of highly complex -data, such as the simulation results or an entire -multi-component instrument. This flexibility is a necessity -as NeXus strives to capture data from a wild variety of -applications in x-ray, muSR and neutron scattering. The -flexibility is achieved through a structural -:index:`hierarchy`, with related *fields* -collected together into *groups*, -making NeXus files easy to navigate, even without any -documentation. NeXus files are self-describing, and -should be easy to understand, at -least by those familiar with the experimental technique. - -.. _Design-Objects: - -======================= -NeXus Objects and Terms -======================= - -Before discussing the design of NeXus in greater detail -it is necessary to define the objects and terms -used by NeXus. These are: - -:ref:`Design-Groups` - Group data fields and other groups together. - Groups represent levels in the NeXus hierarchy - -:ref:`Design-Fields` - Multidimensional arrays and scalars - representing the actual data to be stored - -:ref:`Design-Attributes` - Additional metadata which can be assigned - to groups or data fields - -:ref:`Design-Links` - Elements which point to data stored in - another place in the file hierarchy - -:ref:`Design-NeXusClasses` - Dictionaries of names possible in the - various types of NeXus groups - -:ref:`Design-NeXusApplications` - Describe the content of a NeXus file - for a particular usage case - -:ref:`Design-CoordinateSystem` - Coordinate systems are used to describe the - positions and orientations of objects. - -:ref:`Rules` - This section describes *where to place data* within - a NeXus data file. - -:ref:`DataRules` - This section describes *how to store data* in a NeXus data file. - -:ref:`Fileformat` - This section describes how NeXus structures - are mapped to features of the underlying - physical file format. - -In the following sections these elements of -NeXus files will be defined in more detail. - -.. _Design-Groups: - -Data Groups -+++++++++++ - -.. index:: data objects; groups -.. index:: hierarchy -.. index:: rules; HDF - -NeXus files consist of data groups, -which contain fields and/or other -groups to form a hierarchical structure. -This hierarchy is designed to make it -easy to navigate a NeXus file by storing related fields together. Data -groups are identified both by a name, which must be unique within a particular -group, and a class. There can be multiple groups with the same class -but they must have different names (based on the HDF rules). -For the class names used with NeXus data groups -the prefix `NX` is reserved. Thus all NeXus class -names start with `NX`. - -.. _Design-Fields: - -Data Fields -+++++++++++ - -.. index:: data objects; fields -.. index:: data objects; data items - -Data fields -contain the essential information stored in a NeXus file. They can -be scalar values or multidimensional arrays of a variety of sizes (1-byte, -2-byte, 4-byte, 8-byte) and types (integers, floats, characters). The fields may -store both experimental results (counts, detector angles, etc), and other -information associated with the experiment (start and end times, user names, -etc). Data fields are identified by their names, which must be unique within the -group in which they are stored. - -.. _Design-Attributes: - -Data Attributes -+++++++++++++++ - -.. index:: data objects; attributes -.. index:: units -.. index:: NeXus basic motivation; default plot -.. index:: data objects; attributes; global - -Attributes -are extra (meta-)information that are associated with particular -fields. They are used to annotate the data, for example with physical units -or calibration offsets, and may be scalar numbers or character -strings. NeXus also uses attributes to identify plottable data -and their axes, etc. -A description of possible attributes can be found -in the table titled :ref:`table.ExampleAttributes`. -Finally, NeXus files themselves have global -attributes which are listed in the :ref:`table.GlobalAttributes` table -that identify the NeXus version, file creation time, etc. -Attributes are identified by their -names, which must be unique in each field. - - - -.. _table.ExampleAttributes: - -Example NeXus Data Attributes ------------------------------ - -For the full specification of attributes, -see :ref:`volume2.NXDL.section`. - -.. tabularcolumns:: |l|l|L| - -+---------------------+----------+-------------------------------------------+ -| Name | Type | Description | -+=====================+==========+===========================================+ -| units | NX_CHAR | Data units, given as character strings, | -| | | must conform to the NeXus units standard. | -| | | See the "NeXus units" section | -| | | for details. | -+---------------------+----------+-------------------------------------------+ -| signal | NX_INT | Defines which data set contains the | -| | | signal to be plotted use ``signal="1"`` | -| | | for main signal | -+---------------------+----------+-------------------------------------------+ -| axes | NX_CHAR | Defines the names of the dimension | -| | | scales for this data set as a | -| | | colon-delimited list. For example, | -| | | suppose data is an array with elements | -| | | ``data[j][i]`` (C) | -| | | or ``data(i,j)`` (Fortran), with | -| | | dimension scales `time_of_flight[i]` | -| | | and `polar_angle[j]`, then data would | -| | | have an attribute | -| | | ``axes="polar_angle:time_of_flight"`` | -| | | in addition to an attribute | -| | | ``signal="1"``. | -+---------------------+----------+-------------------------------------------+ -| axis | NX_INT | The original way of designating data | -| | | for plotting, now superceded by the | -| | | axes attribute. This defines the rank | -| | | of the signal data for which this data | -| | | set is a dimension scale in order of | -| | | the fastest varying index (see a longer | -| | | discussion in | -| | | :ref:`Design-Linking-ByName`), | -| | | i.e. if the array being stored is data, | -| | | with elements ``data[j][i]`` in C and | -| | | ``data(i,j)`` in Fortran, axis would | -| | | have the following values: | -| | | ith dimension (``axis="1"``), | -| | | jth dimension (``axis="2"``), etc. | -+---------------------+----------+-------------------------------------------+ -| primary | NX_INT32 | Defines the order of preference for | -| | | dimension scales which apply to the | -| | | same rank of signal data. Use | -| | | `primary="1"` to indicate preferred | -| | | dimension scale | -+---------------------+----------+-------------------------------------------+ -| long_name | NX_CHAR | Defines title of signal data or | -| | | axis label of dimension scale | -+---------------------+----------+-------------------------------------------+ -| calibration_status | NX_CHAR | either `Nominal` or `Measured` | -| | | Defines status of data value. | -+---------------------+----------+-------------------------------------------+ -| offset | NX_INT | Rank values off offsets to use for | -| | | each dimension if the data is not in | -| | | C storage order | -+---------------------+----------+-------------------------------------------+ -| stride | NX_INT | Rank values of steps to use when | -| | | incrementing the dimension | -+---------------------+----------+-------------------------------------------+ -| transformation_type | NX_CHAR | `translation` or `rotation` | -+---------------------+----------+-------------------------------------------+ -| vector | NX_FLOAT | 3 values describing the axis of | -| | | rotation or the direction of translation | -+---------------------+----------+-------------------------------------------+ -| interpretation | NX_CHAR | Describes how to display the data. | -| | | Allowed values include: | -| | | scaler (0-D data), | -| | | spectrum (1-D data), | -| | | image (2-D data), | -| | | or vertex (3-D data). | -+---------------------+----------+-------------------------------------------+ - -.. _table.GlobalAttributes: - -NeXus File Global Attributes ----------------------------- - -.. tabularcolumns:: |l|l|L| - -+------------------+----------+--------------------------------------+ -| Name | Type | Description | -+==================+==========+======================================+ -| file_name | NX_CHAR | Original name of NeXus file. | -+------------------+----------+--------------------------------------+ -| file_time | ISO 8601 | Date and time of file creation | -+------------------+----------+--------------------------------------+ -| file_update_time | ISO 8601 | Date and time of last file change | -| | | at close | -+------------------+----------+--------------------------------------+ -| NeXus_version | NX_CHAR | Version of NeXus API used in writing | -| | | the file | -+------------------+----------+--------------------------------------+ -| creator | NX_CHAR | Facility or program where the file | -| | | originated | -+------------------+----------+--------------------------------------+ - -.. _Design-Links: - -Data Links -++++++++++ - -.. index:: link -.. index:: target, link - -Links are pointers to existing data somewhere else. -The concept is very much like -symbolic links in a unix filesystem. -The NeXus definition sometimes requires -access to the same data in different groups -within the same file. -For example: detector data is stored in the -``NXinstrument/NXdetector`` group -but may be needed in ``NXdata`` for automatic plotting. -Rather then replicating the data, NeXus uses -links in such situations. See the figure :ref:`fig.data-linking` for -a more descriptive representation of the concept of linking. - -.. _fig.data-linking: - -Linking in a NeXus file ------------------------ - -.. figure:: data-linking.png - :width: 400 pt - - Linking in a NeXus file. - See example code below: :ref:`example.data-linking` - -.. _Design-NeXusClasses: - -NeXus Classes -+++++++++++++ - -.. index:: NXDL -.. index:: rules; naming - -Data groups often describe objects in the experiment (monitors, detectors, -monochromators, etc.), so that the contents (both data fields and/or other data -groups) comprise the properties of that object. NeXus has defined a set of standard -objects, or base classes, out of which a NeXus file can be constructed. This is each data group -is identified by a name and a class. The group class, defines the type of object -and the properties that it can contain, whereas the group name defines a unique instance -of that class. These classes are -defined in XML using the NeXus Definition Language (NXDL) -format. All NeXus class types adopted by the NIAC *must* -begin with `NX`. -Classes not adopted by the NIAC *must not* -start with `NX`. - -.. index:: NeXus basic motivation; default plot - -Not all classes define physical objects. Some refer to logical groupings of -experimental information, such as plottable data, -sample environment logs, beam -profiles, etc. -There can be multiple instances of each class. On -the other hand, a typical NeXus file will only contain a small subset of the -possible classes. - -NeXus base classes are not proper classes in the -same sense as used in object oriented programming -languages. In fact the use of the term classes is -actually misleading but has established itself -during the development of NeXus. NeXus base -classes are rather dictionaries of field names -and their meanings which are permitted in a -particular NeXus group implementing the NeXus -class. This sounds complicated but becomes easy -if you consider that most NeXus groups describe -instrument components. Then for example, a -:ref:`NXmonochromator` base class describes all the -possible field names which NeXus allows to be -used to describe a monochromator. - -Most NeXus base classes represent instrument components. -Some are used as containers to structure information in a -file (:ref:`NXentry`, :ref:`NXcollection`, :ref:`NXinstrument`, -:ref:`NXprocess`, :ref:`NXparameters`). But there are some base -classes which have special uses that need to be -mentioned here: - -:ref:`NXdata` - `NXdata` is used to identify the default plottable data. - The notion of a default plot of data is a basic - motivation of NeXus. - -:ref:`NXlog` - `NXlog` is used to store time stamped data like the - log of a temperature controller. Basically you give - a start time, and arrays with a difference in seconds - to the start time and the values read. - -:ref:`NXnote` - `NXnote` provides a place to store general notes, - images, video or whatever. A mime type is stored - together with a binary blob of data. Please use this - only for auxiliary information, for example an image - of your sample, or a photo of your boss. - -:ref:`NXgeometry` - `NXgeometry` and its subgroups :ref:`NXtranslation`, - :ref:`NXorientation`, and :ref:`NXshape` are used to store absolute - positions in the laboratory coordinate system or to - define shapes. - -These groups can appear anywhere in the NeXus hierarchy, -where needed. Preferably close to the component they -annotate or in a :ref:`NXcollection`. All of the base classes -are documented in the reference manual. - -.. _NXdata-facilitates-TheDefaultPlot: - -`NXdata` Facilitates Automatic Plotting ---------------------------------------- - -The most notable special base class -(also known as *group*) in NeXus is :ref:`NXdata`. -`NXdata` is the answer to a basic motivation of NeXus -to facilitate automatic plotting of data. -:index:`NeXus basic motivation; default plot` -`NXdata` is designed to contain the main dataset -and its associated dimension scales (axes) -:index:`dimension scale` -of a NeXus data file. The usage scenario is that an -automatic data plotting program just opens a -:ref:`NXentry` and then continues to search for any -`NXdata` groups. These `NXdata` groups represent -the plottable data. Here is the way an -automatic plotting program ought to work: - -1. Search for ``NXentry`` groups - -2. Open an ``NXentry`` - -3. Search for ``NXdata`` groups - -4. Open an ``NXdata`` group - -5. Identify the plottable data. - - a. Search for a dataset with attribute ``signal=1``. - This is your main dataset. - (There should be only one dataset that matches.) - - b. Try to read the axes attribute of the - main dataset, if it exists. - - i. The value of axes is a colon- or - comma-separated list of the datasets describing - the dimension scales - (such as ``axes="polar_angle:time_of_flight"``). - - ii. Parse axes and open the datasets to describe - your dimension scales - - c. If axes does not exist: - - i. Search for datasets with attributes - ``axis=1``, ``axis=2``, etc. - These are the datasets describing your axis. - There may be several datasets for any axis, - i.e. there may be multiple datasets with - the attribute ``axis=1``. Among them the - dataset with the attribute ``primary=1`` is - the preferred one. All others are - alternative dimension scales. - - ii. Open the datasets to describe - your dimension scales. - -6. Having found the default plottable data - and its dimension scales: make the plot - -.. _Design-NeXusApplications: - -NeXus Application Definitions -+++++++++++++++++++++++++++++ - -The objects described so far provide us with the means to -store data from a wide variety of instruments, simulations -or processed data as resulting from data analysis. -But NeXus strives to express strict standards for certain -applications of NeXus too. The tool which NeXus uses for -the expression of such strict standards is the NeXus -Application Definition. A NeXus Application Definition -describes which groups and data items have to be present -in a file in order to properly describe an application -of NeXus. For example for describing a powder diffraction -experiment. Typically an application definition will contain -only a small subset of the many groups and fields defined -in NeXus. NeXus application definitions are also expressed -in the NeXus Definition Language (NXDL). A tool exists which -allows to validate a NeXus file against a given -application definition. - - **NeXus application definition is a contract** - - Another way to look at a NeXus application definition - is as a contract between a file writer and a file consumer - (reader). A contract which reads: - - *If you write your files - following a particular NeXus application definition, - I can process these files with my software.* - -Yet another way to look at a NeXus application definition -is to understand it as an interface definition between data -files and the software which uses this file. Much like an -interface in the Java or other modern object oriented -programming languages. - -In contrast to NeXus base classes, NeXus supports inheritance -in application definitions. - -Please note that a NeXus Application Definition will only -define the bare minimum of data necessary to perform common -analysis with data. Practical files will nearly always -contain more data. One of the beauties of NeXus is that it -is always possible to add more data to a file without breaking -its compliance with its application definition. - -.. _Design-CoordinateSystem: - -NeXus Coordinate Systems -++++++++++++++++++++++++ - -.. index:: geometry -.. index:: McStas -.. index:: CIF - -Coordinate systems in NeXus underwent quite some development. -Initially, just positions of relevant motors were -stored without further standardization. This soon proved to -be too little and the *NeXus polar coordinate* system was -developed. This system still is very close to angles -meaningful to an instrument scientist but allows to define -general positions of components easily. Then users from the -simulation community approached the NeXus team and asked for -a means to store absolute coordinates. This was implemented -through the use of the `NXgeometry` class on top of the -*McStas* [#McStas]_ -system. We soon learned that all the things we do -can be expressed through the McStas coordinate system. -So the McStas coordinate system -became the reference coordinate system for NeXus. -`NXgeometry` was expanded to allow the description of shapes -when the demand came up. -Later members of the CIF [#CIF]_ team -convinced the NeXus team of the beauty of transformation -matrices and NeXus was enhanced to store the necessary -information to fully map CIF concepts. Not much had to be -changed though as we choose to document the existing angles -in CIF terms. The CIF system allows to store arbitrary -operations and nevertheless calculate absolute coordinates in -the laboratory coordinate system. It also allows to convert -from local, for example detector coordinate systems, to -absolute coordinates in the laboratory system. - -.. [#McStas] McStas, http://www.mcstas.org, also http://mcstas.risoe.dk -.. [#CIF] CIF (Crystallographic Information Framework), http://www.iucr.org/resources/cif - -.. _Design-Coordinate-NXgeometry: - -McStas and `NXgeometry` System ------------------------------- - -.. index:: geometry -.. index:: McStas - -NeXus uses the *McStas coordinate system* [#McStas]_ -as its laboratory coordinate system. -The instrument is given a global, absolute coordinate system where: - -* the *z* axis points in the direction of the incident beam, -* the *x* axis is perpendicular to the beam in the horizontal - plane pointing left as seen from the source -* the *y* axis points upwards. - -See below for a drawing of the McStas coordinate system. The origin of this -coordinate system is the sample position or, if this is ambiguous, the center of the sample holder -with all angles and translations set to zero. -The McStas coordinate system is -illustrated in figure :ref:`fig.mcstasccord`. - -.. _fig.mcstasccord: - -.. figure:: mcstascoord.png - :width: 400 pt - - The McStas Coordinate System - -.. note:: The NeXus definition of `+z` is opposite to that - in the International Tables for Crystallography, - volume G, [#IUCr_G]_ and consequently, `+x` is also reversed. - - .. [#IUCr_G] **International Tables for Crystallography** - *Volume G: Definition and exchange of crystallographic data*. - Sydney Hall and Brian McMahon, Editors. - Published for the IUCr by Springer, 2005 - ISBN 1-4020-3138-6, 594 + xii pages - -The NeXus `NXgeometry` class directly uses the McStas -coordinate system. `NXgeometry` classes can appear in any -component in order to specify its position. The suggested -name to use is geometry. In `NXgeometry` the -`NXtranslation/values` field defines the absolute position of -the component in the McStas coordinate system. The -`NXorientation/value` field describes the orientation of the -component as a vector of in the McStas coordinate system. - -.. Comment by MK: - I think NXgeometry sucks. It is decided upon, so we have to document it as is. But I do think that - it introduces too many levels of hierarchy. I would rather like to have: - - an absolute_position[n,3] field at component level. This makes the absolute position easy to see and the n opens up - easily for those components which consist of many subcomponents like a many pixel detector. - - an absolute_orientation[n?,3] field to define the orientation at component level. May be we need an n here too for multi - pixel components. - - I would love to pull down the NXshape group to component level too. - Perhaps we can allow that and mark NXgeometry deprecated? - - -.. _Design-Coordinate-Spherical: - -Simple (Spherical Polar) Coordinate System ------------------------------------------- - -.. index:: geometry - -In this system, the instrument is considered as a set of -components through which the incident beam passes. The -variable **distance** is assigned to each component and -represents the effective beam flight path length between this -component and the sample. A sign convention is used where -negative numbers represent components pre-sample and positive -numbers components post-sample. At each component there is -local spherical coordinate system with the angles -*polar_angle* and *azimuthal_angle*. The size of the sphere -is the distance to the previous component. - -In order to understand this spherical polar coordinate system -it is helpful to look initially at the common condition that -azimuthal_angle is zero. This corresponds to working directly -in the horizontal scattering plane of the instrument. In this -case polar_angle maps directly to the setting commonly known -as two theta. Now, there are instruments where components -live outside of the scattering plane. Most notably detectors. -In order to describe such components we first apply the tilt -out of the horizontal scattering plane as the -azimuthal_angle. Then, in this tilted plane, we rotate to the -component. The beauty of this is that polar_angle is always -two theta. Which, in the case of a component out of the -horizontal scattering plane, is not identical to the value -read from the motor responsible for rotating the component. -This situation is shown in figure -:ref:`fig.polar-geometry-figure`. - -.. _fig.polar-geometry-figure: - -.. figure:: polplane.png - :width: 200 pt - - NeXus Simple (Spherical Polar) Coordinate System - - -.. _CoordinateTransformations: - -Coordinate Transformations --------------------------- - -.. index:: coordinates; transformations - -Another way to look at coordinates is through the use of transformation matrices. -In this world view, the absolute position of a component or a detector pixel with respect to -the laboratory corrdinate system is calculated by applying a series of translations and -rotations. These operations are commonly expressed as transformation matrices and their -combination as matrix multiplication. A very important aspect is that the order of application -of the individual operations *does* matter. Another important aspect is that -any operation transforms the whole coordinate system and gives rise to a new local coordinate system. -The mathematics behind this is -well known and used in such applications such as industrial robot control, space flight and -computer games. The beauty in this comes from the fact that the operations to apply map easily -to instrument settings and constants. It is also easy to analyze the contribution of each individual -operation: this can be studied under the condition that all other operations are at a zero setting. - -In order to use coordinate transformations, several morsels of information need to be known: - -Type - The type of operation: rotation or translation - -Direction - The direction of the translation or the direction of the rotation axis - -Value - The angle of rotation or the length of the translation - -Order - The order of operations to apply to move a component into its place. - -.. _tb.table-transform: - -Actions of standard NeXus fields -................................ - -================= ==================== ================= -Field Name transformation_type vector -================= ==================== ================= -polar_angle rotation 0 1 0 -azimuthal_angle rotation 0 0 1 -meridional_angle rotation 1 0 0 -distance translation 0 0 1 -height translation 0 1 0 -x_translation translation 1 0 0 -chi rotation 0 0 1 -phi rotation 0 1 0 -================= ==================== ================= - -The type and direction of the NeXus standard operations is documented in table :ref:`tb.table-transform`. -NeXus can now also allow non standard operations to be stored in data files. In such cases additional data -attributes are required which describe the operation. These are *transformation_type* which -can be either translation or rotation. The other is *vector* which is 3 float values describing -the direction of translation or rotation. The value is of course always the value of the data field in the data file. - -How NeXus describes the order of operations to apply has not yet been decided upon. The authors favorite scheme -is to use a special field at each instrument component, named *transform* which describes the -operations to apply to get the component into its position as a list of colon separated paths to the operations -to apply relative to the current `NXentry`. For paths in the same group, only the name need to be given. Detectors -may need two such fields: the transfrom field to get the detector as a whole into its position -and a *transform_pixel* field which describes how the absolute position of a detector pixel -can be calculated. - -For the NeXus spherical coordinate system, the order is implicit and is given by:: - - azimuthal_angle:polar_angle:distance - -This is also a nice example of the application of transformation matrices: - -#. You first apply azimuthal_angle as a rotation around *z*. - This rotates the whole coordinate out of the plane. - -#. Then you apply polar_angle as a rotation around *y* - in the tilted coordinate system. - -#. This also moves the direction of the *z* vector. - Along which you translate the component to place by distance. - -.. toctree:: - :maxdepth: 1 - - rules/index - datarules - fileformat diff --git a/_sphinx/source/volume1/design/mcstascoord.png b/_sphinx/source/volume1/design/mcstascoord.png deleted file mode 100755 index 6f7d41b406965e8530ee107cfdd9ec6060aabbca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157872 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

a2AEG-!!?WlLLgD;5YE@m4?<-nrm-Zz0aAivqa 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 Dk`KTm diff --git a/_sphinx/source/volume1/design/polplane.png b/_sphinx/source/volume1/design/polplane.png deleted file mode 100755 index 83868c45f8b34211a23096a21afd55bfcdb38268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23850 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 Gy7@1|6;Brc diff --git a/_sphinx/source/volume1/design/rules/index.rst b/_sphinx/source/volume1/design/rules/index.rst deleted file mode 100755 index 1e3f7b579..000000000 --- a/_sphinx/source/volume1/design/rules/index.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. $Id$ - -.. _Rules: - -================================================ -Rules for Structuring Information in NeXus Files -================================================ - -.. index:: rules; NeXus -.. index:: rules; naming - -All NeXus files contain one or many groups of type ``NXentry`` at root -level. Many files contain only one ``NXentry`` group, then the name is -``entry``. The NXentry level of hierarchy is there to support the storage -of multiple related experiments in one file. Or to allow the NeXus file to -serve as a container for storing a whole scientific workflow from data -acquisition to publication ready data. Also, ``NXentry`` class groups can -contain raw data or processed data. For files with more than one -``NXentry`` group, since HDF requires that no two items at the same level -in an HDF file may have the same name, the NeXus fashion is to assign -names with an incrementing index appended, such as ``entry1``, ``entry2``, -``entry3``, etc. - - -In order to illustrate what is written in the text, -example hierarchies like the one in -figure Raw Data are provided. - -.. _Rules-NXentry-raw-data: - -Content of a Raw Data ``NXentry`` Group ---------------------------------------- - -An example raw data hierarchy is shown in the next figure (only showing -the relevant parts of the data hierarchy). In the example shown, the -``data`` field in the :ref:`NXdata` group is linked to the 2-D detector data -(a 512x512 array of 32-bit integers) which has the attribute ``signal=1``. -Note that ``[,]`` represents a 2D array. - -.. code-block:: text - :linenos: - - entry:NXentry - instrument:NXinstrument - source:NXsource - .... - detector:NXdetector - data:NX_INT32[512,512] - @signal = 1 - sample:NXsample - control:NXmonitor - data:NXdata - data --> /entry/instrument/detector/data - -An :ref:`NXentry` describing raw data contains at least a :ref:`NXsample`, one -:ref:`NXmonitor`, one :ref:`NXdata` and a :ref:`NXinstrument` group. It is good -practice to use the names ``sample`` for the :ref:`NXsample` group, -``control`` for the :ref:`NXmonitor` group holding the experiment -controlling monitor and ``instrument`` for the :ref:`NXinstrument` group. -The :ref:`NXinstrument` group contains further groups describing the -individual components of the instrument as appropriate. - -.. index:: hierarchy - -The ``NXdata`` group contains links to all those data items in the -``NXentry`` hierarchy which are required to put up a default plot of the -data. As an example consider a SAXS instrument with a 2D detector. The -``NXdata`` will then hold a link to the detector image. If there is only -one ``NXdata`` group, it is good practice to name it ``data``. Otherwise, -the name of the detector bank represented is a good selection. - -.. TODO: show an example of this - - -.. include rules/processed here diff --git a/_sphinx/source/volume1/design/rules/processed.rst0 b/_sphinx/source/volume1/design/rules/processed.rst0 deleted file mode 100755 index 8977fb857..000000000 --- a/_sphinx/source/volume1/design/rules/processed.rst0 +++ /dev/null @@ -1,380 +0,0 @@ -.. $Id$ - -.. _: - ---------------------------------------------- - -.. index:: - -

- Content of a processed data ``NXentry`` group - Processed data, see figure Processed Data, - in this context means the results of a data reduction or - data analysis program. Note that ``[]`` represents a 1D array. - -
- NeXus Processed Data Hierarchy - -
- - - NeXus stores such data in a simplified - ``NXentry`` structure. A processed data ``NXentry`` - has at minimum a ``NXsample``, - a ``NXdata`` and a ``NXprocess`` group. - Again the preferred name for the ``NXsample`` - group is ``sample``. - In the case of processed data, the ``NXdata`` group holds the - result of the processing together with the associated axis data. - The ``NXprocess`` - group holds the name and version of the program used for this processing - step and further ``NXparameter`` groups. These groups ought to contain the - parameters used for this data processing step in suitable detail so that - the processing step can be reproduced. - - - Optionally a processed data ``NXentry`` - can hold a ``NXinstrument`` group with - further groups holding relevant information about the instrument. The - preferred name is again ``instrument``. Whereas for a raw data file, NeXus - strives to capture as much data as possible, a ``NXinstrument`` group for - processed data may contain a much-reduced subset. - -
- -.. _: - ---------------------------------------------- - -.. index:: - -
- <literal>NXsubentry</literal> or Multi-Method Data - - Especially at synchrotron facilities, there are experiments which perform several different methods - on the sample at the same time. For example, combine a powder diffraction experiment with XAS. - This may happen in the same scan, so the data needs to be grouped together. A suitable NXentry - would need to adhere to two different application definitions. This leads to name clashes which cannot be - easily resolved. In order to solve this issue, the following scheme was implemented in NeXus: - - The complete beamline (all data) is stored in an - appropriate hierarchy in an NXentry. - - The NXentry group contains further NXsubentry groups, one for each method. The NXsubentry group is constructed - like a NXentry group. It contains links to all those data items required to fulfill the application definition - for the particular method it represents. - - - See figure NeXus Multi Method Hierarchy for an example hierarchy. - Note that ``[,]`` represents a 2D array. - - -
- NeXus Multi Method Hierarchy - -
- - -
- -.. _: - ---------------------------------------------- - -.. index:: - -
- Rules for Special Cases - -
- Scans - - Scans are difficult to capture because they have great variety. Basically, - any variable can be scanned. Such behaviour cannot be captured in application definitions. - Therefore NeXus solves this difficulty with a set of - rules. In this section, ``NP`` is used as a symbol for the number of scan - points. - - - - The scan dimension ``NP`` is always the first dimension of any - multi-dimensional dataset. The reason for this is that HDF allows the first - dimension of a dataset to be unlimited. - - Which means, that data can be - appended to the dataset during the scan. - - - - - All data is stored as arrays of dimensions ``NP``, original dimensions - of the data at the appropriate position in the ``NXentry`` hierarchy. - - hierarchy - - - - - - The ``NXdata`` group has to contain links to all variables varied during - the scan and the detector data. Thus the ``NXdata`` group mimics the usual - tabular representation of a scan. - - - - - Datasets in an ``NXdata`` group must contain the proper attributes - to enable the default plotting, - - NeXus basic motivation - default plot - - as described in the section titled - NXdata - Facilitates Automatic Plotting. - - - - -
- Simple scan - - Examples may be in order here. Let us start with a simple case, the sample is - rotated around its rotation axis and data is collected in a single point - detector. See figure Simple Scan for an overview. - Then we have: - - - - A dataset at ``NXentry/NXinstrument/NXdetector/data`` - of length ``NP`` containing - the count data. - - - - - A dataset at ``NXentry/NXsample/rotation_angle`` - of length ``NP`` containing - the positions of ``rotation_angle`` at the various steps of the scan. - - - - - ``NXdata`` contains links to - ``NXentry/NXinstrument/NXdetector/data`` and - ``NXentry/NXsample/rotation_angle``. - - - - - All other data fields have their normal dimensions. - - - - -
- NeXus Simple Scan Example - -
-
- -
- Simple scan with area detector - - The next example is the same scan but with an area detector with ``xsize`` - times ``ysize`` pixels. The only thing which changes is that - ``/NXentry/NXinstrument/NXdetector/data`` will have the dimensions - ``NP, xsize, ysize``. See figure Simple Scan with Area Detector - for an overview. - - -
- NeXus Simple Scan Example with Area Detector - -
-
- - -
- Complex <emphasis>hkl</emphasis> scan - - The next example involves a complex movement along an axis in reciprocal - space which requires mutiple motors of a four circle diffractometer to be - varied during the scan. We then have: - - - - A dataset at ``NXentry/NXinstrument/NXdetector/data`` of length - ``NP`` containing - the count data. - - - - - A dataset at ``NXentry/NXinstrument/NXdetector/polar_angle`` of length - ``NP`` containing - the positions of the detector's polar_angle at the various steps - of the scan. - - - - - A dataset at ``NXentry/NXsample/rotation_angle`` of length - ``NP`` containing - the positions of ``rotation_angle`` at the various steps of the scan. - - - - - A dataset at ``NXentry/NXsample/chi`` of length ``NP`` containing - the positions of chi at the various steps of the scan. - - - - - A dataset at ``NXentry/NXsample/phi`` of length ``NP`` containing - the positions of phi at the various steps of the scan. - - - - - A dataset at ``NXentry/NXsample/h`` of length ``NP`` containing - the positions of the reciprocal coordinate ``h`` at the - various steps of the scan. - - - - - A dataset at ``NXentry/NXsample/k`` of length ``NP`` containing - the positions of the reciprocal coordinate ``k`` at the - various steps of the scan. - - - - - A dataset at ``NXentry/NXsample/l`` of length ``NP`` containing - the positions of the reciprocal coordinate ``l`` at the - various steps of the scan. - - - - - ``NXdata`` contains links to - ``NXentry/NXinstrument/NXdetector/data``, - ``NXentry/NXinstrument/NXdetector/polar_angle``, - ``NXentry/NXsample/rotation_angle``, - ``NXentry/NXsample/chi``, - ``NXentry/NXsample/phi``, - ``NXentry/NXsample/h``, - ``NXentry/NXsample/k`` and - ``NXentry/NXsample/l `` - The datasets in ``NXdata`` must have the - appropriate attributes as described in the axis location section. - - - - - All other data fields have their normal dimensions. - - - - -
- NeXus Complex <emphasis>hkl</emphasis> Scan - -
-
-
- Multi-parameter scan: XAS - - Data can be stored almost anywhere in the NeXus tree. While the previous examples - showed data arrays in either NXdetector or NXsample, - this example demonstrates that data can be stored in other places. Links are used - to reference the data. - - - The example is for X-ray Absorption Spectroscopy (XAS) data where the monochromator - energy is step-scanned and counts are read back from detectors before (I0) - and after (I) the sample. These energy scans are repeated at a sequence - of sample temperatures to map out, for example, a phase transition. While it is customary - in XAS to plot log(I0/I), we show them separately here - in two different NXdata - groups to demonstrate that such things are possible. - Note that the length of the 1-D energy array is NE while - the length of the 1-D temperature array is NT - -
- NeXus Multi-parameter scan: XAS - -
-
-
- - -
- Rastering - - Rastering is the process of making experiments at various locations in the - sample volume. Again, rasterisation experiments can be variable. Some people - even raster on spirals! Rasterisation experiments are treated the same way as - described above for scans. Just replace ``NP`` with - ``P``, the number of raster points. - - - Special rules apply if a rasterisation happens on a regular grid of size - ``xraster, yraster``. Then the variables varied in the rasterisation will be - of dimensions ``xraster, yraster`` and the detector data of dimensions - ``xraster, yraster, (orginal dimensions)`` - of the detector. For example, an area detector of - size ``xsize, ysize`` then it is stored with - dimensions ``xraster, yraster, xsize, ysize``. - - - Be warned: if you use the 2D rasterisation method with ``xraster, yraster`` you may end up with - invalid data if the scan is aborted prematurely. This cannot happen if the first method is used. - - - -
- -
- NXcollection - - On demand from the community, NeXus introduced a more informal method of storing - information in a NeXus file. This is the NXcollection class which can appear anywhere - underneath NXentry. NXcollection is a container for holding other data. - The foreseen use is to document collections of similar data which do not otherwise fit easily into the ``NXinstrument`` - or ``NXsample`` hierarchy, such as the intent to record all motor positions on a synchrotron beamline. - Thus, NXcollection serves as a quick point of access to data for an instrument scientist or another expert. - An example usage case is documented in figure NXcollection example - . -
- NXcollection Example - - -
- - - Data in NXcollection has to be augmented by a NXsubentry - or NXentry adhering to an application definition. - -
- -
- diff --git a/_sphinx/source/volume1/faq.rst b/_sphinx/source/volume1/faq.rst deleted file mode 100644 index b107ff671..000000000 --- a/_sphinx/source/volume1/faq.rst +++ /dev/null @@ -1,259 +0,0 @@ -.. $Id$ - - -.. _FAQ: - -========================== -Frequently Asked Questions -========================== - -.. Undefined Labels - ---------------- - -.. _this example: -.. _mailing lists: -.. _nexus api: -.. _definitions repository: -.. _nxvalidate-java: - - -.. index:: FAQ - -This is a list of commonly asked questions concerning the NeXus data format. - - -How many facilities use NeXus? ------------------------------------------------------------ - -This is not easy to say, not all facilities using NeXus actively -participate in the committee. Some facilities (the list is incomplete) -have reported their adoption status on the NeXus wiki [#]_. -Please have a look at this list. - - .. [#] Facilities reporting use of NeXus: http://wiki.nexusformat.org/Facilities - -NeXus files are binary? This is crazy! How am I supposed to see my data? ---------------------------------------------------------------------------- - - -NeXus files are not binary *per se*. If you use the XML backend the -data are stored in a relatively human readable form (see -:ref:`this example`). -This backend however is only recommended for very small data sets. With -the multidimensional data that is routinely recorded on many modern -instruments it is very difficult anyway to retrieve useful -information on a VT100 terminal. If you want to try, for example -``nxbrowse`` -is a utility provided by the NeXus community that can be very -helpful to those who want to inspect their files and avoid -graphical applications. For larger data volumes the binary backends -used with the appropriate tools are by far superior in terms of -efficiency and speed and most users happily accept that after having -worked with supersized "human readable" files for a while. - -What on-disk file format should I choose for my data? ---------------------------------------------------------------------------- - -HDF5 is the default file container to use for NeXus data. It -is the recommended format for all applications. HDF4 is still -supported as a on disk format for NeXus but for new installations -preference should be given to HDF5. The XML backend is available -for special use cases. Choose this option with care considering the -space and speed implications. - -Why are the NeXus classes so complicated? I'll never store all that information --------------------------------------------------------------------------------------- - -The NeXus classes are essentially *glossaries of terms*. If you -need to store a piece of information, consult the class definitions -to see if it has been defined. If so, use it. It is not compulsory -to include every item that has been defined in the base class if it -is not relevant to your experiment. On the other hand, a NeXus -application definition lists a smaller set of compulsory items that -should allow other researchers or software to analyze your data. -You should really follow the application definition that -corresponds to your experiment to take full advantage of NeXus. - -I don't like NeXus. It seems much faster and simpler to develop my own file format. Why should I even consider NeXus? ------------------------------------------------------------------------------------------------------------------------------------------------------- - -If you consider using an efficient on disk storage format, -HDF5 is a better choice than most others. It is fast and efficient -and well supported in all main stream programming languages and a -fair share of popular analysis packages. The format is so widely -used and backed by a big organisation that it will continue to be -supported for the foreseeable future. -So if you are going to use HDF5 anyway, why not use the NeXus -definition to lay out the data in a standardised way? The NeXus -community spent years trying to get the standard right and -while you will not agree with every single choice they made in the -past, you should be able to store the data you have in a quite -reasonable way. If you do not comply with NeXus chances are most -people will perceive your format as different but not necessarily -better than NeXus by any large measure. So it may not be worth the -effort. Seriously. -If you encounter any problems because the classes are not -sufficient to describe your configuration, please contact the NIAC -Executive Secretary explaining the problem, and post a suggestion -at the relevant class wiki page. Or raise the problem in one of the -:ref:`mailing lists`. -The NIAC is always willing to consider new proposals. - -.. index:: NIAC - -I want to produce an application definition. How do I go about it? ---------------------------------------------------------------------------- - -.. index:: NXDL - -Read the NXDL Tutorial in -:ref:`NXDL_Tutorial-CreatingNxdlSpec`. -The procedures for acceptance are defined in the NIAC constitution. -Refer to the most recent version of the NIAC constitution on the -NIAC wiki [#]_. - - .. [#] NIAC wiki: http://www.nexusformat.org/NIAC - -What is the purpose of ``NXdata``? ---------------------------------------------------------------------------- - -.. index:: NeXus basic motivation; default plot - -``NXdata`` contains links to the data stored elsewhere in the -``NXentry``. It identifies the default plottable data. This is one of the -basic motivations (see :ref:`SimplePlotting`) -for the NeXus standard. The choice of the name ``NXdata`` -is historic and does not really reflect its function. - - -.. _`how to find the plottable data`: - -How do I identify the plottable data? ---------------------------------------------------------------------------- - -.. index:: NeXus basic motivation; default plot - -Any program whose aim is to identify plottable data should use the -following procedure: - - .. index:: dimension scale - .. index:: rank - -#. Open the first top level NeXus group with class ``NXentry``. -#. Open the first NeXus group with class ``NXdata``. -#. Loop through NeXus fields in this group searching for the item - with attribute ``signal="1"`` - indicating this field has the plottable data. -#. Check to see if this field has an attribute called - ``axes``. If so, the attribute value contains a colon (or comma) - delimited list (in the C-order of the data array) with the names - of the dimension scales - associated with the plottable data. And - then you can skip the next two steps. -#. If the ``axes`` - attribute is not defined, search for the one-dimensional NeXus - fields with attribute ``primary="1"``. -#. These are the dimension scales - to label the axes of each - dimension of the data. -#. Link each dimension scale - to the respective data dimension by - the ``axis`` attribute (``axis="1"``, - ``axis="2"``, ... up to the rank of the data). -#. If necessary, close the ``NXdata`` - group, open the next one and repeat steps 3 to 6. -#. If necessary, close the ``NXentry`` - group, open the next one and repeat steps 2 to 7. - -Consult the :ref:`NeXus API` -section, which describes the routines available to program these -operations. In the course of time, generic NeXus browsers will -provide this functionality automatically. - - -How can I specify reasonable axes for my data? ---------------------------------------------------------------------------- - -See the section: :ref:`NXdata-facilitates-TheDefaultPlot`. - -Why aren't ``NXsample`` and ``NXmonitor`` groups stored in the ``NXinstrument`` group? ------------------------------------------------------------------------------------------------- - -A NeXus file can contain a number of ``NXentry`` -groups, which may represent different scans in an experiment, or -sample and calibration runs, etc. In many cases, though by no means -all, the instrument has the same configuration so that it would be -possible to save space by storing the ``NXinstrument`` -group once and using multiple links in the remaining ``NXentry`` -groups. It is assumed that the sample and monitor information would -be more likely to change from run to run, and so should be stored -at the top level. - -Specifications are boring. Where can I find some good example data files? ---------------------------------------------------------------------------- - -There are a few checked into the :ref:`definitions repository`. -At the moment the selection is quite limited and not very representative. - -Can I use a NXDL specification to parse a NeXus data file? ---------------------------------------------------------------------------- - -This should be possible as there is nothing in the NeXus -specifications to prevent this but it is not implemented in NAPI. -You would need to implement it for yourself. You would be wise to -consult the algorithms in the Java version of -``NXvalidate`` -(see :ref:`NXvalidate-java`) for more details. - -Why do I need to specify the ``NAPItype``? --------------------------------------------- - -*My programming language does not need that information and -I don't care about C and colleagues. Can I leave it out?* - -.. index:: NAPI - -``NAPItype`` -is necessary. When implementing the NeXus-XML API we strived to -make this as general as HDF and reasonably efficient for medium -sized datasets. This is why we store arrays as a large bunch of -numbers in C-storage order. And we need the -``NAPItype`` -to figure out the dimensions of the dataset. - -.. index:: dimension; data set - -Do I have to use the ``NAPI`` subroutines? Can't I read (or write) the NeXus data files with my own routines? ------------------------------------------------------------------------------------------------------------------------------------------------------- - -You are not required to use the NAPI to write valid NeXus -data files. It is possible to avoid the NAPI to write and read -valid NeXus data files. But, the programmer who chooses this path -must have more understanding of how the NeXus HDF or XML data file -is written. Validation of data files written without the NAPI is -strongly encouraged. - -I'm using links to place data in two places. Which one should be the data and which one is the link? ------------------------------------------------------------------------------------------------------------------------------------------------------- - -.. COMMENT: say it clearly -.. COMMENT: answer the question -.. COMMENT: say it again another way - -NeXus uses HDF5 hard links. -Both places have pointers to the actual data. -That is the way hard links work in HDF5. -There is no need for a preference to either location. -NeXus defines a ``target`` attribute to label -one directory entry as the source of the data (in this, the -link *target*). This has value in -only a few situations such as when -converting the data from one format to another. By identifying -the original in place, duplicate copies of the data are not -converted. -In HDF, a hard link points to a data object. -A soft link points to a directory entry. -Since NeXus uses hard links, there is no need to distinguish -between two (or more) directory entries that point to the same data. - -.. index:: link diff --git a/_sphinx/source/volume1/index.rst b/_sphinx/source/volume1/index.rst deleted file mode 100755 index 76cbe1ae7..000000000 --- a/_sphinx/source/volume1/index.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. $Id$ - -.. :title-reference:`NeXus User Manual` - -.. _NeXus User Manual: - -############################################################################## -NeXus: User Manual -############################################################################## - -Contents: - -.. toctree:: - :maxdepth: 2 - :numbered: - - introduction/index - design/index - faq diff --git a/_sphinx/source/volume1/introduction/NAPI.rst b/_sphinx/source/volume1/introduction/NAPI.rst deleted file mode 100755 index 8175186e4..000000000 --- a/_sphinx/source/volume1/introduction/NAPI.rst +++ /dev/null @@ -1,37 +0,0 @@ -.. $Id$ - -.. _Introduction-NAPI: - -===================================================================== -NAPI: The NeXus Application Programming Interface -===================================================================== - -.. index:: NAPI - -The NeXus API consists of routines to read and -write NeXus data files and -was written to shield (and hide) the complexity -of the HDF API from scientific programmers and -users of the NeXus Data Standard. - -Further documentation of the NeXus Application Programming Interface -(NAPI) for bindings to specific programming language can be obtained -from the NeXus development site. [#]_ - -For a more detailed description of the internal workings of NAPI -that is maintained (mostly) concurrent with code revisions, -see the NAPI chapter in Volume II of this documentation and also -`NeXusIntern.pdf `_ -in the NeXus code repository. [#]_ -Likely this is only interesting for experienced -programmers who wish to hack the NAPI. - -.. [#] http://download.nexusformat.org -.. [#] http://svn.nexusformat.org/code/trunk/doc/api/NeXusIntern.pdf - -.. toctree:: - - howto/write - howto/read - howto/browse - diff --git a/_sphinx/source/volume1/introduction/howto/browse.rst b/_sphinx/source/volume1/introduction/howto/browse.rst deleted file mode 100755 index 61cd93678..000000000 --- a/_sphinx/source/volume1/introduction/howto/browse.rst +++ /dev/null @@ -1,93 +0,0 @@ -.. $Id$ - -.. _Introduction-HowToBrowse: - -How do I browse a NeXus file? ---------------------------------------------------------------------------------- - -.. index:: file; browse -.. index:: utility; nxbrowse - -NeXus files can also be viewed by a command-line browser, -``NXbrowse``, which is included with the NeXus API (:ref:`Introduction-NAPI`). -The following is an example session of using ``nxbrowse`` -to view a data -file from the LRMECS spectrometer at IPNS. The following commands -are used in :ref:`ex.NXbrowse.lrmecs` in this session (see -the ``nxbrowse`` web page): - -.. _ex.NXbrowse.lrmecs: - -Using ``NXbrowse`` -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: text - :linenos: - - %> nxbrowse lrcs3701.nxs - - NXBrowse 3.0.0. Copyright (C) 2000 R. Osborn, M. Koennecke, P. Klosowski - NeXus_version = 1.3.3 - file_name = lrcs3701.nxs - file_time = 2001-02-11 00:02:35-0600 - user = EAG/RO - NX> dir - NX Group : Histogram1 (NXentry) - NX Group : Histogram2 (NXentry) - NX> open Histogram1 - NX/Histogram1> dir - NX Data : title[44] (NX_CHAR) - NX Data : analysis[7] (NX_CHAR) - NX Data : start_time[24] (NX_CHAR) - NX Data : end_time[24] (NX_CHAR) - NX Data : run_number (NX_INT32) - NX Group : sample (NXsample) - NX Group : LRMECS (NXinstrument) - NX Group : monitor1 (NXmonitor) - NX Group : monitor2 (NXmonitor) - NX Group : data (NXdata) - NX/Histogram1> read title - title[44] (NX_CHAR) = MgB2 PDOS 43.37g 8K 120meV E0@240Hz T0@120Hz - NX/Histogram1> open data - NX/Histogram1/data> dir - NX Data : title[44] (NX_CHAR) - NX Data : data[148,750] (NX_INT32) - NX Data : time_of_flight[751] (NX_FLOAT32) - NX Data : polar_angle[148] (NX_FLOAT32) - NX/Histogram1/data> read time_of_flight - time_of_flight[751] (NX_FLOAT32) = [ 1900.000000 1902.000000 1904.000000 ...] - units = microseconds - long_name = Time-of-Flight [microseconds] - NX/Histogram1/data> read data - data[148,750] (NX_INT32) = [ 1 1 0 ...] - units = counts - signal = 1 - long_name = Neutron Counts - axes = polar_angle:time_of_flight - NX/Histogram1/data> close - NX/Histogram1> close - NX> quit - -.. index:: example; simple - -[line 1] - Start ``NXbrowse`` from the UNIX command - line and open file ``lrcs3701.nxs`` from - IPNS/LRMECS. -[line 8] - List the contents of the current group. -[line 11] - Open the NeXus group ``Histogram1``. -[line 23] - Print the contents of the NeXus data labelled ``title``. -[line 41] - Close the current group. -[line 43] - Quits ``NXbrowse``. - -The source code of ``NXbrowse`` [#]_ -provides an example of how to write a NeXus reader. -The test programs included in the NeXus API (:ref:`Introduction-NAPI`) -may also be useful to study. - -.. [#] https://svn.nexusformat.org/code/trunk/applications/NXbrowse/NXbrowse.c diff --git a/_sphinx/source/volume1/introduction/howto/read.rst b/_sphinx/source/volume1/introduction/howto/read.rst deleted file mode 100755 index 64654e222..000000000 --- a/_sphinx/source/volume1/introduction/howto/read.rst +++ /dev/null @@ -1,41 +0,0 @@ -.. $Id$ - -.. _Introduction-HowToRead: - -How do I read a NeXus file? ---------------------------------------------------------------------------------- - -.. index:: file; read -.. index:: NAPI -.. index:: rank - -Reading a NeXus file is almost identical to writing one. Obviously, it is not -necessary to call ``NXmakedata()`` -since the item already exists, but it -is necessary to call one of the query routines to find out the rank -and length of the data before allocating an array to store it. - -Here is part of a program to read the two-theta array from the file -created by :ref:`ex.simple.write` above. - -.. _ex.simple.read: - -Reading a simple NeXus file -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. index:: example; simple - -.. code-block:: text - :linenos: - - NXopen ('NXfile.nxs', NXACC_READ, &fileID); - NXopengroup (fileID, "Scan", "NXentry"); - NXopengroup (fileID, "data", "NXdata"); - NXopendata (fileID, "two_theta"); - NXgetinfo (fileID, &rank, dims, &datatype); - NXmalloc ((void **) &tth, rank, dims, datatype); - NXgetdata (fileID, tth); - NXclosedata (fileID); - NXclosegroup (fileID); - NXclosegroup (fileID); - NXclose (fileID); diff --git a/_sphinx/source/volume1/introduction/howto/write.rst b/_sphinx/source/volume1/introduction/howto/write.rst deleted file mode 100755 index 0f32996df..000000000 --- a/_sphinx/source/volume1/introduction/howto/write.rst +++ /dev/null @@ -1,117 +0,0 @@ -.. $Id$ - -.. _Introduction-HowToWrite: - -How do I write a NeXus file? ---------------------------------------------------------------------------------- - -.. index:: file; write -.. index:: NAPI - -The NeXus Application Program Interface (API) -provides a set of subroutines that make it easy to read and write -NeXus files. These subroutines are available in C, Fortran 77, Fortran 90, Java, -Python, C++, -and IDL. Access from other languages, such as Python, is anticipated in the near -future. It is also possible to read NeXus HDF files in a number of data analysis -tools, such as LAMP, ISAW, IgorPro, and Open GENIE. NeXus XML files can be read -by any program or library that supports XML. - -The API uses a very simple *state* -model to navigate through a NeXus file. -When you open a file, the API provides a file *handle*, -which then stores the -current location, i.e. which group and/or field is currently open. Read and -write operations then act on the currently open entity. -Following the :ref:`fig.simple-example`, -we walk through some parts of a typical NeXus program written in C. - -.. _ex.simple.write: - -Writing a simple NeXus file -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. index:: example; simple -.. code-block:: text - :linenos: - - #include "napi.h" - - int main() - { - NXhandle fileID; - NXopen ('NXfile.nxs', NXACC_CREATE, &fileID); - NXmakegroup (fileID, "Scan", "NXentry"); - NXopengroup (fileID, "Scan", "NXentry"); - NXmakegroup (fileID, "data", "NXdata"); - NXopengroup (fileID, "data", "NXdata"); - /* somehow, we already have arrays tth and counts, each length n*/ - NXmakedata (fileID, "two_theta", NX_FLOAT32, 1, &n); - NXopendata (fileID, "two_theta"); - NXputdata (fileID, tth); - NXputattr (fileID, "units", "degrees", 7, NX_CHAR); - NXclosedata (fileID); /* two_theta */, NX_INT32, 1, &n); - NXopendata (fileID, "counts"); - NXputdata (fileID, counts); - NXclosedata (fileID); /* counts */ - NXclosegroup (fileID); /* data */ - NXclosegroup (fileID); /* Scan */ - NXclose (&fileID); - return; - } - -[line 6] - Open the file ``NXfile.nxs`` with - *create* - access (implying write access). - NAPI returns a file identifier of type ``NXhandle``. - -[line 7] - Next, we create an - ``NXentry`` group to contain the scan using - ``NXmakegroup()`` and then - open it for access using ``NXopengroup()``. - -[line 9] - The plottable data - is contained within an ``NXdata`` group, which must - also be created and opened. - -.. index:: NeXus basic motivation; default plot - -[line 12] - To create a field, call ``NXmakedata()``, specifying the - data name, type (``NX_FLOAT32``), rank - (in this case, - ``1``), and length of the array - (``n``). Then, it can be opened for writing. - -.. index:: rank - -[line 14] - Write the data using ``NXputdata()``. - -[line 15] - With the field still open, we can also add some data attributes, - such as the data units, - which are specified as a character string (type ``NX_CHAR``) - that is 7 bytes long. - -.. index:: attributes; data -.. index:: units - -[line 16] - Then we close the field before opening another. - In fact, the API will do this automatically if you - attempt to open another field, but it is - better style to close it yourself. - -[line 17] - The remaining fields in this group are added in a similar - fashion. Note that the indentation whenever a new field or - group are opened is just intended to make the structure of - the NeXus file more transparent. - -[line 20] - Finally, close the groups (``NXdata`` and - ``NXentry``) before closing the file itself. diff --git a/_sphinx/source/volume1/introduction/index.rst b/_sphinx/source/volume1/introduction/index.rst deleted file mode 100755 index 64fc97bfa..000000000 --- a/_sphinx/source/volume1/introduction/index.rst +++ /dev/null @@ -1,39 +0,0 @@ -.. $Id$ - -.. _nexus-introduction: - -*************************************************************************** -NeXus Introduction -*************************************************************************** - -.. index:: NeXus basic motivation; unified format - -In recent years, a community of scientists and computer programmers working -in neutron and synchrotron facilities around the world came to the -conclusion that a common data format would fulfill a valuable function in -the scattering community. As instrumentation becomes more complex and data -visualization become more challenging, individual scientists, or even -institutions, have found it difficult to keep up with new developments. A -common data format makes it easier, both to exchange experimental results -and to exchange ideas about how to analyze them. It promotes greater -cooperation in software development and stimulates the design of more -sophisticated visualization tools. For additional background information see -:ref:`History`. - - *The programmers who produce intermediate files for - storing analyzed data should agree on simple interchange rules.* - -.. index:: rules - -This section is designed to give a brief introduction to NeXus, the data -format and tools that have been developed in response to these needs. It -explains what a modern data format such as NeXus is and how to write simple -programs to read and write NeXus files. - - -.. toctree:: - :maxdepth: 2 - - whatis/index - motivations/index - NAPI diff --git a/_sphinx/source/volume1/introduction/motivations/data-post-nexus.jpg b/_sphinx/source/volume1/introduction/motivations/data-post-nexus.jpg deleted file mode 100755 index 19d612ccc485c0cc76fe0906c8a8b28528bd967a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40976 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
h8AU;#-zCDO#1NoZzT(n2-`LQ+;kFV$*}=f-yRq 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 diff --git a/_sphinx/source/volume1/introduction/motivations/dictionary.rst b/_sphinx/source/volume1/introduction/motivations/dictionary.rst deleted file mode 100755 index f2e6ca4d9..000000000 --- a/_sphinx/source/volume1/introduction/motivations/dictionary.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. $Id$ - -.. _DefinedDictionary: - -*************************************************************************** -A Defined Dictionary of Terms -*************************************************************************** - -.. index:: NeXus basic motivation; defined dictionary - -A necessary feature of a standard for the interchange of scientific data is -a *defined dictionary* (or *lexicography*) of terms. This dictionary -declares the expected spelling and meaning of terms when they are present so -that it is not necessary to search for all the variant forms of *energy* -when it is used to describe data (e.g., ``E``, ``e``, ``keV``, ``eV``, -``nrg``, ...). - -NeXus recognized that each scientific specialty has developed a unique -dictionary and needs to categorize data using those terms. The NeXus -Application Definitions provide the means to document the lexicography for -use in data files of that scientific specialty. diff --git a/_sphinx/source/volume1/introduction/motivations/index.rst b/_sphinx/source/volume1/introduction/motivations/index.rst deleted file mode 100755 index bc72b61a5..000000000 --- a/_sphinx/source/volume1/introduction/motivations/index.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. $Id: introduction.rst 881 2011-09-12 01:47:48Z Pete Jemian $ - -.. _MotivationsForNeXus: - -*************************************************************************** -Motivations for the NeXus standard in the Scientific Community -*************************************************************************** - -.. - Today: - * Lots of different data formats - * Time wasted converting data - * Old formats no longer capable of delivering for new high throughput detectors - * Difficult to add additional data - * Often, for DA multiple different files needed - * Badly documented formats - Tomorrow, with NeXus: - * Single, efficient, platform independent data format - * All information in one file - * Self-describing - * Extendable - -By the early 1990s, several groups of scientists in the fields of neutron -and X-ray science had recognized a common and troublesome pattern in the -data acquired at various scientific instruments and user facilities. Each -of these instruments and facilities had a locally defined format for -recording experimental data. With lots of different formats, much of the -scientists' time was being wasted in the task of writing import readers -for processing and analysis programs. As is common, the exact information -to be documented from each instrument in a data file evolves, such as the -implementation of new high-throughput detectors. Many of these formats -lacked the generality to extend to the new data to be stored, thus another -new format was devised. In such environments, the documentation of each -generation of data format is often lacking. - -Three parallel developments have led to NeXus: - -#. June 1994: - Mark Koennecke (Paul Scherer Institute, Switzerland) made a - proposal using netCDF for the European neutron scattering - community while working at the ISIS pulsed neutron facility. - -#. August 1994: - Jon Tischler and Mitch Nelson (Oak Ridge National Laboratory, USA) - proposed an HDF-based format as a standard for data storage at the - Advanced Photon Source (Argonne National Laboratory, USA). - -#. October 1996: - Przemek Klosowski (National Institute of Standards and Technology, USA) - produced a first draft of the NeXus proposal drawing on ideas - from both sources. - -These scientists proposed methods to store data using a self-describing, -extensible format that was already in broad use in other scientific -disciplines. Their proposals formed the basis for the current design of -the NeXus standard which was developed at two workshops, SoftNeSS'95 (NIST -Sept. 1995) and SoftNeSS'96 (Argonne Oct. 1996), attended by -representatives of a range of neutron and x-ray facilities. - -.. _basic.motivations: - -Basic motivations for the NeXus standard ------------------------------------------------- - -.. index:: NeXus basic motivation - -The NeXus API was released in late 1997. -Basic motivations for this standard were: - -.. toctree:: - :maxdepth: 1 - - plotting - unified - dictionary diff --git a/_sphinx/source/volume1/introduction/motivations/plotting.rst b/_sphinx/source/volume1/introduction/motivations/plotting.rst deleted file mode 100755 index a8e4d29b6..000000000 --- a/_sphinx/source/volume1/introduction/motivations/plotting.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. $Id$ - -.. _SimplePlotting: - -*************************************************************************** -Simple plotting -*************************************************************************** - -.. index:: NeXus basic motivation; default plot - -An important motivation for the design of NeXus was to simplify -the creation of a default plot view. While the best -representation of a set of observations will vary, depending on -various conditions, a good suggestion is often known *a priori*. -This suggestion is described in the ``NXdata`` element so that -any program that is used to browse NeXus data files can provide -a *best representation* without request for user input. - -.. TODO: this screams for an example, data and plot diff --git a/_sphinx/source/volume1/introduction/motivations/unified.rst b/_sphinx/source/volume1/introduction/motivations/unified.rst deleted file mode 100755 index a2c8f2dbe..000000000 --- a/_sphinx/source/volume1/introduction/motivations/unified.rst +++ /dev/null @@ -1,116 +0,0 @@ -.. $Id$ - -.. _UnifiedFormat: - -*************************************************************************** -A Unified Format for Reduction and Analysis -*************************************************************************** - -.. index:: NeXus basic motivation; unified format - -Another important motivation for NeXus, indeed the *raison d'etre*, was -the community need to analyze data from different user facilities. A -single data format that is in use at a variety of facilities would provide -a major benefit to the scientific community. This unified format should -be capable of describing any type of data from the scientific experiments, -at any step of the process from data acquisition to data reduction and -analysis. This unified format also needs to allow data to be written to -storage as efficiently as possible to enable use with high-speed data -acquisition. - -.. hit these points: - Portable, - self describing, - extendable, - public domain - -**Self-description**, combined with a reliance on a **multi-platform** -(and thereby **portable**) data storage format, are valued components of a -data storage format where the longevity of the data is expected to be -longer than the lifetime of the facility at which it is acquired. As the -name implies, self-description within data files is the practice where the -structure of the information contained within the file is evident from the -file itself. A multi-platform data storage format must faithfully -represent the data identically on a variety of computer systems, -regardless of the bit order or byte order or word size native to the -computer. - -The scientific community continues to grow the various types of data to be -expressed in data files. This practice is expected to continue as part of -the investigative process. To gain broad acceptance in the scientific user -community, any data storage format proposed as a standard would need to be -**extendable** and continue to provide a means to express the latest -notions of scientific data. - -The maintenance cost of common data structures meeting the motivations -above (self-describing, portable, and extendable) is not insurmountable -but is often well-beyond the research funding of individual members of the -muon, neutron, and X-ray science communities. Since it is these members -that drive the selection of a data storage format, it is necessary for the -user cost to be as minimal as possible. In this case, experience has shown -that the format must be in the **public-domain** for it to be commonly -accepted as a standard. A benefit of the public-domain aspect is that the -source code for the API is open and accessible, a point which has received -notable comment in the scientific literature. - -.. PRJ: For example, there was a letter to the editor of J Appl Cryst - in the late 1970s complaining about the increasingly-common - practice of withholding the source code. If we find the - reference, we should cite it here. - -.. index:: API - -More recently, NeXus has recognized that part of the scientific community -with a desire to write and record scientific data, has small data volumes -and a large aversion to the requirement of a complicated API necessary to -access data in binary files such as HDF. For such information, the NeXus -API has been extended by the addition of the eXtensible Markup Language -(XML) [#]_ as an alternative to HDF. XML is a text-based format that -supports compression and structured data and has broad usage in business -and e-commerce. While possibly complicated, XML files are human readable, -and tools for translation and extraction are plentiful. The API has -routines to read and write XML data and to convert between HDF and XML. - -.. [#] XML: http://www.w3.org/XML/. - There are many other descriptions of XML, - for example: http://en.wikipedia.org/wiki/XML - - -.. _CommonExchangeFormat: - -NeXus as a Common Data Exchange Format ---------------------------------------------- - -By the late 1980s, it had become common practice for a scientific -instrument or facility to define its own data format, often at the -convenience of the local computer system. Data from these facilities were -not easily interchanged due to various differences in computer systems and -the compression schemes of binary data. It was necessary to contact the -facility to obtain a description so that one could write an import routine -in software. Experience with facilities closing (and subsequent lack of -access to information describing the facility data format) revealed a -significant limitation with this common practice. Further, there existed -a *N * N* number of conversion routines necessary to convert data between -various formats. In the next figure, circles -represent different data file formats while arrows represent conversion -routines. Note that the red circle only maps to one other format. - -.. _fig.data-pre-nexus: - -.. figure:: data-pre-nexus.jpg - :width: 200 pt - :alt: example NeXus data file hierarchy - - *N* separate file formats - -One early idea has been for NeXus to become the common data exchange -format, and thereby reduce the number of data conversion routines from -*N * N* down to *2N*, as shown in the next figure. - -.. _fig.data-post-nexus: - -.. figure:: data-post-nexus.jpg - :width: 200 pt - :alt: example NeXus data file hierarchy - - *N* separate file formats joined by a common NeXus converter diff --git a/_sphinx/source/volume1/introduction/whatis/Hierarchy.png b/_sphinx/source/volume1/introduction/whatis/Hierarchy.png deleted file mode 100755 index 64e0367c0abc32904d8eb4f1c9780b3551126fea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 117389 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 - - - - - 1193 4474 - 53220 274310 - 515430 827880 - 1227100 1434640 - 1330280 1037070 - 598720 316460 - 56677 1000 - 1000 - - - 18.90940 18.90960 18.90980 18.91000 - 18.91020 18.91040 18.91060 18.91080 - 18.91100 18.91120 18.91140 18.91160 - 18.91180 18.91200 18.91220 - - - - - -.. index:: example; very simple - -NeXus files are easy to create. This example NeXus file was created using -a short Python program and NeXpy: - -.. _ex.verysimple.py: - -``verysimple.py``: Using NeXpy to write a very simple NeXus Data file (in HDF5) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. literalinclude:: ../../../../../docbook/examples/verysimple.py - :language: python - :linenos: - :tab-width: 4 diff --git a/_sphinx/source/volume1/introduction/whatis/index.rst b/_sphinx/source/volume1/introduction/whatis/index.rst deleted file mode 100755 index a5b04266e..000000000 --- a/_sphinx/source/volume1/introduction/whatis/index.rst +++ /dev/null @@ -1,60 +0,0 @@ -.. $Id$ - -.. _WhatIsNeXus: - -===================================================================== -What is NeXus? -===================================================================== - -The NeXus data format has four components: - -.. index:: NeXus - -#. :ref:`Introduction-DesignPrinciples` - to help people understand what is in the data files. -#. :ref:`Introduction-DataStorageObjects` - (base classes and application definitions) to allow - the development of more portable analysis software. -#. :ref:`Introduction-SetOfSubroutines` - (utilities) to make it easy to read and write NeXus data files. -#. :ref:`Scientific_Community` - provides the scientific data, advice, and continued involvement - with the NeXus standard. NeXus provides a forum for the scientific - community to exchange ideas in data storage. - -.. description of the low-level formats was pulled from the intro in 2011 - In addition, NeXus relies on a set of low-level file formats to actually - store NeXus files on physical media. Each of these components are described - in more detail in :ref:`Fileformat`. - -.. index:: NAPI - -The NeXus Application-Programmer Interface (NAPI), which -provides the set of subroutines for reading and writing NeXus data files, -is described briefly in :ref:`Introduction-NAPI`. -(Further details are provided in the NAPI chapter of Volume II of this -documentation.) - -The principles guiding the design and implementation of the NeXus standard -are described in :ref:`NeXus-Design`. - -Base classes and applications, -which comprise the data storage objects used in NeXus data files, -are detailed in the *Class Definitions* chapter of -Volume II of this documentation. - -.. With this information, it should be possible to bypass the NAPI and - read & write NeXus data directly in the low-level file format. - -Additionally, a brief list describing the set of NeXus Utilities -available to browse, validate, translate, and visualise -NeXus data files is provided in :ref:`Utilities`. - - -.. toctree:: - :maxdepth: 2 - - design - objects - subroutines - community diff --git a/_sphinx/source/volume1/introduction/whatis/lowlevel.rst0 b/_sphinx/source/volume1/introduction/whatis/lowlevel.rst0 deleted file mode 100755 index 79739c61e..000000000 --- a/_sphinx/source/volume1/introduction/whatis/lowlevel.rst0 +++ /dev/null @@ -1,18 +0,0 @@ -.. $Id$ - included by introduction.rst - -A Set of Low-Level File Formats ---------------------------------------------------------------------- - -.. _LowLevelFormat: - -.. index:: NeXus; low-level file formats - -To actually store NeXus files on physical media, different low-level file -formats -are available, namely HDF4, HDF5, and XML. The NeXus code library may be -configured to support all of them, or any nonempty subset. Applications that -create NeXus files need to decide (or let the user decide) in which low-level -format data shall be stored. Generic data analysis applications should be able -to read any low-level format. More information is provided in -:ref:`Fileformat`. diff --git a/_sphinx/source/volume1/introduction/whatis/objects.rst b/_sphinx/source/volume1/introduction/whatis/objects.rst deleted file mode 100755 index 417417d1c..000000000 --- a/_sphinx/source/volume1/introduction/whatis/objects.rst +++ /dev/null @@ -1,85 +0,0 @@ -.. $Id$ - - -.. _Introduction-DataStorageObjects: - -A Set of Data Storage Objects ---------------------------------------------------------------------- -.. index:: instrument definitions - -If the design principles are followed, -it will be easy for anyone browsing a -NeXus file to understand what it contains, -without any prior information. -However, if you are writing specialized -visualization or analysis software, you will need to -know precisely what specific information is contained -in advance. For that reason, NeXus -provides a way of defining the format for -particular instrument types, -such as time-of-flight small angle neutron scattering. This requires -some agreement by the relevant communities, but enables the development of -much more portable software. - -The set of data storage objects is divided into three parts: -base classes, application definitions, and contributed definitions. -The base classes represent a set of components that define -the dictionary of all possible terms to be used with that component. -The application definitions specify the minimum required information to satisfy -a particular scientific or data analysis software interest. -The contributed definitions have been submitted by the scientific community -for incubation before they are adopted by the NIAC or for availability -to the community. - -These instrument definitions are formalized as XML files, using NXDL, -(as described in the NXDL chapter in Volume II of this documentation) -to specify the names of data fields, and other NeXus data objects. -The following is an example of such a file for -the simple NeXus file shown above. - -.. _ex.verysimple.nxdl.xml: - -``verysimple.nxdl.xml``: A very simple NeXus Definition Language (NXDL) file -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: xml - :linenos: - - - - - - A very simple NeXus NXDL file - - - - - counts recorded by detector - - - rotation angle of detector arm - - - - - -.. index:: example; very simple - -.. (See *A complete example of writing and - reading a NeXus data file* for an example to write and read data - using the structure of :ref:`ex.verysimple.nxdl.xml`.) - -This chapter has several examples of writing and reading NeXus data files. -If you want to define the format of a particular type of NeXus file -for your own use, e.g. as the standard output from a program, you are encouraged -to *publish* the format using this XML format. -An example of how to do this is shown in the section titled -Creating a NXDL Specification (:ref:`NXDL_Tutorial-CreatingNxdlSpec`). diff --git a/_sphinx/source/volume1/introduction/whatis/subroutines.rst b/_sphinx/source/volume1/introduction/whatis/subroutines.rst deleted file mode 100755 index 330de5ea9..000000000 --- a/_sphinx/source/volume1/introduction/whatis/subroutines.rst +++ /dev/null @@ -1,46 +0,0 @@ -.. $Id$ - -.. _Introduction-SetOfSubroutines: - -A Set of Subroutines ---------------------------------------------------------------------- - -NeXus data files are high-level so the user only needs to -know how the data are referenced in the file but does not -need to be concerned where the data are stored in the file. Thus, the data -are most easily accessed using a subroutine library tuned to the -specifics of the data format. - -In the past, a data format was defined by a document -describing the precise location of every item in the data file, -either as row and column numbers in an ASCII file, or as record -and byte numbers in a binary file. It is the job of the subroutine -library to retrieve the data. This subroutine library is commonly -called an application-programmer interface or API. - -For example, in NeXus, a program to read in the wavelength of an experiment -would contain lines similar to the following: - -.. _ex.simple.c: - -Simple example of reading data using the NeXus API -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. index:: example; simple -.. code-block:: c - :linenos: - - NXopendata (fileID, "wavelength"); - NXgetdata (fileID, lambda); - NXclosedata (fileID); - -In this example, the program requests the value of the data that has -the label ``wavelength``, storing the result in the variable lambda. -``fileID`` is a file identifier that is provided by NeXus when the -file is opened. - -We shall provide a more complete example when we have -discussed the contents of the NeXus files. - -.. introduction: low-level routines was dropped form the manual in 2011 -.. .. include:: intro-lowlevel.inc diff --git a/_sphinx/source/volume2/NXDL/applications/NXarchive.rst b/_sphinx/source/volume2/NXDL/applications/NXarchive.rst deleted file mode 100644 index d79c0e6b0..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXarchive.rst +++ /dev/null @@ -1,107 +0,0 @@ -.. _NXarchive: - -######### -NXarchive -######### - -.. index:: ! . NXDL applications; NXarchive - -category: - applications - -NXDL source: - NXarchive - - (http://svn.nexusformat.org/definitions/trunk/applications/NXarchive.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXsample`, :ref:`NXsource`, :ref:`NXuser` - -documentation: - This is a definition for data to be archived by ICAT (see: - http://www.icatproject.org/), - - .. COMMENT: text from the icatproject.org site - the database (with supporting software) that provides an - interface to all ISIS experimental data and will provide - a mechanism to link all aspects of ISIS research from - proposal through to publication. - - - -.. rubric:: Basic Structure of **NXarchive** - -.. code-block:: text - :linenos: - - NXarchive (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - @index - collection_description:NX_CHAR - collection_identifier:NX_CHAR - collection_time:NX_FLOAT - definition:NX_CHAR - duration:NX_FLOAT - end_time:NX_DATE_TIME - entry_identifier:NX_CHAR - experiment_description:NX_CHAR - experiment_identifer:NX_CHAR - program:NX_CHAR - @version - release_date:NX_CHAR - revision:NX_CHAR - run_cycle:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - instrument:NXinstrument - description:NX_CHAR - name:NX_CHAR - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - sample:NXsample - chemical_formula:NX_CHAR - description:NX_CHAR - electric_field:NX_FLOAT - magnetic_field:NX_FLOAT - name:NX_CHAR - preparation_date:NX_CHAR - pressure:NX_FLOAT - sample_id:NX_CHAR - situation:NX_CHAR - stress_field:NX_FLOAT - temperature:NX_FLOAT - type:NX_CHAR - user:NXuser - facility_user_id:NX_CHAR - name:NX_CHAR - role:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXarchive** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXarchive** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ - diff --git a/_sphinx/source/volume2/NXDL/applications/NXdirecttof.rst b/_sphinx/source/volume2/NXDL/applications/NXdirecttof.rst deleted file mode 100644 index edd2b33df..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXdirecttof.rst +++ /dev/null @@ -1,65 +0,0 @@ -.. _NXdirecttof: - -########### -NXdirecttof -########### - -.. index:: ! . NXDL applications; NXdirecttof - -category: - applications - -NXDL source: - NXdirecttof - - (http://svn.nexusformat.org/definitions/trunk/applications/NXdirecttof.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXtofraw` - -other classes included: - :ref:`NXentry`, :ref:`NXfermi_chopper`, :ref:`NXinstrument` - -documentation: - This is a application definition for raw data from a direct geometry TOF spectrometer - - - -.. rubric:: Basic Structure of **NXdirecttof** - -.. code-block:: text - :linenos: - - NXdirecttof (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - NXinstrument - fermi_chopper:NXfermi_chopper - energy:NX_FLOAT - rotation_speed:NX_FLOAT - - -.. rubric:: Symbols used in definition of **NXdirecttof** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXdirecttof** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXfluo.rst b/_sphinx/source/volume2/NXDL/applications/NXfluo.rst deleted file mode 100644 index 5848a16ee..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXfluo.rst +++ /dev/null @@ -1,81 +0,0 @@ -.. _NXfluo: - -###### -NXfluo -###### - -.. index:: ! . NXDL applications; NXfluo - -category: - applications - -NXDL source: - NXfluo - - (http://svn.nexusformat.org/definitions/trunk/applications/NXfluo.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXmonochromator`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - This is an application definition for raw data from an X-ray fluorescence - experiment - - - -.. rubric:: Basic Structure of **NXfluo** - -.. code-block:: text - :linenos: - - NXfluo (application definition, version 1.0) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /entry/instrument/fluorecence/data - energy --> /entry/instrument/fluorecence/energy - NXinstrument - fluorescence:NXdetector - data:NX_INT[nenergy] - energy:NX_FLOAT[nenergy] - monochromator:NXmonochromator - wavelength:NX_FLOAT - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - NXmonitor - data:NX_INT - mode:NX_CHAR - preset:NX_FLOAT - NXsample - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXfluo** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXfluo** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXindirecttof.rst b/_sphinx/source/volume2/NXDL/applications/NXindirecttof.rst deleted file mode 100644 index 09cf70d05..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXindirecttof.rst +++ /dev/null @@ -1,66 +0,0 @@ -.. _NXindirecttof: - -############# -NXindirecttof -############# - -.. index:: ! . NXDL applications; NXindirecttof - -category: - applications - -NXDL source: - NXindirecttof - - (http://svn.nexusformat.org/definitions/trunk/applications/NXindirecttof.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXtofraw` - -other classes included: - :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonochromator` - -documentation: - This is a application definition for raw data from a direct geometry TOF spectrometer - - - -.. rubric:: Basic Structure of **NXindirecttof** - -.. code-block:: text - :linenos: - - NXindirecttof (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - NXinstrument - analyser:NXmonochromator - distance:NX_FLOAT[ndet] - energy:NX_FLOAT[nDet] - polar_angle:NX_FLOAT[ndet] - - -.. rubric:: Symbols used in definition of **NXindirecttof** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXindirecttof** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXiqproc.rst b/_sphinx/source/volume2/NXDL/applications/NXiqproc.rst deleted file mode 100644 index 73568533d..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXiqproc.rst +++ /dev/null @@ -1,81 +0,0 @@ -.. _NXiqproc: - -######## -NXiqproc -######## - -.. index:: ! . NXDL applications; NXiqproc - -category: - applications - -NXDL source: - NXiqproc - - (http://svn.nexusformat.org/definitions/trunk/applications/NXiqproc.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXparameters`, :ref:`NXprocess`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - Actually this is a template from which to start an application definition. - - - -.. rubric:: Basic Structure of **NXiqproc** - -.. code-block:: text - :linenos: - - NXiqproc (application definition, version 1.0b) - (overlays NXentry) - NXentry - @entry - definition:NX_CHAR - title:NX_CHAR - NXdata - data:NX_INT[NE,NQX,NQY] - qx:NX_CHAR - qy:NX_CHAR - variable:NX_CHAR - @varied_variable - instrument:NXinstrument - name:NX_CHAR - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - reduction:NXprocess - program:NX_CHAR - version:NX_CHAR - input:NXparameters - filenames:NX_CHAR - output:NXparameters - NXsample - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXiqproc** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXiqproc** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXlauetof.rst b/_sphinx/source/volume2/NXDL/applications/NXlauetof.rst deleted file mode 100644 index 0ceb90545..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXlauetof.rst +++ /dev/null @@ -1,81 +0,0 @@ -.. _NXlauetof: - -######### -NXlauetof -######### - -.. index:: ! . NXDL applications; NXlauetof - -category: - applications - -NXDL source: - NXlauetof - - (http://svn.nexusformat.org/definitions/trunk/applications/NXlauetof.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample` - -documentation: - This is the application definition for a TOF laue diffractometer - - - -.. rubric:: Basic Structure of **NXlauetof** - -.. code-block:: text - :linenos: - - NXlauetof (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - name:NXdata - data --> /NXentry/NXinstrument/NXdetector/data - time_of_flight --> /NXentry/NXinstrument/NXdetector/time_of_flight - instrument:NXinstrument - detector:NXdetector - azimuthal_angle:NX_FLOAT - data:NX_INT[number of x pixels,number of y pixels,nTOF] - @signal - distance:NX_FLOAT - polar_angle:NX_FLOAT - time_of_flight:NX_FLOAT[nTOF] - x_pixel_size:NX_FLOAT - y_pixel_size:NX_FLOAT - control:NXmonitor - data:NX_INT[nTOF] - mode:NX_CHAR - preset:NX_FLOAT - time_of_flight:NX_FLOAT[nTOF] - sample:NXsample - name:NX_CHAR - orientation_matrix:NX_FLOAT[3,3] - unit_cell:NX_FLOAT[6] - - -.. rubric:: Symbols used in definition of **NXlauetof** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXlauetof** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXmonopd.rst b/_sphinx/source/volume2/NXDL/applications/NXmonopd.rst deleted file mode 100644 index 7496c6871..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXmonopd.rst +++ /dev/null @@ -1,84 +0,0 @@ -.. _NXmonopd: - -######## -NXmonopd -######## - -.. index:: ! . NXDL applications; NXmonopd - -category: - applications - -NXDL source: - NXmonopd - - (http://svn.nexusformat.org/definitions/trunk/applications/NXmonopd.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXcrystal`, :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - Monochromatic Neutron and X-Ray Powder Diffraction. Instrument definition for a powder - diffractometer at a monochromatic neutron or X-ray beam. This is both suited for a powder - diffractometer with a single detector or a powder diffractometer with a position sensitive - detector. - - - -.. rubric:: Basic Structure of **NXmonopd** - -.. code-block:: text - :linenos: - - NXmonopd (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - NXdata - data --> /NXentry/NXinstrument/NXdetector/data - polar_angle --> /NXentry/NXinstrument/NXdetector/polar_angle - NXinstrument - NXcrystal - wavelength:NX_FLOAT[i] - NXdetector - data:NX_INT[ndet] - polar_angle:NX_FLOAT[ndet] - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - NXmonitor - integral:NX_FLOAT - mode:NX_CHAR - preset:NX_FLOAT - NXsample - name:NX_CHAR - rotation_angle:NX_FLOAT - - -.. rubric:: Symbols used in definition of **NXmonopd** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXmonopd** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXrefscan.rst b/_sphinx/source/volume2/NXDL/applications/NXrefscan.rst deleted file mode 100644 index 815c2ee90..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXrefscan.rst +++ /dev/null @@ -1,85 +0,0 @@ -.. _NXrefscan: - -######### -NXrefscan -######### - -.. index:: ! . NXDL applications; NXrefscan - -category: - applications - -NXDL source: - NXrefscan - - (http://svn.nexusformat.org/definitions/trunk/applications/NXrefscan.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXmonochromator`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - This is an application definition for a monochromatic scanning reflectometer. - It does not have the information to calculate the resolution - since it does not have any apertures. - - - -.. rubric:: Basic Structure of **NXrefscan** - -.. code-block:: text - :linenos: - - NXrefscan (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - end_time:NX_DATE_TIME - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /NXentry/NXinstrument/NXdetector/data - polar_angle --> /NXentry/NXinstrument/NXdetector/polar_angle - rotation_angle --> /NXentry/NXsample/rotation_angle - instrument:NXinstrument - NXdetector - data:NX_INT[NP] - polar_angle:NX_FLOAT[NP] - monochromator:NXmonochromator - wavelength:NX_FLOAT - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - control:NXmonitor - data:NX_FLOAT[NP] - mode:NX_CHAR - preset:NX_FLOAT - sample:NXsample - name:NX_CHAR - rotation_angle:NX_FLOAT[NP] - - -.. rubric:: Symbols used in definition of **NXrefscan** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXrefscan** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXreftof.rst b/_sphinx/source/volume2/NXDL/applications/NXreftof.rst deleted file mode 100644 index 661b08268..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXreftof.rst +++ /dev/null @@ -1,85 +0,0 @@ -.. _NXreftof: - -######## -NXreftof -######## - -.. index:: ! . NXDL applications; NXreftof - -category: - applications - -NXDL source: - NXreftof - - (http://svn.nexusformat.org/definitions/trunk/applications/NXreftof.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXdisk_chopper`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample` - -documentation: - This is an application definition for raw data from a TOF reflectometer. - - - -.. rubric:: Basic Structure of **NXreftof** - -.. code-block:: text - :linenos: - - NXreftof (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - end_time:NX_DATE_TIME - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /NXentry/NXinstrument/NXdetector/data - time_binning --> /NXentry/NXinstrument/NXdetector/time_binning - instrument:NXinstrument - name:NX_CHAR - detector:NXdetector - data:NX_INT[xsize,ysize,nTOF] - distance:NX_FLOAT - polar_angle:NX_FLOAT - time_of_flight:NX_FLOAT[nTOF] - x_pixel_size:NX_FLOAT - y_pixel_size:NX_FLOAT - chopper:NXdisk_chopper - distance:NX_FLOAT - control:NXmonitor - data:NX_INT - integral:NX_INT - mode:NX_CHAR - preset:NX_FLOAT - time_of_flight:NX_FLOAT - sample:NXsample - name:NX_CHAR - rotation_angle:NX_FLOAT - - -.. rubric:: Symbols used in definition of **NXreftof** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXreftof** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXsas.rst b/_sphinx/source/volume2/NXDL/applications/NXsas.rst deleted file mode 100644 index 3cc44e9ac..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXsas.rst +++ /dev/null @@ -1,99 +0,0 @@ -.. _NXsas: - -##### -NXsas -##### - -.. index:: ! . NXDL applications; NXsas - -category: - applications - -NXDL source: - NXsas - - (http://svn.nexusformat.org/definitions/trunk/applications/NXsas.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXcollimator`, :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXgeometry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXmonochromator`, :ref:`NXsample`, :ref:`NXshape`, :ref:`NXsource` - -documentation: - This is an application definition for 2-D small angle scattering data collected with a - monochromatic beam and an area detector. It is meant to be suitable both for neutron SANS and - X-ray SAXS data. It covers all SAS techniques: SAS, WSAS, grazing incidence, GISAS - - - -.. rubric:: Basic Structure of **NXsas** - -.. code-block:: text - :linenos: - - NXsas (application definition, version 1.0b) - (overlays NXentry) - NXentry - @entry - definition:NX_CHAR - end_time:NX_DATE_TIME - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /NXentry/NXinstrument/NXdetector/data - instrument:NXinstrument - name:NX_CHAR - collimator:NXcollimator - geometry:NXgeometry - shape:NXshape - shape:NX_CHAR - size:NX_FLOAT - detector:NXdetector - aequatorial_angle:NX_FLOAT - azimuthal_angle:NX_FLOAT - beam_center_x:NX_FLOAT - beam_center_y:NX_FLOAT - data:NX_NUMBER[nXPixel,nYPixel] - distance:NX_FLOAT - polar_angle:NX_FLOAT - rotation_angle:NX_FLOAT - x_pixel_size:NX_FLOAT - y_pixel_size:NX_FLOAT - monochromator:NXmonochromator - wavelength:NX_FLOAT - wavelength_spread:NX_FLOAT - source:NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - control:NXmonitor - integral:NX_FLOAT - mode:NX_CHAR - preset:NX_FLOAT - sample:NXsample - aequatorial_angle:NX_FLOAT - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXsas** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXsas** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXsastof.rst b/_sphinx/source/volume2/NXDL/applications/NXsastof.rst deleted file mode 100644 index 7adb244f1..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXsastof.rst +++ /dev/null @@ -1,97 +0,0 @@ -.. _NXsastof: - -######## -NXsastof -######## - -.. index:: ! . NXDL applications; NXsastof - -category: - applications - -NXDL source: - NXsastof - - (http://svn.nexusformat.org/definitions/trunk/applications/NXsastof.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXcollimator`, :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXgeometry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`, :ref:`NXshape`, :ref:`NXsource` - -documentation: - This is an application definition for small angle scattering using a 2D - detector in TOF mode. It strives to cover all the SAS techniques in the file again - - - -.. rubric:: Basic Structure of **NXsastof** - -.. code-block:: text - :linenos: - - NXsastof (application definition, version 1.0b) - (overlays NXentry) - NXentry - @entry - definition:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /NXentry/NXinstrument/NXdetector/data - time_of_flight --> /NXentry/NXinstrument/NXdetector/time_of_flight - instrument:NXinstrument - name:NX_CHAR - collimator:NXcollimator - geometry:NXgeometry - shape:NXshape - shape:NX_CHAR - size:NX_FLOAT - detector:NXdetector - aequatorial_angle:NX_FLOAT - azimuthal_angle:NX_FLOAT - beam_center_x:NX_FLOAT - beam_center_y:NX_FLOAT - data:NX_NUMBER[nXPixel,nYPixel,nTOF] - distance:NX_FLOAT - polar_angle:NX_FLOAT - rotation_angle:NX_FLOAT - time_of_flight:NX_FLOAT[nTOF] - x_pixel_size:NX_FLOAT - y_pixel_size:NX_FLOAT - source:NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - control:NXmonitor - data:NX_INT[nTOF] - mode:NX_CHAR - preset:NX_FLOAT - time_of_flight:NX_FLOAT[nTOF] - sample:NXsample - aequatorial_angle:NX_FLOAT - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXsastof** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXsastof** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXscan.rst b/_sphinx/source/volume2/NXDL/applications/NXscan.rst deleted file mode 100644 index 489fb5abd..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXscan.rst +++ /dev/null @@ -1,96 +0,0 @@ -.. _NXscan: - -###### -NXscan -###### - -.. index:: ! . NXDL applications; NXscan - -category: - applications - -NXDL source: - NXscan - - (http://svn.nexusformat.org/definitions/trunk/applications/NXscan.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample` - -documentation: - Application definition for a generic scan instrument. This definition is more an - example then a stringent definition as the content of a given NeXus scan file needs to - differ for different types of scans. This example definition shows a scan like done - on a rotation camera: the sample is rotated and a detector image, the rotation angle - and a monitor value is stored at each step in the scan. In the following I use - the symbol NP as a placeholder for the number of scan points. These are the rules for - storing scan data in NeXus files which are implemented in this example: - - Each value varied throughout a scan is stored as an array of - length NP at its respective location within the NeXus hierarchy. - - For area detectors, NP is the first dimension, - example for a detector of 256x256: data[NP,256,256] - - The NXdata group contains links to all variables varied in the scan and the data. - This to give an equivalent to the more familiar classical tabular representation of scans. - - These rules exist for a reason: HDF allows the first dimension of a data set to be - unlimited. This means the data can be appended too. Thus a NeXus file built according - to the rules given above can be used in the following way: - - At the start of a scan, write all the static information. - - At each scan point, append new data from varied variables - and the detector to the file. - - - -.. rubric:: Basic Structure of **NXscan** - -.. code-block:: text - :linenos: - - NXscan (application definition, version 1.0b) - (overlays NXentry) - NXentry - definition:NX_CHAR - end_time:NX_DATE_TIME - start_time:NX_DATE_TIME - title:NX_CHAR - NXdata - data --> /NXentry/NXinstrument/NXdetector/data - rotation_angle --> /NXentry/NXsample/rotation_angle - NXinstrument - NXdetector - data:NX_INT[NP,xdim,ydim] - NXmonitor - data:NX_INT[NP] - NXsample - rotation_angle:NX_FLOAT[NP] - - -.. rubric:: Symbols used in definition of **NXscan** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXscan** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXspe.rst b/_sphinx/source/volume2/NXDL/applications/NXspe.rst deleted file mode 100644 index e213ad06b..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXspe.rst +++ /dev/null @@ -1,82 +0,0 @@ -.. _NXspe: - -##### -NXspe -##### - -.. index:: ! . NXDL applications; NXspe - -category: - applications - -NXDL source: - NXspe - - (http://svn.nexusformat.org/definitions/trunk/applications/NXspe.nxdl.xml) - -version: - 1.0 - -SVN Id: - none - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXcollection`, :ref:`NXdata`, :ref:`NXentry`, :ref:`NXfermi_chopper`, :ref:`NXinstrument`, :ref:`NXsample` - -documentation: - NXSPE Inelastic Format. Application definition for NXSPE file format. - - - -.. rubric:: Basic Structure of **NXspe** - -.. code-block:: text - :linenos: - - NXspe (application definition, version 1.0) - (overlays NXentry) - NXentry - definition:NX_CHAR - @version - program_name:NX_CHAR - NXSPE_info:NXcollection - fixed_energy:NX_FLOAT - ki_over_kf_scaling:NX_BOOLEAN - psi:NX_FLOAT - data:NXdata - azimuthal:NX_FLOAT - azimuthal_width:NX_FLOAT - data:NX_NUMBER - distance:NX_FLOAT - energy:NX_FLOAT - error:NX_NUMBER - polar:NX_FLOAT - polar_width:NX_FLOAT - NXinstrument - name:NX_CHAR - NXfermi_chopper - energy:NX_NUMBER - NXsample - rotation_angle:NX_NUMBER - seblock:NX_CHAR - temperature:NX_NUMBER - - -.. rubric:: Symbols used in definition of **NXspe** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXspe** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXsqom.rst b/_sphinx/source/volume2/NXDL/applications/NXsqom.rst deleted file mode 100644 index 0840e5c18..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXsqom.rst +++ /dev/null @@ -1,84 +0,0 @@ -.. _NXsqom: - -###### -NXsqom -###### - -.. index:: ! . NXDL applications; NXsqom - -category: - applications - -NXDL source: - NXsqom - - (http://svn.nexusformat.org/definitions/trunk/applications/NXsqom.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXparameters`, :ref:`NXprocess`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - This is the application definition for S(Q,OM) processed data. As this kind of data is in - general not on a rectangular grid after data reduction, it is stored as Q,E positions plus their - intensity, table like. It is the task of a possible visualisation program to regrid this data in - a sensible way. - - - -.. rubric:: Basic Structure of **NXsqom** - -.. code-block:: text - :linenos: - - NXsqom (application definition, version 1.0b) - (overlays NXentry) - NXentry - @entry - definition:NX_CHAR - title:NX_CHAR - NXdata - data:NX_INT[NP] - en:NX_FLOAT[NP] - qx:NX_CHAR - qy:NX_CHAR - qz:NX_CHAR - instrument:NXinstrument - name:NX_CHAR - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - reduction:NXprocess - program:NX_CHAR - version:NX_CHAR - input:NXparameters - filenames:NX_CHAR - output:NXparameters - NXsample - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXsqom** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXsqom** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXtas.rst b/_sphinx/source/volume2/NXDL/applications/NXtas.rst deleted file mode 100644 index f4087d52e..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXtas.rst +++ /dev/null @@ -1,100 +0,0 @@ -.. _NXtas: - -##### -NXtas -##### - -.. index:: ! . NXDL applications; NXtas - -category: - applications - -NXDL source: - NXtas - - (http://svn.nexusformat.org/definitions/trunk/applications/NXtas.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXcrystal`, :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - This is an application definition for a triple axis spectrometer. It is for the trademark - scan of the TAS, the Q-E scan. For your alignment scans use the rules in NXscan. - - - -.. rubric:: Basic Structure of **NXtas** - -.. code-block:: text - :linenos: - - NXtas (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - NXdata - data --> /NXentry/NXinstrument/NXdetector/data - ef --> /NXentry/NXinstrument/analyzer:NXcrystal/ef - ei --> /NXentry/NXinstrument/monochromator:NXcrystal/ei - en --> /NXentry/NXsample/en - qh --> /NXentry/NXsample/qh - qk --> /NXentry/NXsample/qk - ql --> /NXentry/NXsample/ql - NXinstrument - monochromator:NXcrystal - ei:NX_FLOAT[np] - rotation_angle:NX_FLOAT[np] - analyser:NXcrystal - ef:NX_FLOAT[np] - polar_angle:NX_FLOAT[np] - rotation_angle:NX_FLOAT[np] - NXdetector - data:NX_INT[np] - polar_angle:NX_FLOAT[np] - NXsource - name:NX_CHAR - probe:NX_CHAR - NXmonitor - data:NX_FLOAT[np] - mode:NX_CHAR - preset:NX_FLOAT - NXsample - en:NX_FLOAT[np] - name:NX_CHAR - orientation_matrix:NX_FLOAT[9] - polar_angle:NX_FLOAT[np] - qh:NX_FLOAT[np] - qk:NX_FLOAT[np] - ql:NX_FLOAT[np] - rotation_angle:NX_FLOAT[np] - sgl:NX_FLOAT[np] - sgu:NX_FLOAT[np] - unit_cell:NX_FLOAT[6] - - -.. rubric:: Symbols used in definition of **NXtas** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXtas** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXtofnpd.rst b/_sphinx/source/volume2/NXDL/applications/NXtofnpd.rst deleted file mode 100644 index cde697a74..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXtofnpd.rst +++ /dev/null @@ -1,84 +0,0 @@ -.. _NXtofnpd: - -######## -NXtofnpd -######## - -.. index:: ! . NXDL applications; NXtofnpd - -category: - applications - -NXDL source: - NXtofnpd - - (http://svn.nexusformat.org/definitions/trunk/applications/NXtofnpd.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`, :ref:`NXuser` - -documentation: - This is a application definition for raw data from a TOF neutron powder diffractometer - - - -.. rubric:: Basic Structure of **NXtofnpd** - -.. code-block:: text - :linenos: - - NXtofnpd (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - pre_sample_flightpath:NX_FLOAT - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /NXentry/NXinstrument/NXdetector/data - detector_number --> /NXentry/NXinstrument/NXdetector/detector_number - time_of_flight --> /NXentry/NXinstrument/NXdetector/time_of_flight - NXinstrument - detector:NXdetector - azimuthal_angle:NX_FLOAT[ndet] - data:NX_INT[ndet,ntimechan] - detector_number:NX_INT[ndet] - distance:NX_FLOAT[ndet] - polar_angle:NX_FLOAT[ndet] - time_of_flight:NX_FLOAT[ntimechan] - NXmonitor - data:NX_INT[ntimechan] - distance:NX_FLOAT - mode:NX_CHAR - preset:NX_FLOAT - time_of_flight:NX_FLOAT[ntimechan] - NXsample - name:NX_CHAR - user:NXuser - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXtofnpd** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXtofnpd** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXtofraw.rst b/_sphinx/source/volume2/NXDL/applications/NXtofraw.rst deleted file mode 100644 index 1c5f30d5a..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXtofraw.rst +++ /dev/null @@ -1,88 +0,0 @@ -.. _NXtofraw: - -######## -NXtofraw -######## - -.. index:: ! . NXDL applications; NXtofraw - -category: - applications - -NXDL source: - NXtofraw - - (http://svn.nexusformat.org/definitions/trunk/applications/NXtofraw.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`, :ref:`NXuser` - -documentation: - This is an application definition for raw data from a generic TOF instrument - - - -.. rubric:: Basic Structure of **NXtofraw** - -.. code-block:: text - :linenos: - - NXtofraw (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - duration:NX_FLOAT - pre_sample_flightpath:NX_FLOAT - run_number:NX_INT - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /NXentry/NXinstrument/NXdetector/data - detector_number --> /NXentry/NXinstrument/NXdetector/detector_number - time_of_flight --> /NXentry/NXinstrument/NXdetector/time_of_flight - instrument:NXinstrument - detector:NXdetector - azimuthal_angle:NX_FLOAT[ndet] - data:NX_INT[ndet,ntimechan] - detector_number:NX_INT[ndet] - distance:NX_FLOAT[ndet] - polar_angle:NX_FLOAT[ndet] - time_of_flight:NX_FLOAT[ntimechan] - NXmonitor - data:NX_INT[ntimechan] - distance:NX_FLOAT - integral_counts:NX_INT - mode:NX_CHAR - preset:NX_FLOAT - time_of_flight:NX_FLOAT[ntimechan] - NXsample - name:NX_CHAR - nature:NX_CHAR - user:NXuser - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXtofraw** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXtofraw** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXtofsingle.rst b/_sphinx/source/volume2/NXDL/applications/NXtofsingle.rst deleted file mode 100644 index 91a64da7b..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXtofsingle.rst +++ /dev/null @@ -1,85 +0,0 @@ -.. _NXtofsingle: - -########### -NXtofsingle -########### - -.. index:: ! . NXDL applications; NXtofsingle - -category: - applications - -NXDL source: - NXtofsingle - - (http://svn.nexusformat.org/definitions/trunk/applications/NXtofsingle.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`, :ref:`NXuser` - -documentation: - This is a application definition for raw data from a generic TOF instrument - - - -.. rubric:: Basic Structure of **NXtofsingle** - -.. code-block:: text - :linenos: - - NXtofsingle (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - duration:NX_FLOAT - pre_sample_flightpath:NX_FLOAT - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /NXentry/NXinstrument/NXdetector/data - detector_number --> /NXentry/NXinstrument/NXdetector/detector_number - time_of_flight --> /NXentry/NXinstrument/NXdetector/time_of_flight - NXinstrument - detector:NXdetector - azimuthal_angle:NX_FLOAT[ndet] - data:NX_INT[xsize,ysize,ntimechan] - distance:NX_FLOAT[1] - polar_angle:NX_FLOAT[ndet] - time_of_flight:NX_FLOAT[ntimechan] - NXmonitor - data:NX_INT[ntimechan] - distance:NX_FLOAT - mode:NX_CHAR - preset:NX_FLOAT - time_of_flight:NX_FLOAT[ntimechan] - NXsample - name:NX_CHAR - nature:NX_CHAR - user:NXuser - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXtofsingle** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXtofsingle** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXtomo.rst b/_sphinx/source/volume2/NXDL/applications/NXtomo.rst deleted file mode 100644 index 927cf1850..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXtomo.rst +++ /dev/null @@ -1,105 +0,0 @@ -.. _NXtomo: - -###### -NXtomo -###### - -.. index:: ! . NXDL applications; NXtomo - -category: - applications - -NXDL source: - NXtomo - - (http://svn.nexusformat.org/definitions/trunk/applications/NXtomo.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - This is the application definition for x-ray or neutron tomography raw data. In tomography first - some dark field images are measured, some bright field images and, of course the sample. In order - to properly sort the order of the images taken, a sequence number is stored with each image. - - - -.. rubric:: Basic Structure of **NXtomo** - -.. code-block:: text - :linenos: - - NXtomo (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - end_time:NX_DATE_TIME - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /NXentry/NXinstrument/data:NXdetector/data - rotation_angle --> /NXentry/NXsample/rotation_angle - instrument:NXinstrument - bright_field:NXdetector - data:NX_INT[nBrightFrames,xsize,ysize] - sequence_number:NX_INT[nBrightFrames] - dark_field:NXdetector - data:NX_INT[nDarkFrames,xsize,ysize] - sequence_number:NX_INT[nDarkFrames] - sample:NXdetector - data:NX_INT[nSampleFrames,xsize,ysize] - distance:NX_FLOAT - sequence_number:NX_INT[nSampleFrames] - x_pixel_size:NX_FLOAT - y_pixel_size:NX_FLOAT - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - control:NXmonitor - data:NX_FLOAT[nDarkFrames + nBrightFrames + nSampleFrame] - sample:NXsample - name:NX_CHAR - rotation_angle:NX_FLOAT[nSampleFrames] - x_translation:NX_FLOAT[nSampleFrames] - y_translation:NX_FLOAT[nSampleFrames] - z_translation:NX_FLOAT[nSampleFrames] - - -.. rubric:: Symbols used in definition of **NXtomo** - -These symbols will be used below to coordinate datasets with the same shape. - -+-------------------+---------------------------------+ -| Symbol | Description | -+===================+=================================+ -| ``nBrightFrames`` | number of bright frames | -+-------------------+---------------------------------+ -| ``nDarkFrames`` | number of dark frames | -+-------------------+---------------------------------+ -| ``nSampleFrames`` | number of image (sample) frames | -+-------------------+---------------------------------+ -| ``xsize`` | number of pixels in X direction | -+-------------------+---------------------------------+ -| ``ysize`` | number of pixels in Y direction | -+-------------------+---------------------------------+ - - - - -.. rubric:: Comprehensive Structure of **NXtomo** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXtomophase.rst b/_sphinx/source/volume2/NXDL/applications/NXtomophase.rst deleted file mode 100644 index a361c6c15..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXtomophase.rst +++ /dev/null @@ -1,107 +0,0 @@ -.. _NXtomophase: - -########### -NXtomophase -########### - -.. index:: ! . NXDL applications; NXtomophase - -category: - applications - -NXDL source: - NXtomophase - - (http://svn.nexusformat.org/definitions/trunk/applications/NXtomophase.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - This is the application definition for x-ray or neutron tomography raw data with phase contrast variation at each point. In tomography first - some dark field images are measured, some bright field images and, of course the sample. In order - to properly sort the order of the images taken, a sequence number is stored with each image. - - - -.. rubric:: Basic Structure of **NXtomophase** - -.. code-block:: text - :linenos: - - NXtomophase (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - end_time:NX_DATE_TIME - start_time:NX_DATE_TIME - title:NX_CHAR - data:NXdata - data --> /NXentry/NXinstrument/sample:NXdetector/data - rotation_angle --> /NXentry/NXsample/rotation_angle - instrument:NXinstrument - bright_field:NXdetector - data:NX_INT[nBrightFrames,xsize,ysize] - sequence_number:NX_INT[nBrightFrames] - dark_field:NXdetector - data:NX_INT[nDarkFrames,xsize,ysize] - sequence_number:NX_INT[nDarkFrames] - sample:NXdetector - data:NX_INT[nSampleFrames,nPhase,xsize,ysize] - distance:NX_FLOAT - sequence_number:NX_INT[nSampleFrames,nPhase] - x_pixel_size:NX_FLOAT - y_pixel_size:NX_FLOAT - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - control:NXmonitor - integral:NX_FLOAT[nDarkFrames + nBrightFrames + nSampleFrame] - sample:NXsample - name:NX_CHAR - rotation_angle:NX_FLOAT[nSampleFrames] - x_translation:NX_FLOAT[nSampleFrames] - y_translation:NX_FLOAT[nSampleFrames] - z_translation:NX_FLOAT[nSampleFrames] - - -.. rubric:: Symbols used in definition of **NXtomophase** - -These symbols will be used below to coordinate datasets with the same shape. - -+-------------------+---------------------------------+ -| Symbol | Description | -+===================+=================================+ -| ``nBrightFrames`` | number of bright frames | -+-------------------+---------------------------------+ -| ``nDarkFrames`` | number of dark frames | -+-------------------+---------------------------------+ -| ``nSampleFrames`` | number of image (sample) frames | -+-------------------+---------------------------------+ -| ``nPhase`` | number of phase settings | -+-------------------+---------------------------------+ -| ``xsize`` | number of pixels in X direction | -+-------------------+---------------------------------+ -| ``ysize`` | number of pixels in Y direction | -+-------------------+---------------------------------+ - - - - -.. rubric:: Comprehensive Structure of **NXtomophase** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXtomoproc.rst b/_sphinx/source/volume2/NXDL/applications/NXtomoproc.rst deleted file mode 100644 index 5b7c678d6..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXtomoproc.rst +++ /dev/null @@ -1,90 +0,0 @@ -.. _NXtomoproc: - -########## -NXtomoproc -########## - -.. index:: ! . NXDL applications; NXtomoproc - -category: - applications - -NXDL source: - NXtomoproc - - (http://svn.nexusformat.org/definitions/trunk/applications/NXtomoproc.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXparameters`, :ref:`NXprocess`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - This is an application definition for the final result of a tomography experiment: a 3D construction of some volume of physical properties. - - - -.. rubric:: Basic Structure of **NXtomoproc** - -.. code-block:: text - :linenos: - - NXtomoproc (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - title:NX_CHAR - data:NXdata - data:NX_INT[nx,nx,nz] - @transform - @offset - @scaling - x:NX_FLOAT[nx] - y:NX_FLOAT[ny] - z:NX_FLOAT[nz] - NXinstrument - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - reconstruction:NXprocess - date:NX_DATE_TIME - program:NX_CHAR - version:NX_CHAR - parameters:NXparameters - raw_file:NX_CHAR - NXsample - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXtomoproc** - -These symbols will be used below to coordinate datasets with the same shape. - -+--------+---------------------------------+ -| Symbol | Description | -+========+=================================+ -| ``nx`` | number of voxels in X direction | -+--------+---------------------------------+ -| ``ny`` | number of voxels in Y direction | -+--------+---------------------------------+ -| ``nz`` | number of voxels in Z direction | -+--------+---------------------------------+ - - - - -.. rubric:: Comprehensive Structure of **NXtomoproc** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXxas.rst b/_sphinx/source/volume2/NXDL/applications/NXxas.rst deleted file mode 100644 index 7f80c23b9..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXxas.rst +++ /dev/null @@ -1,84 +0,0 @@ -.. _NXxas: - -##### -NXxas -##### - -.. index:: ! . NXDL applications; NXxas - -category: - applications - -NXDL source: - NXxas - - (http://svn.nexusformat.org/definitions/trunk/applications/NXxas.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXmonochromator`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - This is an application definition for raw data from an X-ray absorption - spectroscopy experiment. This is essentially a scan on energy versus incoming/ - absorbed beam - - - -.. rubric:: Basic Structure of **NXxas** - -.. code-block:: text - :linenos: - - NXxas (application definition, version 1.0) - (overlays NXentry) - NXentry - @entry - definition:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - NXdata - absorbed_beam --> /entry/instrument/absorbed_beam - energy --> /entry/instrument/monochromator/energy - NXinstrument - incoming_beam:NXdetector - data:NX_INT[np] - absorbed_beam:NXdetector - data:NX_INT[np] - monochromator:NXmonochromator - energy:NX_CHAR - NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - NXmonitor - data:NX_INT[np] - mode:NX_CHAR - preset:NX_FLOAT - NXsample - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXxas** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxas** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXxasproc.rst b/_sphinx/source/volume2/NXDL/applications/NXxasproc.rst deleted file mode 100644 index 3bd0265bd..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXxasproc.rst +++ /dev/null @@ -1,73 +0,0 @@ -.. _NXxasproc: - -######### -NXxasproc -######### - -.. index:: ! . NXDL applications; NXxasproc - -category: - applications - -NXDL source: - NXxasproc - - (http://svn.nexusformat.org/definitions/trunk/applications/NXxasproc.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXentry`, :ref:`NXparameters`, :ref:`NXprocess`, :ref:`NXsample` - -documentation: - This is an application definition for processed data from XAS. This - is energy versus I(i)/I(a) - - - -.. rubric:: Basic Structure of **NXxasproc** - -.. code-block:: text - :linenos: - - NXxasproc (application definition, version 1.0) - (overlays NXentry) - NXentry - @entry - definition:NX_CHAR - title:NX_CHAR - NXdata - data:NX_FLOAT[np] - energy:NX_CHAR - XAS_data_reduction:NXprocess - date:NX_DATE_TIME - program:NX_CHAR - version:NX_CHAR - parameters:NXparameters - raw_file:NX_CHAR - NXsample - name:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXxasproc** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxasproc** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXxbase.rst b/_sphinx/source/volume2/NXDL/applications/NXxbase.rst deleted file mode 100644 index aac15fa3e..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXxbase.rst +++ /dev/null @@ -1,90 +0,0 @@ -.. _NXxbase: - -####### -NXxbase -####### - -.. index:: ! . NXDL applications; NXxbase - -category: - applications - -NXDL source: - NXxbase - - (http://svn.nexusformat.org/definitions/trunk/applications/NXxbase.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXmonochromator`, :ref:`NXsample`, :ref:`NXsource` - -documentation: - This definition covers the common parts of all monochromatic - single crystal raw data application definitions - - - -.. rubric:: Basic Structure of **NXxbase** - -.. code-block:: text - :linenos: - - NXxbase (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - NXdata - data --> /NXentry/NXinstrument/NXdetector/data - instrument:NXinstrument - detector:NXdetector - data:NX_INT[np,number of x pixels,number of y pixels] - @signal - distance:NX_FLOAT - frame_start_number:NX_INT - x_pixel_size:NX_FLOAT - y_pixel_size:NX_FLOAT - monochromator:NXmonochromator - wavelength:NX_FLOAT - source:NXsource - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - control:NXmonitor - integral:NX_FLOAT - mode:NX_CHAR - preset:NX_FLOAT - sample:NXsample - distance:NX_FLOAT - name:NX_CHAR - orientation_matrix:NX_FLOAT[3,3] - temperature:NX_FLOAT[NP] - unit_cell:NX_FLOAT[6] - x_translation:NX_FLOAT - y_translation:NX_FLOAT - - -.. rubric:: Symbols used in definition of **NXxbase** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxbase** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXxeuler.rst b/_sphinx/source/volume2/NXDL/applications/NXxeuler.rst deleted file mode 100644 index 79a1dc5b8..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXxeuler.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. _NXxeuler: - -######## -NXxeuler -######## - -.. index:: ! . NXDL applications; NXxeuler - -category: - applications - -NXDL source: - NXxeuler - - (http://svn.nexusformat.org/definitions/trunk/applications/NXxeuler.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXxbase` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXsample` - -documentation: - This is the application definition for raw data from a - four circle diffractometer with an eulerian cradle. - It extends NXxbase, so the full definition is the content - of NXxbase plus the data defined here. All four angles are - logged in order to support arbitray scans in reciprocal space. - - - -.. rubric:: Basic Structure of **NXxeuler** - -.. code-block:: text - :linenos: - - NXxeuler (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - name:NXdata - chi --> /NXentry/NXsample/chi - phi --> /NXentry/NXsample/phi - polar_angle --> /NXentry/NXinstrument/NXdetector/polar_angle - rotation_angle --> /NXentry/NXsample/rotation_angle - instrument:NXinstrument - detector:NXdetector - polar_angle:NX_FLOAT[np] - sample:NXsample - chi:NX_FLOAT[np] - phi:NX_FLOAT[np] - rotation_angle:NX_FLOAT[np] - - -.. rubric:: Symbols used in definition of **NXxeuler** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxeuler** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXxkappa.rst b/_sphinx/source/volume2/NXDL/applications/NXxkappa.rst deleted file mode 100644 index 18eabbf3f..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXxkappa.rst +++ /dev/null @@ -1,74 +0,0 @@ -.. _NXxkappa: - -######## -NXxkappa -######## - -.. index:: ! . NXDL applications; NXxkappa - -category: - applications - -NXDL source: - NXxkappa - - (http://svn.nexusformat.org/definitions/trunk/applications/NXxkappa.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXxbase` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXsample` - -documentation: - This is the application definition for raw data from a kappa geometry (CAD4) single crystal - diffractometer. It extends NXxbase, so the full definition is the content of NXxbase plus the - data defined here. - - - -.. rubric:: Basic Structure of **NXxkappa** - -.. code-block:: text - :linenos: - - NXxkappa (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - name:NXdata - kappa --> /NXentry/NXsample/kappa - phi --> /NXentry/NXsample/phi - polar_angle --> /NXentry/NXinstrument/NXdetector/polar_angle - rotation_angle --> /NXentry/NXsample/rotation_angle - instrument:NXinstrument - detector:NXdetector - polar_angle:NX_FLOAT[np] - sample:NXsample - alpha:NX_FLOAT - kappa:NX_FLOAT[np] - phi:NX_FLOAT[np] - rotation_angle:NX_FLOAT[np] - - -.. rubric:: Symbols used in definition of **NXxkappa** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxkappa** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXxlaue.rst b/_sphinx/source/volume2/NXDL/applications/NXxlaue.rst deleted file mode 100644 index b583a37ca..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXxlaue.rst +++ /dev/null @@ -1,65 +0,0 @@ -.. _NXxlaue: - -####### -NXxlaue -####### - -.. index:: ! . NXDL applications; NXxlaue - -category: - applications - -NXDL source: - NXxlaue - - (http://svn.nexusformat.org/definitions/trunk/applications/NXxlaue.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXxrot` - -other classes included: - :ref:`NXdata`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXsource` - -documentation: - This is the application definition for raw data from a single crystal laue - camera. It extends NXxrot. - - - -.. rubric:: Basic Structure of **NXxlaue** - -.. code-block:: text - :linenos: - - NXxlaue (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - instrument:NXinstrument - source:NXsource - distribution:NXdata - data:NX_CHAR - wavelength:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXxlaue** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxlaue** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXxlaueplate.rst b/_sphinx/source/volume2/NXDL/applications/NXxlaueplate.rst deleted file mode 100644 index a91814672..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXxlaueplate.rst +++ /dev/null @@ -1,63 +0,0 @@ -.. _NXxlaueplate: - -############ -NXxlaueplate -############ - -.. index:: ! . NXDL applications; NXxlaueplate - -category: - applications - -NXDL source: - NXxlaueplate - - (http://svn.nexusformat.org/definitions/trunk/applications/NXxlaueplate.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXxlaue` - -other classes included: - :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument` - -documentation: - This is the application definition for raw data from a single crystal laue - camera witha an image plate as a detector. It extends NXxlaue. - - - -.. rubric:: Basic Structure of **NXxlaueplate** - -.. code-block:: text - :linenos: - - NXxlaueplate (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - instrument:NXinstrument - detector:NXdetector - diameter:NX_FLOAT - - -.. rubric:: Symbols used in definition of **NXxlaueplate** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxlaueplate** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXxnb.rst b/_sphinx/source/volume2/NXDL/applications/NXxnb.rst deleted file mode 100644 index 58bc0316d..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXxnb.rst +++ /dev/null @@ -1,72 +0,0 @@ -.. _NXxnb: - -##### -NXxnb -##### - -.. index:: ! . NXDL applications; NXxnb - -category: - applications - -NXDL source: - NXxnb - - (http://svn.nexusformat.org/definitions/trunk/applications/NXxnb.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXxbase` - -other classes included: - :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXsample` - -documentation: - This is the application definition for raw data from a single crystal diffractometer - measuring in normal beam mode. It extends NXxbase, so the full definition is the content of - NXxbase plus the data defined here. All angles are logged in order to support arbitray scans in - reciprocal space. - - - -.. rubric:: Basic Structure of **NXxnb** - -.. code-block:: text - :linenos: - - NXxnb (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - name:NXdata - polar_angle --> /NXentry/NXinstrument/NXdetector/polar_angle - rotation_angle --> /NXentry/NXsample/rotation_angle - tilt --> /NXentry/NXinstrument/NXdetector/tilt - instrument:NXinstrument - detector:NXdetector - polar_angle:NX_FLOAT[np] - tilt_angle:NX_FLOAT[np] - sample:NXsample - rotation_angle:NX_FLOAT[np] - - -.. rubric:: Symbols used in definition of **NXxnb** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxnb** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/NXxrot.rst b/_sphinx/source/volume2/NXDL/applications/NXxrot.rst deleted file mode 100644 index 191208e17..000000000 --- a/_sphinx/source/volume2/NXDL/applications/NXxrot.rst +++ /dev/null @@ -1,72 +0,0 @@ -.. _NXxrot: - -###### -NXxrot -###### - -.. index:: ! . NXDL applications; NXxrot - -category: - applications - -NXDL source: - NXxrot - - (http://svn.nexusformat.org/definitions/trunk/applications/NXxrot.nxdl.xml) - -version: - 1.0b - -SVN Id: - $Id$ - -extends class: - :ref:`NXxbase` - -other classes included: - :ref:`NXattenuator`, :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXsample` - -documentation: - This is the application definition for raw data from a rotation camera. It extends NXxbase, - so the full definition is the content of NXxbase plus the data defined here. - - - -.. rubric:: Basic Structure of **NXxrot** - -.. code-block:: text - :linenos: - - NXxrot (application definition, version 1.0b) - (overlays NXentry) - entry:NXentry - definition:NX_CHAR - name:NXdata - rotation_angle --> /NXentry/NXsample/rotation_angle - instrument:NXinstrument - attenuator:NXattenuator - attenuator_transmission:NX_FLOAT - detector:NXdetector - beam_center_x:NX_FLOAT - beam_center_y:NX_FLOAT - polar_angle:NX_FLOAT - sample:NXsample - rotation_angle:NX_FLOAT[np] - rotation_angle_step:NX_FLOAT[np] - - -.. rubric:: Symbols used in definition of **NXxrot** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxrot** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/applications/index.rst b/_sphinx/source/volume2/NXDL/applications/index.rst deleted file mode 100644 index 6b8ec7811..000000000 --- a/_sphinx/source/volume2/NXDL/applications/index.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. $Id$ - -##################################### -NeXus Application Definitions Classes -##################################### - -Contents: - -.. toctree:: - :maxdepth: 2 - :numbered: - :glob: - - NX* diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXaperture.rst b/_sphinx/source/volume2/NXDL/base_classes/NXaperture.rst deleted file mode 100644 index 6310ae5c5..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXaperture.rst +++ /dev/null @@ -1,61 +0,0 @@ -.. _NXaperture: - -########## -NXaperture -########## - -.. index:: ! . NXDL base_classes; NXaperture - -category: - base_classes - -NXDL source: - NXaperture - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXaperture.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry`, :ref:`NXnote` - -documentation: - Template of a beamline aperture. - - - -.. rubric:: Basic Structure of **NXaperture** - -.. code-block:: text - :linenos: - - NXaperture (base class, version 1.0) - description:NX_CHAR - material:NX_CHAR - NXgeometry - NXgeometry - NXnote - - -.. rubric:: Symbols used in definition of **NXaperture** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXaperture** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXattenuator.rst b/_sphinx/source/volume2/NXDL/base_classes/NXattenuator.rst deleted file mode 100644 index 9f90b103c..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXattenuator.rst +++ /dev/null @@ -1,67 +0,0 @@ -.. _NXattenuator: - -############ -NXattenuator -############ - -.. index:: ! . NXDL base_classes; NXattenuator - -category: - base_classes - -NXDL source: - NXattenuator - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXattenuator.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - Template of a beamline attenuator. - If uncertain whether to use NXfilter (band-pass filter) - or NXattenuator (reduces beam intensity), then use - NXattenuator. - - - -.. rubric:: Basic Structure of **NXattenuator** - -.. code-block:: text - :linenos: - - NXattenuator (base class, version 1.0) - absorption_cross_section:NX_FLOAT - attenuator_transmission:NX_FLOAT - distance:NX_FLOAT - scattering_cross_section:NX_FLOAT - status:NX_CHAR - @time - thickness:NX_FLOAT - type:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXattenuator** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXattenuator** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXbeam.rst b/_sphinx/source/volume2/NXDL/base_classes/NXbeam.rst deleted file mode 100644 index 08cfeb9b7..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXbeam.rst +++ /dev/null @@ -1,76 +0,0 @@ -.. _NXbeam: - -###### -NXbeam -###### - -.. index:: ! . NXDL base_classes; NXbeam - -category: - base_classes - -NXDL source: - NXbeam - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXbeam.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata` - -documentation: - Template of the state of the neutron or X-ray beam at any location. It will be referenced - by beamline component groups within the NXinstrument group or by the NXsample group. Note - that variables such as the incident energy could be scalar values or arrays. This group is - especially valuable in storing the results of instrument simulations in which it is useful - to specify the beam profile, time distribution etc. at each beamline component. Otherwise, - its most likely use is in the NXsample group in which it defines the results of the neutron - scattering by the sample, e.g., energy transfer, polarizations. - - - -.. rubric:: Basic Structure of **NXbeam** - -.. code-block:: text - :linenos: - - NXbeam (base class, version 1.0) - distance:NX_FLOAT - energy_transfer:NX_FLOAT[i] - final_beam_divergence:NX_FLOAT[2,j] - final_energy:NX_FLOAT[i] - final_polarization:NX_FLOAT[2,j] - final_wavelength:NX_FLOAT[i] - final_wavelength_spread:NX_FLOAT[i] - flux:NX_FLOAT[i] - incident_beam_divergence:NX_FLOAT[2,j] - incident_energy:NX_FLOAT[i] - incident_polarization:NX_FLOAT[2,j] - incident_wavelength:NX_FLOAT[i] - incident_wavelength_spread:NX_FLOAT[i] - NXdata - - -.. rubric:: Symbols used in definition of **NXbeam** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXbeam** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXbeam_stop.rst b/_sphinx/source/volume2/NXDL/base_classes/NXbeam_stop.rst deleted file mode 100644 index 624b04d1c..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXbeam_stop.rst +++ /dev/null @@ -1,64 +0,0 @@ -.. _NXbeam_stop: - -########### -NXbeam_stop -########### - -.. index:: ! . NXDL base_classes; NXbeam_stop - -category: - base_classes - -NXDL source: - NXbeam_stop - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXbeam_stop.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry` - -documentation: - A class for a beamstop. Beamstops and their positions are important for SANS - and SAXS experiments. - - - -.. rubric:: Basic Structure of **NXbeam_stop** - -.. code-block:: text - :linenos: - - NXbeam_stop (base class, version 1.0) - description:NX_CHAR - distance_to_detector:NX_FLOAT - size:NX_FLOAT - status:NX_CHAR - x:NX_FLOAT - y:NX_FLOAT - NXgeometry - - -.. rubric:: Symbols used in definition of **NXbeam_stop** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXbeam_stop** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXbending_magnet.rst b/_sphinx/source/volume2/NXDL/base_classes/NXbending_magnet.rst deleted file mode 100644 index f4f7d1fd9..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXbending_magnet.rst +++ /dev/null @@ -1,68 +0,0 @@ -.. _NXbending_magnet: - -################ -NXbending_magnet -################ - -.. index:: ! . NXDL base_classes; NXbending_magnet - -category: - base_classes - -NXDL source: - NXbending_magnet - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXbending_magnet.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXgeometry` - -documentation: - description for a bending magnet - - - -.. rubric:: Basic Structure of **NXbending_magnet** - -.. code-block:: text - :linenos: - - NXbending_magnet (base class, version 1.0) - accepted_photon_beam_divergence:NX_FLOAT - bending_radius:NX_FLOAT - critical_energy:NX_FLOAT - divergence_x_minus:NX_FLOAT - divergence_x_plus:NX_FLOAT - divergence_y_minus:NX_FLOAT - divergence_y_plus:NX_FLOAT - magnetic_field:NX_FLOAT - source_distance_x:NX_FLOAT - source_distance_y:NX_FLOAT - spectrum:NXdata - NXgeometry - - -.. rubric:: Symbols used in definition of **NXbending_magnet** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXbending_magnet** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXcapillary.rst b/_sphinx/source/volume2/NXDL/base_classes/NXcapillary.rst deleted file mode 100644 index 24b5e36a8..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXcapillary.rst +++ /dev/null @@ -1,65 +0,0 @@ -.. _NXcapillary: - -########### -NXcapillary -########### - -.. index:: ! . NXDL base_classes; NXcapillary - -category: - base_classes - -NXDL source: - NXcapillary - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXcapillary.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata` - -documentation: - This is a dictionary of field names to use for describing a capillary as used - in X-ray beamlines. Based on information provided by Gerd Wellenreuther. - - - -.. rubric:: Basic Structure of **NXcapillary** - -.. code-block:: text - :linenos: - - NXcapillary (base class, version 1.0) - accepting_aperture:NX_FLOAT - focal_size:NX_FLOAT - manufacturer:NX_CHAR - maximum_incident_angle:NX_FLOAT - type:NX_CHAR - working_distance:NX_FLOAT - gain:NXdata - transmission:NXdata - - -.. rubric:: Symbols used in definition of **NXcapillary** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXcapillary** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXcharacterization.rst b/_sphinx/source/volume2/NXDL/base_classes/NXcharacterization.rst deleted file mode 100644 index 4a5b07180..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXcharacterization.rst +++ /dev/null @@ -1,78 +0,0 @@ -.. _NXcharacterization: - -################## -NXcharacterization -################## - -.. index:: ! . NXDL base_classes; NXcharacterization - -category: - base_classes - -NXDL source: - NXcharacterization - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXcharacterization.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - .. COMMENT: TODO: NXcharacterization needs proper documentation - - .. COMMENT: Template of the top-level NeXus group which contains - all the data and associated information that comprise a - single measurement. It is mandatory that there is at least - one group of this type in the NeXus file. - - - -.. rubric:: Basic Structure of **NXcharacterization** - -.. code-block:: text - :linenos: - - NXcharacterization (base class, version 1.0) - @source - @location - @mime_type - definition:NX_CHAR - @version - @URL - - -.. rubric:: Symbols used in definition of **NXcharacterization** - -No symbols are defined in this NXDL file - - - -.. rubric:: Attributes of ``definition`` element in **NXcharacterization** - -+------------+---------+-------+--------------------------------+ -| Attributes | Type | Units | Description (and Occurrences) | -+============+=========+=======+================================+ -| @source | NX_CHAR | .. | .. | -+------------+---------+-------+--------------------------------+ -| @location | NX_CHAR | .. | .. | -+------------+---------+-------+--------------------------------+ -| @mime_type | NX_CHAR | .. | .. | -+------------+---------+-------+--------------------------------+ - - -.. rubric:: Comprehensive Structure of **NXcharacterization** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXcollection.rst b/_sphinx/source/volume2/NXDL/base_classes/NXcollection.rst deleted file mode 100644 index a2115fb72..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXcollection.rst +++ /dev/null @@ -1,64 +0,0 @@ -.. _NXcollection: - -############ -NXcollection -############ - -.. index:: ! . NXDL base_classes; NXcollection - -category: - base_classes - -NXDL source: - NXcollection - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXcollection.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - Use NXcollection to gather together any set of terms. - The original suggestion is to use this as a container - class for the description of a beamline. - - For NeXus validation, NXcollection will always generate - a warning since it is always an optional group. Anything (groups, fields, - or attributes) placed in - an NXcollection group will not be validated. - - - -.. rubric:: Basic Structure of **NXcollection** - -.. code-block:: text - :linenos: - - NXcollection (contributed definition, version 1.0) - beamline:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXcollection** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXcollection** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXcollimator.rst b/_sphinx/source/volume2/NXDL/base_classes/NXcollimator.rst deleted file mode 100644 index 211f18a70..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXcollimator.rst +++ /dev/null @@ -1,67 +0,0 @@ -.. _NXcollimator: - -############ -NXcollimator -############ - -.. index:: ! . NXDL base_classes; NXcollimator - -category: - base_classes - -NXDL source: - NXcollimator - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXcollimator.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry`, :ref:`NXlog` - -documentation: - Template of a beamline collimator. - - - -.. rubric:: Basic Structure of **NXcollimator** - -.. code-block:: text - :linenos: - - NXcollimator (base class, version 1.0) - absorbing_material:NX_CHAR - blade_spacing:NX_FLOAT - blade_thickness:NX_FLOAT - divergence_x:NX_FLOAT - divergence_y:NX_FLOAT - frequency:NX_FLOAT - soller_angle:NX_FLOAT - transmitting_material:NX_CHAR - type:NX_CHAR - NXgeometry - frequency_log:NXlog - - -.. rubric:: Symbols used in definition of **NXcollimator** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXcollimator** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXcrystal.rst b/_sphinx/source/volume2/NXDL/base_classes/NXcrystal.rst deleted file mode 100644 index 7810249cf..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXcrystal.rst +++ /dev/null @@ -1,115 +0,0 @@ -.. _NXcrystal: - -######### -NXcrystal -######### - -.. index:: ! . NXDL base_classes; NXcrystal - -category: - base_classes - -NXDL source: - NXcrystal - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXcrystal.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXgeometry`, :ref:`NXlog`, :ref:`NXshape` - -documentation: - Template of a crystal monochromator or analyzer. Permits double bent - monochromator comprised of multiple segments with anisotropic - Gaussian mosaic. - - If curvatures are set to zero or are absent, array - is considered to be flat. - - Scattering vector is perpendicular to surface. Crystal is oriented - parallel to beam incident on crystal before rotation, and lies in - vertical plane. - - - -.. rubric:: Basic Structure of **NXcrystal** - -.. code-block:: text - :linenos: - - NXcrystal (base class, version 1.0) - azimuthal_angle:NX_FLOAT[i] - bragg_angle:NX_FLOAT[i] - chemical_formula:NX_CHAR - curvature_horizontal:NX_FLOAT - curvature_vertical:NX_FLOAT - cut_angle:NX_FLOAT - cylindrical_orientation_angle:NX_NUMBER - d_spacing:NX_FLOAT - density:NX_NUMBER - is_cylindrical:NX_BOOLEAN - mosaic_horizontal:NX_FLOAT - mosaic_vertical:NX_FLOAT - order_no:NX_INT - orientation_matrix:NX_FLOAT[3,3] - polar_angle:NX_FLOAT[i] - reflection:NX_INT[3] - scattering_vector:NX_FLOAT - segment_columns:NX_FLOAT - segment_gap:NX_FLOAT - segment_height:NX_FLOAT - segment_rows:NX_FLOAT - segment_thickness:NX_FLOAT - segment_width:NX_FLOAT - space_group:NX_CHAR - temperature:NX_FLOAT - temperature_coefficient:NX_FLOAT - thickness:NX_FLOAT - type:NX_CHAR - unit_cell:NX_FLOAT[n_comp,6] - unit_cell_a:NX_FLOAT - unit_cell_alpha:NX_FLOAT - unit_cell_b:NX_FLOAT - unit_cell_beta:NX_FLOAT - unit_cell_c:NX_FLOAT - unit_cell_gamma:NX_FLOAT - unit_cell_volume:NX_FLOAT - usage:NX_CHAR - wavelength:NX_FLOAT[i] - reflectivity:NXdata - transmission:NXdata - NXgeometry - temperature_log:NXlog - shape:NXshape - - -.. rubric:: Symbols used in definition of **NXcrystal** - -These symbols will be used below to coordinate dimensions with the same lengths. - -+------------+------------------------------------------------+ -| Symbol | Description | -+============+================================================+ -| ``n_comp`` | number of different unit cells to be described | -+------------+------------------------------------------------+ -| ``i`` | number of wavelengths | -+------------+------------------------------------------------+ - - - - -.. rubric:: Comprehensive Structure of **NXcrystal** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXdata.rst b/_sphinx/source/volume2/NXDL/base_classes/NXdata.rst deleted file mode 100644 index c40037068..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXdata.rst +++ /dev/null @@ -1,145 +0,0 @@ -.. _NXdata: - -###### -NXdata -###### - -.. index:: ! . NXDL base_classes; NXdata - -category: - base_classes - -NXDL source: - NXdata - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXdata.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - (required) NXdata is a template of - plottable data and their dimension scales. - - NeXus basic motivation - default plot - - It is mandatory that there is at least one NXdata group - in each NXentry group. - Note that the variable and data - can be defined with different names. - The signal and axes attribute of the - data item define which items - are plottable data and which are dimension scales. - - NeXus basic motivation - default plot - - Each NXdata group will consist of only one data set - containing plottable data and their standard deviations. - - This data set may be of arbitrary rank up to a maximum - of NX_MAXRANK=32. - - The plottable data will be identified by the attribute: - signal="1" - - The plottable data will identify the dimension - scale(s) in the axes attribute. - - If available, the standard deviations of the data are to be - stored in a data set of the same rank and dimensions, with the name errors. - - For each data dimension, there should be a one-dimensional array - of the same length. - - These one-dimensional arrays are the dimension scales of the - data, i.e. the values of the independent variables at which the data - is measured, such as scattering angle or energy transfer. - - There are two methods of linking - - link - - each data dimension to its respective dimension scale. - - The preferred (and recommended) method uses the axes - - axes - - attribute to specify the names of each dimension scale. - - The older method uses the axis attribute on each - dimension scale - to identify - with an integer the axis whose value is the number of the dimension. - - NXdata is used to implement one of the basic motivations in NeXus, - to provide a default plot for the data of this NXentry. The actual data - might be stored in another group and (hard) linked to the NXdata group. - - - -.. rubric:: Basic Structure of **NXdata** - -.. code-block:: text - :linenos: - - NXdata (base class, version 1.0) - data:NX_NUMBER[n] - @signal - @axes - @uncertainties - @long_name - errors:NX_NUMBER[n] - offset:NX_FLOAT - scaling_factor:NX_FLOAT - variable:NX_NUMBER[n] - @long_name - @distribution - @first_good - @last_good - @axis - variable_errors:NX_NUMBER[n] - x:NX_FLOAT[nx] - y:NX_FLOAT[ny] - z:NX_FLOAT[nz] - - -.. rubric:: Symbols used in definition of **NXdata** - -These symbols will be used below to coordinate datasets with the same shape. - -+--------------+------------------------------+ -| Symbol | Description | -+==============+==============================+ -| ``dataRank`` | rank of the data field | -+--------------+------------------------------+ -| ``n`` | length of the variable field | -+--------------+------------------------------+ -| ``nx`` | length of the x field | -+--------------+------------------------------+ -| ``ny`` | length of the y field | -+--------------+------------------------------+ -| ``nz`` | length of the z field | -+--------------+------------------------------+ - - - - -.. rubric:: Comprehensive Structure of **NXdata** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXdetector.rst b/_sphinx/source/volume2/NXDL/base_classes/NXdetector.rst deleted file mode 100644 index bd46fd6ab..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXdetector.rst +++ /dev/null @@ -1,147 +0,0 @@ -.. _NXdetector: - -########## -NXdetector -########## - -.. index:: ! . NXDL base_classes; NXdetector - -category: - base_classes - -NXDL source: - NXdetector - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXdetector.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXcharacterization`, :ref:`NXdata`, :ref:`NXgeometry`, :ref:`NXnote` - -documentation: - Template of a detector, detector bank, or multidetector. - - - -.. rubric:: Basic Structure of **NXdetector** - -.. code-block:: text - :linenos: - - NXdetector (base class, version 1.0) - acquisition_mode:NX_CHAR - angular_calibration:NX_FLOAT[i,j] - angular_calibration_applied:NX_BOOLEAN - azimuthal_angle:NX_FLOAT[np,i,j] - beam_center_x:NX_FLOAT - beam_center_y:NX_FLOAT - bit_depth_readout:NX_INT - calibration_date:NX_DATE_TIME - count_time:NX_NUMBER[np] - crate:NX_INT[i,j] - @local_name - data:NX_NUMBER[np,i,j,tof] - @signal - @axes - @long_name - @check_sum - @link - data_error:NX_NUMBER[np,i,j,tof] - @units - @link - dead_time:NX_FLOAT[np,i,j] - description:NX_CHAR - detection_gas_path:NX_FLOAT - detector_number:NX_INT[i,j] - detector_readout_time:NX_FLOAT - diameter:NX_FLOAT - distance:NX_FLOAT[np,i,j] - flatfield:NX_FLOAT[i,j] - flatfield_applied:NX_BOOLEAN - flatfield_error:NX_FLOAT[i,j] - frame_start_number:NX_INT - gain_setting:NX_CHAR - gas_pressure:NX_FLOAT[i,j] - input:NX_INT[i,j] - @local_name - layout:NX_CHAR - local_name:NX_CHAR - number_of_cycles:NX_INT - pixel_mask:NX_FLOAT[i,j] - pixel_mask_applied:NX_BOOLEAN - polar_angle:NX_FLOAT[np,i,j] - raw_time_of_flight:NX_INT[tof+1] - @frequency - saturation_value:NX_INT - sensor_material:NX_CHAR - sensor_thickness:NX_FLOAT - sequence_number:NX_CHAR - slot:NX_INT[i,j] - @local_name - solid_angle:NX_FLOAT[i,j] - threshold_energy:NX_FLOAT - time_of_flight:NX_FLOAT[tof+1] - @axis - @primary - @long_name - @link - trigger_dead_time:NX_FLOAT - trigger_delay_time:NX_FLOAT - type:NX_CHAR - x_pixel_offset:NX_FLOAT[i,j] - @axis - @primary - @long_name - @link - x_pixel_size:NX_FLOAT[i,j] - y_pixel_offset:NX_FLOAT[i,j] - @axis - @primary - @long_name - y_pixel_size:NX_FLOAT[i,j] - NXcharacterization - efficiency:NXdata - efficiency:NX_FLOAT[i,j,k] - real_time:NX_NUMBER[i,j,k] - wavelength:NX_FLOAT[i,j,k] - NXgeometry - calibration_method:NXnote - data_file:NXnote - - -.. rubric:: Symbols used in definition of **NXdetector** - -These symbols will be used below to coordinate datasets with the same shape. - -+---------+-----------------------------------------------------------------------------+ -| Symbol | Description | -+=========+=============================================================================+ -| ``np`` | number of scan points (only present in scanning measurements) | -+---------+-----------------------------------------------------------------------------+ -| ``i`` | number of detector pixels in the first (X, slowest) direction | -+---------+-----------------------------------------------------------------------------+ -| ``j`` | number of detector pixels in the second (Y, faster) direction | -+---------+-----------------------------------------------------------------------------+ -| ``k`` | number of detector pixels in the third (Z, if necessary, fastest) direction | -+---------+-----------------------------------------------------------------------------+ -| ``tof`` | number of bins in the time-of-flight histogram | -+---------+-----------------------------------------------------------------------------+ - - - - -.. rubric:: Comprehensive Structure of **NXdetector** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXdetector_group.rst b/_sphinx/source/volume2/NXDL/base_classes/NXdetector_group.rst deleted file mode 100644 index 7b5398da0..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXdetector_group.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. _NXdetector_group: - -################ -NXdetector_group -################ - -.. index:: ! . NXDL base_classes; NXdetector_group - -category: - base_classes - -NXDL source: - NXdetector_group - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXdetector_group.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - This class is used to allow a logical - grouping of detector elements (e.g. which tube, bank or group of banks) to be - recorded in the file. As well as allowing you to e.g just select the "left" or - "east" detectors, it may also be useful for determining which elements belong to the - same PSD tube and hence have e.g. the same dead time. - - For example, if we had "bank1" composed - of "tube1", "tube2" and "tube3" then group_names would be the string "bank1, - bank1/tube1, bank1/tube2,bank1/tube3" group_index would be {1,2,3,4} group_parent - would be {-1,1,1,1} - - The mapping array is interpreted as - group 1 is a top level group containing groups 2, 3 and 4 - - A group_index array in - NXdetector give the base group for a detector element. - - - -.. rubric:: Basic Structure of **NXdetector_group** - -.. code-block:: text - :linenos: - - NXdetector_group (base class, version 1.0) - group_index:NX_INT[i] - group_names:NX_CHAR - group_parent:NX_INT[] - group_type:NX_INT[] - - -.. rubric:: Symbols used in definition of **NXdetector_group** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXdetector_group** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXdisk_chopper.rst b/_sphinx/source/volume2/NXDL/base_classes/NXdisk_chopper.rst deleted file mode 100644 index 091123dd1..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXdisk_chopper.rst +++ /dev/null @@ -1,67 +0,0 @@ -.. _NXdisk_chopper: - -############## -NXdisk_chopper -############## - -.. index:: ! . NXDL base_classes; NXdisk_chopper - -category: - base_classes - -NXDL source: - NXdisk_chopper - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXdisk_chopper.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry` - -documentation: - No documentation provided. - - -.. rubric:: Basic Structure of **NXdisk_chopper** - -.. code-block:: text - :linenos: - - NXdisk_chopper (base class, version 1.0) - distance:NX_FLOAT - pair_separation:NX_FLOAT - phase:NX_FLOAT - radius:NX_FLOAT - ratio:NX_INT - rotation_speed:NX_FLOAT - slit_angle:NX_FLOAT - slit_height:NX_FLOAT - slits:NX_INT - type:NX_CHAR - wavelength_range:NX_FLOAT[2] - NXgeometry - - -.. rubric:: Symbols used in definition of **NXdisk_chopper** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXdisk_chopper** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXentry.rst b/_sphinx/source/volume2/NXDL/base_classes/NXentry.rst deleted file mode 100644 index c656eef6f..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXentry.rst +++ /dev/null @@ -1,101 +0,0 @@ -.. _NXentry: - -####### -NXentry -####### - -.. index:: ! . NXDL base_classes; NXentry - -category: - base_classes - -NXDL source: - NXentry - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXentry.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXcharacterization`, :ref:`NXdata`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXnote`, :ref:`NXprocess`, :ref:`NXsample`, :ref:`NXsubentry`, :ref:`NXuser` - -documentation: - (required) Template of the top-level NeXus group which contains all the data and associated - information that comprise a single measurement. It is mandatory that there is at least one - group of this type in the NeXus file. - - - -.. rubric:: Basic Structure of **NXentry** - -.. code-block:: text - :linenos: - - NXentry (base class, version 1.0) - @IDF_Version - collection_description:NX_CHAR - collection_identifier:NX_CHAR - collection_time:NX_FLOAT - definition:NX_CHAR - @version - @URL - definition_local:NX_CHAR - @version - @URL - duration:NX_INT - end_time:NX_DATE_TIME - entry_identifier:NX_CHAR - experiment_description:NX_CHAR - experiment_identifier:NX_CHAR - pre_sample_flightpath:NX_FLOAT - program_name:NX_CHAR - @version - @configuration - revision:NX_CHAR - @comment - run_cycle:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - NXcharacterization - NXdata - NXinstrument - NXmonitor - experiment_documentation:NXnote - notes:NXnote - thumbnail:NXnote - @mime_type - NXprocess - NXsample - NXsubentry - NXuser - - -.. rubric:: Symbols used in definition of **NXentry** - -No symbols are defined in this NXDL file - - - -.. rubric:: Attributes of ``definition`` element in **NXentry** - -+--------------+---------+-------+--------------------------------+ -| Attributes | Type | Units | Description (and Occurrences) | -+==============+=========+=======+================================+ -| @IDF_Version | NX_CHAR | .. | .. | -+--------------+---------+-------+--------------------------------+ - - -.. rubric:: Comprehensive Structure of **NXentry** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXenvironment.rst b/_sphinx/source/volume2/NXDL/base_classes/NXenvironment.rst deleted file mode 100644 index 86ea57b9f..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXenvironment.rst +++ /dev/null @@ -1,64 +0,0 @@ -.. _NXenvironment: - -############# -NXenvironment -############# - -.. index:: ! . NXDL base_classes; NXenvironment - -category: - base_classes - -NXDL source: - NXenvironment - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXenvironment.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry`, :ref:`NXnote`, :ref:`NXsensor` - -documentation: - This class describes an external condition applied to the sample - - - -.. rubric:: Basic Structure of **NXenvironment** - -.. code-block:: text - :linenos: - - NXenvironment (base class, version 1.0) - description:NX_CHAR - name:NX_CHAR - program:NX_CHAR - short_name:NX_CHAR - type:NX_CHAR - position:NXgeometry - NXnote - NXsensor - - -.. rubric:: Symbols used in definition of **NXenvironment** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXenvironment** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXevent_data.rst b/_sphinx/source/volume2/NXDL/base_classes/NXevent_data.rst deleted file mode 100644 index 5e2d3288c..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXevent_data.rst +++ /dev/null @@ -1,62 +0,0 @@ -.. _NXevent_data: - -############ -NXevent_data -############ - -.. index:: ! . NXDL base_classes; NXevent_data - -category: - base_classes - -NXDL source: - NXevent_data - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXevent_data.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - Time-of-flight events - - - -.. rubric:: Basic Structure of **NXevent_data** - -.. code-block:: text - :linenos: - - NXevent_data (base class, version 1.0) - events_per_pulse:NX_INT[j] - pixel_number:NX_INT[i] - pulse_height:NX_FLOAT[i,k] - pulse_time:NX_INT[j] - @offset - time_of_flight:NX_INT[i] - - -.. rubric:: Symbols used in definition of **NXevent_data** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXevent_data** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXfermi_chopper.rst b/_sphinx/source/volume2/NXDL/base_classes/NXfermi_chopper.rst deleted file mode 100644 index 3dfca2338..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXfermi_chopper.rst +++ /dev/null @@ -1,70 +0,0 @@ -.. _NXfermi_chopper: - -############### -NXfermi_chopper -############### - -.. index:: ! . NXDL base_classes; NXfermi_chopper - -category: - base_classes - -NXDL source: - NXfermi_chopper - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXfermi_chopper.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry` - -documentation: - Description of a Fermi chopper, possibly with curved slits. - - - -.. rubric:: Basic Structure of **NXfermi_chopper** - -.. code-block:: text - :linenos: - - NXfermi_chopper (base class, version 1.0) - absorbing_material:NX_CHAR - distance:NX_FLOAT - energy:NX_FLOAT - height:NX_FLOAT - number:NX_INT - r_slit:NX_FLOAT - radius:NX_FLOAT - rotation_speed:NX_FLOAT - slit:NX_FLOAT - transmitting_material:NX_CHAR - type:NX_CHAR - wavelength:NX_FLOAT - width:NX_FLOAT - NXgeometry - - -.. rubric:: Symbols used in definition of **NXfermi_chopper** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXfermi_chopper** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXfilter.rst b/_sphinx/source/volume2/NXDL/base_classes/NXfilter.rst deleted file mode 100644 index 2424e22ed..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXfilter.rst +++ /dev/null @@ -1,83 +0,0 @@ -.. _NXfilter: - -######## -NXfilter -######## - -.. index:: ! . NXDL base_classes; NXfilter - -category: - base_classes - -NXDL source: - NXfilter - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXfilter.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXgeometry`, :ref:`NXlog`, :ref:`NXsensor` - -documentation: - Template for specifying the state of band pass filters. - If uncertain whether to use NXfilter (band-pass filter) - or NXattenuator (reduces beam intensity), then use - NXattenuator. - - - -.. rubric:: Basic Structure of **NXfilter** - -.. code-block:: text - :linenos: - - NXfilter (base class, version 1.0) - chemical_formula:NX_CHAR - coating_material:NX_CHAR - coating_roughness:NX_FLOAT[nsurf] - density:NX_NUMBER - description:NX_CHAR - m_value:NX_FLOAT - orientation_matrix:NX_FLOAT[n_comp,3,3] - status:NX_CHAR - substrate_material:NX_CHAR - substrate_roughness:NX_FLOAT - substrate_thickness:NX_FLOAT - temperature:NX_FLOAT - thickness:NX_FLOAT - unit_cell_a:NX_FLOAT - unit_cell_alpha:NX_FLOAT - unit_cell_b:NX_FLOAT - unit_cell_beta:NX_FLOAT - unit_cell_c:NX_FLOAT - unit_cell_gamma:NX_FLOAT - unit_cell_volume:NX_FLOAT[n_comp] - transmission:NXdata - NXgeometry - temperature_log:NXlog - sensor_type:NXsensor - - -.. rubric:: Symbols used in definition of **NXfilter** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXfilter** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXflipper.rst b/_sphinx/source/volume2/NXDL/base_classes/NXflipper.rst deleted file mode 100644 index 01fe89e33..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXflipper.rst +++ /dev/null @@ -1,64 +0,0 @@ -.. _NXflipper: - -######### -NXflipper -######### - -.. index:: ! . NXDL base_classes; NXflipper - -category: - base_classes - -NXDL source: - NXflipper - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXflipper.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - Template of a beamline spin flipper. - - - -.. rubric:: Basic Structure of **NXflipper** - -.. code-block:: text - :linenos: - - NXflipper (base class, version 1.0) - comp_current:NX_FLOAT - comp_turns:NX_FLOAT - flip_current:NX_FLOAT - flip_turns:NX_FLOAT - guide_current:NX_FLOAT - guide_turns:NX_FLOAT - thickness:NX_FLOAT - type:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXflipper** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXflipper** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXgeometry.rst b/_sphinx/source/volume2/NXDL/base_classes/NXgeometry.rst deleted file mode 100644 index b5fb9ac37..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXgeometry.rst +++ /dev/null @@ -1,65 +0,0 @@ -.. _NXgeometry: - -########## -NXgeometry -########## - -.. index:: ! . NXDL base_classes; NXgeometry - -category: - base_classes - -NXDL source: - NXgeometry - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXgeometry.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXorientation`, :ref:`NXshape`, :ref:`NXtranslation` - -documentation: - This is the description for a general position of a component. - It is recommended to name an instance of NXgeometry as "geometry" - to aid in the use of the definition in simulation codes such as McStas. - Also, in HDF, linked items must share the same name. - However, it might not be possible or practical in all situations. - - - -.. rubric:: Basic Structure of **NXgeometry** - -.. code-block:: text - :linenos: - - NXgeometry (base class, version 1.0) - component_index:NX_INT - description:NX_CHAR - NXorientation - NXshape - NXtranslation - - -.. rubric:: Symbols used in definition of **NXgeometry** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXgeometry** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXguide.rst b/_sphinx/source/volume2/NXDL/base_classes/NXguide.rst deleted file mode 100644 index 083d46bef..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXguide.rst +++ /dev/null @@ -1,106 +0,0 @@ -.. _NXguide: - -####### -NXguide -####### - -.. index:: ! . NXDL base_classes; NXguide - -category: - base_classes - -NXDL source: - NXguide - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXguide.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXgeometry` - -documentation: - NXguide is used by neutron instruments to describe - a guide consists of several mirrors building a shape through which - neutrons can be guided or directed. The simplest such form is box shaped - although elliptical guides are gaining in popularity. - The individual parts of a guide usually have common characteristics - but there are cases where they are different. - For example, a neutron guide might consist of 2 or 4 coated walls or - a supermirror bender with multiple, coated vanes. - - To describe polarizing supermirrors such as used in neutron reflection, - it may be necessary to revise this definition of NXguide - to include NXpolarizer and/or NXmirror. - - When even greater complexity exists in the definition of what - constitutes a guide, - it has been suggested that NXguide - be redefined as a NXcollection of - NXmirrors each having their own - NXgeometries describing their location(s). - - For the more general case when describing mirrors, consider using - NXmirror. - - NOTE: The NeXus International Advisory Committee welcomes - comments for revision and improvement of - this definition of NXguide. - - - -.. rubric:: Basic Structure of **NXguide** - -.. code-block:: text - :linenos: - - NXguide (base class, version 1.0) - bend_angle_x:NX_FLOAT - bend_angle_y:NX_FLOAT - coating_material:NX_FLOAT[nsurf] - coating_roughness:NX_FLOAT[nsurf] - description:NX_CHAR - external_material:NX_CHAR - incident_angle:NX_FLOAT - interior_atmosphere:NX_CHAR - m_value:NX_FLOAT[nsurf] - number_sections:NX_INT - substrate_material:NX_FLOAT[nsurf] - substrate_roughness:NX_FLOAT[nsurf] - substrate_thickness:NX_FLOAT[nsurf] - reflectivity:NXdata - data:NX_NUMBER[nsurf,nwl] - @signal - @axes - surface:NX_NUMBER[nsurf] - wavelength:NX_NUMBER[nwl] - NXgeometry - - -.. rubric:: Symbols used in definition of **NXguide** - -+-----------+-------------------------------+ -| Symbol | Description | -+===========+===============================+ -| ``nsurf`` | number of reflecting surfaces | -+-----------+-------------------------------+ -| ``nwl`` | number of wavelengths | -+-----------+-------------------------------+ - - - - -.. rubric:: Comprehensive Structure of **NXguide** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXinsertion_device.rst b/_sphinx/source/volume2/NXDL/base_classes/NXinsertion_device.rst deleted file mode 100644 index 79dc35603..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXinsertion_device.rst +++ /dev/null @@ -1,70 +0,0 @@ -.. _NXinsertion_device: - -################## -NXinsertion_device -################## - -.. index:: ! . NXDL base_classes; NXinsertion_device - -category: - base_classes - -NXDL source: - NXinsertion_device - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXinsertion_device.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXgeometry` - -documentation: - Description of an insertion device, as in a synchrotron. - - - -.. rubric:: Basic Structure of **NXinsertion_device** - -.. code-block:: text - :linenos: - - NXinsertion_device (base class, version 1.0) - bandwidth:NX_FLOAT - energy:NX_FLOAT - gap:NX_FLOAT - harmonic:NX_INT - k:NX_FLOAT - length:NX_FLOAT - magnetic_wavelength:NX_FLOAT - phase:NX_FLOAT - poles:NX_INT - power:NX_FLOAT - taper:NX_FLOAT - type:NX_CHAR - spectrum:NXdata - NXgeometry - - -.. rubric:: Symbols used in definition of **NXinsertion_device** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXinsertion_device** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXinstrument.rst b/_sphinx/source/volume2/NXDL/base_classes/NXinstrument.rst deleted file mode 100644 index 1bbde7fff..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXinstrument.rst +++ /dev/null @@ -1,82 +0,0 @@ -.. _NXinstrument: - -############ -NXinstrument -############ - -.. index:: ! . NXDL base_classes; NXinstrument - -category: - base_classes - -NXDL source: - NXinstrument - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXinstrument.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXaperture`, :ref:`NXattenuator`, :ref:`NXbeam_stop`, :ref:`NXbeam`, :ref:`NXbending_magnet`, :ref:`NXcollimator`, :ref:`NXcrystal`, :ref:`NXdetector`, :ref:`NXdisk_chopper`, :ref:`NXfermi_chopper`, :ref:`NXfilter`, :ref:`NXflipper`, :ref:`NXguide`, :ref:`NXinsertion_device`, :ref:`NXmirror`, :ref:`NXmoderator`, :ref:`NXpolarizer`, :ref:`NXsource`, :ref:`NXvelocity_selector` - -documentation: - Template of instrument descriptions comprising various beamline components. - Each component will also be a NeXus group defined by its distance from the - sample. Negative distances represent beamline components that are before the - sample while positive distances represent components that are after the sample. - This device allows the unique identification of beamline components in a way - that is valid for both reactor and pulsed instrumentation. - - - -.. rubric:: Basic Structure of **NXinstrument** - -.. code-block:: text - :linenos: - - NXinstrument (base class, version 1.0) - name:NX_CHAR - @short_name - NXaperture - NXattenuator - NXbeam - NXbeam_stop - NXbending_magnet - NXcollimator - NXcrystal - NXdetector - NXdisk_chopper - NXfermi_chopper - NXfilter - NXflipper - NXguide - NXinsertion_device - NXmirror - NXmoderator - NXpolarizer - NXsource - NXvelocity_selector - - -.. rubric:: Symbols used in definition of **NXinstrument** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXinstrument** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXlog.rst b/_sphinx/source/volume2/NXDL/base_classes/NXlog.rst deleted file mode 100644 index a515f2ba4..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXlog.rst +++ /dev/null @@ -1,78 +0,0 @@ -.. _NXlog: - -##### -NXlog -##### - -.. index:: ! . NXDL base_classes; NXlog - -category: - base_classes - -NXDL source: - NXlog - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXlog.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - Definition of information that is recorded against time, - such as information monitored during the run. - It contains - the logged values and the times at which they were measured as elapsed time since a starting - time recorded in ISO8601 format. This method of storing logged data helps to distinguish - instances in which a variable is a dimension scale of the data, in which case it is stored - in an NXdata group, and instances in which it is logged during the - run, when it should be stored in an NXlog group. - Note: When using multiple NXlog groups, it is suggested to place - them inside a NXcollection group. In such cases, when - NXlog is used in another class, - NXcollection/NXlog - is then constructed. - - - -.. rubric:: Basic Structure of **NXlog** - -.. code-block:: text - :linenos: - - NXlog (base class, version 1.0) - average_value:NX_FLOAT - average_value_error:NX_FLOAT - description:NX_CHAR - duration:NX_FLOAT - maximum_value:NX_FLOAT - minimum_value:NX_FLOAT - raw_value:NX_NUMBER - time:NX_FLOAT - @start - value:NX_NUMBER - - -.. rubric:: Symbols used in definition of **NXlog** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXlog** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXmirror.rst b/_sphinx/source/volume2/NXDL/base_classes/NXmirror.rst deleted file mode 100644 index 5515f853f..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXmirror.rst +++ /dev/null @@ -1,79 +0,0 @@ -.. _NXmirror: - -######## -NXmirror -######## - -.. index:: ! . NXDL base_classes; NXmirror - -category: - base_classes - -NXDL source: - NXmirror - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXmirror.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXgeometry`, :ref:`NXshape` - -documentation: - Template of a beamline mirror or supermirror. - - - -.. rubric:: Basic Structure of **NXmirror** - -.. code-block:: text - :linenos: - - NXmirror (base class, version 1.0) - bend_angle_x:NX_FLOAT - bend_angle_y:NX_FLOAT - coating_material:NX_CHAR - coating_roughness:NX_FLOAT - description:NX_CHAR - even_layer_density:NX_FLOAT - even_layer_material:NX_CHAR - external_material:NX_CHAR - incident_angle:NX_FLOAT - interior_atmosphere:NX_CHAR - layer_thickness:NX_FLOAT - m_value:NX_FLOAT - odd_layer_density:NX_FLOAT - odd_layer_material:NX_CHAR - substrate_density:NX_FLOAT - substrate_material:NX_CHAR - substrate_roughness:NX_FLOAT - substrate_thickness:NX_FLOAT - type:NX_CHAR - reflectivity:NXdata - figure_data:NXdata - NXgeometry - shape:NXshape - - -.. rubric:: Symbols used in definition of **NXmirror** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXmirror** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXmoderator.rst b/_sphinx/source/volume2/NXDL/base_classes/NXmoderator.rst deleted file mode 100644 index 3081e5ff4..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXmoderator.rst +++ /dev/null @@ -1,66 +0,0 @@ -.. _NXmoderator: - -########### -NXmoderator -########### - -.. index:: ! . NXDL base_classes; NXmoderator - -category: - base_classes - -NXDL source: - NXmoderator - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXmoderator.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXgeometry`, :ref:`NXlog` - -documentation: - This is the description for a general moderator - - - -.. rubric:: Basic Structure of **NXmoderator** - -.. code-block:: text - :linenos: - - NXmoderator (base class, version 1.0) - coupled:NX_BOOLEAN - coupling_material:NX_CHAR - distance:NX_FLOAT - poison_depth:NX_FLOAT - poison_material:NX_CHAR - temperature:NX_FLOAT - type:NX_CHAR - pulse_shape:NXdata - NXgeometry - temperature_log:NXlog - - -.. rubric:: Symbols used in definition of **NXmoderator** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXmoderator** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXmonitor.rst b/_sphinx/source/volume2/NXDL/base_classes/NXmonitor.rst deleted file mode 100644 index 74c4f10e7..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXmonitor.rst +++ /dev/null @@ -1,77 +0,0 @@ -.. _NXmonitor: - -######### -NXmonitor -######### - -.. index:: ! . NXDL base_classes; NXmonitor - -category: - base_classes - -NXDL source: - NXmonitor - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXmonitor.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry`, :ref:`NXlog` - -documentation: - Template of monitor data. It is similar to the NXdata groups containing - monitor data and its associated dimension scale, e.g. time_of_flight or - wavelength in pulsed neutron instruments. However, it may also include - integrals, or scalar monitor counts, which are often used in both in both - pulsed and steady-state instrumentation. - - - -.. rubric:: Basic Structure of **NXmonitor** - -.. code-block:: text - :linenos: - - NXmonitor (base class, version 1.0) - count_time:NX_FLOAT - data:NX_NUMBER[n] - @signal - @axes - distance:NX_FLOAT - efficiency:NX_NUMBER[] - end_time:NX_DATE_TIME - integral:NX_NUMBER - mode:NX_CHAR - preset:NX_NUMBER - range:NX_FLOAT[2] - sampled_fraction:NX_FLOAT - start_time:NX_DATE_TIME - time_of_flight:NX_FLOAT[] - type:NX_CHAR - NXgeometry - integral_log:NXlog - - -.. rubric:: Symbols used in definition of **NXmonitor** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXmonitor** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXmonochromator.rst b/_sphinx/source/volume2/NXDL/base_classes/NXmonochromator.rst deleted file mode 100644 index b6f5d0843..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXmonochromator.rst +++ /dev/null @@ -1,72 +0,0 @@ -.. _NXmonochromator: - -############### -NXmonochromator -############### - -.. index:: ! . NXDL base_classes; NXmonochromator - -category: - base_classes - -NXDL source: - NXmonochromator - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXmonochromator.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXcrystal`, :ref:`NXdata`, :ref:`NXgeometry`, :ref:`NXvelocity_selector` - -documentation: - This is a base class for everything which - selects a wavelength or energy, be it a monochromator crystal, a velocity selector, - a undulator or whatever. - - The expected units are: - - wavelength: angstrom - - energy: eV - - - -.. rubric:: Basic Structure of **NXmonochromator** - -.. code-block:: text - :linenos: - - NXmonochromator (base class, version 1.0) - energy:NX_FLOAT - energy_error:NX_FLOAT - wavelength:NX_FLOAT - wavelength_error:NX_FLOAT - NXcrystal - distribution:NXdata - geometry:NXgeometry - NXvelocity_selector - - -.. rubric:: Symbols used in definition of **NXmonochromator** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXmonochromator** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXnote.rst b/_sphinx/source/volume2/NXDL/base_classes/NXnote.rst deleted file mode 100644 index 4800e9484..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXnote.rst +++ /dev/null @@ -1,63 +0,0 @@ -.. _NXnote: - -###### -NXnote -###### - -.. index:: ! . NXDL base_classes; NXnote - -category: - base_classes - -NXDL source: - NXnote - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXnote.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - This class can be used to store additional information in a - NeXus file e.g. pictures, movies, audio, additional text logs - - - -.. rubric:: Basic Structure of **NXnote** - -.. code-block:: text - :linenos: - - NXnote (base class, version 1.0) - author:NX_CHAR - data:NX_BINARY - date:NX_DATE_TIME - description:NX_CHAR - file_name:NX_CHAR - type:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXnote** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXnote** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXobject.rst b/_sphinx/source/volume2/NXDL/base_classes/NXobject.rst deleted file mode 100644 index 5cdc279d3..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXobject.rst +++ /dev/null @@ -1,56 +0,0 @@ -.. _NXobject: - -######## -NXobject -######## - -.. index:: ! . NXDL base_classes; NXobject - -category: - base_classes - -NXDL source: - NXobject - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXobject.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - none - -other classes included: - none - -documentation: - This is the base object of NeXus - - - -.. rubric:: Basic Structure of **NXobject** - -.. code-block:: text - :linenos: - - NXobject (base class, version 1.0) - - -.. rubric:: Symbols used in definition of **NXobject** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXobject** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXorientation.rst b/_sphinx/source/volume2/NXDL/base_classes/NXorientation.rst deleted file mode 100644 index 5faf5d4f9..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXorientation.rst +++ /dev/null @@ -1,59 +0,0 @@ -.. _NXorientation: - -############# -NXorientation -############# - -.. index:: ! . NXDL base_classes; NXorientation - -category: - base_classes - -NXDL source: - NXorientation - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXorientation.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry` - -documentation: - This is the description for a general orientation of a component - it is used by the - NXgeometry class - - - -.. rubric:: Basic Structure of **NXorientation** - -.. code-block:: text - :linenos: - - NXorientation (base class, version 1.0) - value:NX_FLOAT[numobj,6] - NXgeometry - - -.. rubric:: Symbols used in definition of **NXorientation** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXorientation** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXparameters.rst b/_sphinx/source/volume2/NXDL/base_classes/NXparameters.rst deleted file mode 100644 index ba82dc2cc..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXparameters.rst +++ /dev/null @@ -1,58 +0,0 @@ -.. _NXparameters: - -############ -NXparameters -############ - -.. index:: ! . NXDL base_classes; NXparameters - -category: - base_classes - -NXDL source: - NXparameters - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXparameters.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - Container for parameters, usually used in processing or analysis. - - - -.. rubric:: Basic Structure of **NXparameters** - -.. code-block:: text - :linenos: - - NXparameters (base class, version 1.0) - term:NX_CHAR - @units - - -.. rubric:: Symbols used in definition of **NXparameters** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXparameters** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXpolarizer.rst b/_sphinx/source/volume2/NXDL/base_classes/NXpolarizer.rst deleted file mode 100644 index 1cd513ba6..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXpolarizer.rst +++ /dev/null @@ -1,62 +0,0 @@ -.. _NXpolarizer: - -########### -NXpolarizer -########### - -.. index:: ! . NXDL base_classes; NXpolarizer - -category: - base_classes - -NXDL source: - NXpolarizer - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXpolarizer.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - Template of a beamline spin polarizer. - - This is a draft and is subject to revision. - - - -.. rubric:: Basic Structure of **NXpolarizer** - -.. code-block:: text - :linenos: - - NXpolarizer (base class, version 1.0) - composition:NX_CHAR - efficiency:NX_FLOAT - reflection:NX_INT[3] - type:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXpolarizer** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXpolarizer** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXpositioner.rst b/_sphinx/source/volume2/NXDL/base_classes/NXpositioner.rst deleted file mode 100644 index 4899c581a..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXpositioner.rst +++ /dev/null @@ -1,74 +0,0 @@ -.. _NXpositioner: - -############ -NXpositioner -############ - -.. index:: ! . NXDL base_classes; NXpositioner - -category: - base_classes - -NXDL source: - NXpositioner - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXpositioner.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - This group describes a generic positioner - such as a motor or piezo-electric transducer. It is used to document the - current information of a piece of beam line equipment. - Note: When using multiple NXpositioner groups, it is suggested to place - them inside a NXcollection group. In such cases, when - NXpositioner is used in another class, - NXcollection/NXpositioner - is then constructed. - - - -.. rubric:: Basic Structure of **NXpositioner** - -.. code-block:: text - :linenos: - - NXpositioner (base class, version 1.0) - acceleration_time:NX_NUMBER - controller_record:NX_CHAR - description:NX_CHAR - name:NX_CHAR - raw_value:NX_NUMBER[n] - soft_limit_max:NX_NUMBER - soft_limit_min:NX_NUMBER - target_value:NX_NUMBER[n] - tolerance:NX_NUMBER[n] - value:NX_NUMBER[n] - velocity:NX_NUMBER - - -.. rubric:: Symbols used in definition of **NXpositioner** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXpositioner** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXprocess.rst b/_sphinx/source/volume2/NXDL/base_classes/NXprocess.rst deleted file mode 100644 index 5e350b5db..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXprocess.rst +++ /dev/null @@ -1,60 +0,0 @@ -.. _NXprocess: - -######### -NXprocess -######### - -.. index:: ! . NXDL base_classes; NXprocess - -category: - base_classes - -NXDL source: - NXprocess - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXprocess.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXnote` - -documentation: - Document an event of data processing, reconstruction, or analysis for this data. - - - -.. rubric:: Basic Structure of **NXprocess** - -.. code-block:: text - :linenos: - - NXprocess (base class, version 1.0) - date:NX_DATE_TIME - program:NX_CHAR - version:NX_CHAR - NXnote - - -.. rubric:: Symbols used in definition of **NXprocess** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXprocess** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXroot.rst b/_sphinx/source/volume2/NXDL/base_classes/NXroot.rst deleted file mode 100644 index 0af12c194..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXroot.rst +++ /dev/null @@ -1,89 +0,0 @@ -.. _NXroot: - -###### -NXroot -###### - -.. index:: ! . NXDL base_classes; NXroot - -category: - base_classes - -NXDL source: - NXroot - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXroot.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXentry` - -documentation: - Definition of the root NeXus group. - - - -.. rubric:: Basic Structure of **NXroot** - -.. code-block:: text - :linenos: - - NXroot (base class, version 1.0) - @NX_class - @file_time - @file_name - @file_update_time - @NeXus_version - @HDF_version - @HDF5_Version - @XML_version - @creator - NXentry - - -.. rubric:: Symbols used in definition of **NXroot** - -No symbols are defined in this NXDL file - - - -.. rubric:: Attributes of ``definition`` element in **NXroot** - -+-------------------+---------+-------+--------------------------------+ -| Attributes | Type | Units | Description (and Occurrences) | -+===================+=========+=======+================================+ -| @NX_class | NX_CHAR | .. | .. | -+-------------------+---------+-------+--------------------------------+ -| @file_time | NX_CHAR | .. | .. | -+-------------------+---------+-------+--------------------------------+ -| @file_name | NX_CHAR | .. | .. | -+-------------------+---------+-------+--------------------------------+ -| @file_update_time | NX_CHAR | .. | .. | -+-------------------+---------+-------+--------------------------------+ -| @NeXus_version | NX_CHAR | .. | .. | -+-------------------+---------+-------+--------------------------------+ -| @HDF_version | NX_CHAR | .. | .. | -+-------------------+---------+-------+--------------------------------+ -| @HDF5_Version | NX_CHAR | .. | .. | -+-------------------+---------+-------+--------------------------------+ -| @XML_version | NX_CHAR | .. | .. | -+-------------------+---------+-------+--------------------------------+ -| @creator | NX_CHAR | .. | .. | -+-------------------+---------+-------+--------------------------------+ - - -.. rubric:: Comprehensive Structure of **NXroot** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXsample.rst b/_sphinx/source/volume2/NXDL/base_classes/NXsample.rst deleted file mode 100644 index b3bca535c..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXsample.rst +++ /dev/null @@ -1,118 +0,0 @@ -.. _NXsample: - -######## -NXsample -######## - -.. index:: ! . NXDL base_classes; NXsample - -category: - base_classes - -NXDL source: - NXsample - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXsample.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXbeam`, :ref:`NXdata`, :ref:`NXenvironment`, :ref:`NXgeometry`, :ref:`NXlog` - -documentation: - Template of the state of the sample. This could include scanned variables that - are associated with one of the data dimensions, e.g. the magnetic field, or - logged data, e.g. monitored temperature vs elapsed time. - - - -.. rubric:: Basic Structure of **NXsample** - -.. code-block:: text - :linenos: - - NXsample (base class, version 1.0) - changer_position:NX_INT - chemical_formula:NX_CHAR - component:NX_CHAR - concentration:NX_FLOAT[n_comp] - density:NX_FLOAT[n_comp] - description:NX_CHAR - distance:NX_FLOAT - electric_field:NX_FLOAT[n_eField] - @direction - external_DAC:NX_FLOAT - magnetic_field:NX_FLOAT[n_mField] - @direction - mass:NX_FLOAT[n_comp] - name:NX_CHAR - orientation_matrix:NX_FLOAT[n_comp,3,3] - path_length:NX_FLOAT - path_length_window:NX_FLOAT - preparation_date:NX_DATE_TIME - pressure:NX_FLOAT[n_pField] - relative_molecular_mass:NX_FLOAT[n_comp] - rotation_angle:NX_FLOAT - sample_component:NX_CHAR - sample_orientation:NX_FLOAT[3] - scattering_length_density:NX_FLOAT[n_comp] - short_title:NX_CHAR - situation:NX_CHAR - stress_field:NX_FLOAT[n_sField] - @direction - temperature:NX_FLOAT[n_Temp] - thickness:NX_FLOAT - type:NX_CHAR - unit_cell:NX_FLOAT[n_comp,6] - unit_cell_class:NX_CHAR - unit_cell_group:NX_CHAR - unit_cell_volume:NX_FLOAT[n_comp] - volume_fraction:NX_FLOAT[n_comp] - x_translation:NX_FLOAT - NXbeam - transmission:NXdata - temperature_env:NXenvironment - magnetic_field_env:NXenvironment - geometry:NXgeometry - temperature_log:NXlog - magnetic_field_log:NXlog - external_ADC:NXlog - - -.. rubric:: Symbols used in definition of **NXsample** - -symbolic array lengths to be coordinated between various fields - -+--------------+--------------------------------------------+ -| Symbol | Description | -+==============+============================================+ -| ``n_comp`` | number of compositions | -+--------------+--------------------------------------------+ -| ``n_Temp`` | number of temperatures | -+--------------+--------------------------------------------+ -| ``n_eField`` | number of values in applied electric field | -+--------------+--------------------------------------------+ -| ``n_mField`` | number of values in applied magnetic field | -+--------------+--------------------------------------------+ -| ``n_pField`` | number of values in applied pressure field | -+--------------+--------------------------------------------+ -| ``n_sField`` | number of values in applied stress field | -+--------------+--------------------------------------------+ - - - - -.. rubric:: Comprehensive Structure of **NXsample** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXsensor.rst b/_sphinx/source/volume2/NXDL/base_classes/NXsensor.rst deleted file mode 100644 index 5325279e8..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXsensor.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. _NXsensor: - -######## -NXsensor -######## - -.. index:: ! . NXDL base_classes; NXsensor - -category: - base_classes - -NXDL source: - NXsensor - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXsensor.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry`, :ref:`NXlog`, :ref:`NXorientation` - -documentation: - This class describes a sensor used to monitor an external condition - - the condition itself is described in NXenvironment - - - -.. rubric:: Basic Structure of **NXsensor** - -.. code-block:: text - :linenos: - - NXsensor (base class, version 1.0) - attached_to:NX_CHAR - external_field_brief:NX_CHAR - high_trip_value:NX_FLOAT - low_trip_value:NX_FLOAT - measurement:NX_CHAR - model:NX_CHAR - name:NX_CHAR - run_control:NX_BOOLEAN - short_name:NX_CHAR - type:NX_CHAR - value:NX_FLOAT[n] - value_deriv1:NX_FLOAT[] - value_deriv2:NX_FLOAT[] - geometry:NXgeometry - value_log:NXlog - value_deriv1_log:NXlog - value_deriv2_log:NXlog - external_field_full:NXorientation - - -.. rubric:: Symbols used in definition of **NXsensor** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXsensor** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXshape.rst b/_sphinx/source/volume2/NXDL/base_classes/NXshape.rst deleted file mode 100644 index 0dc834df5..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXshape.rst +++ /dev/null @@ -1,61 +0,0 @@ -.. _NXshape: - -####### -NXshape -####### - -.. index:: ! . NXDL base_classes; NXshape - -category: - base_classes - -NXDL source: - NXshape - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXshape.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - This is the description of the general shape and size of a - component, which may be made up of "numobj" separate - elements - it is used by the NXgeometry class - - - -.. rubric:: Basic Structure of **NXshape** - -.. code-block:: text - :linenos: - - NXshape (base class, version 1.0) - direction:NX_CHAR - shape:NX_CHAR - size:NX_FLOAT[numobj,nshapepar] - - -.. rubric:: Symbols used in definition of **NXshape** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXshape** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXsource.rst b/_sphinx/source/volume2/NXDL/base_classes/NXsource.rst deleted file mode 100644 index 239f7868c..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXsource.rst +++ /dev/null @@ -1,87 +0,0 @@ -.. _NXsource: - -######## -NXsource -######## - -.. index:: ! . NXDL base_classes; NXsource - -category: - base_classes - -NXDL source: - NXsource - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXsource.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXdata`, :ref:`NXgeometry`, :ref:`NXnote` - -documentation: - Template of the neutron or x-ray source, insertion devices and/or moderators. - - - -.. rubric:: Basic Structure of **NXsource** - -.. code-block:: text - :linenos: - - NXsource (base class, version 1.0) - bunch_distance:NX_FLOAT - bunch_length:NX_FLOAT - current:NX_FLOAT - distance:NX_FLOAT - emittance_x:NX_FLOAT - emittance_y:NX_FLOAT - energy:NX_FLOAT - flux:NX_FLOAT - frequency:NX_FLOAT - last_fill:NX_NUMBER - @time - mode:NX_CHAR - name:NX_CHAR - @short_name - number_of_bunches:NX_INT - period:NX_FLOAT - power:NX_FLOAT - probe:NX_CHAR - pulse_width:NX_FLOAT - sigma_x:NX_FLOAT - sigma_y:NX_FLOAT - target_material:NX_CHAR - top_up:NX_BOOLEAN - type:NX_CHAR - voltage:NX_FLOAT - bunch_pattern:NXdata - title:NX_CHAR - pulse_shape:NXdata - distribution:NXdata - geometry:NXgeometry - notes:NXnote - - -.. rubric:: Symbols used in definition of **NXsource** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXsource** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXsubentry.rst b/_sphinx/source/volume2/NXDL/base_classes/NXsubentry.rst deleted file mode 100644 index d93625c4d..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXsubentry.rst +++ /dev/null @@ -1,120 +0,0 @@ -.. _NXsubentry: - -########## -NXsubentry -########## - -.. index:: ! . NXDL base_classes; NXsubentry - -category: - base_classes - -NXDL source: - NXsubentry - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXsubentry.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXcharacterization`, :ref:`NXdata`, :ref:`NXinstrument`, :ref:`NXmonitor`, :ref:`NXnote`, :ref:`NXprocess`, :ref:`NXsample`, :ref:`NXuser` - -documentation: - NXsubentry is a base class virtually identical to NXentry - and is used as the (overlay) location for application definitions. - Use a separate NXsubentry for each application definition. - - To use NXsubentry with a hypothetical application definition - called NXmyappdef: - - Create a group with attribute - NX_class="NXsubentry". - - Within that group, create a field called - definition="NXmyappdef". - - There are two optional attributes of definition: - version and URL - - The intended use is to define application definitions for a - multi-technique NXentry. Previously, an application definition - replaced NXentry with its own definition. - With the increasing popularity of instruments combining - multiple techniques for data collection (such as SAXS/WAXS instruments), - it was recognized the application definitions must be entered in the NeXus - data file tree as children of NXentry. - - - -.. rubric:: Basic Structure of **NXsubentry** - -.. code-block:: text - :linenos: - - NXsubentry (base class, version 1.0) - @IDF_Version - collection_description:NX_CHAR - collection_identifier:NX_CHAR - collection_time:NX_FLOAT - definition:NX_CHAR - @version - @URL - definition_local:NX_CHAR - @version - @URL - duration:NX_INT - end_time:NX_DATE_TIME - entry_identifier:NX_CHAR - experiment_description:NX_CHAR - experiment_identifier:NX_CHAR - pre_sample_flightpath:NX_FLOAT - program_name:NX_CHAR - @version - @configuration - revision:NX_CHAR - @comment - run_cycle:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - NXcharacterization - NXdata - NXinstrument - NXmonitor - experiment_documentation:NXnote - notes:NXnote - thumbnail:NXnote - @mime_type - NXprocess - NXsample - NXuser - - -.. rubric:: Symbols used in definition of **NXsubentry** - -No symbols are defined in this NXDL file - - - -.. rubric:: Attributes of ``definition`` element in **NXsubentry** - -+--------------+---------+-------+--------------------------------+ -| Attributes | Type | Units | Description (and Occurrences) | -+==============+=========+=======+================================+ -| @IDF_Version | NX_CHAR | .. | .. | -+--------------+---------+-------+--------------------------------+ - - -.. rubric:: Comprehensive Structure of **NXsubentry** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXtranslation.rst b/_sphinx/source/volume2/NXDL/base_classes/NXtranslation.rst deleted file mode 100644 index 1a1e6a888..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXtranslation.rst +++ /dev/null @@ -1,59 +0,0 @@ -.. _NXtranslation: - -############# -NXtranslation -############# - -.. index:: ! . NXDL base_classes; NXtranslation - -category: - base_classes - -NXDL source: - NXtranslation - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXtranslation.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry` - -documentation: - This is the description for the general spatial location - of a component - it is used by the NXgeometry class - - - -.. rubric:: Basic Structure of **NXtranslation** - -.. code-block:: text - :linenos: - - NXtranslation (base class, version 1.0) - distances:NX_FLOAT[numobj,3] - geometry:NXgeometry - - -.. rubric:: Symbols used in definition of **NXtranslation** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXtranslation** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXuser.rst b/_sphinx/source/volume2/NXDL/base_classes/NXuser.rst deleted file mode 100644 index 954d3e11e..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXuser.rst +++ /dev/null @@ -1,67 +0,0 @@ -.. _NXuser: - -###### -NXuser -###### - -.. index:: ! . NXDL base_classes; NXuser - -category: - base_classes - -NXDL source: - NXuser - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXuser.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - Template of user's contact information. The format allows more - than one user with the same affiliation and contact information, - but a second NXuser group should be used if they have different - affiliations, etc. - - - -.. rubric:: Basic Structure of **NXuser** - -.. code-block:: text - :linenos: - - NXuser (base class, version 1.0) - address:NX_CHAR - affiliation:NX_CHAR - email:NX_CHAR - facility_user_id:NX_CHAR - fax_number:NX_CHAR - name:NX_CHAR - role:NX_CHAR - telephone_number:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXuser** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXuser** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXvelocity_selector.rst b/_sphinx/source/volume2/NXDL/base_classes/NXvelocity_selector.rst deleted file mode 100644 index 1260e4cba..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXvelocity_selector.rst +++ /dev/null @@ -1,69 +0,0 @@ -.. _NXvelocity_selector: - -################### -NXvelocity_selector -################### - -.. index:: ! . NXDL base_classes; NXvelocity_selector - -category: - base_classes - -NXDL source: - NXvelocity_selector - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXvelocity_selector.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXgeometry` - -documentation: - This is the description for a (typically neutron) velocity selector - - - -.. rubric:: Basic Structure of **NXvelocity_selector** - -.. code-block:: text - :linenos: - - NXvelocity_selector (base class, version 1.0) - height:NX_FLOAT - length:NX_FLOAT - num:NX_INT - radius:NX_FLOAT - rotation_speed:NX_FLOAT - spwidth:NX_FLOAT - table:NX_FLOAT - twist:NX_FLOAT - type:NX_CHAR - wavelength:NX_FLOAT - wavelength_spread:NX_FLOAT - width:NX_FLOAT - geometry:NXgeometry - - -.. rubric:: Symbols used in definition of **NXvelocity_selector** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXvelocity_selector** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/NXxraylens.rst b/_sphinx/source/volume2/NXDL/base_classes/NXxraylens.rst deleted file mode 100644 index 9b4cf3075..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/NXxraylens.rst +++ /dev/null @@ -1,70 +0,0 @@ -.. _NXxraylens: - -########## -NXxraylens -########## - -.. index:: ! . NXDL base_classes; NXxraylens - -category: - base_classes - -NXDL source: - NXxraylens - - (http://svn.nexusformat.org/definitions/trunk/base_classes/NXxraylens.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXnote` - -documentation: - This is a dictionary of field names to use dor describing a X-ray lens as used at - synchrotron beam lines. Based on information provided by Gerd Wellenreuther. - - - -.. rubric:: Basic Structure of **NXxraylens** - -.. code-block:: text - :linenos: - - NXxraylens (base class, version 1.0) - aperture:NX_FLOAT - curvature:NX_FLOAT - cylindrical:NX_BOOLEAN - focus_type:NX_CHAR - gas:NX_CHAR - gas_pressure:NX_FLOAT - lens_geometry:NX_CHAR - lens_length:NX_FLOAT - lens_material:NX_CHAR - lens_thickness:NX_FLOAT - number_of_lenses:NX_INT - symmetric:NX_BOOLEAN - cylinder_orientation:NXnote - - -.. rubric:: Symbols used in definition of **NXxraylens** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXxraylens** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/base_classes/index.rst b/_sphinx/source/volume2/NXDL/base_classes/index.rst deleted file mode 100644 index 451b6d975..000000000 --- a/_sphinx/source/volume2/NXDL/base_classes/index.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. $Id$ - -################## -NeXus Base Classes -################## - -Contents: - -.. toctree:: - :maxdepth: 2 - :numbered: - :glob: - - NX* diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXbeamline.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXbeamline.rst deleted file mode 100644 index caef6ae52..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXbeamline.rst +++ /dev/null @@ -1,67 +0,0 @@ -.. _NXbeamline: - -########## -NXbeamline -########## - -.. index:: ! . NXDL contributed_definitions; NXbeamline - -category: - contributed_definitions - -NXDL source: - NXbeamline - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXbeamline.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXaperture`, :ref:`NXbending_magnet`, :ref:`NXcollection`, :ref:`NXelectrostatic_kicker`, :ref:`NXmagnetic_kicker`, :ref:`NXquadrupole_magnet`, :ref:`NXseparator`, :ref:`NXsolenoid_magnet`, :ref:`NXspin_rotator` - -documentation: - container for elements describing beamline. - - - -.. rubric:: Basic Structure of **NXbeamline** - -.. code-block:: text - :linenos: - - NXbeamline (contributed definition, version 1.0) - (base class definition, NXentry or NXsubentry not found) - beamline:NX_CHAR - NXaperture - NXbending_magnet - diagnostics:NXcollection - NXelectrostatic_kicker - NXmagnetic_kicker - NXquadrupole_magnet - NXseparator - NXsolenoid_magnet - NXspin_rotator - - -.. rubric:: Symbols used in definition of **NXbeamline** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXbeamline** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXelectrostatic_kicker.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXelectrostatic_kicker.rst deleted file mode 100644 index 521579cab..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXelectrostatic_kicker.rst +++ /dev/null @@ -1,67 +0,0 @@ -.. _NXelectrostatic_kicker: - -###################### -NXelectrostatic_kicker -###################### - -.. index:: ! . NXDL contributed_definitions; NXelectrostatic_kicker - -category: - contributed_definitions - -NXDL source: - NXelectrostatic_kicker - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXelectrostatic_kicker.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXlog` - -documentation: - definition for a electrostatic kicker. - - - -.. rubric:: Basic Structure of **NXelectrostatic_kicker** - -.. code-block:: text - :linenos: - - NXelectrostatic_kicker (contributed definition, version 1.0) - (base class definition, NXentry or NXsubentry not found) - beamline_distance:NX_FLOAT - description:NX_CHAR - set_current:NX_FLOAT - set_voltage:NX_FLOAT - timing:NX_FLOAT - @description - read_current:NXlog - value:NX_CHAR - read_voltage:NXlog - value:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXelectrostatic_kicker** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXelectrostatic_kicker** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXmagnetic_kicker.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXmagnetic_kicker.rst deleted file mode 100644 index ce23b844e..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXmagnetic_kicker.rst +++ /dev/null @@ -1,67 +0,0 @@ -.. _NXmagnetic_kicker: - -################# -NXmagnetic_kicker -################# - -.. index:: ! . NXDL contributed_definitions; NXmagnetic_kicker - -category: - contributed_definitions - -NXDL source: - NXmagnetic_kicker - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXmagnetic_kicker.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXlog` - -documentation: - definition for a magnetic kicker. - - - -.. rubric:: Basic Structure of **NXmagnetic_kicker** - -.. code-block:: text - :linenos: - - NXmagnetic_kicker (contributed definition, version 1.0) - (base class definition, NXentry or NXsubentry not found) - beamline_distance:NX_FLOAT - description:NX_CHAR - set_current:NX_FLOAT - set_voltage:NX_FLOAT - timing:NX_FLOAT - @description - read_current:NXlog - value:NX_CHAR - read_voltage:NXlog - value:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXmagnetic_kicker** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXmagnetic_kicker** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXquadrupole_magnet.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXquadrupole_magnet.rst deleted file mode 100644 index 8cbc9241c..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXquadrupole_magnet.rst +++ /dev/null @@ -1,64 +0,0 @@ -.. _NXquadrupole_magnet: - -################### -NXquadrupole_magnet -################### - -.. index:: ! . NXDL contributed_definitions; NXquadrupole_magnet - -category: - contributed_definitions - -NXDL source: - NXquadrupole_magnet - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXquadrupole_magnet.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXlog` - -documentation: - definition for a quadrupole magnet. - - - -.. rubric:: Basic Structure of **NXquadrupole_magnet** - -.. code-block:: text - :linenos: - - NXquadrupole_magnet (contributed definition, version 1.0) - (base class definition, NXentry or NXsubentry not found) - beamline_distance:NX_FLOAT - description:NX_CHAR - set_current:NX_FLOAT - read_current:NXlog - value:NX_CHAR - read_voltage:NXlog - value:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXquadrupole_magnet** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXquadrupole_magnet** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXsai_controller.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXsai_controller.rst deleted file mode 100644 index a73980a49..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXsai_controller.rst +++ /dev/null @@ -1,62 +0,0 @@ -.. _NXsai_controller: - -################ -NXsai_controller -################ - -.. index:: ! . NXDL contributed_definitions; NXsai_controller - -category: - contributed_definitions - -NXDL source: - NXsai_controller - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXsai_controller.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXtechnical_data` - -documentation: - (definition implied by usage) Subclass of NXinstrument used by Soleil. This class appears - in the example data files provided from Soleil. This class should be considered as a base - class (and relocated there, once approved by the NIAC). - - - -.. rubric:: Basic Structure of **NXsai_controller** - -.. code-block:: text - :linenos: - - NXsai_controller (contributed definition, version 1.0) - (base class definition, NXentry or NXsubentry not found) - Frequency:NXtechnical_data - IntegrationTime:NXtechnical_data - TriggerNumber:NXtechnical_data - - -.. rubric:: Symbols used in definition of **NXsai_controller** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXsai_controller** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXseparator.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXseparator.rst deleted file mode 100644 index 7d5796a85..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXseparator.rst +++ /dev/null @@ -1,69 +0,0 @@ -.. _NXseparator: - -########### -NXseparator -########### - -.. index:: ! . NXDL contributed_definitions; NXseparator - -category: - contributed_definitions - -NXDL source: - NXseparator - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXseparator.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXlog` - -documentation: - definition for an electrostatic separator. - - - -.. rubric:: Basic Structure of **NXseparator** - -.. code-block:: text - :linenos: - - NXseparator (contributed definition, version 1.0) - (base class definition, NXentry or NXsubentry not found) - beamline_distance:NX_FLOAT - description:NX_CHAR - set_Bfield_current:NX_FLOAT - set_Efield_voltage:NX_FLOAT - read_Bfield_current:NXlog - value:NX_CHAR - read_Bfield_voltage:NXlog - value:NX_CHAR - read_Efield_current:NXlog - value:NX_CHAR - read_Efield_voltage:NXlog - value:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXseparator** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXseparator** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXsnsevent.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXsnsevent.rst deleted file mode 100644 index 4020bc250..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXsnsevent.rst +++ /dev/null @@ -1,191 +0,0 @@ -.. _NXsnsevent: - -########## -NXsnsevent -########## - -.. index:: ! . NXDL contributed_definitions; NXsnsevent - -category: - contributed_definitions - -NXDL source: - NXsnsevent - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXsnsevent.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXaperture`, :ref:`NXattenuator`, :ref:`NXcollection`, :ref:`NXcrystal`, :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXdisk_chopper`, :ref:`NXentry`, :ref:`NXevent_data`, :ref:`NXgeometry`, :ref:`NXinstrument`, :ref:`NXlog`, :ref:`NXmoderator`, :ref:`NXmonitor`, :ref:`NXnote`, :ref:`NXorientation`, :ref:`NXpolarizer`, :ref:`NXpositioner`, :ref:`NXsample`, :ref:`NXshape`, :ref:`NXsource`, :ref:`NXtranslation`, :ref:`NXuser` - -documentation: - This is a definition for event data from Spallation Neutron Source (SNS) at ORNL. - - - -.. rubric:: Basic Structure of **NXsnsevent** - -.. code-block:: text - :linenos: - - NXsnsevent (contributed definition, version 1.0) - (overlays NXentry) - NXentry - collection_identifier:NX_CHAR - collection_title:NX_CHAR - definition:NX_CHAR - duration:NX_FLOAT - end_time:NX_DATE_TIME - entry_identifier:NX_CHAR - experiment_identifier:NX_CHAR - notes:NX_CHAR - proton_charge:NX_FLOAT - raw_frames:NX_INT - run_number:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - total_counts:NX_UINT - total_uncounted_counts:NX_UINT - DASlogs:NXcollection - NXlog - average_value:NX_FLOAT - average_value_error:NX_FLOAT - description:NX_CHAR - duration:NX_FLOAT - maximum_value:NX_FLOAT - minimum_value:NX_FLOAT - time:NX_FLOAT[nvalue] - value:NX_FLOAT[nvalue] - NXpositioner - average_value:NX_FLOAT - average_value_error:NX_FLOAT - description:NX_CHAR - duration:NX_FLOAT - maximum_value:NX_FLOAT - minimum_value:NX_FLOAT - time:NX_FLOAT[numvalue] - value:NX_FLOAT[numvalue] - NXdata - data_x_y --> /NXentry/NXinstrument/NXdetector/data_x_y - x_pixel_offset --> /NXentry/NXinstrument/NXdetector/x_pixel_offset - y_pixel_offset --> /NXentry/NXinstrument/NXdetector/y_pixel_offset - NXevent_data - event_index --> /NXentry/NXinstrument/NXdetector/event_index - event_pixel_id --> /NXentry/NXinstrument/NXdetector/event_pixel_id - event_time_of_flight --> /NXentry/NXinstrument/NXdetector/event_time_of_flight - pulse_time --> /NXentry/NXinstrument/NXdetector/pulse_time - instrument:NXinstrument - SNSdetector_calibration_id:NX_CHAR - SNSgeometry_file_name:NX_CHAR - SNStranslation_service:NX_CHAR - beamline:NX_CHAR - name:NX_CHAR - NXaperture - x_pixel_offset:NX_FLOAT - origin:NXgeometry - orientation:NXorientation - value:NX_FLOAT[6] - shape:NXshape - description:NX_CHAR - shape:NX_CHAR - size:NX_FLOAT[3] - translation:NXtranslation - distance:NX_FLOAT[3] - NXattenuator - distance:NX_FLOAT - NXcrystal - type:NX_CHAR - wavelength:NX_FLOAT - origin:NXgeometry - description:NX_CHAR - orientation:NXorientation - value:NX_FLOAT[6] - shape:NXshape - description:NX_CHAR - shape:NX_CHAR - size:NX_FLOAT - translation:NXtranslation - distance:NX_FLOAT[3] - NXdetector - azimuthal_angle:NX_FLOAT[numx,numy] - data_x_y:NX_UINT[numx,numy] - distance:NX_FLOAT[numx,numy] - event_index:NX_UINT[numpulses] - event_pixel_id:NX_UINT[numevents] - event_time_of_flight:NX_FLOAT[numevents] - pixel_id:NX_UINT[numx,numy] - polar_angle:NX_FLOAT[numx,numy] - pulse_time:NX_FLOAT[numpulses] - total_counts:NX_UINT - x_pixel_offset:NX_FLOAT[numx] - y_pixel_offset:NX_FLOAT[numy] - origin:NXgeometry - orientation:NXorientation - value:NX_FLOAT[6] - shape:NXshape - description:NX_CHAR - shape:NX_CHAR - size:NX_FLOAT[3] - translation:NXtranslation - distance:NX_FLOAT[3] - NXdisk_chopper - distance:NX_FLOAT - moderator:NXmoderator - coupling_material:NX_CHAR - distance:NX_FLOAT - temperature:NX_FLOAT - type:NX_CHAR - NXpolarizer - SNS:NXsource - frequency:NX_FLOAT - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - NXmonitor - data:NX_UINT[numtimechannels] - distance:NX_FLOAT - mode:NX_CHAR - time_of_flight:NX_FLOAT[numtimechannels + 1] - SNSHistoTool:NXnote - SNSbanking_file_name:NX_CHAR - SNSmapping_file_name:NX_CHAR - author:NX_CHAR - command1:NX_CHAR - date:NX_CHAR - description:NX_CHAR - version:NX_CHAR - sample:NXsample - changer_position:NX_CHAR - holder:NX_CHAR - identifier:NX_CHAR - name:NX_CHAR - nature:NX_CHAR - NXuser - facility_user_id:NX_CHAR - name:NX_CHAR - role:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXsnsevent** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXsnsevent** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXsnshisto.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXsnshisto.rst deleted file mode 100644 index ce514b939..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXsnshisto.rst +++ /dev/null @@ -1,194 +0,0 @@ -.. _NXsnshisto: - -########## -NXsnshisto -########## - -.. index:: ! . NXDL contributed_definitions; NXsnshisto - -category: - contributed_definitions - -NXDL source: - NXsnshisto - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXsnshisto.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXaperture`, :ref:`NXattenuator`, :ref:`NXcollection`, :ref:`NXcrystal`, :ref:`NXdata`, :ref:`NXdetector`, :ref:`NXdisk_chopper`, :ref:`NXentry`, :ref:`NXfermi_chopper`, :ref:`NXgeometry`, :ref:`NXinstrument`, :ref:`NXlog`, :ref:`NXmoderator`, :ref:`NXmonitor`, :ref:`NXnote`, :ref:`NXorientation`, :ref:`NXpolarizer`, :ref:`NXpositioner`, :ref:`NXsample`, :ref:`NXshape`, :ref:`NXsource`, :ref:`NXtranslation`, :ref:`NXuser` - -documentation: - This is a definition for histogram data from Spallation Neutron Source (SNS) at ORNL. - - - -.. rubric:: Basic Structure of **NXsnshisto** - -.. code-block:: text - :linenos: - - NXsnshisto (contributed definition, version 1.0) - (overlays NXentry) - NXentry - collection_identifier:NX_CHAR - collection_title:NX_CHAR - definition:NX_CHAR - duration:NX_FLOAT - end_time:NX_DATE_TIME - entry_identifier:NX_CHAR - experiment_identifier:NX_CHAR - notes:NX_CHAR - proton_charge:NX_FLOAT - raw_frames:NX_INT - run_number:NX_CHAR - start_time:NX_DATE_TIME - title:NX_CHAR - total_counts:NX_UINT - total_uncounted_counts:NX_UINT - DASlogs:NXcollection - NXlog - average_value:NX_FLOAT - average_value_error:NX_FLOAT - description:NX_CHAR - duration:NX_FLOAT - maximum_value:NX_FLOAT - minimum_value:NX_FLOAT - time:NX_FLOAT[nvalue] - value:NX_FLOAT[nvalue] - NXpositioner - average_value:NX_FLOAT - average_value_error:NX_FLOAT - description:NX_CHAR - duration:NX_FLOAT - maximum_value:NX_FLOAT - minimum_value:NX_FLOAT - time:NX_FLOAT[numvalue] - value:NX_FLOAT[numvalue] - NXdata - data --> /NXentry/NXinstrument/NXdetector/data - data_x_time_of_flight --> /NXentry/NXinstrument/NXdetector/data_x_time_of_flight - data_x_y --> /NXentry/NXinstrument/NXdetector/data_x_y - data_y_time_of_flight --> /NXentry/NXinstrument/NXdetector/data_y_time_of_flight - pixel_id --> /NXentry/NXinstrument/NXdetector/pixel_id - time_of_flight --> /NXentry/NXinstrument/NXdetector/time_of_flight - total_counts --> /NXentry/NXinstrument/NXdetector/total_counts - x_pixel_offset --> /NXentry/NXinstrument/NXdetector/x_pixel_offset - y_pixel_offset --> /NXentry/NXinstrument/NXdetector/y_pixel_offset - instrument:NXinstrument - SNSdetector_calibration_id:NX_CHAR - SNSgeometry_file_name:NX_CHAR - SNStranslation_service:NX_CHAR - beamline:NX_CHAR - name:NX_CHAR - NXaperture - x_pixel_offset:NX_FLOAT - origin:NXgeometry - orientation:NXorientation - value:NX_FLOAT[6] - shape:NXshape - description:NX_CHAR - shape:NX_CHAR - size:NX_FLOAT[3] - translation:NXtranslation - distance:NX_FLOAT[3] - NXattenuator - distance:NX_FLOAT - NXcrystal - type:NX_CHAR - wavelength:NX_FLOAT - origin:NXgeometry - description:NX_CHAR - orientation:NXorientation - value:NX_FLOAT[6] - shape:NXshape - description:NX_CHAR - shape:NX_CHAR - size:NX_FLOAT - translation:NXtranslation - distance:NX_FLOAT[3] - NXdetector - azimuthal_angle:NX_FLOAT[numx,numy] - data:NX_UINT[numx,numy,numtof] - data_x_time_of_flight:NX_UINT[numx,numtof] - data_x_y:NX_UINT[numx,numy] - data_y_time_of_flight:NX_UINT[numy,numtof] - distance:NX_FLOAT[numx,numy] - pixel_id:NX_UINT[numx,numy] - polar_angle:NX_FLOAT[numx,numy] - time_of_flight:NX_FLOAT[numtof + 1] - total_counts:NX_UINT - x_pixel_offset:NX_FLOAT[numx] - y_pixel_offset:NX_FLOAT[numy] - origin:NXgeometry - orientation:NXorientation - value:NX_FLOAT[6] - shape:NXshape - description:NX_CHAR - shape:NX_CHAR - size:NX_FLOAT[3] - translation:NXtranslation - distance:NX_FLOAT[3] - NXdisk_chopper - distance:NX_FLOAT - NXfermi_chopper - distance:NX_FLOAT - moderator:NXmoderator - coupling_material:NX_CHAR - distance:NX_FLOAT - temperature:NX_FLOAT - type:NX_CHAR - NXpolarizer - SNS:NXsource - frequency:NX_FLOAT - name:NX_CHAR - probe:NX_CHAR - type:NX_CHAR - NXmonitor - data:NX_UINT[numtimechannels] - distance:NX_FLOAT - mode:NX_CHAR - time_of_flight:NX_FLOAT[numtimechannels + 1] - SNSHistoTool:NXnote - SNSbanking_file_name:NX_CHAR - SNSmapping_file_name:NX_CHAR - author:NX_CHAR - command1:NX_CHAR - date:NX_CHAR - description:NX_CHAR - version:NX_CHAR - sample:NXsample - changer_position:NX_CHAR - holder:NX_CHAR - identifier:NX_CHAR - name:NX_CHAR - nature:NX_CHAR - NXuser - facility_user_id:NX_CHAR - name:NX_CHAR - role:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXsnshisto** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXsnshisto** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXsolenoid_magnet.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXsolenoid_magnet.rst deleted file mode 100644 index d52821bcd..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXsolenoid_magnet.rst +++ /dev/null @@ -1,64 +0,0 @@ -.. _NXsolenoid_magnet: - -################# -NXsolenoid_magnet -################# - -.. index:: ! . NXDL contributed_definitions; NXsolenoid_magnet - -category: - contributed_definitions - -NXDL source: - NXsolenoid_magnet - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXsolenoid_magnet.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXlog` - -documentation: - definition for a solenoid magnet. - - - -.. rubric:: Basic Structure of **NXsolenoid_magnet** - -.. code-block:: text - :linenos: - - NXsolenoid_magnet (contributed definition, version 1.0) - (base class definition, NXentry or NXsubentry not found) - beamline_distance:NX_FLOAT - description:NX_CHAR - set_current:NX_FLOAT - read_current:NXlog - value:NX_CHAR - read_voltage:NXlog - value:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXsolenoid_magnet** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXsolenoid_magnet** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXspin_rotator.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXspin_rotator.rst deleted file mode 100644 index 9249e3d27..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXspin_rotator.rst +++ /dev/null @@ -1,69 +0,0 @@ -.. _NXspin_rotator: - -############## -NXspin_rotator -############## - -.. index:: ! . NXDL contributed_definitions; NXspin_rotator - -category: - contributed_definitions - -NXDL source: - NXspin_rotator - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXspin_rotator.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - :ref:`NXlog` - -documentation: - definition for a spin rotator. - - - -.. rubric:: Basic Structure of **NXspin_rotator** - -.. code-block:: text - :linenos: - - NXspin_rotator (contributed definition, version 1.0) - (base class definition, NXentry or NXsubentry not found) - beamline_distance:NX_FLOAT - description:NX_CHAR - set_Bfield_current:NX_FLOAT - set_Efield_voltage:NX_FLOAT - read_Bfield_current:NXlog - value:NX_CHAR - read_Bfield_voltage:NXlog - value:NX_CHAR - read_Efield_current:NXlog - value:NX_CHAR - read_Efield_voltage:NXlog - value:NX_CHAR - - -.. rubric:: Symbols used in definition of **NXspin_rotator** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXspin_rotator** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/NXtechnical_data.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/NXtechnical_data.rst deleted file mode 100644 index 54e3e3dc9..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/NXtechnical_data.rst +++ /dev/null @@ -1,67 +0,0 @@ -.. _NXtechnical_data: - -################ -NXtechnical_data -################ - -.. index:: ! . NXDL contributed_definitions; NXtechnical_data - -category: - contributed_definitions - -NXDL source: - NXtechnical_data - - (http://svn.nexusformat.org/definitions/trunk/contributed_definitions/NXtechnical_data.nxdl.xml) - -version: - 1.0 - -SVN Id: - $Id$ - -extends class: - :ref:`NXobject` - -other classes included: - none - -documentation: - (definition implied by usage) Some measure of metadata not already considered by the other - base classes. This class appears in the example data files provided from Soleil. This class - should be considered as a base class (and relocated there, once approved by the NIAC). This - class is used by Soleil as a child of (at least) these classes: NXsai_controller, - NXdetector, NXsource - - - -.. rubric:: Basic Structure of **NXtechnical_data** - -.. code-block:: text - :linenos: - - NXtechnical_data (contributed definition, version 1.0) - (base class definition, NXentry or NXsubentry not found) - data:NX_NUMBER - @units - @timestamp - @description - description:NX_CHAR - @description - - -.. rubric:: Symbols used in definition of **NXtechnical_data** - -No symbols are defined in this NXDL file - - - - - -.. rubric:: Comprehensive Structure of **NXtechnical_data** - -+---------------------+----------+-------+-------------------------------+ -| Name and Attributes | Type | Units | Description (and Occurrences) | -+=====================+==========+=======+===============================+ -| class | NX_FLOAT | .. | .. | -+---------------------+----------+-------+-------------------------------+ diff --git a/_sphinx/source/volume2/NXDL/contributed_definitions/index.rst b/_sphinx/source/volume2/NXDL/contributed_definitions/index.rst deleted file mode 100644 index 0fe1c14bb..000000000 --- a/_sphinx/source/volume2/NXDL/contributed_definitions/index.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. $Id$ - -##################################### -NeXus Contributed Definitions Classes -##################################### - -Contents: - -.. toctree:: - :maxdepth: 2 - :numbered: - :glob: - - NX* diff --git a/_sphinx/source/volume2/NXDL/index.rst b/_sphinx/source/volume2/NXDL/index.rst deleted file mode 100644 index f43e795ac..000000000 --- a/_sphinx/source/volume2/NXDL/index.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. $Id$ - -####################### -NXDL Class Descriptions -####################### - -Contents: - -.. toctree:: - :maxdepth: 2 - :numbered: - - base_classes/index - applications/index - contributed_definitions/index diff --git a/_sphinx/source/volume2/index.rst b/_sphinx/source/volume2/index.rst deleted file mode 100755 index 668fcf2b3..000000000 --- a/_sphinx/source/volume2/index.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. $Id$ - -.. _volume2.NXDL.section: - -############################## -NeXus: Reference Documentation -############################## - -Contents: - -.. toctree:: - :maxdepth: 2 - :numbered: - - NXDL/index From 9a8ef3ea722425dead3e6e0336e91b5da90c03fb Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 5 Mar 2016 14:22:58 -0600 Subject: [PATCH 06/15] refs #443, flowcharts for the "v2" method --- manual/source/datarules.rst | 30 ++++++++++++++++++ .../source/img/flowchart-plottable-data.vsdx | Bin 42889 -> 51127 bytes .../source/img/flowchart-v2-NXdata-signal.png | Bin 0 -> 47972 bytes .../img/flowchart-v2-NXentry-default.png | Bin 0 -> 9329 bytes .../img/flowchart-v2-NXroot-default.png | Bin 0 -> 9512 bytes 5 files changed, 30 insertions(+) create mode 100644 manual/source/img/flowchart-v2-NXdata-signal.png create mode 100644 manual/source/img/flowchart-v2-NXentry-default.png create mode 100644 manual/source/img/flowchart-v2-NXroot-default.png diff --git a/manual/source/datarules.rst b/manual/source/datarules.rst index d82dd2e6d..2ae2c0364 100644 --- a/manual/source/datarules.rst +++ b/manual/source/datarules.rst @@ -522,9 +522,29 @@ plottable data is as follows: #. Loop through the groups with class ``NXentry`` until the next step succeeds. + .. compound:: + + .. _fig.flowchart-v2-NXroot-default: + + .. figure:: img/flowchart-v2-NXroot-default.png + :alt: fig.flowchart-v2-NXroot-default + :width: 60% + + Find plottable data: pick a ``NXentry`` group + #. Open the NXentry group and loop through the subgroups with class ``NXdata`` until the next step succeeds. + .. compound:: + + .. _fig.flowchart-v2-NXentry-default: + + .. figure:: img/flowchart-v2-NXentry-default.png + :alt: fig.flowchart-v2-NXentry-default + :width: 60% + + Find plottable data: pick a ``NXdata`` group + #. Open the NXdata group and loop through the fields for the one field with attribute ``signal="1"``. Note: There should be *only one* field that matches. @@ -561,6 +581,16 @@ plottable data is as follows: #. Having found the default plottable data and its dimension scales: make the plot. + .. compound:: + + .. _fig.flowchart-v2-NXdata-signal: + + .. figure:: img/flowchart-v2-NXdata-signal.png + :alt: fig.flowchart-v2-NXdata-signal + :width: 90% + + Find plottable data: select the *signal* data + .. _Find-Plottable-Data-v1: diff --git a/manual/source/img/flowchart-plottable-data.vsdx b/manual/source/img/flowchart-plottable-data.vsdx index e340a285dc7e8716b32662d2dc506215d2b99108..b96d31496d64b40109c50f98f8d859a8c16725ea 100644 GIT binary patch delta 21696 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 delta 13794 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 literal 0 HcmV?d00001 diff --git a/manual/source/img/flowchart-v2-NXroot-default.png b/manual/source/img/flowchart-v2-NXroot-default.png new file mode 100644 index 0000000000000000000000000000000000000000..d977ab2876ece02d1ddb8e8608f64ab66aaa960c GIT binary patch literal 9512 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 literal 0 HcmV?d00001 From 20897969af69f3740e614aacddf0bf2f647207ad Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 5 Mar 2016 14:55:28 -0600 Subject: [PATCH 07/15] refs #457, flowcharts for the "v2" method --- manual/source/datarules.rst | 30 ++++++++++++++++++ .../source/img/flowchart-plottable-data.vsdx | Bin 42889 -> 51127 bytes .../source/img/flowchart-v2-NXdata-signal.png | Bin 0 -> 47972 bytes .../img/flowchart-v2-NXentry-default.png | Bin 0 -> 9329 bytes .../img/flowchart-v2-NXroot-default.png | Bin 0 -> 9512 bytes 5 files changed, 30 insertions(+) create mode 100644 manual/source/img/flowchart-v2-NXdata-signal.png create mode 100644 manual/source/img/flowchart-v2-NXentry-default.png create mode 100644 manual/source/img/flowchart-v2-NXroot-default.png diff --git a/manual/source/datarules.rst b/manual/source/datarules.rst index d82dd2e6d..2ae2c0364 100644 --- a/manual/source/datarules.rst +++ b/manual/source/datarules.rst @@ -522,9 +522,29 @@ plottable data is as follows: #. Loop through the groups with class ``NXentry`` until the next step succeeds. + .. compound:: + + .. _fig.flowchart-v2-NXroot-default: + + .. figure:: img/flowchart-v2-NXroot-default.png + :alt: fig.flowchart-v2-NXroot-default + :width: 60% + + Find plottable data: pick a ``NXentry`` group + #. Open the NXentry group and loop through the subgroups with class ``NXdata`` until the next step succeeds. + .. compound:: + + .. _fig.flowchart-v2-NXentry-default: + + .. figure:: img/flowchart-v2-NXentry-default.png + :alt: fig.flowchart-v2-NXentry-default + :width: 60% + + Find plottable data: pick a ``NXdata`` group + #. Open the NXdata group and loop through the fields for the one field with attribute ``signal="1"``. Note: There should be *only one* field that matches. @@ -561,6 +581,16 @@ plottable data is as follows: #. Having found the default plottable data and its dimension scales: make the plot. + .. compound:: + + .. _fig.flowchart-v2-NXdata-signal: + + .. figure:: img/flowchart-v2-NXdata-signal.png + :alt: fig.flowchart-v2-NXdata-signal + :width: 90% + + Find plottable data: select the *signal* data + .. _Find-Plottable-Data-v1: diff --git a/manual/source/img/flowchart-plottable-data.vsdx b/manual/source/img/flowchart-plottable-data.vsdx index e340a285dc7e8716b32662d2dc506215d2b99108..b96d31496d64b40109c50f98f8d859a8c16725ea 100644 GIT binary patch delta 21696 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 delta 13794 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 literal 0 HcmV?d00001 diff --git a/manual/source/img/flowchart-v2-NXroot-default.png b/manual/source/img/flowchart-v2-NXroot-default.png new file mode 100644 index 0000000000000000000000000000000000000000..d977ab2876ece02d1ddb8e8608f64ab66aaa960c GIT binary patch literal 9512 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 literal 0 HcmV?d00001 From 630bde43f691fbbc0b1946532bd49146079d8dee Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 5 Mar 2016 14:58:52 -0600 Subject: [PATCH 08/15] fixes #457 --- manual/source/datarules.rst | 48 +++++++++++++----- .../source/img/flowchart-plottable-data.vsdx | Bin 51127 -> 58271 bytes .../source/img/flowchart-v1-NXdata-signal.png | Bin 0 -> 32379 bytes .../img/flowchart-v1-NXentry-default.png | Bin 0 -> 9353 bytes .../img/flowchart-v1-NXroot-default.png | Bin 0 -> 9512 bytes .../img/flowchart-v2-NXentry-default.png | Bin 9329 -> 18767 bytes 6 files changed, 35 insertions(+), 13 deletions(-) create mode 100644 manual/source/img/flowchart-v1-NXdata-signal.png create mode 100644 manual/source/img/flowchart-v1-NXentry-default.png create mode 100644 manual/source/img/flowchart-v1-NXroot-default.png diff --git a/manual/source/datarules.rst b/manual/source/datarules.rst index 2ae2c0364..dc25d2ee9 100644 --- a/manual/source/datarules.rst +++ b/manual/source/datarules.rst @@ -587,7 +587,7 @@ plottable data is as follows: .. figure:: img/flowchart-v2-NXdata-signal.png :alt: fig.flowchart-v2-NXdata-signal - :width: 90% + :width: 98% Find plottable data: select the *signal* data @@ -605,23 +605,35 @@ plottable data is as follows: #. Open the first top level NeXus group with class ``NXentry``. + .. compound:: + + .. _fig.flowchart-v1-NXroot-default: + + .. figure:: img/flowchart-v1-NXroot-default.png + :alt: fig.flowchart-v1-NXroot-default + :width: 60% + + Find plottable data: pick the first ``NXentry`` group + #. Open the first NeXus group with class ``NXdata``. + .. compound:: + + .. _fig.flowchart-v1-NXentry-default: + + .. figure:: img/flowchart-v1-NXentry-default.png + :alt: fig.flowchart-v1-NXentry-default + :width: 60% + + Find plottable data: pick the first ``NXdata`` group + #. Loop through NeXus fields in this group searching for the item with attribute ``signal="1"`` indicating this field has the plottable data. -#. Check to see if this field has an attribute called - ``axes``. If so, the attribute value contains a colon (or comma) - delimited list (in the C-order of the data array) with the names - of the - :index:`dimension scales ` - associated with the plottable data. And - then you can skip the next two steps. - -#. If the ``axes`` attribute is not defined, search for the +#. Search for the one-dimensional NeXus fields with attribute ``primary=1``. #. These are the dimension scales to label @@ -632,13 +644,23 @@ plottable data is as follows: the ``axis`` attribute (``axis=1``, ``axis=2``, ... up to the :index:`rank ` of the data). -#. If necessary, close the + .. compound:: + + .. _fig.flowchart-v1-NXdata-signal: + + .. figure:: img/flowchart-v1-NXdata-signal.png + :alt: fig.flowchart-v1-NXdata-signal + :width: 98% + + Find plottable data: select the *signal* data + +#. If necessary, close this ``NXdata`` - group, open the next one and repeat steps 3 to 6. + group, search the next ``NXdata`` group, repeating steps 3 to 6. #. If necessary, close the ``NXentry`` - group, open the next one and repeat steps 2 to 7. + group, search the next ``NXentry`` group, repeating steps 2 to 7. .. index:: dimension diff --git a/manual/source/img/flowchart-plottable-data.vsdx b/manual/source/img/flowchart-plottable-data.vsdx index b96d31496d64b40109c50f98f8d859a8c16725ea..75436f94cb40b4c52002cf21b448e498bea91b13 100644 GIT binary patch delta 23656 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 K#0MAtx%z*3$SC3f delta 17245 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 P*I)X&hB~jcuHXGXY|S(u literal 0 HcmV?d00001 diff --git a/manual/source/img/flowchart-v1-NXentry-default.png b/manual/source/img/flowchart-v1-NXentry-default.png new file mode 100644 index 0000000000000000000000000000000000000000..21d8923afda80ac5492d1c0d6ba7e894f5f02472 GIT binary patch literal 9353 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�%2<(^74Y)Lr6z1L6=xFof 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 G;r|0Kxun|w literal 0 HcmV?d00001 diff --git a/manual/source/img/flowchart-v1-NXroot-default.png b/manual/source/img/flowchart-v1-NXroot-default.png new file mode 100644 index 0000000000000000000000000000000000000000..d977ab2876ece02d1ddb8e8608f64ab66aaa960c GIT binary patch literal 9512 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 literal 0 HcmV?d00001 diff --git a/manual/source/img/flowchart-v2-NXentry-default.png b/manual/source/img/flowchart-v2-NXentry-default.png index f49898eb26cc6203b015b90fd4018279fd7f361a..0e0abe603dc7328c843e46ff0d6a77b6765a7a40 100644 GIT binary patch delta 9454 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%0A(A7&`a6)t>yA zuQ2?Y-2E}Jn0N--ty{H^uREIh5x=*a3rp4xkp=PrmR()VRqK8bxE&dkB&zW#J>AC; zH$H1dd4B+zR`fxNZ{p?gOL+Vu&Q6Cc9UJYGsx<@`BA~R^>B~udq5I^7P!Yro2*=&} z_=&`W2^JVSI^5%xBq?lC4>bHW{M^W7B#6%#zF3tn-0)iYtWx{;mHi~%pSw3<{-b~2 z6T+M%FB0GXHK95-Tex5UkG0wlpWN5j3NFVZXaZG~s77V=gpHS!R=8AlgTZm==cwU-COmT(ty=70&0i6_xf07Fv91a~7JoUpH~Q6>q(8Lak?JCW!8i-x788vqgO&kG7j4eaw!mx+lLOhsq5c zP`2k7w9j-aCcB7<25Xh%UAa*LxhJ9*uOCxhGWDKRFqR63PV(ylbk(=ZB$H{$tlJ`R zv>EG2dQw=bY)<5;f*V1g!f?+R=Xc$E&_ey4^fO|rMj425%}3sw5_^kVEVs`O=Qgsm z*4jX^6x&!Ych?w!O1Uvj%w8q!EYqRZlv5E{wwxSum`Zz<%r!|-pyP|xT=@Pk8Uf({ zL?rOPE8zb>Y6O7)DMa|c#d!02_BTpTEx>nmBi*G6eRH;*T;AYMg(1W0918#G9Fn9# zjJBL&ufSpgy!`I2F9Ph`uEwqp_U?DJ(EMt(R+aE_G~Ye}t`8dJmgN@HU#5)q74c)G zA4wnny*-4ByV`E)7sQbLCB9R@YH%g&Tc@<>93AWw_USKV-Y3AEQA#kKDvr6x%7J-F z3CX9$Fp}u`AB_hyhMy?U-*)d+G~jRje=)HP+{ESriLDZLs#L zP+>$jfG8;QELPXyz;+jP9`W1S&w@KqrYx8jEcNMGT%iKfLw{>k&IUXOZy#Yv5UQ7D z{nO_8L#$w<04vzo>Es!&^!TSo!5$)rvD`oHlEbsxBq6>AIV#XyGy_qQ|2w6r|43gX zxb&riaHbe)?xg@qv2SxZ-Cqp delta 18 ZcmX>3J1>{i=6NbvDgZ**21Nh> From b70fe85c389a1bee4e8462464ca928e054617b02 Mon Sep 17 00:00:00 2001 From: "Pete R. Jemian" Date: Sat, 5 Mar 2016 15:17:27 -0600 Subject: [PATCH 09/15] restore with non-broken image --- .../img/flowchart-v2-NXentry-default.png | Bin 18767 -> 9353 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/manual/source/img/flowchart-v2-NXentry-default.png b/manual/source/img/flowchart-v2-NXentry-default.png index 0e0abe603dc7328c843e46ff0d6a77b6765a7a40..21d8923afda80ac5492d1c0d6ba7e894f5f02472 100644 GIT binary patch delta 21 ccmX>Hq)$ delta 9393 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 XyL-A?dGp!Y**m#8c{{ngdExyJLV|O| From 9b865de3fa9c9daa3f6725a614c51e0a692f4392 Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 5 Mar 2016 15:25:43 -0600 Subject: [PATCH 10/15] minor --- manual/source/datarules.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/manual/source/datarules.rst b/manual/source/datarules.rst index dc25d2ee9..c8ee1e99a 100644 --- a/manual/source/datarules.rst +++ b/manual/source/datarules.rst @@ -635,8 +635,7 @@ plottable data is as follows: #. Search for the one-dimensional NeXus fields with attribute ``primary=1``. - -#. These are the dimension scales to label + These are the dimension scales to label the axes of each dimension of the data. #. Link each dimension scale @@ -656,11 +655,11 @@ plottable data is as follows: #. If necessary, close this ``NXdata`` - group, search the next ``NXdata`` group, repeating steps 3 to 6. + group, search the next ``NXdata`` group, repeating steps 3 to 5. #. If necessary, close the ``NXentry`` - group, search the next ``NXentry`` group, repeating steps 2 to 7. + group, search the next ``NXentry`` group, repeating steps 2 to 6. .. index:: dimension From 329a76f7bd4e9fb43807df21d1132126ba4e84ba Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 5 Mar 2016 16:32:10 -0600 Subject: [PATCH 11/15] update the URL to the Impatient guide --- www/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/index.html b/www/index.html index 69230540f..9d6ff0fa4 100755 --- a/www/index.html +++ b/www/index.html @@ -27,7 +27,7 @@

Tutorial
Getting started with NeXus, - NeXus for the Impatient + NeXus for the Impatient
Support
From 874213187c3a882bb135b0fbd4de1afdb3ab8e3d Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 5 Mar 2016 16:34:31 -0600 Subject: [PATCH 12/15] the PDF is now built by jenkins, point to its URL --- manual/source/index.rst | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/manual/source/index.rst b/manual/source/index.rst index 8e693b676..33d37ed76 100644 --- a/manual/source/index.rst +++ b/manual/source/index.rst @@ -29,14 +29,13 @@ This manual built |today|. .. seealso:: - This document is available in these formats: + This document is available in these formats online: :online HTML: http://download.nexusformat.org/doc/html/index.html - .. 2015-05-29,prj: PDF available separately - :PDF: - :download:`nexus.pdf` (available via online HTML link above) + :PDF: + http://download.nexusformat.org/doc/NeXusManual.pdf A very brief overview is also available (separate from the manual). From 5d1d0878e9db1592df534288300f01854a49c60b Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 5 Mar 2016 16:40:29 -0600 Subject: [PATCH 13/15] PDF of Impatient guide is also built by Jenkins --- manual/source/index.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/manual/source/index.rst b/manual/source/index.rst index 33d37ed76..ae70c0925 100644 --- a/manual/source/index.rst +++ b/manual/source/index.rst @@ -31,7 +31,7 @@ This manual built |today|. This document is available in these formats online: - :online HTML: + :HTML: http://download.nexusformat.org/doc/html/index.html :PDF: @@ -40,7 +40,10 @@ This manual built |today|. A very brief overview is also available (separate from the manual). :HTML: - http://download.nexusformat.org/doc/impatient/ + http://download.nexusformat.org/doc/impatient + + :PDF: + http://download.nexusformat.org/doc/NXImpatient.pdf .. Suggestions for adding to this manual: From d74c5aac1a0ede25da9292b0cfc9f3e1c33d7f42 Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 5 Mar 2016 17:50:11 -0600 Subject: [PATCH 14/15] fixes #455 --- .settings/org.eclipse.core.resources.prefs | 1 + impatient-guide/conf.py | 2 +- impatient-guide/index.rst | 218 +++++++++++++-------- manual/source/index.rst | 3 +- 4 files changed, 135 insertions(+), 89 deletions(-) diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 09f487014..d1e6545ed 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,3 +1,4 @@ eclipse.preferences.version=1 +encoding//impatient-guide/conf.py=utf-8 encoding//manual/source/conf.py=utf-8 encoding//utils/rst_table.py=iso-8859-1 diff --git a/impatient-guide/conf.py b/impatient-guide/conf.py index 8e35f4bdb..ed3fb2bac 100644 --- a/impatient-guide/conf.py +++ b/impatient-guide/conf.py @@ -104,7 +104,7 @@ # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -html_title = None +html_title = 'NeXus for the Impatient' # A shorter title for the navigation bar. Default is the same as html_title. html_short_title = project diff --git a/impatient-guide/index.rst b/impatient-guide/index.rst index 178880e3e..d17c0feba 100644 --- a/impatient-guide/index.rst +++ b/impatient-guide/index.rst @@ -7,18 +7,16 @@ NeXus for the Impatient ####################### -Why NeXus? -=========== +Why NeXus? +========== .. seealso:: - This document is available in different formats: - `HTML (online) `_ - or - :download:`PDF `. - - .. - http://download.nexusformat.org/doc/impatient/ + This document is available online in + `HTML `_ + and + `PDF `_ + formats. The NeXus data format [#NeXus]_ is a tool which has been designed to solve the problems of travelling scientists, @@ -62,7 +60,7 @@ flexible NeXus Concepts -=============== +============== NeXus uses `HDF-5 `_ [#HDF5]_ @@ -76,8 +74,8 @@ for free from HDF-5, such as: extendable, self-describing, platform independent, public domain, and efficient. For historical reasons, NeXus supports two further container file formats: HDF-4 and XML. The use of these formats is now deprecated. -In order to understand NeXus it is important to know about some of the objects -which live in an HDF-5 file: +To understand NeXus, it is important to know about some of the objects +encountered in an HDF-5 file: groups Allow structuring of information in a file. Groups work pretty much like @@ -126,7 +124,7 @@ Tools The NeXus File Hierarchy -------------------------- +------------------------ NeXus defines two main group hierarchy types: @@ -141,7 +139,7 @@ found in the NeXus manual. .. _raw_file_hierarchy: The NeXus Raw Data File Hierarchy -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This hierarchy is applicable to raw data files as written by some facility instrument: @@ -149,14 +147,15 @@ This hierarchy is applicable to raw data files as written by some facility instr :linenos: entry:NXentry + @default = data data:NXdata + @signal = data data --> /entry/instrument/detector/data instrument:NXinstrument source:NXsource .... detector:NXdetector data:NX_INT32[512,512] - @signal = 1 sample:NXsample control:NXmonitor @@ -194,7 +193,7 @@ The following two groups are required for all NeXus data files: Therefore the data is linked here from the specific detector entry recording the data which is described below. Axis information is usually included here as well, the - details of which are covered in the full manual. + details of which are covered in the NeXus manual. The following additional groups are present in many NeXus data files: @@ -228,16 +227,20 @@ The following additional groups are present in many NeXus data files: This describes a dataset with a given numeric type and dimensions. In this example, the detector data is a 512 x 512 array of 32-bit integers. ``@name=value`` - This describes an attribute name and value. The attribute signal=1 indicates - to NeXus that this is the dependent data to be plotted. + This describes an attribute name and value. + Both groups and fields can have attributes. + The attribute ``signal=data`` indicates + to NeXus that the field in this group named ``data`` is the dependent data to be plotted. ``name --> path`` Describes a link from one location to another. This allows us to gather the most important data together in an ``NXdata`` group while leaving detailed metadata in the individual component definitions. + NeXus uses HDF5 hard links for pointing to other objects in the same file + and external links when pointing to objects in other HDF5 files. What goes into a NeXus File? ------------------------------- +---------------------------- Before starting to describe how to decide what goes into a NeXus file, some more details about NeXus groups and base classes need to be @@ -319,7 +322,7 @@ and begin with a letter. .. _processed_data_hierarchy: The NeXus Processed Data Hierarchy -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is a simplified hierarchy style applicable to the results of data reduction or data analysis applications. Such results can consist of @@ -330,22 +333,27 @@ for storing such data: :linenos: entry:NXentry - reduction:NXprocess - program_name = "pyDataProc2010" - version = "1.0a" - input:NXparameter - filename = "sn2013287.nxs" - sample:NXsample - data:NXdata - data - @signal = 1 + @entry = data + reduction:NXprocess + program_name = "pyDataProc2010" + version = "1.0a" + input:NXparameter + filename = "sn2013287.nxs" + sample:NXsample + data:NXdata + @signal = data + data -Here the NXentry contains: +Here the ``NXentry`` contains: +``@entry = data`` + Attribute on the ``NXentry`` group pointing to the default ``NXdata`` + group to be plotted. ``data:NXdata`` Contains the result of the data reduction directly, together with - the axes required to use the data. + the axes required to use the data. The attribute ``@signal = data`` + indicates that the field named ``data`` is the default plottable data. ``sample:NXsample`` Contains the sample information. This may be a link to the sample information within a measurement entry elsewhere in the file. @@ -364,7 +372,7 @@ in order to describe the instrument if this matters at this stage. Scans in NeXus ---------------- +-------------- Scanning means to vary some variable in a certain, defined way and collect data as the variable progresses. Scans are a versatile experimental technique and are @@ -388,43 +396,59 @@ sample is rotated and data is collected in an area detector: :linenos: entry:NXentry - instrument:NXinstrument - detector:NXdetector - data:[NP,xsize,ysize] - @signal = 1 - sample:NXsample - rotation_angle[NP] - @axis = 1 - control:NXmonitor - data[NP] - data:NXdata - data --> /entry/instrument/detector/data - rotation_angle --> /entry/sample/rotation_angle + @entry = data + instrument:NXinstrument + detector:NXdetector + data:[NP,xsize,ysize] + sample:NXsample + rotation_angle[NP] + control:NXmonitor + data[NP] + data:NXdata + @signal = 1 + @axes = rotation_angle . . + @rotation_angle_indices = 0 + data --> /entry/instrument/detector/data + rotation_angle --> /entry/sample/rotation_angle + +The default data to be plotted has more dimensions and requires +additional description. The attribute ``@axes = rotation_angle . .`` +implies that the "signal data" (``data``) has three dimensions. +The first dimension is provided by the ``rotation_angle`` field, +while the ``.`` for the other two dimensions indicates they each +should be plotted as index number (starting from zero). +The attribute ``@rotation_angle_indices = 0`` declares that ``rotation_angle`` +is used as the first dimension of ``data``. The ``AXISNAME_indices`` +attribute becomes more useful when both the "signal data" and the dimension +scales are multi-dimensional. Finding the plottable data -------------------------- Any program whose aim is to identify plottable data should use the following procedure: -#. Open the first top level NeXus group with class NXentry. -#. Open the first NeXus group with class NXdata. -#. Loop through NeXus fields in this group searching for the item with - attribute ``signal=1`` indicating this field has the plottable data. -#. Check to see if this field has an attribute called axes. If so, the - attribute value contains a colon (or comma) delimited list (in the - C-language order of the data array) with the names of the dimension - scales associated with the plottable data. - And then you can skip the next two steps. -#. If the axes attribute is not defined, search for the - one-dimensional NeXus fields with attribute ``primary=1``. -#. These are the dimension scales to label the axes of each dimension of the data. -#. Link each dimension scale to the respective data dimension by the axis - attribute (``axis=1``, ``axis=2``, ... up to the rank of the data). -#. If necessary, close the NXdata group, open the next one and repeat steps 3 to 6. -#. If necessary, close the NXentry group, open the next one and repeat steps 2 to 7. +#. Start at the top level of the NeXus data file + (the *root* of the HDF5 hierarchy). + +#. Pick the default ``NXentry`` group, as designated by the `default`` attribute. + +#. Pick the default ``NXdata`` group, as designated by the `default`` attribute. + +#. Pick the default plottable field (the *signal* data). + + #. Pick the fields with the dimension scales (the *axes*). + + #. Associate the dimension scales with each dimension of the plottable data. + +#. Plot the *signal* data, given *axes* and *AXISNAME_indices*. + +For details of this process, consult this +`section `_ +of the NeXus manual. [#v3]_ + NeXus Benefits -================ +============== When trying to establish a data standard, we encounter a few challenges, some of which can slow effort: @@ -470,7 +494,7 @@ Application definitions Reading NeXus Files -==================== +=================== The simplest way to read and plot a NeXus file is through the Python *PyTree* API: @@ -594,11 +618,26 @@ Reading the file using the HDF-5 C API is a little more involved: } +.. note:: To keep these examples short, we already learned the HDF addresses + of the "signal data" (such as ``/entry1/data1/counts``) + and its associated dimension scales (such as ``/entry1/data1/two_theta``) + for each example data file. + The examples above use those addresses directly, rather than using the + described method to find the plottable data. + + If you are writing specific + code to process a set of NeXus files where you already know the HDF5 addresses + of the items you need, feel welcome to use that knowledge, as you have seen above. + + If you are writing code to handle any NeXus data file, then you are advised + to implement the methods to find the plottable data, + as described in the manual. [#v3]_ + More examples of reading NeXus data files can be found in the *Examples* chapter of the NeXus Reference Documentation. [#RefDoc]_ Writing NeXus Files -==================== +=================== You can obviously skip this section if you only wish to read NeXus files. @@ -618,35 +657,37 @@ two_theta: #include "napi.h" - int main() - { - NXhandle fileID; - NXopen ("NXfile.nxs", NXACC_CREATE, &fileID); - NXmakegroup (fileID, "Scan", "NXentry"); - NXopengroup (fileID, "Scan", "NXentry"); - NXmakegroup (fileID, "data", "NXdata"); - NXopengroup (fileID, "data", "NXdata"); - /* somehow, we already have arrays tth and counts, each length n*/ - NXmakedata (fileID, "two_theta", NX_FLOAT32, 1, &n); - NXopendata (fileID, "two_theta"); - NXputdata (fileID, tth); - NXputattr (fileID, "units", "degrees", 7, NX_CHAR); - NXclosedata (fileID); /* two_theta */ - NXmakedata (fileID, "counts", NX_FLOAT32, 1, &n); - NXopendata (fileID, "counts"); - NXputdata (fileID, counts); - NXclosedata (fileID); /* counts */ - NXclosegroup (fileID); /* data */ - NXclosegroup (fileID); /* Scan */ - NXclose (&fileID); - return; + int writer(float *tth, float *counts, int n) + { + /* we receive two arrays: tth and counts, each length n*/ + NXhandle fileID; + NXopen ("NXfile.nxs", NXACC_CREATE, &fileID); + NXmakegroup (fileID, "Scan", "NXentry"); + NXopengroup (fileID, "Scan", "NXentry"); + NXmakegroup (fileID, "data", "NXdata"); + NXopengroup (fileID, "data", "NXdata"); + NXputattr (fileID, "signal", "counts", 6, NX_CHAR); + NXputattr (fileID, "axes", "two_theta", 9, NX_CHAR); + NXmakedata (fileID, "two_theta", NX_FLOAT32, 1, &n); + NXopendata (fileID, "two_theta"); + NXputdata (fileID, tth); + NXputattr (fileID, "units", "degrees", 7, NX_CHAR); + NXclosedata (fileID); /* two_theta */ + NXmakedata (fileID, "counts", NX_FLOAT32, 1, &n); + NXopendata (fileID, "counts"); + NXputdata (fileID, counts); + NXclosedata (fileID); /* counts */ + NXclosegroup (fileID); /* data */ + NXclosegroup (fileID); /* Scan */ + NXclose (&fileID); + return; } More examples of writing NeXus data files can be found in the *Examples* chapter of the NeXus Reference Documentation. [#RefDoc]_ More Information -================= +================ Did we get you interested? Here is where you can get more information. Our main entry point is the NeXus WWW-site at http://www.nexusformat.org @@ -663,7 +704,7 @@ to lend us a hand, you are more welcome to contact us via nexus-committee@nexusf Who is behind NeXus? ---------------------- +-------------------- NeXus was developed from three independent proposals from Jonathan Tischler, APS, Przemek Klosowski, NIST and Mark Koennecke, ISIS (now PSI) by an @@ -690,3 +731,6 @@ find on the NeXus WWW site. .. [#RefDoc] NeXus Reference Documentation: http://download.nexusformat.org/doc/html/ReferenceDocumentation.html + +.. [#v3] Finding the plottable data: + http://download.nexusformat.org/doc/html/datarules.html#version-3 diff --git a/manual/source/index.rst b/manual/source/index.rst index ae70c0925..67f339beb 100644 --- a/manual/source/index.rst +++ b/manual/source/index.rst @@ -37,7 +37,8 @@ This manual built |today|. :PDF: http://download.nexusformat.org/doc/NeXusManual.pdf - A very brief overview is also available (separate from the manual). + A very brief overview (title: *NeXus for the Impatient*) + is also available (separate from the manual). :HTML: http://download.nexusformat.org/doc/impatient From 11b15dcd68536794e1988213937d61b652b021bd Mon Sep 17 00:00:00 2001 From: jemian Date: Sat, 5 Mar 2016 18:03:02 -0600 Subject: [PATCH 15/15] typos, indentation, ... --- impatient-guide/index.rst | 44 ++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/impatient-guide/index.rst b/impatient-guide/index.rst index d17c0feba..680b9330a 100644 --- a/impatient-guide/index.rst +++ b/impatient-guide/index.rst @@ -65,14 +65,14 @@ NeXus Concepts NeXus uses `HDF-5 `_ [#HDF5]_ files as container files. HDF-5 is a popular scientific -data format which has been developed by the National Center for Supercomputing -Applications (NCSA), University of Illinois Urbana-Champaign and is currently -being maintained by the HDF Group. There is built-in support for HDF-5 in many scientific +data format developed by the National Center for Supercomputing +Applications (NCSA), University of Illinois Urbana-Champaign and currently +maintained by *The HDF Group*. There is built-in support for HDF-5 in many scientific packages. Other users of HDF-5 include NASA, Boeing, meteorological offices around the world and many more. NeXus is thus able to inherit many desirable properties for free from HDF-5, such as: extendable, self-describing, platform independent, public domain, and efficient. For historical reasons, NeXus supports two further -container file formats: HDF-4 and XML. The use of these formats is now deprecated. +container file formats: HDF-4 and XML. The NeXus use of these formats is now deprecated. To understand NeXus, it is important to know about some of the objects encountered in an HDF-5 file: @@ -92,7 +92,7 @@ links like symbolic links in a UNIX file system. HDF-5 does not, however, know anything about the application domain of neutron, muon or -x-ray scattering. In order to remedy this, NeXus adds the following: +X-ray scattering. In order to remedy this, NeXus adds the following: A group hierarchy in the HDF-5 file A group hierarchy in the files helps with a couple of issues. If a full beamline @@ -132,7 +132,7 @@ NeXus defines two main group hierarchy types: #. :ref:`processed_data_hierarchy` There are additional hierarchy variations for multi-method instruments and for a -general purpose dump structure. Documentation for these hierarchy types and be +general purpose dump structure. Documentation for these hierarchy types can be found in the NeXus manual. @@ -147,17 +147,17 @@ This hierarchy is applicable to raw data files as written by some facility instr :linenos: entry:NXentry - @default = data - data:NXdata - @signal = data - data --> /entry/instrument/detector/data - instrument:NXinstrument - source:NXsource - .... - detector:NXdetector - data:NX_INT32[512,512] - sample:NXsample - control:NXmonitor + @default = data + data:NXdata + @signal = data + data --> /entry/instrument/detector/data + instrument:NXinstrument + source:NXsource + .... + detector:NXdetector + data:NX_INT32[512,512] + sample:NXsample + control:NXmonitor @@ -430,13 +430,15 @@ Any program whose aim is to identify plottable data should use the following pro #. Start at the top level of the NeXus data file (the *root* of the HDF5 hierarchy). -#. Pick the default ``NXentry`` group, as designated by the `default`` attribute. +#. Pick the default ``NXentry`` group, as designated by the ``default`` attribute. -#. Pick the default ``NXdata`` group, as designated by the `default`` attribute. +#. Pick the default ``NXdata`` group, as designated by the ``default`` attribute. -#. Pick the default plottable field (the *signal* data). +#. Pick the default plottable field, as designated by the ``signal`` attribute. + + #. Pick the fields with the dimension scales (the ``axes`` attribute). - #. Pick the fields with the dimension scales (the *axes*). + #. Associate dimension scales with plottable data dimensions (the ``AXISNAME_indices`` attributes). #. Associate the dimension scales with each dimension of the plottable data.

F1Sj?>VBhT)ONPR!%$$#;nHDrIQ5fU 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�ULmSULM?dAo+m2M=t~nIS=g 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 diff --git a/_sphinx/source/volume1/introduction/whatis/NXinstrument.png b/_sphinx/source/volume1/introduction/whatis/NXinstrument.png deleted file mode 100755 index 2ff1dd0544523f7a7d6f58a6e3ea0309b46e1972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 136001 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