From 9d3c2695a210610bc33fabd1f66886e072386d1c Mon Sep 17 00:00:00 2001
From: Jan Kotanski <jankotan@gmail.com>
Date: Wed, 17 Jan 2024 07:49:22 +0100
Subject: [PATCH] New upstream version 3.61.0

---
 ChangeLog                  |    8 +-
 PKG-INFO                   |    2 +-
 man/nxscollect.1           |  114 ++--
 man/nxsconfig.1            |   56 +-
 man/nxscreate.1            |  144 ++---
 man/nxsdata.1              |    8 +-
 man/nxsetup.1              |   20 +-
 man/nxsfileinfo.1          |  112 ++--
 man/nxstools.1             | 1084 ++++++++++++++++++------------------
 nxstools.egg-info/PKG-INFO |    2 +-
 nxstools/nxscreate.py      |    4 +-
 nxstools/nxscreator.py     |    6 +-
 nxstools/nxsfileinfo.py    |   92 ++-
 nxstools/release.py        |    2 +-
 14 files changed, 871 insertions(+), 783 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ad72884d..43bed390 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,14 @@
+2024-01-15 Jan Kotanski <jankotan@gmail.com>
+	* fix  secop rotation_z coordiantes to [0,1,0] (#585)
+	* add NXsensor description to secop components (#587)
+	* add min and max type in group-map (#589)
+	* tagged as v3.61.0
+
 2024-01-12 Jan Kotanski <jankotan@gmail.com>
 	* fix condition for uniquelist type in group-map (#582)
 	* tagged as v3.60.1
 
-2024-01-11 Jan Kotanski <jankotan@gmail.com>
+024-01-11 Jan Kotanski <jankotan@gmail.com>
 	* add uniquelist type in group-map (#574)
 	* tagged as v3.60.0
 
diff --git a/PKG-INFO b/PKG-INFO
index 8bf91f30..8994a477 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: nxstools
-Version: 3.60.1
+Version: 3.61.0
 Summary: Configuration tools for NeXDaTaS Tango Servers
 Home-page: http://github.com/nexdatas/nxstools
 Author: Jan Kotanski, Eugen Wintersberger , Halil Pasic
diff --git a/man/nxscollect.1 b/man/nxscollect.1
index 00a585b9..7cbec583 100644
--- a/man/nxscollect.1
+++ b/man/nxscollect.1
@@ -1,5 +1,8 @@
 .\" Man page generated from reStructuredText.
 .
+.TH "NXSCOLLECT" "1" "Jan 16, 2024" "3.61" "NXSTools"
+.SH NAME
+nxscollect \- upload external images into NeXus/HDF5 file
 .
 .nr rst2man-indent-level 0
 .
@@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "NXSCOLLECT" "1" "Jan 11, 2024" "3.60" "NXSTools"
-.SH NAME
-nxscollect \- upload external images into NeXus/HDF5 file
 .SH DESCRIPTION
 .sp
 The nxscollect is  a command\-line tool dedicated to collect detector images.
@@ -61,12 +61,12 @@ nexus_file            nexus files to be collected
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-c \ COMPRESSION\fR,\fB \ \-\-compression \ COMPRESSION
 deflate compression rate from 0 to 9 (default: 2) or
-<filterid>:opt1,opt2,… e.g. \-c 32008:0,2 for
+<filterid>:opt1,opt2,... e.g. \-c 32008:0,2 for
 bitshuffle with lz4
 .TP
 .BI \-p \ PATH\fR,\fB \ \-\-path \ PATH
@@ -75,33 +75,33 @@ nexus path for the output field, e.g.
 .TP
 .BI \-i \ INPUTFILES\fR,\fB \ \-\-input_files \ INPUTFILES
 input data files defined with a pattern or separated
-by ‘,’ e.g.’scan_%05d.tif:0:100’
+by \(aq,\(aq e.g.\(aqscan_%05d.tif:0:100\(aq
 .TP
 .BI \-\-separator \ SEPARATOR
-input data files separator (default: ‘,’)
+input data files separator (default: \(aq,\(aq)
 .TP
 .BI \-\-dtype \ DATATYPE
 datatype of input data \- only for raw data, e.g.
-‘uint8’
+\(aquint8\(aq
 .TP
 .BI \-\-shape \ SHAPE
 shape of input data \- only for raw data, e.g.
-‘[4096,2048]’
+\(aq[4096,2048]\(aq
 .TP
-.B  \-s\fP,\fB  \-\-skip_missing
+.B \-s\fP,\fB  \-\-skip_missing
 skip missing files
 .TP
-.B  \-r\fP,\fB  \-\-replace_nexus_file
+.B \-r\fP,\fB  \-\-replace_nexus_file
 if it is set the old file is not copied into a file
 with .__nxscollect__old__* extension
 .TP
-.B  \-\-test
+.B \-\-test
 execute in the test mode
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader/writer
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader/writer
 .UNINDENT
 .UNINDENT
@@ -142,7 +142,7 @@ nexus_file_path       nexus files with the nexus directory to place the link
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-n \ NAME\fR,\fB \ \-\-name \ NAME
@@ -151,17 +151,17 @@ link name
 .BI \-t \ TARGET\fR,\fB \ \-\-target \ TARGET
 link target with the file name if external
 .TP
-.B  \-r\fP,\fB  \-\-replace_nexus_file
+.B \-r\fP,\fB  \-\-replace_nexus_file
 if it is set the old file is not copied into a file
 with .__nxscollect__old__* extension
 .TP
-.B  \-\-test
+.B \-\-test
 execute in the test mode
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader/writer
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .UNINDENT
 .UNINDENT
@@ -205,116 +205,116 @@ Options:
 .INDENT 3.5
 .INDENT 0.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-t \ DTYPE\fR,\fB \ \-\-dtype \ DTYPE
-datatype of the VDS field, e.g. ‘uint8’
+datatype of the VDS field, e.g. \(aquint8\(aq
 .TP
 .BI \-s \ SHAPE\fR,\fB \ \-\-shape \ SHAPE
-shape of the VDS field, e.g. ‘[U,4096,2048]’ or
-U,4096,2048 where U means span along the field’
+shape of the VDS field, e.g. \(aq[U,4096,2048]\(aq or
+U,4096,2048 where U means span along the field\(aq
 .TP
 .BI \-f \ FILLVALUE\fR,\fB \ \-\-fill\-value \ FILLVALUE
 fill value for the gaps, default is 0
 .TP
 .BI \-e \ TARGETFIELDS\fR,\fB \ \-\-target\-fields \ TARGETFIELDS
 external fields with their NeXus file paths defined
-with a pattern or separated by ‘,’
-e.g.’scan_123/lambda_%05d.nxs://entry/data/\fI\%data:0:3\fP’
+with a pattern or separated by \(aq,\(aq
+e.g.\(aqscan_123/lambda_%05d.nxs://entry/data/\fI\%data:0:3\fP\(aq
 .TP
 .BI \-\-separator \ SEPARATOR
-input data files separator (default: ‘,’)
+input data files separator (default: \(aq,\(aq)
 .TP
 .BI \-p \ SHAPES\fR,\fB \ \-\-shapes \ SHAPES
 shapes in the VDS layout hyperslab for the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g.’,,;,300,;,600,0’ where an empty coordinate
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g.\(aq,,;,300,;,600,0\(aq where an empty coordinate
 means 0
 .TP
 .BI \-o \ OFFSETS\fR,\fB \ \-\-offsets \ OFFSETS
 offsets in the VDS layout hyperslab for the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g.’,,;,300,;,600,0’ where an empty coordinate
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g.\(aq,,;,300,;,600,0\(aq where an empty coordinate
 means 0
 .TP
 .BI \-b \ BLOCKS\fR,\fB \ \-\-blocks \ BLOCKS
 block sizes in the VDS layout hyperslab for the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g. ‘,256,512;,256,512;,256,512’ where an
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g. \(aq,256,512;,256,512;,256,512\(aq where an
 empty coordinate means 1
 .TP
 .BI \-c \ COUNTS\fR,\fB \ \-\-counts \ COUNTS
 count numbers in the VDS layout hyperslabfor the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g. ‘,1,1;,1,1;,1,1’ where an empty coordinate
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g. \(aq,1,1;,1,1;,1,1\(aq where an empty coordinate
 means span along the layout
 .TP
 .BI \-d \ STRIDES\fR,\fB \ \-\-strides \ STRIDES
 stride sizes in the VDS layout hyperslabfor the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g. ‘,,;,,;,,’ where an empty coordinate means
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g. \(aq,,;,,;,,\(aq where an empty coordinate means
 1
 .TP
 .BI \-l \ SLICES\fR,\fB \ \-\-slices \ SLICES
 mapping slices in the VDS layoutfor the corresponding
-target fields with coordinates sepatated by ‘,’ and
-different fields separated by ‘;’ or spaces e.g.
-‘:,0:50,: :,50:100,:’ where U means span along the
+target fields with coordinates sepatated by \(aq,\(aq and
+different fields separated by \(aq;\(aq or spaces e.g.
+\(aq:,0:50,: :,50:100,:\(aq where U means span along the
 layout
 .TP
 .BI \-P \ TARGETSHAPES\fR,\fB \ \-\-target\-shapes \ TARGETSHAPES
-field shapes with coordinates sepatated by ‘,’ and
-different fields separated by ‘;’, ‘:’ or spaces
-e.g.’,,;,300,;,600,0’
+field shapes with coordinates sepatated by \(aq,\(aq and
+different fields separated by \(aq;\(aq, \(aq:\(aq or spaces
+e.g.\(aq,,;,300,;,600,0\(aq
 .TP
 .BI \-O \ TARGETOFFSETS\fR,\fB \ \-\-target\-offsets \ TARGETOFFSETS
 offsets in the view hyperslab of target fieldswith
-coordinates sepatated by ‘,’ and different fields
-separated by ‘;’, ‘:’ or spaces e.g.’,,;,300,;,600,0’
+coordinates sepatated by \(aq,\(aq and different fields
+separated by \(aq;\(aq, \(aq:\(aq or spaces e.g.\(aq,,;,300,;,600,0\(aq
 where an empty coordinate means 0
 .TP
 .BI \-B \ TARGETBLOCKS\fR,\fB \ \-\-target\-blocks \ TARGETBLOCKS
 block sizes in the view hyperslab of target fields
-with coordinates sepatated by ‘,’ and different fields
-separated by ‘;’, ‘:’ or spaces e.g.
-‘,256,512;,256,512;,256,512’ where an empty coordinate
+with coordinates sepatated by \(aq,\(aq and different fields
+separated by \(aq;\(aq, \(aq:\(aq or spaces e.g.
+\(aq,256,512;,256,512;,256,512\(aq where an empty coordinate
 means 1
 .TP
 .BI \-C \ TARGETCOUNTS\fR,\fB \ \-\-target\-counts \ TARGETCOUNTS
 count numbers in the view hyperslab of target fields
-with coordinates sepatated by ‘,’ and different fields
-separated by ‘;’, ‘:’ or spaces e.g. ‘,1,1;,1,1;,1,1’
+with coordinates sepatated by \(aq,\(aq and different fields
+separated by \(aq;\(aq, \(aq:\(aq or spaces e.g. \(aq,1,1;,1,1;,1,1\(aq
 where an empty coordinate means span along the layout
 .TP
 .BI \-D \ TARGETSTRIDES\fR,\fB \ \-\-target\-strides \ TARGETSTRIDES
 stride sizes numbers in the view hyperslab of target
-fields with coordinates sepatated by ‘,’ and different
-fields separated by ‘;’, ‘:’ or spaces e.g. ‘,,;,,;,,’
+fields with coordinates sepatated by \(aq,\(aq and different
+fields separated by \(aq;\(aq, \(aq:\(aq or spaces e.g. \(aq,,;,,;,,\(aq
 where an empty coordinate means 1
 .TP
 .BI \-L \ TARGETSLICES\fR,\fB \ \-\-target\-slices \ TARGETSLICES
 view slices of target fields with coordinates
-sepatated by ‘,’ and different fields separated by ‘;’
-or spaces e.g. ‘:,0:50,: :,0:50,:’ where U means span
+sepatated by \(aq,\(aq and different fields separated by \(aq;\(aq
+or spaces e.g. \(aq:,0:50,: :,0:50,:\(aq where U means span
 along the layout
 .TP
-.B  \-r\fP,\fB  \-\-replace\-nexus\-file
+.B \-r\fP,\fB  \-\-replace\-nexus\-file
 if it is set the old file is not copied into a file
 with .__nxscollect__old__* extension
 .TP
-.B  \-\-test
+.B \-\-test
 execute in the test mode
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader/writer
 .UNINDENT
 .UNINDENT
diff --git a/man/nxsconfig.1 b/man/nxsconfig.1
index 89fd4a49..553a3a67 100644
--- a/man/nxsconfig.1
+++ b/man/nxsconfig.1
@@ -1,5 +1,8 @@
 .\" Man page generated from reStructuredText.
 .
+.TH "NXSCONFIG" "1" "Jan 16, 2024" "3.61" "NXSTools"
+.SH NAME
+nxsconfig \- read NeXus Configuration Server settings
 .
 .nr rst2man-indent-level 0
 .
@@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "NXSCONFIG" "1" "Jan 11, 2024" "3.60" "NXSTools"
-.SH NAME
-nxsconfig \- read NeXus Configuration Server settings
 .SH DESCRIPTION
 .sp
 The nxsconfig program
@@ -62,43 +62,43 @@ list names of available datasources
 .B list \-r [\-s <config_server>] [\-n]
 list names of available profiles
 .TP
-.B show [\-s <config_server>] [\-m] [\-o <dir>] component_name1 component_name2 …
+.B show [\-s <config_server>] [\-m] [\-o <dir>] component_name1 component_name2 ...
 show components with given names
 .TP
-.B show \-d [\-s <config_server>]  [\-o <dir>] dsource_name1 dsource_name2 …
+.B show \-d [\-s <config_server>]  [\-o <dir>] dsource_name1 dsource_name2 ...
 show datasources with given names
 .TP
-.B show \-r [\-s <config_server>]  [\-o <dir>] profile_name1 profile_name2 …
+.B show \-r [\-s <config_server>]  [\-o <dir>] profile_name1 profile_name2 ...
 show profiles with given names
 .TP
-.B upload [\-s <config_server>] [\-m] [\-i <dir>] [\-f] component_name1 component_name2 …
+.B upload [\-s <config_server>] [\-m] [\-i <dir>] [\-f] component_name1 component_name2 ...
 load components from given files
 .TP
-.B upload \-d [\-s <config_server>]  [\-i <dir>] [\-f] dsource_name1 dsource_name2 …
+.B upload \-d [\-s <config_server>]  [\-i <dir>] [\-f] dsource_name1 dsource_name2 ...
 load datasources from given files
 .TP
-.B upload \-r [\-s <config_server>]  [\-i <dir>] [\-f] profile_name1 profile_name2 …
+.B upload \-r [\-s <config_server>]  [\-i <dir>] [\-f] profile_name1 profile_name2 ...
 load profiles from given files
 .TP
-.B get [\-s <config_server>]  [\-n] component_name1 component_name2 …
+.B get [\-s <config_server>]  [\-n] component_name1 component_name2 ...
 get merged configuration of components
 .TP
-.B delete [\-s <config_server>] [\-f] component_name1 component_name2 …
+.B delete [\-s <config_server>] [\-f] component_name1 component_name2 ...
 delete components with given names
 .TP
-.B delete \-d [\-s <config_server>] [\-f] dsource_name1 dsource_name2 …
+.B delete \-d [\-s <config_server>] [\-f] dsource_name1 dsource_name2 ...
 delete datasources with given names
 .TP
-.B delete \-r [\-s <config_server>] [\-f] profile_name1 profile_name2 …
+.B delete \-r [\-s <config_server>] [\-f] profile_name1 profile_name2 ...
 delete profiles with given names
 .TP
-.B sources [\-s <config_server>] [\-m] [\-n] component_name1 component_name2 …
+.B sources [\-s <config_server>] [\-m] [\-n] component_name1 component_name2 ...
 get a list of component datasources
 .TP
-.B components [\-s <config_server>] [\-n] component_name1 component_name2 …
+.B components [\-s <config_server>] [\-n] component_name1 component_name2 ...
 get a list of dependent components
 .TP
-.B variables [\-s <config_server>] [\-m] [\-n] component_name1 component_name2 …
+.B variables [\-s <config_server>] [\-m] [\-n] component_name1 component_name2 ...
 get a list of component variables
 .TP
 .B data [\-s <config_server>] json_data
@@ -113,44 +113,44 @@ get a list of datasource record names
 .B servers [\-s <config_server/host>] [\-n]
 get lists of configuration servers from the current tango host
 .TP
-.B describe [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 …
+.B describe [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 ...
 show all parameters of given components
 .TP
-.B describe|info \-d [\-s <config_server>] [\-n] dsource_name1 dsource_name2 …
+.B describe|info \-d [\-s <config_server>] [\-n] dsource_name1 dsource_name2 ...
 show all parameters of given datasources
 .TP
-.B info [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 …
+.B info [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 ...
 show source parameters of given components
 .TP
-.B info \-r [\-s <config_server>]  [\-n] profile_name1 profile_name2 …
+.B info \-r [\-s <config_server>]  [\-n] profile_name1 profile_name2 ...
 show general parameters of given profiles
 .TP
-.B geometry [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 …
+.B geometry [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 ...
 show transformation parameters of given components
 .UNINDENT
 .TP
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-s \ SERVER\fR,\fB \ \-\-server\fB= SERVER
 configuration server device name
 .TP
-.B  \-d\fP,\fB  \-\-datasources
+.B \-d\fP,\fB  \-\-datasources
 perform operation on datasources
 .TP
-.B  \-m\fP,\fB  \-\-mandatory
+.B \-m\fP,\fB  \-\-mandatory
 make use mandatory components as well
 .TP
-.B  \-p\fP,\fB  \-\-private
-make use private components, i.e. starting with ‘__’
+.B \-p\fP,\fB  \-\-private
+make use private components, i.e. starting with \(aq__\(aq
 .TP
-.B  \-n\fP,\fB  \-\-no\-newlines
+.B \-n\fP,\fB  \-\-no\-newlines
 split result with space characters
 .TP
-.B  \-f\fP,\fB  \-\-force
+.B \-f\fP,\fB  \-\-force
 do not ask
 .UNINDENT
 .UNINDENT
diff --git a/man/nxscreate.1 b/man/nxscreate.1
index 1d2c1e3f..6b9f17f7 100644
--- a/man/nxscreate.1
+++ b/man/nxscreate.1
@@ -1,5 +1,8 @@
 .\" Man page generated from reStructuredText.
 .
+.TH "NXSCREATE" "1" "Jan 16, 2024" "3.61" "NXSTools"
+.SH NAME
+nxscreate \- create NeXus Configuration component
 .
 .nr rst2man-indent-level 0
 .
@@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "NXSCREATE" "1" "Jan 11, 2024" "3.60" "NXSTools"
-.SH NAME
-nxscreate \- create NeXus Configuration component
 .SH DESCRIPTION
 .sp
 The nxscreate program allows one to create simple datasources and components.
@@ -66,7 +66,7 @@ with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .UNINDENT
@@ -75,7 +75,7 @@ default <server> is taken from Tango DB
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-v \ DEVICE\fR,\fB \ \-\-device\-prefix\fB= DEVICE
@@ -87,7 +87,7 @@ first index (mandatory w/o <name1>)
 .BI \-l \ LAST\fR,\fB \ \-\-last\fB= LAST
 last index (mandatory w/o <name1>)
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing datasources
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -99,11 +99,11 @@ file prefix, i.e. counter
 .BI \-s \ DSOURCE\fR,\fB \ \-\-datasource\-prefix\fB= DSOURCE
 datasource prefix, i.e. counter (useful for avoiding duplicated datasource names)
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
-.B  \-m\fP,\fB  \-\-minimal_device
-device name without first ‘0’
+.B \-m\fP,\fB  \-\-minimal_device
+device name without first \(aq0\(aq
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
 configuration server device name
@@ -143,11 +143,11 @@ with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .IP \(bu 2
-default <datasource> is ‘exp_mot’
+default <datasource> is \(aqexp_mot\(aq
 .IP \(bu 2
 default <host>, <port> are taken from <server>
 .UNINDENT
@@ -156,7 +156,7 @@ default <host>, <port> are taken from <server>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-v \ DEVICE\fR,\fB \ \-\-device\-prefix\fB= DEVICE
@@ -175,7 +175,7 @@ tango attribute name
 datasource\-prefix (useful for avoiding duplicated
 datasource names)
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing datasources
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -190,7 +190,7 @@ tango host name
 .BI \-t \ PORT\fR,\fB \ \-\-port\fB= PORT
 tango host port
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
 .BI \-g \ GROUP\fR,\fB \ \-\-group\fB= GROUP
@@ -241,11 +241,11 @@ with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .IP \(bu 2
-default <datasource> is ‘exp_mot’
+default <datasource> is \(aqexp_mot\(aq
 .IP \(bu 2
 default <host>, <port> are taken from <server>
 .UNINDENT
@@ -254,7 +254,7 @@ default <host>, <port> are taken from <server>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-v \ DEVICE\fR,\fB \ \-\-device\fB= DEVICE
@@ -275,11 +275,11 @@ tango host name
 .BI \-t \ PORT\fR,\fB \ \-\-port\fB= PORT
 tango host port
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
-.B  \-n\fP,\fB  \-\-no\-group
-don’t create common group with a name of datasource
+.B \-n\fP,\fB  \-\-no\-group
+don\(aqt create common group with a name of datasource
 prefix
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
@@ -321,7 +321,7 @@ with \-d <directory>: datasources are created on the local filesystem
 .IP \(bu 2
 without \-b or \-d <directory>: run in the test mode
 .IP \(bu 2
-default <inputFile> is ‘/online_dir/online.xml’
+default <inputFile> is \(aq/online_dir/online.xml\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .UNINDENT
@@ -332,19 +332,19 @@ default <server> is taken from Tango DB
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store components in Configuration Server database
 .TP
-.B  \-t\fP,\fB  \-\-noclientlike
+.B \-t\fP,\fB  \-\-noclientlike
 set motor tango datasources to be non __CLIENT__ like
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
 output directory where datasources will be saved
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
@@ -359,7 +359,7 @@ external configuration server
 .BI \-p \ XMLPACKAGE\fR,\fB \ \-\-xml\-package\fB= XMLPACKAGE
 xml template package
 .TP
-.B  \-\-verbose
+.B \-\-verbose
 printout verbose mode
 .UNINDENT
 .UNINDENT
@@ -399,7 +399,7 @@ with \-d <directory>: datasources are created on the local filesystem
 .IP \(bu 2
 without \-b or \-d <directory>: run in the test mode
 .IP \(bu 2
-default <channel> is ‘ALL’
+default <channel> is \(aqALL\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .IP \(bu 2
@@ -412,19 +412,19 @@ default <pool> is taken from Tango DB
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store components in Configuration Server database
 .TP
-.B  \-t\fP,\fB  \-\-noclientlike
+.B \-t\fP,\fB  \-\-noclientlike
 set motor tango datasources to be non __CLIENT__ like
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
 output directory where datasources will be saved
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
@@ -470,15 +470,15 @@ nxscreate onlinecp [options] inputFile
 .UNINDENT
 .INDENT 0.0
 .IP \(bu 2
-without ‘\-c <component>’: show a list of possible components
+without \(aq\-c <component>\(aq: show a list of possible components
 .IP \(bu 2
 with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
-default <inputFile> is ‘/online_dir/online.xml’
+default <inputFile> is \(aq/online_dir/online.xml\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .UNINDENT
@@ -487,7 +487,7 @@ default <server> is taken from Tango DB
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-c \ COMPONENT\fR,\fB \ \-\-component\fB= COMPONENT
@@ -509,13 +509,13 @@ tango host name
 .BI \-w \ PORT\fR,\fB \ \-\-port \ PORT
 tango host port
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing component
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -570,24 +570,24 @@ nxscreate stdcomp [options] [name1 value1 [name2 value2] ...]
 .UNINDENT
 .INDENT 0.0
 .IP \(bu 2
-without ‘\-t <type>’: show a list of possible component types
+without \(aq\-t <type>\(aq: show a list of possible component types
 .IP \(bu 2
-with ‘\-t <type>  and without \-c <component>: show a list of component variables for the given component type
+with \(aq\-t <type>  and without \-c <component>: show a list of component variables for the given component type
 .IP \(bu 2
 with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
-[name1 value1 [name2 value2] …] sequence  defines component variable values
+[name1 value1 [name2 value2] ...] sequence  defines component variable values
 .UNINDENT
 .INDENT 0.0
 .TP
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-c \ COMPONENT\fR,\fB \ \-\-component\fB= COMPONENT
@@ -602,16 +602,16 @@ configuration server device name
 .BI \-p \ XMLPACKAGE\fR,\fB \ \-\-xml\-package\fB= XMLPACKAGE
 xml template package
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing component
 .TP
-.B  \-m\fP,\fB  \-\-mandatory
+.B \-m\fP,\fB  \-\-mandatory
 set the component as mandatory
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -661,7 +661,7 @@ with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .IP \(bu 2
@@ -671,14 +671,14 @@ default <type> is NX_FLOAT
 .IP \(bu 2
 default <chunk> is SCALAR
 .IP \(bu 2
-default <nexuspath> is “/$var.entryname#’scan’$var.serialno:NXentry/instrument/collection/”
+default <nexuspath> is "/$var.entryname#\(aqscan\(aq$var.serialno:NXentry/instrument/collection/"
 .UNINDENT
 .INDENT 0.0
 .TP
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-v \ DEVICE\fR,\fB \ \-\-device\-prefix\fB= DEVICE
@@ -690,7 +690,7 @@ first index
 .BI \-l \ LAST\fR,\fB \ \-\-last\fB= LAST
 last index
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing components
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -714,10 +714,10 @@ nexus type of the field
 .BI \-u \ UNITS\fR,\fB \ \-\-units\fB= UNITS
 nexus units of the field
 .TP
-.B  \-k\fP,\fB  \-\-links
+.B \-k\fP,\fB  \-\-links
 create datasource links
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store components in Configuration Server database
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
@@ -726,8 +726,8 @@ configuration server device name
 .BI \-c \ CHUNK\fR,\fB \ \-\-chunk\fB= CHUNK
 chunk format, i.e. SCALAR, SPECTRUM, IMAGE
 .TP
-.B  \-m\fP,\fB  \-\-minimal_device
-device name without first ‘0’
+.B \-m\fP,\fB  \-\-minimal_device
+device name without first \(aq0\(aq
 .UNINDENT
 .UNINDENT
 .SS Example
@@ -739,8 +739,8 @@ device name without first ‘0’
 nxscreate comp counter
 nxscreate comp \-f1 \-l3 \-v exp_c \-b
 nxscreate comp lambda \-d /home/user/xmldir/
-nxscreate comp \-n \(dq/\e$var.entryname#\(aqscan\(aq\e$var.serialno:NXentry/instrument/sis3302:NXdetector/collection:NXcollection/\(aq \-v sis3302_1_roi \-f1 \-l4  \-g STEP \-t NX_FLOAT64 \-k \-b \-m
-nxscreate comp \-n \(dq/\e$var.entryname#\(aqscan\(aq\e$var.serialno:NXentry/instrument/eh1_mca01:NXdetector/data\(dq eh1_mca01 \-g STEP \-t NX_FLOAT64 \-i \-b \-c SPECTRUM
+nxscreate comp \-n "/\e$var.entryname#\(aqscan\(aq\e$var.serialno:NXentry/instrument/sis3302:NXdetector/collection:NXcollection/\(aq \-v sis3302_1_roi \-f1 \-l4  \-g STEP \-t NX_FLOAT64 \-k \-b \-m
+nxscreate comp \-n "/\e$var.entryname#\(aqscan\(aq\e$var.serialno:NXentry/instrument/eh1_mca01:NXdetector/data" eh1_mca01 \-g STEP \-t NX_FLOAT64 \-i \-b \-c SPECTRUM
 .ft P
 .fi
 .UNINDENT
@@ -772,22 +772,22 @@ default <port> is 5000
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-l\fP,\fB  \-\-list
+.B \-l\fP,\fB  \-\-list
 list modules of the given node
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing components
 .TP
-.B  \-a\fP,\fB  \-\-can\-fail
+.B \-a\fP,\fB  \-\-can\-fail
 can fail strategy flag
 .TP
-.B  \-q\fP,\fB  \-\-strict
+.B \-q\fP,\fB  \-\-strict
 NeXus strict group types i.e. use NXcollection if not defined
 .TP
-.B  \-w\fP,\fB  \-\-node\-in\-sample
+.B \-w\fP,\fB  \-\-node\-in\-sample
 Store node groups in the sample group
 .TP
 .BI \-c \ COMPONENT\fR,\fB \ \-\-component \ COMPONENT
@@ -808,18 +808,18 @@ sample name
 .BI \-k \ MEANINGS\fR,\fB \ \-\-links \ MEANINGS
 NXlog links of physical quantities to sensors
 separated by comman. Default:
-‘temperature,magnetic_field,electric_field,stress_field,pressure’
+\(aqtemperature,magnetic_field,electric_field,stress_field,pressure\(aq
 .TP
 .BI \-v \ ENVIRONMENTS\fR,\fB \ \-\-environments \ ENVIRONMENTS
 NXenvironment links of physical quantities separated
-by comman. Default: ‘temperature,magnetic_field’
+by comman. Default: \(aqtemperature,magnetic_field\(aq
 .TP
 .BI \-f \ FIRST\fR,\fB \ \-\-first \ FIRST
 first linked targets separated by comman
 .TP
 .BI \-z \ TRANSATTRS\fR,\fB \ \-\-transformation\-attributes \ TRANSATTRS
-a JSON dictionary with transformation parameters i.e, “transformation_type”, “vector”, “depends_on”. Default:
-{“rotation_z”:{“transformation_type”:”rotation”,”vector”:[0,\-1,0]}}
+a JSON dictionary with transformation parameters i.e, "transformation_type", "vector", "depends_on". Default:
+{"rotation_z":{"transformation_type":"rotation","vector":[0,\-1,0]}}
 .TP
 .BI \-p \ XMLPACKAGE\fR,\fB \ \-\-xml\-package \ XMLPACKAGE
 xml template package
@@ -839,10 +839,10 @@ json configuration file
 .BI \-x \ FILE\fR,\fB \ \-\-file\-prefix \ FILE
 file prefix, i.e. counter
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store components in Configuration Server database
 .TP
 .BI \-u \ HOST\fR,\fB \ \-\-host \ HOST
@@ -897,7 +897,7 @@ nxscreate compare [\-h] [\-n] online_file [online_file]
 .UNINDENT
 .INDENT 0.0
 .IP \(bu 2
-default: second <online_file> is ‘/online_dir/online.xml’ if only file is given
+default: second <online_file> is \(aq/online_dir/online.xml\(aq if only file is given
 .UNINDENT
 .INDENT 0.0
 .TP
@@ -907,10 +907,10 @@ online_file    online.xml files
 .B optional arguments:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .UNINDENT
 .UNINDENT
diff --git a/man/nxsdata.1 b/man/nxsdata.1
index 3c428d3a..b7bffa44 100644
--- a/man/nxsdata.1
+++ b/man/nxsdata.1
@@ -1,5 +1,8 @@
 .\" Man page generated from reStructuredText.
 .
+.TH "NXSDATA" "1" "Jan 16, 2024" "3.61" "NXSTools"
+.SH NAME
+nxsdata \- run NeXus Data Writer
 .
 .nr rst2man-indent-level 0
 .
@@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "NXSDATA" "1" "Jan 11, 2024" "3.60" "NXSTools"
-.SH NAME
-nxsdata \- run NeXus Data Writer
 .SH DESCRIPTION
 .sp
 The nxsdata program is a command\-line interface to Nexus Data Tango Server.
@@ -77,7 +77,7 @@ get lists of tango data servers from the current tango host
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-s \ SERVER\fR,\fB \ \-\-server\fB= SERVER
diff --git a/man/nxsetup.1 b/man/nxsetup.1
index 831d35b7..e39282ea 100644
--- a/man/nxsetup.1
+++ b/man/nxsetup.1
@@ -1,5 +1,8 @@
 .\" Man page generated from reStructuredText.
 .
+.TH "NXSETUP" "1" "Jan 16, 2024" "3.61" "NXSTools"
+.SH NAME
+nxsetup \- set NeXDaTaS Tango Server environment up
 .
 .nr rst2man-indent-level 0
 .
@@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "NXSETUP" "1" "Jan 11, 2024" "3.60" "NXSTools"
-.SH NAME
-nxsetup \- set NeXDaTaS Tango Server environment up
 .SH DESCRIPTION
 .sp
 The nxsetup is is a command\-line setup tool for NeXus servers.  It allows to set NXSDataWriter, NXSConfigServer and NXSRecSelector in Tango environment, restart them or change property names.
@@ -72,10 +72,10 @@ optional arguments:
                         the database name ( default: \(aqnxsconfig\(aq)
   \-j CSJSON, \-\-csjson CSJSON
                         JSONSettings for the configuration server. ( default:
-                        \(aq{\(dqhost\(dq: \(dqlocalhost\(dq,\(dqdb\(dq: <DBNAME>, \(dquse_unicode\(dq:
-                        true\(aq, \(dqread_default_file\(dq: <MY_CNF_FILE>}\(aq where
-                        <MY_CNF_FILE> stays for \(dq/home/<USER>/.my.cnf\(dq or
-                        \(dq/var/lib/nxsconfigserver/.my.cnf\(dq )
+                        \(aq{"host": "localhost","db": <DBNAME>, "use_unicode":
+                        true\(aq, "read_default_file": <MY_CNF_FILE>}\(aq where
+                        <MY_CNF_FILE> stays for "/home/<USER>/.my.cnf" or
+                        "/var/lib/nxsconfigserver/.my.cnf" )
 
  examples:
        nxsetup set
@@ -207,9 +207,9 @@ optional arguments:
 
 
  examples:
-       nxsetup change\-prop \-n ClientRecordKeys \-t \-w \(dq[\e\(dqphoibos_scan_command\e\(dq,\e\(dqphoibos_scan_comment\e\(dq]\(dq NXSRecSelector/r228
-       nxsetup change\-prop \-n DefaultPreselectedComponents \-w \(dq[\e\(dqpinhole1\e\(dq,\e\(dqslit2\e\(dq]\(dq NXSRecSelector/r228
-       nxsetup change\-prop \-n StartDsPath \-w \(dq[\e\(dq/usr/bin\e\(dq,\e\(dq/usr/lib/tango\e\(dq]\(dq Starter
+       nxsetup change\-prop \-n ClientRecordKeys \-t \-w "[\e"phoibos_scan_command\e",\e"phoibos_scan_comment\e"]" NXSRecSelector/r228
+       nxsetup change\-prop \-n DefaultPreselectedComponents \-w "[\e"pinhole1\e",\e"slit2\e"]" NXSRecSelector/r228
+       nxsetup change\-prop \-n StartDsPath \-w "[\e"/usr/bin\e",\e"/usr/lib/tango\e"]" Starter
 .ft P
 .fi
 .UNINDENT
diff --git a/man/nxsfileinfo.1 b/man/nxsfileinfo.1
index 9d18a09b..dff73b4e 100644
--- a/man/nxsfileinfo.1
+++ b/man/nxsfileinfo.1
@@ -1,5 +1,8 @@
 .\" Man page generated from reStructuredText.
 .
+.TH "NXSFILEINFO" "1" "Jan 16, 2024" "3.61" "NXSTools"
+.SH NAME
+nxsfileinfo \- show metadata of the NeXus file
 .
 .nr rst2man-indent-level 0
 .
@@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "NXSFILEINFO" "1" "Jan 11, 2024" "3.60" "NXSTools"
-.SH NAME
-nxsfileinfo \- show metadata of the NeXus file
 .SH DESCRIPTION
 .sp
 The nxsfileinfo program show metadata from nexus files
@@ -65,13 +65,13 @@ nxsfileinfo general <nexus_file_name>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .UNINDENT
 .UNINDENT
@@ -105,28 +105,28 @@ Usage: nxsfileinfo field [options]  <file_name>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-c \ HEADERS\fR,\fB \ \-\-columns\fB= HEADERS
 names of column to be shown (separated by commas without spaces). The possible names are: depends_on, dtype, full_path, nexus_path, nexus_type, shape, source, source_name, source_type, strategy, trans_type, trans_offset, trans_vector, units, value
 .TP
 .BI \-f \ FILTERS\fR,\fB \ \-\-filters\fB= FILTERS
-full_path filters (separated by commas without spaces). Default: ‘*’. E.g. ‘\fI:NXsample/\fP’
+full_path filters (separated by commas without spaces). Default: \(aq*\(aq. E.g. \(aq\fI:NXsample/\fP\(aq
 .TP
 .BI \-v \ VALUES\fR,\fB \ \-\-values\fB= VALUES
 field names which value should be stored (separated by commas without spaces). Default: depends_on
 .TP
-.B  \-g\fP,\fB  \-\-geometry
+.B \-g\fP,\fB  \-\-geometry
 show fields with geometry full_path filters, i.e. \fI:NXtransformations/\fP,*/depends_on. It works only when \-f is not defined
 .TP
-.B  \-s\fP,\fB  \-\-source
+.B \-s\fP,\fB  \-\-source
 show datasource parameters
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .UNINDENT
 .UNINDENT
@@ -162,14 +162,14 @@ Usage: nxsfileinfo metadata [options] <file_name>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-a \ ATTRS\fR,\fB \ \-\-attributes \ ATTRS
 names of field or group attributes to be show (separated by commas without spaces). The default takes all attributes
 .TP
 .BI \-n \ NATTRS\fR,\fB \ \-\-hidden\-attributes \ NATTRS
-names of field or group attributes to be hidden (separated by commas without spaces). The default: ‘nexdatas_source,nexdatas_strategy’
+names of field or group attributes to be hidden (separated by commas without spaces). The default: \(aqnexdatas_source,nexdatas_strategy\(aq
 .TP
 .BI \-v \ VALUES\fR,\fB \ \-\-values \ VALUES
 field names of more dimensional datasets which value should be shown (separated by commas without spaces)
@@ -185,25 +185,25 @@ access group names separated by commas. Default is
 {beamtimeid}\-clbt,{beamtimeId}\-dmgt,{beamline}dmgt
 .TP
 .BI \-g \ GROUP_POSTFIX\fR,\fB \ \-\-group\-postfix \ GROUP_POSTFIX
-postfix to be added to NeXus group name. The default: ‘Parameters’
+postfix to be added to NeXus group name. The default: \(aqParameters\(aq
 .TP
 .BI \-t \ ENTRYCLASSES\fR,\fB \ \-\-entry\-classes \ ENTRYCLASSES
-names of entry NX_class to be shown (separated by commas without spaces). If name is ‘’ all groups are shown. The default: ‘NXentry’
+names of entry NX_class to be shown (separated by commas without spaces). If name is \(aq\(aq all groups are shown. The default: \(aqNXentry\(aq
 .TP
 .BI \-e \ ENTRYNAMES\fR,\fB \ \-\-entry\-names \ ENTRYNAMES
-names of entry groups to be shown (separated by commas without spaces). If name is ‘’ all groups are shown. The default: ‘’
+names of entry groups to be shown (separated by commas without spaces). If name is \(aq\(aq all groups are shown. The default: \(aq\(aq
 .TP
-.B  \-m\fP,\fB  \-\-raw\-metadata
+.B \-m\fP,\fB  \-\-raw\-metadata
 do not store NXentry as scientificMetadata
 .TP
-.B  \-\-add\-empty\-units
+.B \-\-add\-empty\-units
 add empty units for fields without units
 .TP
-.B  \-\-oned
+.B \-\-oned
 add 1d values to scientificMetadata
 .TP
 .BI \-\-max\-oned\-size \ MAXONEDSIZE
-add min and max (or first and last) values of 1d records to scientificMetadata if its size excides –max\-oned\-size value
+add min and max (or first and last) values of 1d records to scientificMetadata if its size excides \-\-max\-oned\-size value
 .TP
 .BI \-p \ PID\fR,\fB \ \-\-pid \ PID
 dataset pid
@@ -211,26 +211,26 @@ dataset pid
 .BI \-i \ BEAMTIMEID\fR,\fB \ \-\-beamtimeid \ BEAMTIMEID
 beamtime id
 .TP
-.B  \-u\fP,\fB  \-\-pid\-with\-uuid
+.B \-u\fP,\fB  \-\-pid\-with\-uuid
 generate pid with uuid
 .TP
-.B  \-f\fP,\fB  \-\-pid\-with\-filename
+.B \-f\fP,\fB  \-\-pid\-with\-filename
 generate pid with file name
 .TP
 .BI \-q \ TECHNIQUES\fR,\fB \ \-\-techniques \ TECHNIQUES
 names of techniques (separated by commas without
-spaces).The default: ‘’
+spaces).The default: \(aq\(aq
 .TP
 .BI \-j \ SAMPLEID\fR,\fB \ \-\-sample\-id \ SAMPLEID
 sampleId
 .TP
-.B  \-\-sample\-id\-from\-name
+.B \-\-sample\-id\-from\-name
 get sampleId from the sample name
 .TP
 .BI \-y \ INSTRUMENTID\fR,\fB \ \-\-instrument\-id \ INSTRUMENTID
 instrumentId
 .TP
-.B  \-\-raw\-instrument\-id
+.B \-\-raw\-instrument\-id
 leave raw instrument id
 .TP
 .BI \-b \ BEAMTIMEMETA\fR,\fB \ \-\-beamtime\-meta \ BEAMTIMEMETA
@@ -255,24 +255,24 @@ or a text file list to re\-arrange metadata
 .BI \-\-copy\-map\-field \ COPYMAPFIELD
 field json or yaml with map {output: input} or [[output, input],]
 or a text file list to re\-arrange metadata. The default:
-‘scientificMetadata.nxsfileinfo_parameters.copymap.value’
+\(aqscientificMetadata.nxsfileinfo_parameters.copymap.value\(aq
 .TP
-.B  \-\-copy\-map\-error
+.B \-\-copy\-map\-error
 Raise an error when the copy map file does not exist
 .TP
 .BI \-\-copy\-map\-file \ COPYMAPFILE
-json or yaml file containing the copy map, see also –copy\-map
+json or yaml file containing the copy map, see also \-\-copy\-map
 .TP
 .BI \-f \ FILEFORMAT\fR,\fB \ \-\-file\-format \ FILEFORMAT
-input file format, e.g. ‘nxs’. Default is defined by the file extension
+input file format, e.g. \(aqnxs\(aq. Default is defined by the file extension
 .TP
-.B  \-\-proposal\-as\-proposal
+.B \-\-proposal\-as\-proposal
 Store the DESY proposal as the SciCat proposal
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .UNINDENT
 .UNINDENT
@@ -310,7 +310,7 @@ Usage: nxsfileinfo origdatablock [options] <scan_name>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-p \ PID\fR,\fB \ \-\-pid \ PID
@@ -328,13 +328,13 @@ access group names separated by commas. Default is
 .TP
 .BI \-s \ SKIP\fR,\fB \ \-\-skip \ SKIP
 filters for files to be skipped (separated by commas
-without spaces). Default: ‘’. E.g.
-‘\fI\&.pyc,\fP~’
+without spaces). Default: \(aq\(aq. E.g.
+\(aq\fI\&.pyc,\fP~\(aq
 .TP
 .BI \-a \ ADD\fR,\fB \ \-\-add \ ADD
 list of files to be added (separated by commas
-without spaces). Default: ‘’. E.g.
-‘scan1.nxs,scan2.nxs’
+without spaces). Default: \(aq\(aq. E.g.
+\(aqscan1.nxs,scan2.nxs\(aq
 .TP
 .BI \-r \ RELPATH\fR,\fB \ \-\-relative\-path \ RELPATH
 relative path to the scan files
@@ -373,7 +373,7 @@ Usage: nxsfileinfo sample [options]
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-s \ SAMPLEID\fR,\fB \ \-\-sample\-id \ SAMPLEID
@@ -391,7 +391,7 @@ sample description
 .BI \-r \ OWNER\fR,\fB \ \-\-owner \ OWNER
 sample owner
 .TP
-.B  \-p\fP,\fB  \-\-published
+.B \-p\fP,\fB  \-\-published
 sample is published
 .TP
 .BI \-w \ OWNERGROUP\fR,\fB \ \-\-owner\-group \ OWNERGROUP
@@ -442,7 +442,7 @@ Usage: nxsfileinfo instrument [options]
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-p \ PID\fR,\fB \ \-\-pid \ PID
@@ -505,7 +505,7 @@ Usage: nxsfileinfo attachment [options] <image_file|scan_file>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-a \ ATID\fR,\fB \ \-\-id \ ATID
@@ -532,13 +532,13 @@ amtimeId}\-dmgt,{beamtimeid}\-clbt,{beamtimeId}\-part,{be
 amline}dmgt,{beamline}staff
 .TP
 .BI \-f \ FILEFORMAT\fR,\fB \ \-\-file\-format \ FILEFORMAT
-input file format, e.g. ‘nxs’. Default is defined by
+input file format, e.g. \(aqnxs\(aq. Default is defined by
 the file extension
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .TP
 .BI \-x \ CHMOD\fR,\fB \ \-\-chmod \ CHMOD
@@ -554,7 +554,7 @@ axis/axes data name(s) separated by comma
 a JSON dictionary with scan\-command axes to override,
 axis/axes data name(s) separated by comma for
 detectors and by semicolon for more plots. Default:
-{“hklscan”:”h;k;l”,”qscan”:”qz;qpar”}
+{"hklscan":"h;k;l","qscan":"qz;qpar"}
 .TP
 .BI \-m \ FRAME\fR,\fB \ \-\-frame \ FRAME
 a frame number for if more 2D images in the data
@@ -568,15 +568,15 @@ x\-axis label
 .BI \-\-ylabel \ YLABEL
 y\-axis label
 .TP
-.B  \-u\fP,\fB  \-\-override
+.B \-u\fP,\fB  \-\-override
 override NeXus entries by script parameters
 .TP
-.B  \-\-parameters\-in\-caption
+.B \-\-parameters\-in\-caption
 add plot paramters to the caption
 .TP
 .BI \-n \ NEXUSPATH\fR,\fB \ \-\-nexus\-path \ NEXUSPATH
 base nexus path to element to be shown.
-If th path is ‘’ the default group is shown. The default: ‘’
+If th path is \(aq\(aq the default group is shown. The default: \(aq\(aq
 .TP
 .BI \-o \ OUTPUT\fR,\fB \ \-\-output \ OUTPUT
 output scicat metadata file
@@ -614,28 +614,28 @@ Usage: nxsfileinfo groupmetadata [options] [groupname]
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-p \ PID\fR,\fB \ \-\-pid \ PID
 dataset pid
 .TP
-.B  \-\-raw
+.B \-\-raw
 raw dataset type
 .TP
 .BI \-i \ BEAMTIMEID\fR,\fB \ \-\-beamtimeid
 BEAMTIMEID beamtime id
 .TP
-.B  \-s\fP,\fB  \-\-skip\-group\-datablock
+.B \-s\fP,\fB  \-\-skip\-group\-datablock
 skip group datablock
 .TP
-.B  \-w\fP,\fB  \-\-allow\-duplication
+.B \-w\fP,\fB  \-\-allow\-duplication
 allow to merge metadata with duplicated pid
 .TP
-.B  \-q\fP,\fB  \-\-raw
+.B \-q\fP,\fB  \-\-raw
 raw dataset type
 .TP
-.B  \-f\fP,\fB  \-\-write\-files
+.B \-f\fP,\fB  \-\-write\-files
 write output to files
 .TP
 .BI \-k \ SCICATVERSION\fR,\fB \ \-\-scicat\-version \ SCICATVERSION
@@ -648,7 +648,7 @@ json metadata file mod bits, e.g. 0o662
 json or yaml map of {output: input} or [[output,
 input],] or a text file list to re\-arrange metadata
 .TP
-.B  \-e\fP,\fB  \-\-group\-map\-error
+.B \-e\fP,\fB  \-\-group\-map\-error
 Raise an error when the group map file does not exist
 .TP
 .BI \-r \ GROUPMAPFILE\fR,\fB \ \-\-group\-map\-file \ GROUPMAPFILE
diff --git a/man/nxstools.1 b/man/nxstools.1
index 5be9041d..7b4eb471 100644
--- a/man/nxstools.1
+++ b/man/nxstools.1
@@ -1,5 +1,8 @@
 .\" Man page generated from reStructuredText.
 .
+.TH "NXSTOOLS" "1" "Jan 16, 2024" "3.61" "NXSTools"
+.SH NAME
+nxstools \- nxstools Documentation
 .
 .nr rst2man-indent-level 0
 .
@@ -27,9 +30,6 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "NXSTOOLS" "1" "Jan 11, 2024" "3.60" "NXSTools"
-.SH NAME
-nxstools \- nxstools Documentation
 .sp
 \fI\%\fP
 \fI\%\fP
@@ -235,12 +235,12 @@ nexus_file            nexus files to be collected
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-c \ COMPRESSION\fR,\fB \ \-\-compression \ COMPRESSION
 deflate compression rate from 0 to 9 (default: 2) or
-<filterid>:opt1,opt2,… e.g. \-c 32008:0,2 for
+<filterid>:opt1,opt2,... e.g. \-c 32008:0,2 for
 bitshuffle with lz4
 .TP
 .BI \-p \ PATH\fR,\fB \ \-\-path \ PATH
@@ -249,33 +249,33 @@ nexus path for the output field, e.g.
 .TP
 .BI \-i \ INPUTFILES\fR,\fB \ \-\-input_files \ INPUTFILES
 input data files defined with a pattern or separated
-by ‘,’ e.g.’scan_%05d.tif:0:100’
+by \(aq,\(aq e.g.\(aqscan_%05d.tif:0:100\(aq
 .TP
 .BI \-\-separator \ SEPARATOR
-input data files separator (default: ‘,’)
+input data files separator (default: \(aq,\(aq)
 .TP
 .BI \-\-dtype \ DATATYPE
 datatype of input data \- only for raw data, e.g.
-‘uint8’
+\(aquint8\(aq
 .TP
 .BI \-\-shape \ SHAPE
 shape of input data \- only for raw data, e.g.
-‘[4096,2048]’
+\(aq[4096,2048]\(aq
 .TP
-.B  \-s\fP,\fB  \-\-skip_missing
+.B \-s\fP,\fB  \-\-skip_missing
 skip missing files
 .TP
-.B  \-r\fP,\fB  \-\-replace_nexus_file
+.B \-r\fP,\fB  \-\-replace_nexus_file
 if it is set the old file is not copied into a file
 with .__nxscollect__old__* extension
 .TP
-.B  \-\-test
+.B \-\-test
 execute in the test mode
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader/writer
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader/writer
 .UNINDENT
 .UNINDENT
@@ -316,7 +316,7 @@ nexus_file_path       nexus files with the nexus directory to place the link
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-n \ NAME\fR,\fB \ \-\-name \ NAME
@@ -325,17 +325,17 @@ link name
 .BI \-t \ TARGET\fR,\fB \ \-\-target \ TARGET
 link target with the file name if external
 .TP
-.B  \-r\fP,\fB  \-\-replace_nexus_file
+.B \-r\fP,\fB  \-\-replace_nexus_file
 if it is set the old file is not copied into a file
 with .__nxscollect__old__* extension
 .TP
-.B  \-\-test
+.B \-\-test
 execute in the test mode
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader/writer
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .UNINDENT
 .UNINDENT
@@ -379,116 +379,116 @@ Options:
 .INDENT 3.5
 .INDENT 0.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-t \ DTYPE\fR,\fB \ \-\-dtype \ DTYPE
-datatype of the VDS field, e.g. ‘uint8’
+datatype of the VDS field, e.g. \(aquint8\(aq
 .TP
 .BI \-s \ SHAPE\fR,\fB \ \-\-shape \ SHAPE
-shape of the VDS field, e.g. ‘[U,4096,2048]’ or
-U,4096,2048 where U means span along the field’
+shape of the VDS field, e.g. \(aq[U,4096,2048]\(aq or
+U,4096,2048 where U means span along the field\(aq
 .TP
 .BI \-f \ FILLVALUE\fR,\fB \ \-\-fill\-value \ FILLVALUE
 fill value for the gaps, default is 0
 .TP
 .BI \-e \ TARGETFIELDS\fR,\fB \ \-\-target\-fields \ TARGETFIELDS
 external fields with their NeXus file paths defined
-with a pattern or separated by ‘,’
-e.g.’scan_123/lambda_%05d.nxs://entry/data/\fI\%data:0:3\fP’
+with a pattern or separated by \(aq,\(aq
+e.g.\(aqscan_123/lambda_%05d.nxs://entry/data/\fI\%data:0:3\fP\(aq
 .TP
 .BI \-\-separator \ SEPARATOR
-input data files separator (default: ‘,’)
+input data files separator (default: \(aq,\(aq)
 .TP
 .BI \-p \ SHAPES\fR,\fB \ \-\-shapes \ SHAPES
 shapes in the VDS layout hyperslab for the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g.’,,;,300,;,600,0’ where an empty coordinate
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g.\(aq,,;,300,;,600,0\(aq where an empty coordinate
 means 0
 .TP
 .BI \-o \ OFFSETS\fR,\fB \ \-\-offsets \ OFFSETS
 offsets in the VDS layout hyperslab for the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g.’,,;,300,;,600,0’ where an empty coordinate
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g.\(aq,,;,300,;,600,0\(aq where an empty coordinate
 means 0
 .TP
 .BI \-b \ BLOCKS\fR,\fB \ \-\-blocks \ BLOCKS
 block sizes in the VDS layout hyperslab for the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g. ‘,256,512;,256,512;,256,512’ where an
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g. \(aq,256,512;,256,512;,256,512\(aq where an
 empty coordinate means 1
 .TP
 .BI \-c \ COUNTS\fR,\fB \ \-\-counts \ COUNTS
 count numbers in the VDS layout hyperslabfor the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g. ‘,1,1;,1,1;,1,1’ where an empty coordinate
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g. \(aq,1,1;,1,1;,1,1\(aq where an empty coordinate
 means span along the layout
 .TP
 .BI \-d \ STRIDES\fR,\fB \ \-\-strides \ STRIDES
 stride sizes in the VDS layout hyperslabfor the
 corresponding target fields with coordinates sepatated
-by ‘,’ and different fields separated by ‘;’, ‘:’ or
-spaces e.g. ‘,,;,,;,,’ where an empty coordinate means
+by \(aq,\(aq and different fields separated by \(aq;\(aq, \(aq:\(aq or
+spaces e.g. \(aq,,;,,;,,\(aq where an empty coordinate means
 1
 .TP
 .BI \-l \ SLICES\fR,\fB \ \-\-slices \ SLICES
 mapping slices in the VDS layoutfor the corresponding
-target fields with coordinates sepatated by ‘,’ and
-different fields separated by ‘;’ or spaces e.g.
-‘:,0:50,: :,50:100,:’ where U means span along the
+target fields with coordinates sepatated by \(aq,\(aq and
+different fields separated by \(aq;\(aq or spaces e.g.
+\(aq:,0:50,: :,50:100,:\(aq where U means span along the
 layout
 .TP
 .BI \-P \ TARGETSHAPES\fR,\fB \ \-\-target\-shapes \ TARGETSHAPES
-field shapes with coordinates sepatated by ‘,’ and
-different fields separated by ‘;’, ‘:’ or spaces
-e.g.’,,;,300,;,600,0’
+field shapes with coordinates sepatated by \(aq,\(aq and
+different fields separated by \(aq;\(aq, \(aq:\(aq or spaces
+e.g.\(aq,,;,300,;,600,0\(aq
 .TP
 .BI \-O \ TARGETOFFSETS\fR,\fB \ \-\-target\-offsets \ TARGETOFFSETS
 offsets in the view hyperslab of target fieldswith
-coordinates sepatated by ‘,’ and different fields
-separated by ‘;’, ‘:’ or spaces e.g.’,,;,300,;,600,0’
+coordinates sepatated by \(aq,\(aq and different fields
+separated by \(aq;\(aq, \(aq:\(aq or spaces e.g.\(aq,,;,300,;,600,0\(aq
 where an empty coordinate means 0
 .TP
 .BI \-B \ TARGETBLOCKS\fR,\fB \ \-\-target\-blocks \ TARGETBLOCKS
 block sizes in the view hyperslab of target fields
-with coordinates sepatated by ‘,’ and different fields
-separated by ‘;’, ‘:’ or spaces e.g.
-‘,256,512;,256,512;,256,512’ where an empty coordinate
+with coordinates sepatated by \(aq,\(aq and different fields
+separated by \(aq;\(aq, \(aq:\(aq or spaces e.g.
+\(aq,256,512;,256,512;,256,512\(aq where an empty coordinate
 means 1
 .TP
 .BI \-C \ TARGETCOUNTS\fR,\fB \ \-\-target\-counts \ TARGETCOUNTS
 count numbers in the view hyperslab of target fields
-with coordinates sepatated by ‘,’ and different fields
-separated by ‘;’, ‘:’ or spaces e.g. ‘,1,1;,1,1;,1,1’
+with coordinates sepatated by \(aq,\(aq and different fields
+separated by \(aq;\(aq, \(aq:\(aq or spaces e.g. \(aq,1,1;,1,1;,1,1\(aq
 where an empty coordinate means span along the layout
 .TP
 .BI \-D \ TARGETSTRIDES\fR,\fB \ \-\-target\-strides \ TARGETSTRIDES
 stride sizes numbers in the view hyperslab of target
-fields with coordinates sepatated by ‘,’ and different
-fields separated by ‘;’, ‘:’ or spaces e.g. ‘,,;,,;,,’
+fields with coordinates sepatated by \(aq,\(aq and different
+fields separated by \(aq;\(aq, \(aq:\(aq or spaces e.g. \(aq,,;,,;,,\(aq
 where an empty coordinate means 1
 .TP
 .BI \-L \ TARGETSLICES\fR,\fB \ \-\-target\-slices \ TARGETSLICES
 view slices of target fields with coordinates
-sepatated by ‘,’ and different fields separated by ‘;’
-or spaces e.g. ‘:,0:50,: :,0:50,:’ where U means span
+sepatated by \(aq,\(aq and different fields separated by \(aq;\(aq
+or spaces e.g. \(aq:,0:50,: :,0:50,:\(aq where U means span
 along the layout
 .TP
-.B  \-r\fP,\fB  \-\-replace\-nexus\-file
+.B \-r\fP,\fB  \-\-replace\-nexus\-file
 if it is set the old file is not copied into a file
 with .__nxscollect__old__* extension
 .TP
-.B  \-\-test
+.B \-\-test
 execute in the test mode
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader/writer
 .UNINDENT
 .UNINDENT
@@ -550,43 +550,43 @@ list names of available datasources
 .B list \-r [\-s <config_server>] [\-n]
 list names of available profiles
 .TP
-.B show [\-s <config_server>] [\-m] [\-o <dir>] component_name1 component_name2 …
+.B show [\-s <config_server>] [\-m] [\-o <dir>] component_name1 component_name2 ...
 show components with given names
 .TP
-.B show \-d [\-s <config_server>]  [\-o <dir>] dsource_name1 dsource_name2 …
+.B show \-d [\-s <config_server>]  [\-o <dir>] dsource_name1 dsource_name2 ...
 show datasources with given names
 .TP
-.B show \-r [\-s <config_server>]  [\-o <dir>] profile_name1 profile_name2 …
+.B show \-r [\-s <config_server>]  [\-o <dir>] profile_name1 profile_name2 ...
 show profiles with given names
 .TP
-.B upload [\-s <config_server>] [\-m] [\-i <dir>] [\-f] component_name1 component_name2 …
+.B upload [\-s <config_server>] [\-m] [\-i <dir>] [\-f] component_name1 component_name2 ...
 load components from given files
 .TP
-.B upload \-d [\-s <config_server>]  [\-i <dir>] [\-f] dsource_name1 dsource_name2 …
+.B upload \-d [\-s <config_server>]  [\-i <dir>] [\-f] dsource_name1 dsource_name2 ...
 load datasources from given files
 .TP
-.B upload \-r [\-s <config_server>]  [\-i <dir>] [\-f] profile_name1 profile_name2 …
+.B upload \-r [\-s <config_server>]  [\-i <dir>] [\-f] profile_name1 profile_name2 ...
 load profiles from given files
 .TP
-.B get [\-s <config_server>]  [\-n] component_name1 component_name2 …
+.B get [\-s <config_server>]  [\-n] component_name1 component_name2 ...
 get merged configuration of components
 .TP
-.B delete [\-s <config_server>] [\-f] component_name1 component_name2 …
+.B delete [\-s <config_server>] [\-f] component_name1 component_name2 ...
 delete components with given names
 .TP
-.B delete \-d [\-s <config_server>] [\-f] dsource_name1 dsource_name2 …
+.B delete \-d [\-s <config_server>] [\-f] dsource_name1 dsource_name2 ...
 delete datasources with given names
 .TP
-.B delete \-r [\-s <config_server>] [\-f] profile_name1 profile_name2 …
+.B delete \-r [\-s <config_server>] [\-f] profile_name1 profile_name2 ...
 delete profiles with given names
 .TP
-.B sources [\-s <config_server>] [\-m] [\-n] component_name1 component_name2 …
+.B sources [\-s <config_server>] [\-m] [\-n] component_name1 component_name2 ...
 get a list of component datasources
 .TP
-.B components [\-s <config_server>] [\-n] component_name1 component_name2 …
+.B components [\-s <config_server>] [\-n] component_name1 component_name2 ...
 get a list of dependent components
 .TP
-.B variables [\-s <config_server>] [\-m] [\-n] component_name1 component_name2 …
+.B variables [\-s <config_server>] [\-m] [\-n] component_name1 component_name2 ...
 get a list of component variables
 .TP
 .B data [\-s <config_server>] json_data
@@ -601,44 +601,44 @@ get a list of datasource record names
 .B servers [\-s <config_server/host>] [\-n]
 get lists of configuration servers from the current tango host
 .TP
-.B describe [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 …
+.B describe [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 ...
 show all parameters of given components
 .TP
-.B describe|info \-d [\-s <config_server>] [\-n] dsource_name1 dsource_name2 …
+.B describe|info \-d [\-s <config_server>] [\-n] dsource_name1 dsource_name2 ...
 show all parameters of given datasources
 .TP
-.B info [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 …
+.B info [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 ...
 show source parameters of given components
 .TP
-.B info \-r [\-s <config_server>]  [\-n] profile_name1 profile_name2 …
+.B info \-r [\-s <config_server>]  [\-n] profile_name1 profile_name2 ...
 show general parameters of given profiles
 .TP
-.B geometry [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 …
+.B geometry [\-s <config_server>] [\-m | \-p] [\-n] component_name1 component_name2 ...
 show transformation parameters of given components
 .UNINDENT
 .TP
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-s \ SERVER\fR,\fB \ \-\-server\fB= SERVER
 configuration server device name
 .TP
-.B  \-d\fP,\fB  \-\-datasources
+.B \-d\fP,\fB  \-\-datasources
 perform operation on datasources
 .TP
-.B  \-m\fP,\fB  \-\-mandatory
+.B \-m\fP,\fB  \-\-mandatory
 make use mandatory components as well
 .TP
-.B  \-p\fP,\fB  \-\-private
-make use private components, i.e. starting with ‘__’
+.B \-p\fP,\fB  \-\-private
+make use private components, i.e. starting with \(aq__\(aq
 .TP
-.B  \-n\fP,\fB  \-\-no\-newlines
+.B \-n\fP,\fB  \-\-no\-newlines
 split result with space characters
 .TP
-.B  \-f\fP,\fB  \-\-force
+.B \-f\fP,\fB  \-\-force
 do not ask
 .UNINDENT
 .UNINDENT
@@ -692,7 +692,7 @@ with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .UNINDENT
@@ -701,7 +701,7 @@ default <server> is taken from Tango DB
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-v \ DEVICE\fR,\fB \ \-\-device\-prefix\fB= DEVICE
@@ -713,7 +713,7 @@ first index (mandatory w/o <name1>)
 .BI \-l \ LAST\fR,\fB \ \-\-last\fB= LAST
 last index (mandatory w/o <name1>)
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing datasources
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -725,11 +725,11 @@ file prefix, i.e. counter
 .BI \-s \ DSOURCE\fR,\fB \ \-\-datasource\-prefix\fB= DSOURCE
 datasource prefix, i.e. counter (useful for avoiding duplicated datasource names)
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
-.B  \-m\fP,\fB  \-\-minimal_device
-device name without first ‘0’
+.B \-m\fP,\fB  \-\-minimal_device
+device name without first \(aq0\(aq
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
 configuration server device name
@@ -769,11 +769,11 @@ with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .IP \(bu 2
-default <datasource> is ‘exp_mot’
+default <datasource> is \(aqexp_mot\(aq
 .IP \(bu 2
 default <host>, <port> are taken from <server>
 .UNINDENT
@@ -782,7 +782,7 @@ default <host>, <port> are taken from <server>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-v \ DEVICE\fR,\fB \ \-\-device\-prefix\fB= DEVICE
@@ -801,7 +801,7 @@ tango attribute name
 datasource\-prefix (useful for avoiding duplicated
 datasource names)
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing datasources
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -816,7 +816,7 @@ tango host name
 .BI \-t \ PORT\fR,\fB \ \-\-port\fB= PORT
 tango host port
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
 .BI \-g \ GROUP\fR,\fB \ \-\-group\fB= GROUP
@@ -867,11 +867,11 @@ with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .IP \(bu 2
-default <datasource> is ‘exp_mot’
+default <datasource> is \(aqexp_mot\(aq
 .IP \(bu 2
 default <host>, <port> are taken from <server>
 .UNINDENT
@@ -880,7 +880,7 @@ default <host>, <port> are taken from <server>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-v \ DEVICE\fR,\fB \ \-\-device\fB= DEVICE
@@ -901,11 +901,11 @@ tango host name
 .BI \-t \ PORT\fR,\fB \ \-\-port\fB= PORT
 tango host port
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
-.B  \-n\fP,\fB  \-\-no\-group
-don’t create common group with a name of datasource
+.B \-n\fP,\fB  \-\-no\-group
+don\(aqt create common group with a name of datasource
 prefix
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
@@ -947,7 +947,7 @@ with \-d <directory>: datasources are created on the local filesystem
 .IP \(bu 2
 without \-b or \-d <directory>: run in the test mode
 .IP \(bu 2
-default <inputFile> is ‘/online_dir/online.xml’
+default <inputFile> is \(aq/online_dir/online.xml\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .UNINDENT
@@ -958,19 +958,19 @@ default <server> is taken from Tango DB
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store components in Configuration Server database
 .TP
-.B  \-t\fP,\fB  \-\-noclientlike
+.B \-t\fP,\fB  \-\-noclientlike
 set motor tango datasources to be non __CLIENT__ like
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
 output directory where datasources will be saved
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
@@ -985,7 +985,7 @@ external configuration server
 .BI \-p \ XMLPACKAGE\fR,\fB \ \-\-xml\-package\fB= XMLPACKAGE
 xml template package
 .TP
-.B  \-\-verbose
+.B \-\-verbose
 printout verbose mode
 .UNINDENT
 .UNINDENT
@@ -1025,7 +1025,7 @@ with \-d <directory>: datasources are created on the local filesystem
 .IP \(bu 2
 without \-b or \-d <directory>: run in the test mode
 .IP \(bu 2
-default <channel> is ‘ALL’
+default <channel> is \(aqALL\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .IP \(bu 2
@@ -1038,19 +1038,19 @@ default <pool> is taken from Tango DB
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store components in Configuration Server database
 .TP
-.B  \-t\fP,\fB  \-\-noclientlike
+.B \-t\fP,\fB  \-\-noclientlike
 set motor tango datasources to be non __CLIENT__ like
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
 output directory where datasources will be saved
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
@@ -1096,15 +1096,15 @@ nxscreate onlinecp [options] inputFile
 .UNINDENT
 .INDENT 0.0
 .IP \(bu 2
-without ‘\-c <component>’: show a list of possible components
+without \(aq\-c <component>\(aq: show a list of possible components
 .IP \(bu 2
 with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
-default <inputFile> is ‘/online_dir/online.xml’
+default <inputFile> is \(aq/online_dir/online.xml\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .UNINDENT
@@ -1113,7 +1113,7 @@ default <server> is taken from Tango DB
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-c \ COMPONENT\fR,\fB \ \-\-component\fB= COMPONENT
@@ -1135,13 +1135,13 @@ tango host name
 .BI \-w \ PORT\fR,\fB \ \-\-port \ PORT
 tango host port
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing component
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -1196,24 +1196,24 @@ nxscreate stdcomp [options] [name1 value1 [name2 value2] ...]
 .UNINDENT
 .INDENT 0.0
 .IP \(bu 2
-without ‘\-t <type>’: show a list of possible component types
+without \(aq\-t <type>\(aq: show a list of possible component types
 .IP \(bu 2
-with ‘\-t <type>  and without \-c <component>: show a list of component variables for the given component type
+with \(aq\-t <type>  and without \-c <component>: show a list of component variables for the given component type
 .IP \(bu 2
 with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
-[name1 value1 [name2 value2] …] sequence  defines component variable values
+[name1 value1 [name2 value2] ...] sequence  defines component variable values
 .UNINDENT
 .INDENT 0.0
 .TP
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-c \ COMPONENT\fR,\fB \ \-\-component\fB= COMPONENT
@@ -1228,16 +1228,16 @@ configuration server device name
 .BI \-p \ XMLPACKAGE\fR,\fB \ \-\-xml\-package\fB= XMLPACKAGE
 xml template package
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing component
 .TP
-.B  \-m\fP,\fB  \-\-mandatory
+.B \-m\fP,\fB  \-\-mandatory
 set the component as mandatory
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store datasources in Configuration Server database
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -1287,7 +1287,7 @@ with \-b: datasources are created in Configuration Server database
 .IP \(bu 2
 without \-b: datasources are created on the local filesystem in \-d <directory>
 .IP \(bu 2
-default <directory> is ‘.’
+default <directory> is \(aq.\(aq
 .IP \(bu 2
 default <server> is taken from Tango DB
 .IP \(bu 2
@@ -1297,14 +1297,14 @@ default <type> is NX_FLOAT
 .IP \(bu 2
 default <chunk> is SCALAR
 .IP \(bu 2
-default <nexuspath> is “/$var.entryname#’scan’$var.serialno:NXentry/instrument/collection/”
+default <nexuspath> is "/$var.entryname#\(aqscan\(aq$var.serialno:NXentry/instrument/collection/"
 .UNINDENT
 .INDENT 0.0
 .TP
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-v \ DEVICE\fR,\fB \ \-\-device\-prefix\fB= DEVICE
@@ -1316,7 +1316,7 @@ first index
 .BI \-l \ LAST\fR,\fB \ \-\-last\fB= LAST
 last index
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing components
 .TP
 .BI \-d \ DIRECTORY\fR,\fB \ \-\-directory\fB= DIRECTORY
@@ -1340,10 +1340,10 @@ nexus type of the field
 .BI \-u \ UNITS\fR,\fB \ \-\-units\fB= UNITS
 nexus units of the field
 .TP
-.B  \-k\fP,\fB  \-\-links
+.B \-k\fP,\fB  \-\-links
 create datasource links
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store components in Configuration Server database
 .TP
 .BI \-r \ SERVER\fR,\fB \ \-\-server\fB= SERVER
@@ -1352,8 +1352,8 @@ configuration server device name
 .BI \-c \ CHUNK\fR,\fB \ \-\-chunk\fB= CHUNK
 chunk format, i.e. SCALAR, SPECTRUM, IMAGE
 .TP
-.B  \-m\fP,\fB  \-\-minimal_device
-device name without first ‘0’
+.B \-m\fP,\fB  \-\-minimal_device
+device name without first \(aq0\(aq
 .UNINDENT
 .UNINDENT
 .SS Example
@@ -1365,8 +1365,8 @@ device name without first ‘0’
 nxscreate comp counter
 nxscreate comp \-f1 \-l3 \-v exp_c \-b
 nxscreate comp lambda \-d /home/user/xmldir/
-nxscreate comp \-n \(dq/\e$var.entryname#\(aqscan\(aq\e$var.serialno:NXentry/instrument/sis3302:NXdetector/collection:NXcollection/\(aq \-v sis3302_1_roi \-f1 \-l4  \-g STEP \-t NX_FLOAT64 \-k \-b \-m
-nxscreate comp \-n \(dq/\e$var.entryname#\(aqscan\(aq\e$var.serialno:NXentry/instrument/eh1_mca01:NXdetector/data\(dq eh1_mca01 \-g STEP \-t NX_FLOAT64 \-i \-b \-c SPECTRUM
+nxscreate comp \-n "/\e$var.entryname#\(aqscan\(aq\e$var.serialno:NXentry/instrument/sis3302:NXdetector/collection:NXcollection/\(aq \-v sis3302_1_roi \-f1 \-l4  \-g STEP \-t NX_FLOAT64 \-k \-b \-m
+nxscreate comp \-n "/\e$var.entryname#\(aqscan\(aq\e$var.serialno:NXentry/instrument/eh1_mca01:NXdetector/data" eh1_mca01 \-g STEP \-t NX_FLOAT64 \-i \-b \-c SPECTRUM
 .ft P
 .fi
 .UNINDENT
@@ -1398,22 +1398,22 @@ default <port> is 5000
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-l\fP,\fB  \-\-list
+.B \-l\fP,\fB  \-\-list
 list modules of the given node
 .TP
-.B  \-o\fP,\fB  \-\-overwrite
+.B \-o\fP,\fB  \-\-overwrite
 overwrite existing components
 .TP
-.B  \-a\fP,\fB  \-\-can\-fail
+.B \-a\fP,\fB  \-\-can\-fail
 can fail strategy flag
 .TP
-.B  \-q\fP,\fB  \-\-strict
+.B \-q\fP,\fB  \-\-strict
 NeXus strict group types i.e. use NXcollection if not defined
 .TP
-.B  \-w\fP,\fB  \-\-node\-in\-sample
+.B \-w\fP,\fB  \-\-node\-in\-sample
 Store node groups in the sample group
 .TP
 .BI \-c \ COMPONENT\fR,\fB \ \-\-component \ COMPONENT
@@ -1434,18 +1434,18 @@ sample name
 .BI \-k \ MEANINGS\fR,\fB \ \-\-links \ MEANINGS
 NXlog links of physical quantities to sensors
 separated by comman. Default:
-‘temperature,magnetic_field,electric_field,stress_field,pressure’
+\(aqtemperature,magnetic_field,electric_field,stress_field,pressure\(aq
 .TP
 .BI \-v \ ENVIRONMENTS\fR,\fB \ \-\-environments \ ENVIRONMENTS
 NXenvironment links of physical quantities separated
-by comman. Default: ‘temperature,magnetic_field’
+by comman. Default: \(aqtemperature,magnetic_field\(aq
 .TP
 .BI \-f \ FIRST\fR,\fB \ \-\-first \ FIRST
 first linked targets separated by comman
 .TP
 .BI \-z \ TRANSATTRS\fR,\fB \ \-\-transformation\-attributes \ TRANSATTRS
-a JSON dictionary with transformation parameters i.e, “transformation_type”, “vector”, “depends_on”. Default:
-{“rotation_z”:{“transformation_type”:”rotation”,”vector”:[0,\-1,0]}}
+a JSON dictionary with transformation parameters i.e, "transformation_type", "vector", "depends_on". Default:
+{"rotation_z":{"transformation_type":"rotation","vector":[0,\-1,0]}}
 .TP
 .BI \-p \ XMLPACKAGE\fR,\fB \ \-\-xml\-package \ XMLPACKAGE
 xml template package
@@ -1465,10 +1465,10 @@ json configuration file
 .BI \-x \ FILE\fR,\fB \ \-\-file\-prefix \ FILE
 file prefix, i.e. counter
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .TP
-.B  \-b\fP,\fB  \-\-database
+.B \-b\fP,\fB  \-\-database
 store components in Configuration Server database
 .TP
 .BI \-u \ HOST\fR,\fB \ \-\-host \ HOST
@@ -1523,7 +1523,7 @@ nxscreate compare [\-h] [\-n] online_file [online_file]
 .UNINDENT
 .INDENT 0.0
 .IP \(bu 2
-default: second <online_file> is ‘/online_dir/online.xml’ if only file is given
+default: second <online_file> is \(aq/online_dir/online.xml\(aq if only file is given
 .UNINDENT
 .INDENT 0.0
 .TP
@@ -1533,10 +1533,10 @@ online_file    online.xml files
 .B optional arguments:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-n\fP,\fB  \-\-nolower
+.B \-n\fP,\fB  \-\-nolower
 do not change aliases into lower case
 .UNINDENT
 .UNINDENT
@@ -1600,7 +1600,7 @@ get lists of tango data servers from the current tango host
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-s \ SERVER\fR,\fB \ \-\-server\fB= SERVER
@@ -1654,13 +1654,13 @@ nxsfileinfo general <nexus_file_name>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .UNINDENT
 .UNINDENT
@@ -1694,28 +1694,28 @@ Usage: nxsfileinfo field [options]  <file_name>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-c \ HEADERS\fR,\fB \ \-\-columns\fB= HEADERS
 names of column to be shown (separated by commas without spaces). The possible names are: depends_on, dtype, full_path, nexus_path, nexus_type, shape, source, source_name, source_type, strategy, trans_type, trans_offset, trans_vector, units, value
 .TP
 .BI \-f \ FILTERS\fR,\fB \ \-\-filters\fB= FILTERS
-full_path filters (separated by commas without spaces). Default: ‘*’. E.g. ‘\fI:NXsample/\fP’
+full_path filters (separated by commas without spaces). Default: \(aq*\(aq. E.g. \(aq\fI:NXsample/\fP\(aq
 .TP
 .BI \-v \ VALUES\fR,\fB \ \-\-values\fB= VALUES
 field names which value should be stored (separated by commas without spaces). Default: depends_on
 .TP
-.B  \-g\fP,\fB  \-\-geometry
+.B \-g\fP,\fB  \-\-geometry
 show fields with geometry full_path filters, i.e. \fI:NXtransformations/\fP,*/depends_on. It works only when \-f is not defined
 .TP
-.B  \-s\fP,\fB  \-\-source
+.B \-s\fP,\fB  \-\-source
 show datasource parameters
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .UNINDENT
 .UNINDENT
@@ -1751,14 +1751,14 @@ Usage: nxsfileinfo metadata [options] <file_name>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-a \ ATTRS\fR,\fB \ \-\-attributes \ ATTRS
 names of field or group attributes to be show (separated by commas without spaces). The default takes all attributes
 .TP
 .BI \-n \ NATTRS\fR,\fB \ \-\-hidden\-attributes \ NATTRS
-names of field or group attributes to be hidden (separated by commas without spaces). The default: ‘nexdatas_source,nexdatas_strategy’
+names of field or group attributes to be hidden (separated by commas without spaces). The default: \(aqnexdatas_source,nexdatas_strategy\(aq
 .TP
 .BI \-v \ VALUES\fR,\fB \ \-\-values \ VALUES
 field names of more dimensional datasets which value should be shown (separated by commas without spaces)
@@ -1774,25 +1774,25 @@ access group names separated by commas. Default is
 {beamtimeid}\-clbt,{beamtimeId}\-dmgt,{beamline}dmgt
 .TP
 .BI \-g \ GROUP_POSTFIX\fR,\fB \ \-\-group\-postfix \ GROUP_POSTFIX
-postfix to be added to NeXus group name. The default: ‘Parameters’
+postfix to be added to NeXus group name. The default: \(aqParameters\(aq
 .TP
 .BI \-t \ ENTRYCLASSES\fR,\fB \ \-\-entry\-classes \ ENTRYCLASSES
-names of entry NX_class to be shown (separated by commas without spaces). If name is ‘’ all groups are shown. The default: ‘NXentry’
+names of entry NX_class to be shown (separated by commas without spaces). If name is \(aq\(aq all groups are shown. The default: \(aqNXentry\(aq
 .TP
 .BI \-e \ ENTRYNAMES\fR,\fB \ \-\-entry\-names \ ENTRYNAMES
-names of entry groups to be shown (separated by commas without spaces). If name is ‘’ all groups are shown. The default: ‘’
+names of entry groups to be shown (separated by commas without spaces). If name is \(aq\(aq all groups are shown. The default: \(aq\(aq
 .TP
-.B  \-m\fP,\fB  \-\-raw\-metadata
+.B \-m\fP,\fB  \-\-raw\-metadata
 do not store NXentry as scientificMetadata
 .TP
-.B  \-\-add\-empty\-units
+.B \-\-add\-empty\-units
 add empty units for fields without units
 .TP
-.B  \-\-oned
+.B \-\-oned
 add 1d values to scientificMetadata
 .TP
 .BI \-\-max\-oned\-size \ MAXONEDSIZE
-add min and max (or first and last) values of 1d records to scientificMetadata if its size excides –max\-oned\-size value
+add min and max (or first and last) values of 1d records to scientificMetadata if its size excides \-\-max\-oned\-size value
 .TP
 .BI \-p \ PID\fR,\fB \ \-\-pid \ PID
 dataset pid
@@ -1800,26 +1800,26 @@ dataset pid
 .BI \-i \ BEAMTIMEID\fR,\fB \ \-\-beamtimeid \ BEAMTIMEID
 beamtime id
 .TP
-.B  \-u\fP,\fB  \-\-pid\-with\-uuid
+.B \-u\fP,\fB  \-\-pid\-with\-uuid
 generate pid with uuid
 .TP
-.B  \-f\fP,\fB  \-\-pid\-with\-filename
+.B \-f\fP,\fB  \-\-pid\-with\-filename
 generate pid with file name
 .TP
 .BI \-q \ TECHNIQUES\fR,\fB \ \-\-techniques \ TECHNIQUES
 names of techniques (separated by commas without
-spaces).The default: ‘’
+spaces).The default: \(aq\(aq
 .TP
 .BI \-j \ SAMPLEID\fR,\fB \ \-\-sample\-id \ SAMPLEID
 sampleId
 .TP
-.B  \-\-sample\-id\-from\-name
+.B \-\-sample\-id\-from\-name
 get sampleId from the sample name
 .TP
 .BI \-y \ INSTRUMENTID\fR,\fB \ \-\-instrument\-id \ INSTRUMENTID
 instrumentId
 .TP
-.B  \-\-raw\-instrument\-id
+.B \-\-raw\-instrument\-id
 leave raw instrument id
 .TP
 .BI \-b \ BEAMTIMEMETA\fR,\fB \ \-\-beamtime\-meta \ BEAMTIMEMETA
@@ -1844,24 +1844,24 @@ or a text file list to re\-arrange metadata
 .BI \-\-copy\-map\-field \ COPYMAPFIELD
 field json or yaml with map {output: input} or [[output, input],]
 or a text file list to re\-arrange metadata. The default:
-‘scientificMetadata.nxsfileinfo_parameters.copymap.value’
+\(aqscientificMetadata.nxsfileinfo_parameters.copymap.value\(aq
 .TP
-.B  \-\-copy\-map\-error
+.B \-\-copy\-map\-error
 Raise an error when the copy map file does not exist
 .TP
 .BI \-\-copy\-map\-file \ COPYMAPFILE
-json or yaml file containing the copy map, see also –copy\-map
+json or yaml file containing the copy map, see also \-\-copy\-map
 .TP
 .BI \-f \ FILEFORMAT\fR,\fB \ \-\-file\-format \ FILEFORMAT
-input file format, e.g. ‘nxs’. Default is defined by the file extension
+input file format, e.g. \(aqnxs\(aq. Default is defined by the file extension
 .TP
-.B  \-\-proposal\-as\-proposal
+.B \-\-proposal\-as\-proposal
 Store the DESY proposal as the SciCat proposal
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .UNINDENT
 .UNINDENT
@@ -1899,7 +1899,7 @@ Usage: nxsfileinfo origdatablock [options] <scan_name>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-p \ PID\fR,\fB \ \-\-pid \ PID
@@ -1917,13 +1917,13 @@ access group names separated by commas. Default is
 .TP
 .BI \-s \ SKIP\fR,\fB \ \-\-skip \ SKIP
 filters for files to be skipped (separated by commas
-without spaces). Default: ‘’. E.g.
-‘\fI\&.pyc,\fP~’
+without spaces). Default: \(aq\(aq. E.g.
+\(aq\fI\&.pyc,\fP~\(aq
 .TP
 .BI \-a \ ADD\fR,\fB \ \-\-add \ ADD
 list of files to be added (separated by commas
-without spaces). Default: ‘’. E.g.
-‘scan1.nxs,scan2.nxs’
+without spaces). Default: \(aq\(aq. E.g.
+\(aqscan1.nxs,scan2.nxs\(aq
 .TP
 .BI \-r \ RELPATH\fR,\fB \ \-\-relative\-path \ RELPATH
 relative path to the scan files
@@ -1962,7 +1962,7 @@ Usage: nxsfileinfo sample [options]
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-s \ SAMPLEID\fR,\fB \ \-\-sample\-id \ SAMPLEID
@@ -1980,7 +1980,7 @@ sample description
 .BI \-r \ OWNER\fR,\fB \ \-\-owner \ OWNER
 sample owner
 .TP
-.B  \-p\fP,\fB  \-\-published
+.B \-p\fP,\fB  \-\-published
 sample is published
 .TP
 .BI \-w \ OWNERGROUP\fR,\fB \ \-\-owner\-group \ OWNERGROUP
@@ -2031,7 +2031,7 @@ Usage: nxsfileinfo instrument [options]
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-p \ PID\fR,\fB \ \-\-pid \ PID
@@ -2094,7 +2094,7 @@ Usage: nxsfileinfo attachment [options] <image_file|scan_file>
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-a \ ATID\fR,\fB \ \-\-id \ ATID
@@ -2121,13 +2121,13 @@ amtimeId}\-dmgt,{beamtimeid}\-clbt,{beamtimeId}\-part,{be
 amline}dmgt,{beamline}staff
 .TP
 .BI \-f \ FILEFORMAT\fR,\fB \ \-\-file\-format \ FILEFORMAT
-input file format, e.g. ‘nxs’. Default is defined by
+input file format, e.g. \(aqnxs\(aq. Default is defined by
 the file extension
 .TP
-.B  \-\-h5py
+.B \-\-h5py
 use h5py module as a nexus reader
 .TP
-.B  \-\-h5cpp
+.B \-\-h5cpp
 use h5cpp module as a nexus reader
 .TP
 .BI \-x \ CHMOD\fR,\fB \ \-\-chmod \ CHMOD
@@ -2143,7 +2143,7 @@ axis/axes data name(s) separated by comma
 a JSON dictionary with scan\-command axes to override,
 axis/axes data name(s) separated by comma for
 detectors and by semicolon for more plots. Default:
-{“hklscan”:”h;k;l”,”qscan”:”qz;qpar”}
+{"hklscan":"h;k;l","qscan":"qz;qpar"}
 .TP
 .BI \-m \ FRAME\fR,\fB \ \-\-frame \ FRAME
 a frame number for if more 2D images in the data
@@ -2157,15 +2157,15 @@ x\-axis label
 .BI \-\-ylabel \ YLABEL
 y\-axis label
 .TP
-.B  \-u\fP,\fB  \-\-override
+.B \-u\fP,\fB  \-\-override
 override NeXus entries by script parameters
 .TP
-.B  \-\-parameters\-in\-caption
+.B \-\-parameters\-in\-caption
 add plot paramters to the caption
 .TP
 .BI \-n \ NEXUSPATH\fR,\fB \ \-\-nexus\-path \ NEXUSPATH
 base nexus path to element to be shown.
-If th path is ‘’ the default group is shown. The default: ‘’
+If th path is \(aq\(aq the default group is shown. The default: \(aq\(aq
 .TP
 .BI \-o \ OUTPUT\fR,\fB \ \-\-output \ OUTPUT
 output scicat metadata file
@@ -2203,28 +2203,28 @@ Usage: nxsfileinfo groupmetadata [options] [groupname]
 .B Options:
 .INDENT 7.0
 .TP
-.B  \-h\fP,\fB  \-\-help
+.B \-h\fP,\fB  \-\-help
 show this help message and exit
 .TP
 .BI \-p \ PID\fR,\fB \ \-\-pid \ PID
 dataset pid
 .TP
-.B  \-\-raw
+.B \-\-raw
 raw dataset type
 .TP
 .BI \-i \ BEAMTIMEID\fR,\fB \ \-\-beamtimeid
 BEAMTIMEID beamtime id
 .TP
-.B  \-s\fP,\fB  \-\-skip\-group\-datablock
+.B \-s\fP,\fB  \-\-skip\-group\-datablock
 skip group datablock
 .TP
-.B  \-w\fP,\fB  \-\-allow\-duplication
+.B \-w\fP,\fB  \-\-allow\-duplication
 allow to merge metadata with duplicated pid
 .TP
-.B  \-q\fP,\fB  \-\-raw
+.B \-q\fP,\fB  \-\-raw
 raw dataset type
 .TP
-.B  \-f\fP,\fB  \-\-write\-files
+.B \-f\fP,\fB  \-\-write\-files
 write output to files
 .TP
 .BI \-k \ SCICATVERSION\fR,\fB \ \-\-scicat\-version \ SCICATVERSION
@@ -2237,7 +2237,7 @@ json metadata file mod bits, e.g. 0o662
 json or yaml map of {output: input} or [[output,
 input],] or a text file list to re\-arrange metadata
 .TP
-.B  \-e\fP,\fB  \-\-group\-map\-error
+.B \-e\fP,\fB  \-\-group\-map\-error
 Raise an error when the group map file does not exist
 .TP
 .BI \-r \ GROUPMAPFILE\fR,\fB \ \-\-group\-map\-file \ GROUPMAPFILE
@@ -2322,10 +2322,10 @@ optional arguments:
                         the database name ( default: \(aqnxsconfig\(aq)
   \-j CSJSON, \-\-csjson CSJSON
                         JSONSettings for the configuration server. ( default:
-                        \(aq{\(dqhost\(dq: \(dqlocalhost\(dq,\(dqdb\(dq: <DBNAME>, \(dquse_unicode\(dq:
-                        true\(aq, \(dqread_default_file\(dq: <MY_CNF_FILE>}\(aq where
-                        <MY_CNF_FILE> stays for \(dq/home/<USER>/.my.cnf\(dq or
-                        \(dq/var/lib/nxsconfigserver/.my.cnf\(dq )
+                        \(aq{"host": "localhost","db": <DBNAME>, "use_unicode":
+                        true\(aq, "read_default_file": <MY_CNF_FILE>}\(aq where
+                        <MY_CNF_FILE> stays for "/home/<USER>/.my.cnf" or
+                        "/var/lib/nxsconfigserver/.my.cnf" )
 
  examples:
        nxsetup set
@@ -2457,9 +2457,9 @@ optional arguments:
 
 
  examples:
-       nxsetup change\-prop \-n ClientRecordKeys \-t \-w \(dq[\e\(dqphoibos_scan_command\e\(dq,\e\(dqphoibos_scan_comment\e\(dq]\(dq NXSRecSelector/r228
-       nxsetup change\-prop \-n DefaultPreselectedComponents \-w \(dq[\e\(dqpinhole1\e\(dq,\e\(dqslit2\e\(dq]\(dq NXSRecSelector/r228
-       nxsetup change\-prop \-n StartDsPath \-w \(dq[\e\(dq/usr/bin\e\(dq,\e\(dq/usr/lib/tango\e\(dq]\(dq Starter
+       nxsetup change\-prop \-n ClientRecordKeys \-t \-w "[\e"phoibos_scan_command\e",\e"phoibos_scan_comment\e"]" NXSRecSelector/r228
+       nxsetup change\-prop \-n DefaultPreselectedComponents \-w "[\e"pinhole1\e",\e"slit2\e"]" NXSRecSelector/r228
+       nxsetup change\-prop \-n StartDsPath \-w "[\e"/usr/bin\e",\e"/usr/lib/tango\e"]" Starter
 .ft P
 .fi
 .UNINDENT
@@ -2495,7 +2495,7 @@ Command\-line tool to merge images of external file\-formats
 into the master NeXus file
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscollect.Collector(nexusfilename, compression=2, skipmissing=False, storeold=False, testmode=False, writer=None)
+.B class nxstools.nxscollect.Collector(nexusfilename, compression=2, skipmissing=False, storeold=False, testmode=False, writer=None)
 Bases: \fI\%object\fP
 .sp
 Collector merge images of external file\-formats
@@ -2546,8 +2546,8 @@ or appends specific data if path and inputfiles are given
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscollect.Execute(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscollect.Execute(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Execute runner
 .sp
@@ -2564,12 +2564,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqappend images to the master file\(aq
+.B description = \(aqappend images to the master file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq examples:\en       nxscollect append \-c1 /tmp/gpfs/raw/scan_234.nxs \en\en       nxscollect append \-c32008:0,2 /ramdisk/scan_123.nxs \en\en       nxscollect append \-\-test /tmp/gpfs/raw/scan_234.nxs \en\en       nxscollect append scan_234.nxs \-\-path /scan/instrument/pilatus/data  \-\-input\-files \(aqscan_%05d.tif:0:100\(aq \en\(dq
+.B epilog = " examples:\en       nxscollect append \-c1 /tmp/gpfs/raw/scan_234.nxs \en\en       nxscollect append \-c32008:0,2 /ramdisk/scan_123.nxs \en\en       nxscollect append \-\-test /tmp/gpfs/raw/scan_234.nxs \en\en       nxscollect append scan_234.nxs \-\-path /scan/instrument/pilatus/data  \-\-input\-files \(aqscan_%05d.tif:0:100\(aq \en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -2590,7 +2590,7 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscollect.LayoutField(target, hyperslab=None)
+.B class nxstools.nxscollect.LayoutField(target, hyperslab=None)
 Bases: \fI\%object\fP
 .sp
 constructor
@@ -2627,8 +2627,8 @@ constructor
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscollect.Link(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscollect.Link(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Execute runner
 .sp
@@ -2645,12 +2645,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate an external or internal link in the master file\(aq
+.B description = \(aqcreate an external or internal link in the master file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxscollect link scan_234.nxs://entry/instrument/lambda \-\-name data \-\-target scan_234/lambda.nxs://entry/data/data \en\enscan_234.nxs://entry/instrument/eiger:NXdetector   \-\-target scan_234/eiger.nxs://entry/data/data \en\en\en\(aq
+.B epilog = \(aq examples:\en       nxscollect link scan_234.nxs://entry/instrument/lambda \-\-name data \-\-target scan_234/lambda.nxs://entry/data/data \en\enscan_234.nxs://entry/instrument/eiger:NXdetector   \-\-target scan_234/eiger.nxs://entry/data/data \en\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -2671,7 +2671,7 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscollect.Linker(nexusfilepath, target, name=None, storeold=False, testmode=False, writer=None)
+.B class nxstools.nxscollect.Linker(nexusfilepath, target, name=None, storeold=False, testmode=False, writer=None)
 Bases: \fI\%object\fP
 .sp
 Create external and internal links of NeXus files
@@ -2701,7 +2701,7 @@ creates NeXus link
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscollect.TargetFieldView(filename, path, shape=None, hyperslab=None, maxshape=None)
+.B class nxstools.nxscollect.TargetFieldView(filename, path, shape=None, hyperslab=None, maxshape=None)
 Bases: \fI\%object\fP
 .sp
 target field map
@@ -2756,7 +2756,7 @@ constructor
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscollect.TargetFieldsLayout(exfieldpaths=\(aq\(aq, exfieldshapes=\(aq\(aq, shapes=None, separator=\(aq,\(aq)
+.B class nxstools.nxscollect.TargetFieldsLayout(exfieldpaths=\(aq\(aq, exfieldshapes=\(aq\(aq, shapes=None, separator=\(aq,\(aq)
 Bases: \fI\%list\fP
 .sp
 constructor
@@ -2835,8 +2835,8 @@ add taget slices
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscollect.VDS(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscollect.VDS(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Execute runner
 .sp
@@ -2853,12 +2853,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate a virual dataset in the master file\(aq
+.B description = \(aqcreate a virual dataset in the master file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq examples:\en\en       nxscollect vds scan_234.nxs://entry/instrument/eiger/data  \-\-shape \(aq1000,2048,1024\(aq \-\-dtype uint32  \-\-target\-fields \(aqeiger_%05d.nxs://entry/data/data:1:10\(aq \-\-shapes \(aq100,,:100,,:100,,:100,,:100,,:100,,:100,,:100,,:100,,:100,,\(aq   \-\-offsets \(aq0,,:100,,:200,,:300,,:400,,:500,,:600,,:700,,:800,,:900,,\(aq \en\en\en           \- creates VDS (shape [1000,2048,1024]) of ten nexus files (shape [100,2048,1024]) merged in their first dimension\en\en\en\en       nxscollect vds scan_234.nxs://entry/instrument/lambda/data  \-\-shape \(aq100,300,762\(aq \-\-dtype uint32  \-\-target\-fields \(aqlambda_%05d.nxs://entry/data/data:0:2\(aq \-\-shapes \(aq,,250:,,250:,,250\(aq   \-\-offsets \(aq,,:,,256:,,512\(aq  \-\-counts \(aqU,,:U,,:U,,\(aq \-f 1 \en\en\en           \- creates VDS (shape [100,300,762]) of three nexus files (shape [100,300,250]) merged in their third dimension,\en               separated with a 6 pixel gap of 1 values and unlimited first dimension\en\en\en\en       nxscollect vds scan_234.nxs://entry/instrument/percival/data  \-\-shape \(aq4000,1600,2000\(aq \-\-dtype int16  \-\-target\-fields \(aqpercival_%05d.nxs://entry/data/data:1:4\(aq \-\-shapes \(aq1000,,:1000,,:1000,,:1000,,\(aq   \-\-offsets \(aq0,,:1,,:2,,:3,,\(aq  \-\-counts \(aqU,,:U,,:U,,:U,,\(aq \-\-strides \(aq4,,:4,,:4,,:4,,\(aq \en\en\en           \- creates VDS (shape [1000,1600,2000]) of three nexus files (shape [1000,1600,2000])\en                merged in their the first dimension with interlaying frames\en                and unlimited first dimension\en\en\en\en\(dq
+.B epilog = " examples:\en\en       nxscollect vds scan_234.nxs://entry/instrument/eiger/data  \-\-shape \(aq1000,2048,1024\(aq \-\-dtype uint32  \-\-target\-fields \(aqeiger_%05d.nxs://entry/data/data:1:10\(aq \-\-shapes \(aq100,,:100,,:100,,:100,,:100,,:100,,:100,,:100,,:100,,:100,,\(aq   \-\-offsets \(aq0,,:100,,:200,,:300,,:400,,:500,,:600,,:700,,:800,,:900,,\(aq \en\en\en           \- creates VDS (shape [1000,2048,1024]) of ten nexus files (shape [100,2048,1024]) merged in their first dimension\en\en\en\en       nxscollect vds scan_234.nxs://entry/instrument/lambda/data  \-\-shape \(aq100,300,762\(aq \-\-dtype uint32  \-\-target\-fields \(aqlambda_%05d.nxs://entry/data/data:0:2\(aq \-\-shapes \(aq,,250:,,250:,,250\(aq   \-\-offsets \(aq,,:,,256:,,512\(aq  \-\-counts \(aqU,,:U,,:U,,\(aq \-f 1 \en\en\en           \- creates VDS (shape [100,300,762]) of three nexus files (shape [100,300,250]) merged in their third dimension,\en               separated with a 6 pixel gap of 1 values and unlimited first dimension\en\en\en\en       nxscollect vds scan_234.nxs://entry/instrument/percival/data  \-\-shape \(aq4000,1600,2000\(aq \-\-dtype int16  \-\-target\-fields \(aqpercival_%05d.nxs://entry/data/data:1:4\(aq \-\-shapes \(aq1000,,:1000,,:1000,,:1000,,\(aq   \-\-offsets \(aq0,,:1,,:2,,:3,,\(aq  \-\-counts \(aqU,,:U,,:U,,:U,,\(aq \-\-strides \(aq4,,:4,,:4,,:4,,\(aq \en\en\en           \- creates VDS (shape [1000,1600,2000]) of three nexus files (shape [1000,1600,2000])\en                merged in their the first dimension with interlaying frames\en                and unlimited first dimension\en\en\en\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -2879,7 +2879,7 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscollect.VirtualDataset(nexusfilepath, options, writer=None)
+.B class nxstools.nxscollect.VirtualDataset(nexusfilepath, options, writer=None)
 Bases: \fI\%object\fP
 .sp
 Create virtual dataset in the master NeXus files
@@ -3001,8 +3001,8 @@ a list ofr coordinates in tuples
 Command\-line tool for ascess to the nexdatas configuration server
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Components(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Components(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Components runner
 .sp
@@ -3019,12 +3019,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqget a list of dependent components\(aq
+.B description = \(aqget a list of dependent components\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig components dcm\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig components dcm\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3046,7 +3046,7 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.ConfigServer(device, nonewline=False)
+.B class nxstools.nxsconfig.ConfigServer(device, nonewline=False)
 Bases: \fI\%object\fP
 .sp
 configuration server adapter
@@ -3375,8 +3375,8 @@ list of datasource names
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Data(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Data(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Data runner
 .sp
@@ -3393,12 +3393,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqget/set values of component variables\(aq
+.B description = \(aqget/set values of component variables\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig data \en       nxsconfig data \e\(aq{\(dqsample_name\(dq:\(dqH2O\(dq}\e\(aq\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig data \en       nxsconfig data \e\(aq{"sample_name":"H2O"}\e\(aq\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3420,8 +3420,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Delete(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Delete(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Show runner
 .sp
@@ -3438,12 +3438,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqdelete components, datasources or profiles with given names from ConfigServer\(aq
+.B description = \(aqdelete components, datasources or profiles with given names from ConfigServer\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig delete pilatus1a\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig delete pilatus1a\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3465,8 +3465,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Describe(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Describe(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Describe runner
 .sp
@@ -3483,12 +3483,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqshow all parameters of given components or datasources\(aq
+.B description = \(aqshow all parameters of given components or datasources\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig describe pilatus\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig describe pilatus\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3510,8 +3510,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Geometry(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Geometry(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 List runner
 .sp
@@ -3528,13 +3528,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqshow transformation parameters of given components or datasources\(aq
+.B description = \(aqshow transformation parameters of given components or datasources\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig geometry dcm\en\en\(aq
-(\fI\%str\fP) command epilog
+.B epilog = \(aq examples:\en       nxsconfig geometry dcm\en\en\(aq
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -3555,8 +3554,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Get(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Get(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Get runner
 .sp
@@ -3573,12 +3572,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqget full configuration of components\(aq
+.B description = \(aqget full configuration of components\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig get  dcm source slit1 slit2\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig get  dcm source slit1 slit2\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3600,8 +3599,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Info(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Info(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 List runner
 .sp
@@ -3618,12 +3617,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqshow general parameters of given components, datasources or profile\(aq
+.B description = \(aqshow general parameters of given components, datasources or profile\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig info slit1\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig info slit1\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3645,8 +3644,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.List(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.List(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 List runner
 .sp
@@ -3663,12 +3662,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqlist names of available components, datasources or profiles\(aq
+.B description = \(aqlist names of available components, datasources or profiles\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig list\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig list\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3690,8 +3689,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Merge(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Merge(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Merge runner
 .sp
@@ -3708,12 +3707,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqget merged configuration of components or datasources\(aq
+.B description = \(aqget merged configuration of components or datasources\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig merge  slit1 dcm \en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig merge  slit1 dcm \en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3735,8 +3734,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Record(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Record(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Record runner
 .sp
@@ -3753,12 +3752,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqget a list of datasource record names for components or datasources\(aq
+.B description = \(aqget a list of datasource record names for components or datasources\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig record \-d exp_mot01 \en       nxsconfig record dcm \en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig record \-d exp_mot01 \en       nxsconfig record dcm \en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3780,8 +3779,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Servers(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Servers(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Servers runner
 .sp
@@ -3798,12 +3797,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqget a list of configuration servers from the current tango host\(aq
+.B description = \(aqget a list of configuration servers from the current tango host\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig servers\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig servers\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3825,8 +3824,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Show(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Show(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Show runner
 .sp
@@ -3843,12 +3842,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqshow (or write to files) components, datasources or profiles with given names\(aq
+.B description = \(aqshow (or write to files) components, datasources or profiles with given names\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig show dcm\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig show dcm\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3870,8 +3869,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Sources(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Sources(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Sources runner
 .sp
@@ -3888,12 +3887,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqget a list of component datasources\(aq
+.B description = \(aqget a list of component datasources\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig sources slit1\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig sources slit1\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3915,8 +3914,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Upload(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Upload(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Store runner
 .sp
@@ -3933,12 +3932,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqupload components, datasources or profiles with given names from locale filesystem into ConfigServer\(aq
+.B description = \(aqupload components, datasources or profiles with given names from locale filesystem into ConfigServer\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig upload exp_c01 exp_c02\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig upload exp_c01 exp_c02\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -3960,8 +3959,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsconfig.Variables(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsconfig.Variables(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Variables runner
 .sp
@@ -3978,12 +3977,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqget a list of component variables\(aq
+.B description = \(aqget a list of component variables\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsconfig variables dcm\en\en\(aq
+.B epilog = \(aq examples:\en       nxsconfig variables dcm\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4013,8 +4012,8 @@ the main program function
 Command\-line tool for creating NXSConfigServer configuration of Nexus Files
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.ClientDS(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.ClientDS(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 clientds runner
 .sp
@@ -4031,12 +4030,12 @@ parser creator
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate client datasources\(aq
+.B description = \(aqcreate client datasources\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq\en * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en            <server> is taken from Tango DB\en\en examples:\en\en       nxscreate clientds starttime \-b  \en\en           \- create the \(aqstarttime\(aq datasource of the \(aqCLIENT\(aq type with the \(aqstarttime\(aq record name\en               and upload them to the NXSConfigServer database \en\en       nxscreate clientds title \-d /home/user/xmldir \en\en           \- create the \(aqtitle\(aq datasource of the \(aqCLIENT\(aq type with the \(aqtitle\(aq record name\en               in the \(aq/home/user/xmldir\(aq directory\en\en       nxscreate clientds \-v exp_c \-f1 \-l4 \-b  \en\en           \- create the \(aqexp_c01\(aq, \(aqexp_c02\(aq, \(aqexp_c03\(aq, \(aqexp_c04\(aq datasources of the \(aqCLIENT\(aq type\en               with the corresponding \(aqexp_c0? record names\en               and upload them to the NXSConfigServer database \en               where \(aq?\(aq is 1, 2, 3, 4 respectively \en\en       nxscreate clientds \-v hasppXX:10000/expchan/vfcadc_exp/ \-f5 \-l8  \-m \-b \-s exp_vfc\en\en           \- create the \(aqexp_vfc05\(aq, \(aqexp_vfc06\(aq, \(aqexp_vfc07\(aq, \(aqexp_vfc08\(aq datasources of the \(aqCLIENT\(aq type\en               with the corresponding \(aqhasppXX:10000/expchan/vfcadc_exp/?\(aq record names\en               and upload them to the NXSConfigServer database \en               where \(aq?\(aq is 5, 6, 7, 8 respectively \en\en\(dq
+.B epilog = "\en * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en            <server> is taken from Tango DB\en\en examples:\en\en       nxscreate clientds starttime \-b  \en\en           \- create the \(aqstarttime\(aq datasource of the \(aqCLIENT\(aq type with the \(aqstarttime\(aq record name\en               and upload them to the NXSConfigServer database \en\en       nxscreate clientds title \-d /home/user/xmldir \en\en           \- create the \(aqtitle\(aq datasource of the \(aqCLIENT\(aq type with the \(aqtitle\(aq record name\en               in the \(aq/home/user/xmldir\(aq directory\en\en       nxscreate clientds \-v exp_c \-f1 \-l4 \-b  \en\en           \- create the \(aqexp_c01\(aq, \(aqexp_c02\(aq, \(aqexp_c03\(aq, \(aqexp_c04\(aq datasources of the \(aqCLIENT\(aq type\en               with the corresponding \(aqexp_c0? record names\en               and upload them to the NXSConfigServer database \en               where \(aq?\(aq is 1, 2, 3, 4 respectively \en\en       nxscreate clientds \-v hasppXX:10000/expchan/vfcadc_exp/ \-f5 \-l8  \-m \-b \-s exp_vfc\en\en           \- create the \(aqexp_vfc05\(aq, \(aqexp_vfc06\(aq, \(aqexp_vfc07\(aq, \(aqexp_vfc08\(aq datasources of the \(aqCLIENT\(aq type\en               with the corresponding \(aqhasppXX:10000/expchan/vfcadc_exp/?\(aq record names\en               and upload them to the NXSConfigServer database \en               where \(aq?\(aq is 5, 6, 7, 8 respectively \en\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4052,8 +4051,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.Comp(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.Comp(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 comp runner
 .sp
@@ -4070,12 +4069,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate simple components\(aq
+.B description = \(aqcreate simple components\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq * with \-b: components are created (without datasources) in Configuration Server database\en * without \-b: components are created (without datasources) on the local filesystem in \-d <directory> \en * default: <directory> is \e\(aq.\e\(aq \en            <server> is taken from Tango DB\en            <strategy> is step\en            <type> is NX_FLOAT\en            <chunk> is SCALAR\en            <nexuspath> is \(dq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument/collection/\(dq\en\en examples:\en\en       nxscreate comp counter \en\en           \- create the \e\(aqcounter\e\(aq component in the local directory \en               which sets fetching data in the \e\(aqSTEP\e\(aq mode from a \e\(aqcounter\e\(aq datasource to \en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/collection:NXcollection/counter\e\(aq \en\en       nxscreate comp \-f5 \-l7 \-v exp_c \-b \en\en           \- create the \e\(aqexp_c05\e\(aq, \e\(aqexp_c06\e\(aq \e\(aqexp_c07\e\(aq components in the NXSConfigServer database \en               which set fetching data in the \e\(aqSTEP\e\(aq mode from  corresponding \e\(aqexp_c0?\e\(aq datasources to corresponding\en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/collection:NXcollection/exp_c0?\e\(aq\en                where \e\(aq?\e\(aq is 5, 6, 7 respectively \en\en       nxscreate comp lambda \-d /home/user/xmldir/ \en\en           \- create the \e\(aqlambda\e\(aq component in the \e\(aq/home/user/xmldir/\e\(aq directory \en               which sets fetching data in the \e\(aqSTEP\e\(aq mode from a \e\(aqlambda\e\(aq datasource to \en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/collection:NXcollection/lambda\e\(aq \en\en       nxscreate comp \-n \(dq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument/sis3302:NXdetector/collection:NXcollection/\(dq \-v sis3302_1_roi \-f1 \-l3  \-g FINAL \-t NX_FLOAT64 \-k \-b \-m \en\en           \- create the \e\(aqsis3302_1_roi1\e\(aq, sis3302_1_roi2\e\(aq, sis3302_1_roi3\e\(aq components in the NXSConfigServer database \en               which set fetching data in the \e\(aqFINAL\e\(aq mode from corresponding \e\(aqsis3302_1_roi?\e\(aq datasources to corresponding\en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/sis3302:NXdetector/collection:NXcollection/sis3302_1_roi?\e\(aq\en               float64 fields and creates corresponding\en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/data:NXdata/sis3302_1_roi?\e\(aq links\en               where \e\(aq?\e\(aq is 1, 2, 3 respectively \en\en       nxscreate comp \-n \(dq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument/eh1_mca01:NXdetector/data\(dq eh1_mca01 \-g STEP \-t NX_FLOAT64 \-i \-b \-c SPECTRUM\en\en           \- create the \e\(aqeh1_mca01\e\(aq component in the NXSConfigServer database \en               which set fetching STECTRUM data in the \e\(aqSTEP\e\(aq mode from a \e\(aqeh1_mca01\e\(aq datasource to \en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/eh1_mca01:NXdetector/data\en               float64 fields and creates \en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/data:NXdata/eh1_mca01\e\(aq links\en\en\en\(aq
+.B epilog = \(aq * with \-b: components are created (without datasources) in Configuration Server database\en * without \-b: components are created (without datasources) on the local filesystem in \-d <directory> \en * default: <directory> is \e\(aq.\e\(aq \en            <server> is taken from Tango DB\en            <strategy> is step\en            <type> is NX_FLOAT\en            <chunk> is SCALAR\en            <nexuspath> is "/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument/collection/"\en\en examples:\en\en       nxscreate comp counter \en\en           \- create the \e\(aqcounter\e\(aq component in the local directory \en               which sets fetching data in the \e\(aqSTEP\e\(aq mode from a \e\(aqcounter\e\(aq datasource to \en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/collection:NXcollection/counter\e\(aq \en\en       nxscreate comp \-f5 \-l7 \-v exp_c \-b \en\en           \- create the \e\(aqexp_c05\e\(aq, \e\(aqexp_c06\e\(aq \e\(aqexp_c07\e\(aq components in the NXSConfigServer database \en               which set fetching data in the \e\(aqSTEP\e\(aq mode from  corresponding \e\(aqexp_c0?\e\(aq datasources to corresponding\en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/collection:NXcollection/exp_c0?\e\(aq\en                where \e\(aq?\e\(aq is 5, 6, 7 respectively \en\en       nxscreate comp lambda \-d /home/user/xmldir/ \en\en           \- create the \e\(aqlambda\e\(aq component in the \e\(aq/home/user/xmldir/\e\(aq directory \en               which sets fetching data in the \e\(aqSTEP\e\(aq mode from a \e\(aqlambda\e\(aq datasource to \en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/collection:NXcollection/lambda\e\(aq \en\en       nxscreate comp \-n "/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument/sis3302:NXdetector/collection:NXcollection/" \-v sis3302_1_roi \-f1 \-l3  \-g FINAL \-t NX_FLOAT64 \-k \-b \-m \en\en           \- create the \e\(aqsis3302_1_roi1\e\(aq, sis3302_1_roi2\e\(aq, sis3302_1_roi3\e\(aq components in the NXSConfigServer database \en               which set fetching data in the \e\(aqFINAL\e\(aq mode from corresponding \e\(aqsis3302_1_roi?\e\(aq datasources to corresponding\en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/sis3302:NXdetector/collection:NXcollection/sis3302_1_roi?\e\(aq\en               float64 fields and creates corresponding\en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/data:NXdata/sis3302_1_roi?\e\(aq links\en               where \e\(aq?\e\(aq is 1, 2, 3 respectively \en\en       nxscreate comp \-n "/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument/eh1_mca01:NXdetector/data" eh1_mca01 \-g STEP \-t NX_FLOAT64 \-i \-b \-c SPECTRUM\en\en           \- create the \e\(aqeh1_mca01\e\(aq component in the NXSConfigServer database \en               which set fetching STECTRUM data in the \e\(aqSTEP\e\(aq mode from a \e\(aqeh1_mca01\e\(aq datasource to \en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/instrument:NXinstrument/eh1_mca01:NXdetector/data\en               float64 fields and creates \en               \e\(aq/\e\e$var.entryname#\e\(aqscan\e\(aq\e\e$var.serialno:NXentry/data:NXdata/eh1_mca01\e\(aq links\en\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4091,8 +4090,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.Compare(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.Compare(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 compare runner
 .sp
@@ -4109,12 +4108,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcompare two online.xml files\(aq
+.B description = \(aqcompare two online.xml files\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq * default: second file <online_file> is \(aq/online_dir/online.xml\(aq \en            if only file is given\en\en examples:\en\en       nxscreate compare online.xml \en\en           \- compare \(aqonline.xml\(aq to \(aq/online_dir/online.xml\en\(aq \en       nxscreate compare /online_dir/online_040.xml online.xml \en\en           \- compare \(aq/online_dir/online_040.xml\(aq to \(aqonline.xml\(aq\en\(dq
+.B epilog = " * default: second file <online_file> is \(aq/online_dir/online.xml\(aq \en            if only file is given\en\en examples:\en\en       nxscreate compare online.xml \en\en           \- compare \(aqonline.xml\(aq to \(aq/online_dir/online.xml\en\(aq \en       nxscreate compare /online_dir/online_040.xml online.xml \en\en           \- compare \(aq/online_dir/online_040.xml\(aq to \(aqonline.xml\(aq\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4135,8 +4134,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.DeviceDS(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.DeviceDS(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 deviceds runner
 .sp
@@ -4153,12 +4152,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate datasources for all device attributes\(aq
+.B description = \(aqcreate datasources for all device attributes\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq * without <dv_attr1>: datasources for all attributes are created\en * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en            <server> is taken from Tango DB\en            <datasource> is \(aqexp_mot\(aq \en            <host>, <port> are taken from <server>\en\en examples:\en\en       nxscreate deviceds  \-v p09/pilatus/haso228k \en\en           \- create datasources of the \(aqTANGO\(aq type\en               for all attribute of \(aqp09/pilatus/haso228k\(aq tango device\en               in the local file directory database \en\en       nxscreate deviceds  \-v p09/lambda2m/haso228k \-uhaslambda \-b \en\en           \- create datasources of the \(aqTANGO\(aq type\en               for all attribute of \(aqp09/lambda2m/haso228k\(aq tango device\en               with their hostname \(aqhaslambda\(aq \en               and upload them to the NXSConfigServer database \en\en       nxscreate deviceds  \-v p09/pilatus300k/haso228k \-b \-s pilatus300k_ RoI Energy ExposureTime\en\en           \- create datasources of the \(aqTANGO\(aq type\en               for RoI Energy ExposureTime attribute of \(aqp09/lambda2m/haso228k\(aq tango device\en               with the \(aqpilatus300k_\(aq datasource prefix \en               and upload them to the NXSConfigServer database \en\en\(dq
+.B epilog = " * without <dv_attr1>: datasources for all attributes are created\en * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en            <server> is taken from Tango DB\en            <datasource> is \(aqexp_mot\(aq \en            <host>, <port> are taken from <server>\en\en examples:\en\en       nxscreate deviceds  \-v p09/pilatus/haso228k \en\en           \- create datasources of the \(aqTANGO\(aq type\en               for all attribute of \(aqp09/pilatus/haso228k\(aq tango device\en               in the local file directory database \en\en       nxscreate deviceds  \-v p09/lambda2m/haso228k \-uhaslambda \-b \en\en           \- create datasources of the \(aqTANGO\(aq type\en               for all attribute of \(aqp09/lambda2m/haso228k\(aq tango device\en               with their hostname \(aqhaslambda\(aq \en               and upload them to the NXSConfigServer database \en\en       nxscreate deviceds  \-v p09/pilatus300k/haso228k \-b \-s pilatus300k_ RoI Energy ExposureTime\en\en           \- create datasources of the \(aqTANGO\(aq type\en               for RoI Energy ExposureTime attribute of \(aqp09/lambda2m/haso228k\(aq tango device\en               with the \(aqpilatus300k_\(aq datasource prefix \en               and upload them to the NXSConfigServer database \en\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4174,8 +4173,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.OnlineCP(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.OnlineCP(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 onlinecp runner
 .sp
@@ -4192,12 +4191,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate component from online.xml file\(aq
+.B description = \(aqcreate component from online.xml file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq * without \(aq\-c <component>\(aq: show a list of possible components\en * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en * default: <inputFile> is \(aq/online_dir/online.xml\(aq \en            <server> is taken from Tango DB\en\en examples:\en\en       nxscreate onlinecp  \en\en           \- list possible components which can be created from online.xml \en\en       nxscreate onlinecp \-c pilatus \-b \en\en           \- create the \(aqpilatus\(aq component and its datasources\en               in the NXSConfigServer database\en\en       nxscreate onlinecp \-c lambda \-d /home/user/xmldir/ \en\en           \- create the \(aqlambda\(aq component and its datasources\en               in the \(aq/home/user/xmldir/\(aq directory\en\en       nxscreate onlinecp \-c lmbd \-t lambda \-b \en\en           \- create the \(aqlmbd\(aq component of \(aqlambda\(aq type and its datasources\en               in the NXSConfigServer database\en\en\en       nxscreate onlinecp \-c lmbd \-t lambda  \-v p00/lmbd/1 \-u haso000 \-w 10000 \-b \en\en           \- create the \(aqlmbd\(aq component of \(aqlambda\(aq type and its datasources without online.xml\en               in the NXSConfigServer database\en\en\(dq
+.B epilog = " * without \(aq\-c <component>\(aq: show a list of possible components\en * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en * default: <inputFile> is \(aq/online_dir/online.xml\(aq \en            <server> is taken from Tango DB\en\en examples:\en\en       nxscreate onlinecp  \en\en           \- list possible components which can be created from online.xml \en\en       nxscreate onlinecp \-c pilatus \-b \en\en           \- create the \(aqpilatus\(aq component and its datasources\en               in the NXSConfigServer database\en\en       nxscreate onlinecp \-c lambda \-d /home/user/xmldir/ \en\en           \- create the \(aqlambda\(aq component and its datasources\en               in the \(aq/home/user/xmldir/\(aq directory\en\en       nxscreate onlinecp \-c lmbd \-t lambda \-b \en\en           \- create the \(aqlmbd\(aq component of \(aqlambda\(aq type and its datasources\en               in the NXSConfigServer database\en\en\en       nxscreate onlinecp \-c lmbd \-t lambda  \-v p00/lmbd/1 \-u haso000 \-w 10000 \-b \en\en           \- create the \(aqlmbd\(aq component of \(aqlambda\(aq type and its datasources without online.xml\en               in the NXSConfigServer database\en\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4218,8 +4217,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.OnlineDS(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.OnlineDS(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 onlineds runner
 .sp
@@ -4236,12 +4235,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate datasources from online.xml file\(aq
+.B description = \(aqcreate datasources from online.xml file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq * with \-b: datasources are created in Configuration Server database\en * with \-d <directory>: datasources are created on the local filesystem\en * without \-b or \-d <directory>: run in the test mode\en * default: <inputFile> is \(aq/online_dir/online.xml\(aq \en            <server> is taken from Tango DB\en\en \(gaonlineds\(ga overwrites existing datasources\en\en examples:\en\en       nxscreate onlineds \-b  \en\en           \- create datasources from online.xml file \en               and upload them to the NXSConfigServer database \en\en       nxscreate onlineds \-b \-t \en\en           \- like above but set motor tango datasources to \en               be no __CLIENT__ like\en\en       nxscreate onlineds \-d /home/user/xmldir \en\en           \- create datasources from online.xml file \en               and save them in the \(aq/home/user/xmldir\(aq directory \en\en       nxscreate onlineds \en\en           \- run the command in test mode without creating datasources \en\(dq
+.B epilog = " * with \-b: datasources are created in Configuration Server database\en * with \-d <directory>: datasources are created on the local filesystem\en * without \-b or \-d <directory>: run in the test mode\en * default: <inputFile> is \(aq/online_dir/online.xml\(aq \en            <server> is taken from Tango DB\en\en \(gaonlineds\(ga overwrites existing datasources\en\en examples:\en\en       nxscreate onlineds \-b  \en\en           \- create datasources from online.xml file \en               and upload them to the NXSConfigServer database \en\en       nxscreate onlineds \-b \-t \en\en           \- like above but set motor tango datasources to \en               be no __CLIENT__ like\en\en       nxscreate onlineds \-d /home/user/xmldir \en\en           \- create datasources from online.xml file \en               and save them in the \(aq/home/user/xmldir\(aq directory \en\en       nxscreate onlineds \en\en           \- run the command in test mode without creating datasources \en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4262,13 +4261,13 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxscreate.PYTANGO  =  True
+.B nxstools.nxscreate.PYTANGO = True
 (\fI\%bool\fP) True if PyTango available
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.PoolDS(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.PoolDS(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 poolds runner
 .sp
@@ -4285,12 +4284,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate datasources from sardana pool device\(aq
+.B description = \(aqcreate datasources from sardana pool device\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq * with \-b: datasources are created in Configuration Server database\en * with \-d <directory>: datasources are created on the local filesystem\en * without \-b or \-d <directory>: run in the test mode\en * default: <channel> is \(aqALL\(aq \en            <server> is taken from Tango DB\en\en            <pool> is taken from Tango DB\en\en \(gapoolds\(ga overwrites existing datasources\en\en examples:\en\en       nxscreate poolds \-b  \en\en           \- create all datasources defined in the local Pool \en               and upload them to the NXSConfigServer database \en\en       nxscreate poolds \-b \-t \en\en           \- like above but set motor tango datasources to \en               be no __CLIENT__ like\en\en       nxscreate poolds \-d . \-p p09/pool/haso228 \en\en           \- create all datasources defined in the \(aqp09/pool/haso228\(aq Pool \en               and save them in the local directory \en\en       nxscreate poolds \-b Motor CTExpChannel \en\en           \- create datasources of \(aqMotor\(aq and CTExpChannel classes \en               defined in the local Pool \en               and upload them to the NXSConfigServer database \en\en       nxscreate poolds \-b mot01 mot03 \en\en           \- create \(aqmot01\(aq and \(aqmot03\(aq datasources\en               defined in the local Pool \en               and upload them to the NXSConfigServer database \en\en       nxscreate poolds \en\en           \- run the command in test mode without creating datasources \en\(dq
+.B epilog = " * with \-b: datasources are created in Configuration Server database\en * with \-d <directory>: datasources are created on the local filesystem\en * without \-b or \-d <directory>: run in the test mode\en * default: <channel> is \(aqALL\(aq \en            <server> is taken from Tango DB\en\en            <pool> is taken from Tango DB\en\en \(gapoolds\(ga overwrites existing datasources\en\en examples:\en\en       nxscreate poolds \-b  \en\en           \- create all datasources defined in the local Pool \en               and upload them to the NXSConfigServer database \en\en       nxscreate poolds \-b \-t \en\en           \- like above but set motor tango datasources to \en               be no __CLIENT__ like\en\en       nxscreate poolds \-d . \-p p09/pool/haso228 \en\en           \- create all datasources defined in the \(aqp09/pool/haso228\(aq Pool \en               and save them in the local directory \en\en       nxscreate poolds \-b Motor CTExpChannel \en\en           \- create datasources of \(aqMotor\(aq and CTExpChannel classes \en               defined in the local Pool \en               and upload them to the NXSConfigServer database \en\en       nxscreate poolds \-b mot01 mot03 \en\en           \- create \(aqmot01\(aq and \(aqmot03\(aq datasources\en               defined in the local Pool \en               and upload them to the NXSConfigServer database \en\en       nxscreate poolds \en\en           \- run the command in test mode without creating datasources \en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4311,8 +4310,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.SECoPCP(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.SECoPCP(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 secop component runner
 .sp
@@ -4329,12 +4328,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate secop components\(aq
+.B description = \(aqcreate secop components\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq * with \-b: components are created (without datasources) in Configuration Server database\en * without \-b: components are created (without datasources) on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en            <port> is 5001\en\en examples:\en\en       nxscreate secopcp \en       nxscreate secopcp \-l \en\en           \- list all modules of the given node \en\en       nxscreate secopcp \-c temp_node \-d . \-j secopn_node.json \en\en           \- create the all secop components in the local directory for the node configured with the json file \en\en       nxscreate secopcp T \-t 5001 \-b \en\en           \- create the component for the T secop module  in the NXSConfigServer database for the node on the port 5000 \en\en       nxscreate secopcp \-d /home/user/xmldir/ \en\en           \- create the all secop components in the given directory\en\en\(dq
+.B epilog = " * with \-b: components are created (without datasources) in Configuration Server database\en * without \-b: components are created (without datasources) on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en            <port> is 5001\en\en examples:\en\en       nxscreate secopcp \en       nxscreate secopcp \-l \en\en           \- list all modules of the given node \en\en       nxscreate secopcp \-c temp_node \-d . \-j secopn_node.json \en\en           \- create the all secop components in the local directory for the node configured with the json file \en\en       nxscreate secopcp T \-t 5001 \-b \en\en           \- create the component for the T secop module  in the NXSConfigServer database for the node on the port 5000 \en\en       nxscreate secopcp \-d /home/user/xmldir/ \en\en           \- create the all secop components in the given directory\en\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4350,8 +4349,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.StdComp(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.StdComp(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 stdcomp runner
 .sp
@@ -4368,12 +4367,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate component from the standard templates\(aq
+.B description = \(aqcreate component from the standard templates\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq * without \(aq\-t <type>\(aq: show a list of possible component types\en * with \(aq\-t <type>  and without \-c <component>: show a list of component variables for the given component type\en * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en * [name1 value1 [name2 value2] ...] sequence  defines component variable values \en\en examples:\en\en       nxscreate stdcomp  \en\en           \- list possible component types\en               from the \(aqnxstools.xmltemplates\(aq package\en\en       nxscreate stdcomp  \-p nxsextrasp00  \en\en           \- list possible component types from the \(aqnxsextrasp00\(aq package\en\en       nxscreate stdcomp  \-t source \en\en           \- list a description of \(aqsource\(aq component variables\en\en       nxscreate stdcomp  \-t default  \-c default  \-m  \-b\en\en           \- create \(aqdefault\(aq component  of the \(aqdefault\(aq type\en               in the NXSConfigServer database and set it as mandatory\en\en       nxscreate stdcomp  \-t slit  \-c front_slit1   xgap slt1x  ygap slt1y\en\en           \- create \(aqfront_slit1\(aq component  of the \(aqslit\(aq type\en               where variables xgap=\(aqslt1x\(aq and ygap=\(aqslt1and\(aq in the local directory \en\en       nxscreate stdcomp  \-p nxsextrasp08  \-t analyzer  \-c analyzer1  v anav  roll anaroll  \-b\en\en           \- create \(aqanalyzer1\(aq component of the \(aqanalyzer type\(aq\en               where variables v=\(aqanav\(aq and roll=\(aqamaroll\(aq in the NXSConfigServer database\en\(dq
+.B epilog = " * without \(aq\-t <type>\(aq: show a list of possible component types\en * with \(aq\-t <type>  and without \-c <component>: show a list of component variables for the given component type\en * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en * [name1 value1 [name2 value2] ...] sequence  defines component variable values \en\en examples:\en\en       nxscreate stdcomp  \en\en           \- list possible component types\en               from the \(aqnxstools.xmltemplates\(aq package\en\en       nxscreate stdcomp  \-p nxsextrasp00  \en\en           \- list possible component types from the \(aqnxsextrasp00\(aq package\en\en       nxscreate stdcomp  \-t source \en\en           \- list a description of \(aqsource\(aq component variables\en\en       nxscreate stdcomp  \-t default  \-c default  \-m  \-b\en\en           \- create \(aqdefault\(aq component  of the \(aqdefault\(aq type\en               in the NXSConfigServer database and set it as mandatory\en\en       nxscreate stdcomp  \-t slit  \-c front_slit1   xgap slt1x  ygap slt1y\en\en           \- create \(aqfront_slit1\(aq component  of the \(aqslit\(aq type\en               where variables xgap=\(aqslt1x\(aq and ygap=\(aqslt1and\(aq in the local directory \en\en       nxscreate stdcomp  \-p nxsextrasp08  \-t analyzer  \-c analyzer1  v anav  roll anaroll  \-b\en\en           \- create \(aqanalyzer1\(aq component of the \(aqanalyzer type\(aq\en               where variables v=\(aqanav\(aq and roll=\(aqamaroll\(aq in the NXSConfigServer database\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4389,8 +4388,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreate.TangoDS(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxscreate.TangoDS(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 tangods runner
 .sp
@@ -4407,12 +4406,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate tango datasources\(aq
+.B description = \(aqcreate tango datasources\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en            <server> is taken from Tango DB\en            <datasource> is \(aqexp_mot\(aq \en            <host>, <port> are taken from <server>\en\en examples:\en\en       nxscreate tangods \-f1 \-l2 \-v p09/motor/exp. \-s exp_mot \en\en           \- create the \(aqexp_mot01\(aq and \(aqexp_mot02\(aq datasources of the \(aqTANGO\(aq type\en               with the corresponding \(aqp09/motor/exp.0?\(aq device names\en               and \(aqPosition\(aq tango attribute names in the local directory\en               where \(aq?\(aq is 1, 2 respectively \en\en       nxscreate tangods \-f1 \-l32 \-v p02/motor/eh1a. \-s exp_mot \-b \en\en           \- create the \(aqexp_mot01\(aq, ... ,\(aqexp_mot32\(aq datasources of the \(aqTANGO\(aq type\en               with the corresponding \(aqp09/motor/eh1a.??\(aq device names\en               while their attribute name is \(aqPosition\(aq  and upload them to the NXSConfigServer database\en               where \(aq??\(aq is 01, 02, ... ,32 respectively \en\en       nxscreate tangods \-v petra/globals/keyword \-s source_current \-u haso228 \-t 10000 \e\e \en                         \-a BeamCurrent \-b \-r p09/nxsconfigserver/haso228 \-o \-g __CLIENT__\en\en           \- create the a \(aqsource_current\(aq datasource of the \(aqTANGO\(aq type belonging to the \(aq__CLIENT__\(aq group \en               with the \(aqpetra/globals/keyword\(aq device name\en               while their attribute name is \(aqBeamCurrent\(aq, \en               their hostname is \(aqhaso228\(aq, their tango port is \(aq10000\(aq\en               and upload them to the NXSConfigServer \(aqp09/nxsconfigserver/haso228\(aq database\en\en       nxscreate tangods \-f1 \-l8  \-v pXX/slt/exp. \-s slt_exp_ \-u hasppXX.desy.de \-b \en\en           \- create the \(aqslt_exp_01\(aq, ... ,\(aqslt_exp_08\(aq datasources of the \(aqTANGO\(aq type\en               with the corresponding \(aqpXX/slt/exp.0?\(aq device names\en               while their attribute name is \(aqPosition\(aq, \en               their hostname is \(aqhasppXX.desy.de\(aq  and upload them to the NXSConfigServer database\en               where \(aq??\(aq is 1, 2, ... ,8 respectively \en\en\(dq
+.B epilog = " * with \-b: datasources are created in Configuration Server database\en * without \-b: datasources are created on the local filesystem in \-d <directory> \en * default: <directory> is \(aq.\(aq \en            <server> is taken from Tango DB\en            <datasource> is \(aqexp_mot\(aq \en            <host>, <port> are taken from <server>\en\en examples:\en\en       nxscreate tangods \-f1 \-l2 \-v p09/motor/exp. \-s exp_mot \en\en           \- create the \(aqexp_mot01\(aq and \(aqexp_mot02\(aq datasources of the \(aqTANGO\(aq type\en               with the corresponding \(aqp09/motor/exp.0?\(aq device names\en               and \(aqPosition\(aq tango attribute names in the local directory\en               where \(aq?\(aq is 1, 2 respectively \en\en       nxscreate tangods \-f1 \-l32 \-v p02/motor/eh1a. \-s exp_mot \-b \en\en           \- create the \(aqexp_mot01\(aq, ... ,\(aqexp_mot32\(aq datasources of the \(aqTANGO\(aq type\en               with the corresponding \(aqp09/motor/eh1a.??\(aq device names\en               while their attribute name is \(aqPosition\(aq  and upload them to the NXSConfigServer database\en               where \(aq??\(aq is 01, 02, ... ,32 respectively \en\en       nxscreate tangods \-v petra/globals/keyword \-s source_current \-u haso228 \-t 10000 \e\e \en                         \-a BeamCurrent \-b \-r p09/nxsconfigserver/haso228 \-o \-g __CLIENT__\en\en           \- create the a \(aqsource_current\(aq datasource of the \(aqTANGO\(aq type belonging to the \(aq__CLIENT__\(aq group \en               with the \(aqpetra/globals/keyword\(aq device name\en               while their attribute name is \(aqBeamCurrent\(aq, \en               their hostname is \(aqhaso228\(aq, their tango port is \(aq10000\(aq\en               and upload them to the NXSConfigServer \(aqp09/nxsconfigserver/haso228\(aq database\en\en       nxscreate tangods \-f1 \-l8  \-v pXX/slt/exp. \-s slt_exp_ \-u hasppXX.desy.de \-b \en\en           \- create the \(aqslt_exp_01\(aq, ... ,\(aqslt_exp_08\(aq datasources of the \(aqTANGO\(aq type\en               with the corresponding \(aqpXX/slt/exp.0?\(aq device names\en               while their attribute name is \(aqPosition\(aq, \en               their hostname is \(aqhasppXX.desy.de\(aq  and upload them to the NXSConfigServer database\en               where \(aq??\(aq is 1, 2, ... ,8 respectively \en\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4436,8 +4435,8 @@ the main program function
 Command\-line tool to ascess to Tango Data Server
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsdata.CloseEntry(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsdata.CloseEntry(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 CloseEntry runner
 .sp
@@ -4454,13 +4453,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqclose the current entry\(aq
+.B description = \(aqclose the current entry\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsdata closeentry \en\en\(aq
-(\fI\%str\fP) command epilog
+.B epilog = \(aq examples:\en       nxsdata closeentry \en\en\(aq
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -4481,8 +4479,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsdata.CloseFile(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsdata.CloseFile(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 CloseFile runner
 .sp
@@ -4499,13 +4497,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqclose the current file\(aq
+.B description = \(aqclose the current file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsdata closefile \en\en\(aq
-(\fI\%str\fP) command epilog
+.B epilog = \(aq examples:\en       nxsdata closefile \en\en\(aq
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -4526,7 +4523,7 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsdata.NexusServer(device)
+.B class nxstools.nxsdata.NexusServer(device)
 Bases: \fI\%object\fP
 .sp
 configuration server adapter
@@ -4595,8 +4592,8 @@ sets the global JSON data
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsdata.OpenEntry(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsdata.OpenEntry(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 OpenEntry runner
 .sp
@@ -4613,13 +4610,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqcreate new entry\(aq
+.B description = \(aqcreate new entry\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsdata openentry ... \en\en\(aq
-(\fI\%str\fP) command epilog
+.B epilog = \(aq examples:\en       nxsdata openentry ... \en\en\(aq
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -4640,8 +4636,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsdata.OpenFile(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsdata.OpenFile(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 OpenFile runner
 .sp
@@ -4658,13 +4654,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqopen a new H5 file\(aq
+.B description = \(aqopen a new H5 file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsdata openfile /tmp/watertest.nxs \en       nxsdata openfile \-s p02/tangodataserver/exp.01  /user/data/myfile.h5\en\en\(aq
-(\fI\%str\fP) command epilog
+.B epilog = \(aq examples:\en       nxsdata openfile /tmp/watertest.nxs \en       nxsdata openfile \-s p02/tangodataserver/exp.01  /user/data/myfile.h5\en\en\(aq
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -4690,8 +4685,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsdata.Record(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsdata.Record(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Record runner
 .sp
@@ -4708,13 +4703,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqrecord one step with step JSON data\(aq
+.B description = \(aqrecord one step with step JSON data\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsdata record ... \en\en\(aq
-(\fI\%str\fP) command epilog
+.B epilog = \(aq examples:\en       nxsdata record ... \en\en\(aq
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -4735,8 +4729,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsdata.Servers(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsdata.Servers(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Servers runner
 .sp
@@ -4753,13 +4747,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqget lists of tango data servers from the current tango host\(aq
+.B description = \(aqget lists of tango data servers from the current tango host\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsdata servers \en\en\(aq
-(\fI\%str\fP) command epilog
+.B epilog = \(aq examples:\en       nxsdata servers \en\en\(aq
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -4780,8 +4773,8 @@ output information
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsdata.SetData(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsdata.SetData(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 SetData runner
 .sp
@@ -4798,13 +4791,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqassign global JSON data\(aq
+.B description = \(aqassign global JSON data\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsdata setdata ... \en\en\(aq
-(\fI\%str\fP) command epilog
+.B epilog = \(aq examples:\en       nxsdata setdata ... \en\en\(aq
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -4833,8 +4825,8 @@ the main program function
 Set Up NeXus Tango Servers
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsetup.AddRecorderPath(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsetup.AddRecorderPath(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 add\-recorder\-path runner
 .sp
@@ -4851,12 +4843,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqadd\-recorder\-path into MacroServer(s) property\(aq
+.B description = \(aqadd\-recorder\-path into MacroServer(s) property\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsetup add\-recorder\-path /usr/share/pyshared/sardananxsrecorder\en       nxsetup add\-recorder\-path \-t /usr/share/pyshared/sardananxsrecorder\en       nxsetup add\-recorder\-path /usr/share/pyshared/sardananxsrecorder \-i haso\en\en\(aq
+.B epilog = \(aq examples:\en       nxsetup add\-recorder\-path /usr/share/pyshared/sardananxsrecorder\en       nxsetup add\-recorder\-path \-t /usr/share/pyshared/sardananxsrecorder\en       nxsetup add\-recorder\-path /usr/share/pyshared/sardananxsrecorder \-i haso\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4877,8 +4869,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsetup.ChangeProp(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsetup.ChangeProp(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 change\-prop runner
 .sp
@@ -4895,12 +4887,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqchange property value\(aq
+.B description = \(aqchange property value\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsetup change\-prop \-n ClientRecordKeys \-t \-w \(dq[\e\e\(dqphoibos_scan_command\e\e\(dq,\e\e\(dqphoibos_scan_comment\e\e\(dq]\(dq NXSRecSelector/r228\en       nxsetup change\-prop \-n DefaultPreselectedComponents \-w \(dq[\e\e\(dqpinhole1\e\e\(dq,\e\e\(dqslit2\e\e\(dq]\(dq NXSRecSelector/r228\en       nxsetup change\-prop \-n StartDsPath \-w \(dq[\e\e\(dq/usr/bin\e\e\(dq,\e\e\(dq/usr/lib/tango\e\e\(dq]\(dq Starter\en\en\(aq
+.B epilog = \(aq examples:\en       nxsetup change\-prop \-n ClientRecordKeys \-t \-w "[\e\e"phoibos_scan_command\e\e",\e\e"phoibos_scan_comment\e\e"]" NXSRecSelector/r228\en       nxsetup change\-prop \-n DefaultPreselectedComponents \-w "[\e\e"pinhole1\e\e",\e\e"slit2\e\e"]" NXSRecSelector/r228\en       nxsetup change\-prop \-n StartDsPath \-w "[\e\e"/usr/bin\e\e",\e\e"/usr/lib/tango\e\e"]" Starter\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4916,8 +4908,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsetup.MoveProp(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsetup.MoveProp(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 move\-prop runner
 .sp
@@ -4934,12 +4926,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqchange property name\(aq
+.B description = \(aqchange property name\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsetup move\-prop \-n DefaultPreselectedComponents \-o DefaultAutomaticComponents NXSRecSelector\en       nxsetup move\-prop \-t \-n DefaultPreselectedComponents  \-o DefaultAutomaticComponents NXSRecSelector\en\en\(aq
+.B epilog = \(aq examples:\en       nxsetup move\-prop \-n DefaultPreselectedComponents \-o DefaultAutomaticComponents NXSRecSelector\en       nxsetup move\-prop \-t \-n DefaultPreselectedComponents  \-o DefaultAutomaticComponents NXSRecSelector\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4955,8 +4947,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsetup.Restart(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsetup.Restart(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 restart runner
 .sp
@@ -4973,12 +4965,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqrestart tango server\(aq
+.B description = \(aqrestart tango server\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsetup restart Pool/haso228 \-l 2\en\en\(aq
+.B epilog = \(aq examples:\en       nxsetup restart Pool/haso228 \-l 2\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -4994,8 +4986,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsetup.Set(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsetup.Set(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 set runner
 .sp
@@ -5012,12 +5004,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqset up NXSConfigServer NXSDataWriter and NXSRecSelector servers\(aq
+.B description = \(aqset up NXSConfigServer NXSDataWriter and NXSRecSelector servers\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsetup set\en       nxsetup set \-b p09 \-m haso228 \-u p09user \-d nxsconfig NXSConfigServer\en\en\(aq
+.B epilog = \(aq examples:\en       nxsetup set\en       nxsetup set \-b p09 \-m haso228 \-u p09user \-d nxsconfig NXSConfigServer\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -5033,7 +5025,7 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsetup.SetUp
+.B class nxstools.nxsetup.SetUp
 Bases: \fI\%object\fP
 .sp
 setup NXSDataWriter, NXSConfigServer and NXSRecSelector Tango servers
@@ -5309,8 +5301,8 @@ True if server is running
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsetup.Start(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsetup.Start(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 start runner
 .sp
@@ -5327,12 +5319,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqstart tango server\(aq
+.B description = \(aqstart tango server\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsetup start Pool/haso228 \-l 2\en\en\(aq
+.B epilog = \(aq examples:\en       nxsetup start Pool/haso228 \-l 2\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -5348,8 +5340,8 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsetup.Stop(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsetup.Stop(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Stop runner
 .sp
@@ -5366,12 +5358,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqstop tango server\(aq
+.B description = \(aqstop tango server\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsetup stop Pool/haso228 \en\en\(aq
+.B epilog = \(aq examples:\en       nxsetup stop Pool/haso228 \en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -5387,7 +5379,7 @@ the main program function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsetup.knownHosts  =  {\(aqcfeld\-pcx27083\(aq: {\(aqbeamline\(aq: \(aqcfeld\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqcfeld\-pcx27083\(aq, \(aquser\(aq: \(aqritzkowf\(aq}, \(aqhas6117b\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhas6117b\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhascmexp\(aq: {\(aqbeamline\(aq: \(aqcmexp\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhascmexp\(aq, \(aquser\(aq: \(aqcmexp\(aq}, \(aqhasdelay\(aq: {\(aqbeamline\(aq: \(aqdelay\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasdelay\(aq, \(aquser\(aq: \(aqdelayusr\(aq}, \(aqhasdelay2\(aq: {\(aqbeamline\(aq: \(aqdelsauto\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasdelay2\(aq, \(aquser\(aq: \(aqdelayusr\(aq}, \(aqhasep211eh\(aq: {\(aqbeamline\(aq: \(aqp211\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep211eh\(aq, \(aquser\(aq: \(aqp211user\(aq}, \(aqhasep212lab\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep212lab\(aq, \(aquser\(aq: \(aqp212user\(aq}, \(aqhasep212oh\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep212oh\(aq, \(aquser\(aq: \(aqp212user\(aq}, \(aqhasep22ch1\(aq: {\(aqbeamline\(aq: \(aqp22\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep22ch1\(aq, \(aquser\(aq: \(aqp22user\(aq}, \(aqhasep22ch2\(aq: {\(aqbeamline\(aq: \(aqp22\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep22ch2\(aq, \(aquser\(aq: \(aqp22user\(aq}, \(aqhasep22oh\(aq: {\(aqbeamline\(aq: \(aqp22\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep22oh\(aq, \(aquser\(aq: \(aqp22user\(aq}, \(aqhasep23ch\(aq: {\(aqbeamline\(aq: \(aqp23\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep23ch\(aq, \(aquser\(aq: \(aqp23user\(aq}, \(aqhasep23dev\(aq: {\(aqbeamline\(aq: \(aqp23\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep23dev\(aq, \(aquser\(aq: \(aqp23user\(aq}, \(aqhasep23eh\(aq: {\(aqbeamline\(aq: \(aqp23\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep23eh\(aq, \(aquser\(aq: \(aqp23user\(aq}, \(aqhasep24\(aq: {\(aqbeamline\(aq: \(aqp24\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep24\(aq, \(aquser\(aq: \(aqp24user\(aq}, \(aqhasep24eh1\(aq: {\(aqbeamline\(aq: \(aqp24\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep24eh1\(aq, \(aquser\(aq: \(aqp24user\(aq}, \(aqhasfmirr\(aq: {\(aqbeamline\(aq: \(aqflash\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasfmirr\(aq, \(aquser\(aq: \(aqmusixusr\(aq}, \(aqhasfpgm1\(aq: {\(aqbeamline\(aq: \(aqflash\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasfpgm1\(aq, \(aquser\(aq: \(aqvuvfuser\(aq}, \(aqhasfvls\(aq: {\(aqbeamline\(aq: \(aqflash\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasfvls\(aq, \(aquser\(aq: \(aqvuvfuser\(aq}, \(aqhaskmusixtng\(aq: {\(aqbeamline\(aq: \(aqflash\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaskmusixtng\(aq, \(aquser\(aq: \(aqvuvfuser\(aq}, \(aqhasmfmc\(aq: {\(aqbeamline\(aq: \(aqfmc\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasmfmc\(aq, \(aquser\(aq: \(aqdelayusr\(aq}, \(aqhasmlqj\(aq: {\(aqbeamline\(aq: \(aqlqj\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasmlqj\(aq, \(aquser\(aq: \(aqlqjuser\(aq}, \(aqhasmrixs\(aq: {\(aqbeamline\(aq: \(aqrix\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasmrixs\(aq, \(aquser\(aq: \(aqrixuser\(aq}, \(aqhasnp61ch1\(aq: {\(aqbeamline\(aq: \(aqp61\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp61ch1\(aq, \(aquser\(aq: \(aqp61user\(aq}, \(aqhasnp64\(aq: {\(aqbeamline\(aq: \(aqp64\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp64\(aq, \(aquser\(aq: \(aqp64user\(aq}, \(aqhasnp64oh\(aq: {\(aqbeamline\(aq: \(aqp64\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp64oh\(aq, \(aquser\(aq: \(aqp64user\(aq}, \(aqhasnp65\(aq: {\(aqbeamline\(aq: \(aqp65\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp65\(aq, \(aquser\(aq: \(aqp65user\(aq}, \(aqhasnp66\(aq: {\(aqbeamline\(aq: \(aqp66\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp66\(aq, \(aquser\(aq: \(aqp66user\(aq}, \(aqhaso107d1\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso107d1\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhaso107klx\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso107klx\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhaso107tk\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso107tk\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhaso111n\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso111n\(aq, \(aquser\(aq: \(aqtnunez\(aq}, \(aqhaso111o\(aq: {\(aqbeamline\(aq: \(aqp09\(aq}, \(aqhaso111tb\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso111tb\(aq, \(aquser\(aq: \(aqtnunez\(aq}, \(aqhaso113b\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso113b\(aq, \(aquser\(aq: \(aqblume\(aq}, \(aqhaso113u\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso113u\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhaso204n\(aq: {\(aqbeamline\(aq: \(aqp23\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso204n\(aq, \(aquser\(aq: \(aqp23user\(aq}, \(aqhaso213p\(aq: {\(aqbeamline\(aq: \(aqp22\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso213p\(aq, \(aquser\(aq: \(aqspiec\(aq}, \(aqhaso224w\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso224w\(aq, \(aquser\(aq: \(aqp021user\(aq}, \(aqhaso228jk\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso228jk\(aq, \(aquser\(aq: \(aqjkotan\(aq}, \(aqhaso232s\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp232s\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhasodlsauto\(aq: {\(aqbeamline\(aq: \(aqdlsauto\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasodlsauto\(aq, \(aquser\(aq: \(aqdlsuser\(aq}, \(aqhasp029rack\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasp029rack\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhasp068xlab\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasp068xlab\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhaspecsicl4\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspecsicl4\(aq, \(aquser\(aq: \(aqlacluser\(aq}, \(aqhaspllabcl1\(aq: {\(aqbeamline\(aq: \(aqllab\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspllabcl1\(aq, \(aquser\(aq: \(aqlacluser\(aq}, \(aqhaspp01eh1\(aq: {\(aqbeamline\(aq: \(aqp01\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp01eh1\(aq, \(aquser\(aq: \(aqp01user\(aq}, \(aqhaspp01eh2\(aq: {\(aqbeamline\(aq: \(aqp01\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp01eh2\(aq, \(aquser\(aq: \(aqp01user\(aq}, \(aqhaspp01eh3\(aq: {\(aqbeamline\(aq: \(aqp01\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp01eh3\(aq, \(aquser\(aq: \(aqp01user\(aq}, \(aqhaspp021ch1\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp021ch1\(aq, \(aquser\(aq: \(aqp021user\(aq}, \(aqhaspp021ch1a\(aq: {\(aqbeamline\(aq: \(aqp021\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp021ch1a\(aq, \(aquser\(aq: \(aqp021user\(aq}, \(aqhaspp021jenkins\(aq: {\(aqbeamline\(aq: \(aqp021\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp021jenkins\(aq, \(aquser\(aq: \(aqp021user\(aq}, \(aqhaspp022ch\(aq: {\(aqbeamline\(aq: \(aqp022\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp022ch\(aq, \(aquser\(aq: \(aqp022user\(aq}, \(aqhaspp022chms\(aq: {\(aqbeamline\(aq: \(aqp022\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp022chms\(aq, \(aquser\(aq: \(aqp022user\(aq}, \(aqhaspp02ch1\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02ch1\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp02ch1a\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02ch1a\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp02ch2\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02ch2\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp02lakl\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02lakl\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp02oh1\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02oh1\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp03\(aq: {\(aqbeamline\(aq: \(aqp03\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp03\(aq, \(aquser\(aq: \(aqp03user\(aq}, \(aqhaspp03nano\(aq: {\(aqbeamline\(aq: \(aqp03nano\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp03nano\(aq, \(aquser\(aq: \(aqp03nano\(aq}, \(aqhaspp04exp1\(aq: {\(aqbeamline\(aq: \(aqp04\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp04exp1\(aq, \(aquser\(aq: \(aqp04user\(aq}, \(aqhaspp04exp2\(aq: {\(aqbeamline\(aq: \(aqp04\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp04exp2\(aq, \(aquser\(aq: \(aqp04user\(aq}, \(aqhaspp06ctrl\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp06ctrl\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhaspp06mc01\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp06mc01\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhaspp06nc1\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp06nc1\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhaspp07eh2\(aq: {\(aqbeamline\(aq: \(aqp07\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp07eh2\(aq, \(aquser\(aq: \(aqp07user\(aq}, \(aqhaspp08\(aq: {\(aqbeamline\(aq: \(aqp08\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp08\(aq, \(aquser\(aq: \(aqp08user\(aq}, \(aqhaspp08lisa2\(aq: {\(aqbeamline\(aq: \(aqp08\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp08lisa2\(aq, \(aquser\(aq: \(aqp08user\(aq}, \(aqhaspp09\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp09\(aq, \(aquser\(aq: \(aqp09user\(aq}, \(aqhaspp09dif\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp09dif\(aq, \(aquser\(aq: \(aqp09user\(aq}, \(aqhaspp09haxps\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp09maxps\(aq, \(aquser\(aq: \(aqp09haxps\(aq}, \(aqhaspp09mag\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp09mag\(aq, \(aquser\(aq: \(aqp09user\(aq}, \(aqhaspp10e1\(aq: {\(aqbeamline\(aq: \(aqp10\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp10e1\(aq, \(aquser\(aq: \(aqp10user\(aq}, \(aqhaspp10e2\(aq: {\(aqbeamline\(aq: \(aqp10\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp10e2\(aq, \(aquser\(aq: \(aqp10user\(aq}, \(aqhaspp10lab\(aq: {\(aqbeamline\(aq: \(aqp10\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp10lab\(aq, \(aquser\(aq: \(aqp10user\(aq}, \(aqhaspp10lcx\(aq: {\(aqbeamline\(aq: \(aqp10\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp10lcx\(aq, \(aquser\(aq: \(aqp10user\(aq}, \(aqhaspp11oh\(aq: {\(aqbeamline\(aq: \(aqp11\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp11oh\(aq, \(aquser\(aq: \(aqp11user\(aq}, \(aqhaspp11sardana\(aq: {\(aqbeamline\(aq: \(aqp11\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp11sardana\(aq, \(aquser\(aq: \(aqp11user\(aq}, \(aqhaspp11user02\(aq: {\(aqbeamline\(aq: \(aqp11\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp11user02\(aq, \(aquser\(aq: \(aqp11user\(aq}, \(aqhaspp212oh\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep212oh\(aq, \(aquser\(aq: \(aqp21user\(aq}, \(aqhaspp21eh2\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep21eh2\(aq, \(aquser\(aq: \(aqp21user\(aq}, \(aqhaspp21eh3\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep21eh3\(aq, \(aquser\(aq: \(aqp21user\(aq}, \(aqhaspp21lab\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp21lab\(aq, \(aquser\(aq: \(aqp21user\(aq}, \(aqhastodt\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhastodt\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhzgpp07eh1\(aq: {\(aqbeamline\(aq: \(aqp07\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhzgpp07eh1\(aq, \(aquser\(aq: \(aqp07user\(aq}, \(aqhzgpp07eh3\(aq: {\(aqbeamline\(aq: \(aqp07\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhzgpp07eh3\(aq, \(aquser\(aq: \(aqp07user\(aq}, \(aqhzgpp07eh4\(aq: {\(aqbeamline\(aq: \(aqp07\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhzgpp07eh4\(aq, \(aquser\(aq: \(aqp07user\(aq}}
+.B nxstools.nxsetup.knownHosts = {\(aqcfeld\-pcx27083\(aq: {\(aqbeamline\(aq: \(aqcfeld\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqcfeld\-pcx27083\(aq, \(aquser\(aq: \(aqritzkowf\(aq}, \(aqhas6117b\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhas6117b\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhascmexp\(aq: {\(aqbeamline\(aq: \(aqcmexp\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhascmexp\(aq, \(aquser\(aq: \(aqcmexp\(aq}, \(aqhasdelay\(aq: {\(aqbeamline\(aq: \(aqdelay\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasdelay\(aq, \(aquser\(aq: \(aqdelayusr\(aq}, \(aqhasdelay2\(aq: {\(aqbeamline\(aq: \(aqdelsauto\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasdelay2\(aq, \(aquser\(aq: \(aqdelayusr\(aq}, \(aqhasep211eh\(aq: {\(aqbeamline\(aq: \(aqp211\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep211eh\(aq, \(aquser\(aq: \(aqp211user\(aq}, \(aqhasep212lab\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep212lab\(aq, \(aquser\(aq: \(aqp212user\(aq}, \(aqhasep212oh\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep212oh\(aq, \(aquser\(aq: \(aqp212user\(aq}, \(aqhasep22ch1\(aq: {\(aqbeamline\(aq: \(aqp22\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep22ch1\(aq, \(aquser\(aq: \(aqp22user\(aq}, \(aqhasep22ch2\(aq: {\(aqbeamline\(aq: \(aqp22\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep22ch2\(aq, \(aquser\(aq: \(aqp22user\(aq}, \(aqhasep22oh\(aq: {\(aqbeamline\(aq: \(aqp22\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep22oh\(aq, \(aquser\(aq: \(aqp22user\(aq}, \(aqhasep23ch\(aq: {\(aqbeamline\(aq: \(aqp23\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep23ch\(aq, \(aquser\(aq: \(aqp23user\(aq}, \(aqhasep23dev\(aq: {\(aqbeamline\(aq: \(aqp23\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep23dev\(aq, \(aquser\(aq: \(aqp23user\(aq}, \(aqhasep23eh\(aq: {\(aqbeamline\(aq: \(aqp23\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep23eh\(aq, \(aquser\(aq: \(aqp23user\(aq}, \(aqhasep24\(aq: {\(aqbeamline\(aq: \(aqp24\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep24\(aq, \(aquser\(aq: \(aqp24user\(aq}, \(aqhasep24eh1\(aq: {\(aqbeamline\(aq: \(aqp24\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep24eh1\(aq, \(aquser\(aq: \(aqp24user\(aq}, \(aqhasfmirr\(aq: {\(aqbeamline\(aq: \(aqflash\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasfmirr\(aq, \(aquser\(aq: \(aqmusixusr\(aq}, \(aqhasfpgm1\(aq: {\(aqbeamline\(aq: \(aqflash\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasfpgm1\(aq, \(aquser\(aq: \(aqvuvfuser\(aq}, \(aqhasfvls\(aq: {\(aqbeamline\(aq: \(aqflash\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasfvls\(aq, \(aquser\(aq: \(aqvuvfuser\(aq}, \(aqhaskmusixtng\(aq: {\(aqbeamline\(aq: \(aqflash\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaskmusixtng\(aq, \(aquser\(aq: \(aqvuvfuser\(aq}, \(aqhasmfmc\(aq: {\(aqbeamline\(aq: \(aqfmc\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasmfmc\(aq, \(aquser\(aq: \(aqdelayusr\(aq}, \(aqhasmlqj\(aq: {\(aqbeamline\(aq: \(aqlqj\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasmlqj\(aq, \(aquser\(aq: \(aqlqjuser\(aq}, \(aqhasmrixs\(aq: {\(aqbeamline\(aq: \(aqrix\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasmrixs\(aq, \(aquser\(aq: \(aqrixuser\(aq}, \(aqhasnp61ch1\(aq: {\(aqbeamline\(aq: \(aqp61\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp61ch1\(aq, \(aquser\(aq: \(aqp61user\(aq}, \(aqhasnp64\(aq: {\(aqbeamline\(aq: \(aqp64\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp64\(aq, \(aquser\(aq: \(aqp64user\(aq}, \(aqhasnp64oh\(aq: {\(aqbeamline\(aq: \(aqp64\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp64oh\(aq, \(aquser\(aq: \(aqp64user\(aq}, \(aqhasnp65\(aq: {\(aqbeamline\(aq: \(aqp65\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp65\(aq, \(aquser\(aq: \(aqp65user\(aq}, \(aqhasnp66\(aq: {\(aqbeamline\(aq: \(aqp66\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasnp66\(aq, \(aquser\(aq: \(aqp66user\(aq}, \(aqhaso107d1\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso107d1\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhaso107klx\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso107klx\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhaso107tk\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso107tk\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhaso111n\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso111n\(aq, \(aquser\(aq: \(aqtnunez\(aq}, \(aqhaso111o\(aq: {\(aqbeamline\(aq: \(aqp09\(aq}, \(aqhaso111tb\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso111tb\(aq, \(aquser\(aq: \(aqtnunez\(aq}, \(aqhaso113b\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso113b\(aq, \(aquser\(aq: \(aqblume\(aq}, \(aqhaso113u\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso113u\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhaso204n\(aq: {\(aqbeamline\(aq: \(aqp23\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso204n\(aq, \(aquser\(aq: \(aqp23user\(aq}, \(aqhaso213p\(aq: {\(aqbeamline\(aq: \(aqp22\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso213p\(aq, \(aquser\(aq: \(aqspiec\(aq}, \(aqhaso224w\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso224w\(aq, \(aquser\(aq: \(aqp021user\(aq}, \(aqhaso228jk\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaso228jk\(aq, \(aquser\(aq: \(aqjkotan\(aq}, \(aqhaso232s\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp232s\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhasodlsauto\(aq: {\(aqbeamline\(aq: \(aqdlsauto\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasodlsauto\(aq, \(aquser\(aq: \(aqdlsuser\(aq}, \(aqhasp029rack\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasp029rack\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhasp068xlab\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasp068xlab\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhaspecsicl4\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspecsicl4\(aq, \(aquser\(aq: \(aqlacluser\(aq}, \(aqhaspllabcl1\(aq: {\(aqbeamline\(aq: \(aqllab\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspllabcl1\(aq, \(aquser\(aq: \(aqlacluser\(aq}, \(aqhaspp01eh1\(aq: {\(aqbeamline\(aq: \(aqp01\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp01eh1\(aq, \(aquser\(aq: \(aqp01user\(aq}, \(aqhaspp01eh2\(aq: {\(aqbeamline\(aq: \(aqp01\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp01eh2\(aq, \(aquser\(aq: \(aqp01user\(aq}, \(aqhaspp01eh3\(aq: {\(aqbeamline\(aq: \(aqp01\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp01eh3\(aq, \(aquser\(aq: \(aqp01user\(aq}, \(aqhaspp021ch1\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp021ch1\(aq, \(aquser\(aq: \(aqp021user\(aq}, \(aqhaspp021ch1a\(aq: {\(aqbeamline\(aq: \(aqp021\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp021ch1a\(aq, \(aquser\(aq: \(aqp021user\(aq}, \(aqhaspp021jenkins\(aq: {\(aqbeamline\(aq: \(aqp021\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp021jenkins\(aq, \(aquser\(aq: \(aqp021user\(aq}, \(aqhaspp022ch\(aq: {\(aqbeamline\(aq: \(aqp022\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp022ch\(aq, \(aquser\(aq: \(aqp022user\(aq}, \(aqhaspp022chms\(aq: {\(aqbeamline\(aq: \(aqp022\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp022chms\(aq, \(aquser\(aq: \(aqp022user\(aq}, \(aqhaspp02ch1\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02ch1\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp02ch1a\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02ch1a\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp02ch2\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02ch2\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp02lakl\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02lakl\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp02oh1\(aq: {\(aqbeamline\(aq: \(aqp02\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp02oh1\(aq, \(aquser\(aq: \(aqp02user\(aq}, \(aqhaspp03\(aq: {\(aqbeamline\(aq: \(aqp03\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp03\(aq, \(aquser\(aq: \(aqp03user\(aq}, \(aqhaspp03nano\(aq: {\(aqbeamline\(aq: \(aqp03nano\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp03nano\(aq, \(aquser\(aq: \(aqp03nano\(aq}, \(aqhaspp04exp1\(aq: {\(aqbeamline\(aq: \(aqp04\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp04exp1\(aq, \(aquser\(aq: \(aqp04user\(aq}, \(aqhaspp04exp2\(aq: {\(aqbeamline\(aq: \(aqp04\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp04exp2\(aq, \(aquser\(aq: \(aqp04user\(aq}, \(aqhaspp06ctrl\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp06ctrl\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhaspp06mc01\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp06mc01\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhaspp06nc1\(aq: {\(aqbeamline\(aq: \(aqp06\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp06nc1\(aq, \(aquser\(aq: \(aqp06user\(aq}, \(aqhaspp07eh2\(aq: {\(aqbeamline\(aq: \(aqp07\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp07eh2\(aq, \(aquser\(aq: \(aqp07user\(aq}, \(aqhaspp08\(aq: {\(aqbeamline\(aq: \(aqp08\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp08\(aq, \(aquser\(aq: \(aqp08user\(aq}, \(aqhaspp08lisa2\(aq: {\(aqbeamline\(aq: \(aqp08\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp08lisa2\(aq, \(aquser\(aq: \(aqp08user\(aq}, \(aqhaspp09\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp09\(aq, \(aquser\(aq: \(aqp09user\(aq}, \(aqhaspp09dif\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp09dif\(aq, \(aquser\(aq: \(aqp09user\(aq}, \(aqhaspp09haxps\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp09maxps\(aq, \(aquser\(aq: \(aqp09haxps\(aq}, \(aqhaspp09mag\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp09mag\(aq, \(aquser\(aq: \(aqp09user\(aq}, \(aqhaspp10e1\(aq: {\(aqbeamline\(aq: \(aqp10\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp10e1\(aq, \(aquser\(aq: \(aqp10user\(aq}, \(aqhaspp10e2\(aq: {\(aqbeamline\(aq: \(aqp10\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp10e2\(aq, \(aquser\(aq: \(aqp10user\(aq}, \(aqhaspp10lab\(aq: {\(aqbeamline\(aq: \(aqp10\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp10lab\(aq, \(aquser\(aq: \(aqp10user\(aq}, \(aqhaspp10lcx\(aq: {\(aqbeamline\(aq: \(aqp10\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp10lcx\(aq, \(aquser\(aq: \(aqp10user\(aq}, \(aqhaspp11oh\(aq: {\(aqbeamline\(aq: \(aqp11\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp11oh\(aq, \(aquser\(aq: \(aqp11user\(aq}, \(aqhaspp11sardana\(aq: {\(aqbeamline\(aq: \(aqp11\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp11sardana\(aq, \(aquser\(aq: \(aqp11user\(aq}, \(aqhaspp11user02\(aq: {\(aqbeamline\(aq: \(aqp11\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp11user02\(aq, \(aquser\(aq: \(aqp11user\(aq}, \(aqhaspp212oh\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep212oh\(aq, \(aquser\(aq: \(aqp21user\(aq}, \(aqhaspp21eh2\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep21eh2\(aq, \(aquser\(aq: \(aqp21user\(aq}, \(aqhaspp21eh3\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhasep21eh3\(aq, \(aquser\(aq: \(aqp21user\(aq}, \(aqhaspp21lab\(aq: {\(aqbeamline\(aq: \(aqp21\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhaspp21lab\(aq, \(aquser\(aq: \(aqp21user\(aq}, \(aqhastodt\(aq: {\(aqbeamline\(aq: \(aqp09\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhastodt\(aq, \(aquser\(aq: \(aqkracht\(aq}, \(aqhzgpp07eh1\(aq: {\(aqbeamline\(aq: \(aqp07\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhzgpp07eh1\(aq, \(aquser\(aq: \(aqp07user\(aq}, \(aqhzgpp07eh3\(aq: {\(aqbeamline\(aq: \(aqp07\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhzgpp07eh3\(aq, \(aquser\(aq: \(aqp07user\(aq}, \(aqhzgpp07eh4\(aq: {\(aqbeamline\(aq: \(aqp07\(aq, \(aqdbname\(aq: \(aqnxsconfig\(aq, \(aqmasterhost\(aq: \(aqhzgpp07eh4\(aq, \(aquser\(aq: \(aqp07user\(aq}}
 (\fI\%dict\fP <\fI\%dict\fP <\fI\%str\fP , \fI\%str\fP > > )
 all SardanaHosts and DataBaseHosts should be known
 .UNINDENT
@@ -5401,8 +5393,8 @@ the main program function
 Command\-line tool for creating to the nexdatas configuration server
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.CPCreator(options, args, printouts=True)
-Bases: \fI\%Creator\fP
+.B class nxstools.nxscreator.CPCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.Creator\fP
 .sp
 component creator of all online.xml complex devices
 .sp
@@ -5453,15 +5445,15 @@ abstract method
 .UNINDENT
 .INDENT 0.0
 .TP
-.B exception  nxstools.nxscreator.CPExistsException
+.B exception nxstools.nxscreator.CPExistsException
 Bases: \fI\%Exception\fP
 .sp
 Component already exists exception
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.ClientDSCreator(options, args, printouts=True)
-Bases: \fI\%Creator\fP
+.B class nxstools.nxscreator.ClientDSCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.Creator\fP
 .sp
 client datasource creator
 .sp
@@ -5486,7 +5478,7 @@ creates a client datasource xml and stores it in DB or filesytem
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.CompareOnlineDS(options, args, printouts=True)
+.B class nxstools.nxscreator.CompareOnlineDS(options, args, printouts=True)
 Bases: \fI\%object\fP
 .sp
 comparing tool for online.xml files
@@ -5521,8 +5513,8 @@ constructor
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.ComponentCreator(options, args, printouts=True)
-Bases: \fI\%Creator\fP
+.B class nxstools.nxscreator.ComponentCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.Creator\fP
 .sp
 component creator
 .sp
@@ -5547,7 +5539,7 @@ creates a component xml and stores it in DB or filesytem
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.Creator(options, args, printouts=True)
+.B class nxstools.nxscreator.Creator(options, args, printouts=True)
 Bases: \fI\%object\fP
 .sp
 configuration server adapter
@@ -5578,14 +5570,14 @@ constructor
 .UNINDENT
 .INDENT 0.0
 .TP
-.B exception  nxstools.nxscreator.DSExistsException
+.B exception nxstools.nxscreator.DSExistsException
 Bases: \fI\%Exception\fP
 .sp
 DataSource already exists exception
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.Device
+.B class nxstools.nxscreator.Device
 Bases: \fI\%object\fP
 .sp
 device from online.xml
@@ -5721,8 +5713,8 @@ converts \fIname\fP, \fImodule\fP, \fItdevice\fP, \fIhostname\fP into lower case
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.DeviceDSCreator(options, args, printouts=True)
-Bases: \fI\%Creator\fP
+.B class nxstools.nxscreator.DeviceDSCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.Creator\fP
 .sp
 device datasource creator
 .sp
@@ -5748,8 +5740,8 @@ and stores it in DB or filesytem
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.OnlineCPCreator(options, args, printouts=True)
-Bases: \fI\%CPCreator\fP
+.B class nxstools.nxscreator.OnlineCPCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.CPCreator\fP
 .sp
 component creator of online components
 .sp
@@ -5800,8 +5792,8 @@ list of standard component types
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.OnlineDSCreator(options, args, printouts=True)
-Bases: \fI\%Creator\fP
+.B class nxstools.nxscreator.OnlineDSCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.Creator\fP
 .sp
 datasource creator of all online.xml simple devices
 .sp
@@ -5846,13 +5838,13 @@ creates datasource xmls of all online.xml simple devices
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxscreator.PYTANGO  =  True
+.B nxstools.nxscreator.PYTANGO = True
 (\fI\%bool\fP) True if PyTango available
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.PoolDSCreator(options, args, printouts=True)
-Bases: \fI\%Creator\fP
+.B class nxstools.nxscreator.PoolDSCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.Creator\fP
 .sp
 datasource creator of all sardana pool acquisition channels
 .sp
@@ -5887,8 +5879,8 @@ creates datasource xmls of all online.xml simple devices
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.SECoPCPCreator(options, args, printouts=True)
-Bases: \fI\%CPCreator\fP
+.B class nxstools.nxscreator.SECoPCPCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.CPCreator\fP
 .sp
 component creator of secop components
 .sp
@@ -5956,8 +5948,8 @@ list of modules for the secop node
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.StandardCPCreator(options, args, printouts=True)
-Bases: \fI\%CPCreator\fP
+.B class nxstools.nxscreator.StandardCPCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.CPCreator\fP
 .sp
 component creator of standard templates
 .sp
@@ -6008,8 +6000,8 @@ list of standard component types
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxscreator.TangoDSCreator(options, args, printouts=True)
-Bases: \fI\%Creator\fP
+.B class nxstools.nxscreator.TangoDSCreator(options, args, printouts=True)
+Bases: \fI\%nxstools.nxscreator.Creator\fP
 .sp
 tango datasource creator
 .sp
@@ -6034,7 +6026,7 @@ creates a tango datasource xml and stores it in DB or filesytem
 .UNINDENT
 .INDENT 0.0
 .TP
-.B exception  nxstools.nxscreator.WrongParameterError
+.B exception nxstools.nxscreator.WrongParameterError
 Bases: \fI\%Exception\fP
 .sp
 wrong parameter exception
@@ -6044,8 +6036,8 @@ wrong parameter exception
 Command\-line tool for showing meta data from Nexus Files
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileinfo.Attachment(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsfileinfo.Attachment(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Attachment runner
 .sp
@@ -6083,12 +6075,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqgenerate description of attachment\(aq
+.B description = \(aqgenerate description of attachment\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq examples:\en       nxsfileinfo attachment \-b p00 \-i 2342342 \-t \(aqHH water\(aq \-o ~/at1.json thumbnail.png \en       nxsfileinfo attachment \-b p00 \-i 2342342 \-t \(aqHH water\(aq \-o ~/at2.json \-s pilatus myscan_00123.nxs \en       nxsfileinfo attachment \-b p00 \-i 2342342 \-t \(aqHH water\(aq \-o ~/at2.json  myscan_00124.fio \en\en\(dq
+.B epilog = " examples:\en       nxsfileinfo attachment \-b p00 \-i 2342342 \-t \(aqHH water\(aq \-o ~/at1.json thumbnail.png \en       nxsfileinfo attachment \-b p00 \-i 2342342 \-t \(aqHH water\(aq \-o ~/at2.json \-s pilatus myscan_00123.nxs \en       nxsfileinfo attachment \-b p00 \-i 2342342 \-t \(aqHH water\(aq \-o ~/at2.json  myscan_00124.fio \en\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -6130,7 +6122,7 @@ the main function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileinfo.BeamtimeLoader(options)
+.B class nxstools.nxsfileinfo.BeamtimeLoader(options)
 Bases: \fI\%object\fP
 .sp
 loader constructor
@@ -6166,27 +6158,27 @@ metadata dictionary
 .UNINDENT
 .INDENT 7.0
 .TP
-.B btmdmap  =  {}
+.B btmdmap = {}
 .UNINDENT
 .INDENT 7.0
 .TP
-.B copylist  =  [[\(aqcreationTime\(aq, \(aqendTime\(aq]]
+.B copylist = [[\(aqcreationTime\(aq, \(aqendTime\(aq]]
 .UNINDENT
 .INDENT 7.0
 .TP
-.B copymap  =  {\(aqdescription\(aq: \(aqscientificMetadata.title.value\(aq, \(aqendTime\(aq: \(aqscientificMetadata.end_time.value\(aq, \(aqscientificMetadata.ScanCommand\(aq: \(aqscientificMetadata.program_name.scan_command\(aq}
+.B copymap = {\(aqdescription\(aq: \(aqscientificMetadata.title.value\(aq, \(aqendTime\(aq: \(aqscientificMetadata.end_time.value\(aq, \(aqscientificMetadata.ScanCommand\(aq: \(aqscientificMetadata.program_name.scan_command\(aq}
 .UNINDENT
 .INDENT 7.0
 .TP
-.B cre  =  {\(aqaccessGroups\(aq: [], \(aqclassification\(aq: [], \(aqcreatedAt\(aq: [], \(aqcreatedBy\(aq: [], \(aqcreationTime\(aq: [], \(aqdataFormat\(aq: [], \(aqdatasetName\(aq: [], \(aqdatasetlifecycle\(aq: [], \(aqhistory\(aq: [], \(aqinstrumentId\(aq: [], \(aqisPublished\(aq: [\(aqfalse\(aq], \(aqkeywords\(aq: [], \(aqlicense\(aq: [], \(aqnumberOfFiles\(aq: [], \(aqnumberOfFilesArchived\(aq: [], \(aqorcidOfOwner\(aq: \(aqORCID of owner https://orcid.org if available\(aq, \(aqownerGroup\(aq: [], \(aqpackedSize\(aq: [], \(aqpublisheddataId\(aq: [], \(aqsampleId\(aq: [], \(aqscientificMetadata\(aq: {}, \(aqsize\(aq: [], \(aqsourceFolderHost\(aq: [], \(aqtechniques\(aq: [], \(aqupdatedAt\(aq: [], \(aqupdatedBy\(aq: [], \(aqvalidationStatus\(aq: [], \(aqversion\(aq: []}
+.B cre = {\(aqaccessGroups\(aq: [], \(aqclassification\(aq: [], \(aqcreatedAt\(aq: [], \(aqcreatedBy\(aq: [], \(aqcreationTime\(aq: [], \(aqdataFormat\(aq: [], \(aqdatasetName\(aq: [], \(aqdatasetlifecycle\(aq: [], \(aqhistory\(aq: [], \(aqinstrumentId\(aq: [], \(aqisPublished\(aq: [\(aqfalse\(aq], \(aqkeywords\(aq: [], \(aqlicense\(aq: [], \(aqnumberOfFiles\(aq: [], \(aqnumberOfFilesArchived\(aq: [], \(aqorcidOfOwner\(aq: \(aqORCID of owner https://orcid.org if available\(aq, \(aqownerGroup\(aq: [], \(aqpackedSize\(aq: [], \(aqpublisheddataId\(aq: [], \(aqsampleId\(aq: [], \(aqscientificMetadata\(aq: {}, \(aqsize\(aq: [], \(aqsourceFolderHost\(aq: [], \(aqtechniques\(aq: [], \(aqupdatedAt\(aq: [], \(aqupdatedBy\(aq: [], \(aqvalidationStatus\(aq: [], \(aqversion\(aq: []}
 .UNINDENT
 .INDENT 7.0
 .TP
-.B dr  =  {\(aqapplicant.*\(aq: [], \(aqbeamlineAlias\(aq: [], \(aqeventStart\(aq: [], \(aqleader\(aq: [], \(aqonlineAnalysis\(aq: [], \(aqpi.*\(aq: [], \(aqproposalType\(aq: [], \(aqusers\(aq: []}
+.B dr = {\(aqapplicant.*\(aq: [], \(aqbeamlineAlias\(aq: [], \(aqeventStart\(aq: [], \(aqleader\(aq: [], \(aqonlineAnalysis\(aq: [], \(aqpi.*\(aq: [], \(aqproposalType\(aq: [], \(aqusers\(aq: []}
 .UNINDENT
 .INDENT 7.0
 .TP
-.B facilityalias  =  {\(aqPETRA III\(aq: \(aqpetra3\(aq, \(aqPETRA IV\(aq: \(aqpetra4\(aq}
+.B facilityalias = {\(aqPETRA III\(aq: \(aqpetra3\(aq, \(aqPETRA IV\(aq: \(aqpetra4\(aq}
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -6259,11 +6251,11 @@ metadata dictionary
 .UNINDENT
 .INDENT 7.0
 .TP
-.B newbtmdmap  =  {\(aqcontactEmail\(aq: [\(aqpi.email\(aq, \(aqapplicant.email\(aq], \(aqdescription\(aq: [\(aqtitle\(aq], \(aqendTime\(aq: [\(aqeventEnd\(aq], \(aqowner\(aq: [\(aqleader.lastname\(aq, \(aqapplicant.lastname\(aq], \(aqownerEmail\(aq: [\(aqleader.email\(aq, \(aqapplicant.email\(aq], \(aqprincipalInvestigator\(aq: [\(aqapplicant.email\(aq], \(aqproposalId\(aq: [\(aqbeamtimeId\(aq], \(aqsourceFolder\(aq: [\(aqcorePath\(aq]}
+.B newbtmdmap = {\(aqcontactEmail\(aq: [\(aqpi.email\(aq, \(aqapplicant.email\(aq], \(aqdescription\(aq: [\(aqtitle\(aq], \(aqendTime\(aq: [\(aqeventEnd\(aq], \(aqowner\(aq: [\(aqleader.lastname\(aq, \(aqapplicant.lastname\(aq], \(aqownerEmail\(aq: [\(aqleader.email\(aq, \(aqapplicant.email\(aq], \(aqprincipalInvestigator\(aq: [\(aqapplicant.email\(aq], \(aqproposalId\(aq: [\(aqbeamtimeId\(aq], \(aqsourceFolder\(aq: [\(aqcorePath\(aq]}
 .UNINDENT
 .INDENT 7.0
 .TP
-.B oldbtmdmap  =  {\(aqcreatedAt\(aq: [\(aqgenerated\(aq], \(aqupdatedAt\(aq: [\(aqgenerated\(aq]}
+.B oldbtmdmap = {\(aqcreatedAt\(aq: [\(aqgenerated\(aq], \(aqupdatedAt\(aq: [\(aqgenerated\(aq]}
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -6337,7 +6329,7 @@ metadata dictionary
 .UNINDENT
 .INDENT 7.0
 .TP
-.B strcre  =  {\(aqaccessGroups\(aq: [\(aq{beamtimeId}\-dmgt\(aq, \(aq{beamtimeId}\-clbt\(aq, \(aq{beamtimeId}\-part\(aq, \(aq{beamline}dmgt\(aq, \(aq{beamline}staff\(aq], \(aqcreationLocation\(aq: \(aq/DESY/{facility}/{beamlineAlias}\(aq, \(aqinstrumentId\(aq: \(aq/{facility}/{beamline}\(aq, \(aqisPublished\(aq: False, \(aqkeywords\(aq: [\(aqscan\(aq], \(aqownerGroup\(aq: \(aq{beamtimeId}\-dmgt\(aq, \(aqtype\(aq: \(aqraw\(aq}
+.B strcre = {\(aqaccessGroups\(aq: [\(aq{beamtimeId}\-dmgt\(aq, \(aq{beamtimeId}\-clbt\(aq, \(aq{beamtimeId}\-part\(aq, \(aq{beamline}dmgt\(aq, \(aq{beamline}staff\(aq], \(aqcreationLocation\(aq: \(aq/DESY/{facility}/{beamlineAlias}\(aq, \(aqinstrumentId\(aq: \(aq/{facility}/{beamline}\(aq, \(aqisPublished\(aq: False, \(aqkeywords\(aq: [\(aqscan\(aq], \(aqownerGroup\(aq: \(aq{beamtimeId}\-dmgt\(aq, \(aqtype\(aq: \(aqraw\(aq}
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -6427,8 +6419,8 @@ metadata dictionary
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileinfo.Field(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsfileinfo.Field(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Field runner
 .sp
@@ -6445,12 +6437,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqshow field information for the nexus file\(aq
+.B description = \(aqshow field information for the nexus file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsfileinfo field /user/data/myfile.nxs\en       nxsfileinfo field /user/data/myfile.nxs \-g\en       nxsfileinfo field /user/data/myfile.nxs \-s\en\en\(aq
+.B epilog = \(aq examples:\en       nxsfileinfo field /user/data/myfile.nxs\en       nxsfileinfo field /user/data/myfile.nxs \-g\en       nxsfileinfo field /user/data/myfile.nxs \-s\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -6492,8 +6484,8 @@ the main function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileinfo.General(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsfileinfo.General(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 General runner
 .sp
@@ -6510,17 +6502,17 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqshow general information for the nexus file\(aq
+.B description = \(aqshow general information for the nexus file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsfileinfo general /user/data/myfile.nxs\en\en\(aq
+.B epilog = \(aq examples:\en       nxsfileinfo general /user/data/myfile.nxs\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  parseentry(entry, description)
+.B classmethod parseentry(entry, description)
 parse entry of nexus file
 .INDENT 7.0
 .TP
@@ -6573,8 +6565,8 @@ show general informations
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileinfo.GroupMetadata(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsfileinfo.GroupMetadata(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Group Metadata runner
 .sp
@@ -6591,21 +6583,21 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqgroup scan metadata information\(aq
+.B description = \(aqgroup scan metadata information\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B dicttype  =  [\(aqDict\(aq, \(aqD\(aq, \(aqd\(aq, \(aqdict\(aq]
+.B dicttype = [\(aqDict\(aq, \(aqD\(aq, \(aqd\(aq, \(aqdict\(aq]
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsfileinfo groupmetadata \-o /user/data/myscan.scan.json  \-t /user/data/myscan.attachment.json  \-l /user/data/myscan.origdatablock.json  \-c /home/user/group_config.txt  \-m /user/data/myscan_00023.scan.json  \-d /user/data/myscan_00023.origdatablock.json  \-a /user/data/myscan_00023.attachment.json \en \en       nxsfileinfo groupmetadata myscan_m001  \-m /user/data/myscan_00021.scan.json\en  \-c /home/user/group_config.txt  \en \en       nxsfileinfo groupmetadata  myscan_m001  \-c /home/user/group_config.txt  \-m /user/data/myscan_00023.scan.json  \-d /user/data/myscan_00023.origdatablock.json  \-a /user/data/myscan_00023.attachment.json  \en \en       nxsfileinfo groupmetadata  \-m /user/data/myscan_00023.scan.json  \-d /user/data/myscan_00023.origdatablock.json  \-c /home/user/group_config.txt  \en\en\(aq
+.B epilog = \(aq examples:\en       nxsfileinfo groupmetadata \-o /user/data/myscan.scan.json  \-t /user/data/myscan.attachment.json  \-l /user/data/myscan.origdatablock.json  \-c /home/user/group_config.txt  \-m /user/data/myscan_00023.scan.json  \-d /user/data/myscan_00023.origdatablock.json  \-a /user/data/myscan_00023.attachment.json \en \en       nxsfileinfo groupmetadata myscan_m001  \-m /user/data/myscan_00021.scan.json\en  \-c /home/user/group_config.txt  \en \en       nxsfileinfo groupmetadata  myscan_m001  \-c /home/user/group_config.txt  \-m /user/data/myscan_00023.scan.json  \-d /user/data/myscan_00023.origdatablock.json  \-a /user/data/myscan_00023.attachment.json  \en \en       nxsfileinfo groupmetadata  \-m /user/data/myscan_00023.scan.json  \-d /user/data/myscan_00023.origdatablock.json  \-c /home/user/group_config.txt  \en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  groupmetadata(options)
+.B classmethod groupmetadata(options)
 group scan metadata
 .INDENT 7.0
 .TP
@@ -6623,11 +6615,19 @@ grouped attachments]
 .UNINDENT
 .INDENT 7.0
 .TP
-.B listtype  =  [\(aqList\(aq, \(aqL\(aq, \(aql\(aq, \(aqlist\(aq]
+.B listtype = [\(aqList\(aq, \(aqL\(aq, \(aql\(aq, \(aqlist\(aq]
+.UNINDENT
+.INDENT 7.0
+.TP
+.B maxtype = [\(aqMax\(aq, \(aqmax\(aq]
+.UNINDENT
+.INDENT 7.0
+.TP
+.B minmaxtype = [\(aqMinMax\(aq, \(aqM\(aq, \(aqm\(aq, \(aqminmax\(aq]
 .UNINDENT
 .INDENT 7.0
 .TP
-.B minmaxtype  =  [\(aqMinMax\(aq, \(aqM\(aq, \(aqm\(aq, \(aqminmax\(aq]
+.B mintype = [\(aqMin\(aq, \(aqmin\(aq]
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -6636,7 +6636,7 @@ parser creator after autocomplete run
 .UNINDENT
 .INDENT 7.0
 .TP
-.B rangetype  =  [\(aqRange\(aq, \(aqR\(aq, \(aqr\(aq, \(aqrangle\(aq]
+.B rangetype = [\(aqRange\(aq, \(aqR\(aq, \(aqr\(aq, \(aqrangle\(aq]
 .UNINDENT
 .INDENT 7.0
 .TP
@@ -6666,13 +6666,13 @@ the main function
 .UNINDENT
 .INDENT 7.0
 .TP
-.B uniquelisttype  =  [\(aqUniqueList\(aq, \(aqU\(aq, \(aqu\(aq, \(aquniquelist\(aq]
+.B uniquelisttype = [\(aqUniqueList\(aq, \(aqU\(aq, \(aqu\(aq, \(aquniquelist\(aq]
 .UNINDENT
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileinfo.Instrument(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsfileinfo.Instrument(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Instrument runner
 .sp
@@ -6689,12 +6689,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqgenerate description of instrument\(aq
+.B description = \(aqgenerate description of instrument\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsfileinfo instrument \-p /petra3/p00 \-n P00 \-m ~/cm.json \en\en\(aq
+.B epilog = \(aq examples:\en       nxsfileinfo instrument \-p /petra3/p00 \-n P00 \-m ~/cm.json \en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -6747,8 +6747,8 @@ the main function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileinfo.Metadata(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsfileinfo.Metadata(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Metadata runner
 .sp
@@ -6765,17 +6765,17 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqshow metadata information for the nexus file\(aq
+.B description = \(aqshow metadata information for the nexus file\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq examples:\en       nxsfileinfo metadata /user/data/myfile.nxs\en       nxsfileinfo metadata /user/data/myfile.fio\en       nxsfileinfo metadata /user/data/myfile.nxs \-p \(aqGroup\(aq\en       nxsfileinfo metadata /user/data/myfile.nxs \-s\en       nxsfileinfo metadata /user/data/myfile.nxs \-a units,NX_class\en\en\(dq
+.B epilog = " examples:\en       nxsfileinfo metadata /user/data/myfile.nxs\en       nxsfileinfo metadata /user/data/myfile.fio\en       nxsfileinfo metadata /user/data/myfile.nxs \-p \(aqGroup\(aq\en       nxsfileinfo metadata /user/data/myfile.nxs \-s\en       nxsfileinfo metadata /user/data/myfile.nxs \-a units,NX_class\en\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  metadata(root, options)
+.B classmethod metadata(root, options)
 get metadata from nexus and beamtime file
 .INDENT 7.0
 .TP
@@ -6833,8 +6833,8 @@ the main function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileinfo.OrigDatablock(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsfileinfo.OrigDatablock(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 OrigDatablock runner
 .sp
@@ -6871,12 +6871,12 @@ output information
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqgenerate description of all scan files\(aq
+.B description = \(aqgenerate description of all scan files\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(aq examples:\en       nxsfileinfo origdatablock /user/data/scan_12345\en\en\(aq
+.B epilog = \(aq examples:\en       nxsfileinfo origdatablock /user/data/scan_12345\en\en\(aq
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -6930,8 +6930,8 @@ the main function
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileinfo.Sample(parser)
-Bases: \fI\%Runner\fP
+.B class nxstools.nxsfileinfo.Sample(parser)
+Bases: \fI\%nxstools.nxsargparser.Runner\fP
 .sp
 Sample runner
 .sp
@@ -6948,12 +6948,12 @@ creates parser
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqgenerate description of sample\(aq
+.B description = \(aqgenerate description of sample\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  \(dq examples:\en       nxsfileinfo sample \-i petra3/h2o/234234 \-d \(aqHH water\(aq \-s ~/cm.json \en\en\(dq
+.B epilog = " examples:\en       nxsfileinfo sample \-i petra3/h2o/234234 \-d \(aqHH water\(aq \-s ~/cm.json \en\en"
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -7055,7 +7055,7 @@ split text
 NeXus main metadata viewer
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileparser.FIOFileParser(root)
+.B class nxstools.nxsfileparser.FIOFileParser(root)
 Bases: \fI\%object\fP
 .sp
 Metadata parser for FIO files
@@ -7084,7 +7084,7 @@ parses the file and creates the filtered description list
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileparser.NXSFileParser(root)
+.B class nxstools.nxsfileparser.NXSFileParser(root)
 Bases: \fI\%object\fP
 .sp
 Metadata parser for NeXus files
@@ -7107,7 +7107,7 @@ constructor
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  getpath(path)
+.B classmethod getpath(path)
 converts full_path with NX_classes into nexus_path
 .INDENT 7.0
 .TP
@@ -7189,8 +7189,8 @@ date in iso format
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsfileparser.numpyEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)
-Bases: \fBJSONEncoder\fP
+.B class nxstools.nxsfileparser.numpyEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)
+Bases: \fBjson.encoder.JSONEncoder\fP
 .sp
 numpy json encoder with list
 .sp
@@ -7206,7 +7206,7 @@ ensure_ascii is false, the output can contain non\-ASCII characters.
 .sp
 If check_circular is true, then lists, dicts, and custom encoded
 objects will be checked for circular references during encoding to
-prevent an infinite recursion (which would cause an RecursionError).
+prevent an infinite recursion (which would cause an OverflowError).
 Otherwise, no such check takes place.
 .sp
 If allow_nan is true, then NaN, Infinity, and \-Infinity will be
@@ -7224,7 +7224,7 @@ indent level.  An indent level of 0 will only insert newlines.
 None is the most compact representation.
 .sp
 If specified, separators should be an (item_separator, key_separator)
-tuple.  The default is (’, ‘, ‘: ‘) if \fIindent\fP is \fBNone\fP and
+tuple.  The default is (‘, ‘, ‘: ‘) if \fIindent\fP is \fBNone\fP and
 (‘,’, ‘: ‘) otherwise.  To get the most compact JSON representation,
 you should specify (‘,’, ‘:’) to eliminate whitespace.
 .sp
@@ -7247,15 +7247,15 @@ default encoder
 NeXus tool argumen parser
 .INDENT 0.0
 .TP
-.B exception  nxstools.nxsargparser.ErrorException
+.B exception nxstools.nxsargparser.ErrorException
 Bases: \fI\%Exception\fP
 .sp
 error parser exception
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsargparser.NXSArgParser(**kwargs)
-Bases: \fI\%ArgumentParser\fP
+.B class nxstools.nxsargparser.NXSArgParser(**kwargs)
+Bases: \fI\%argparse.ArgumentParser\fP
 .sp
 Argument parser with error exception
 .sp
@@ -7292,7 +7292,7 @@ error handler
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsargparser.Runner(parser)
+.B class nxstools.nxsargparser.Runner(parser)
 Bases: \fI\%object\fP
 .sp
 abstract runner
@@ -7310,12 +7310,12 @@ parser creator
 .UNINDENT
 .INDENT 7.0
 .TP
-.B description  =  \(aqabstract runner\(aq
+.B description = \(aqabstract runner\(aq
 (\fI\%str\fP) command description
 .UNINDENT
 .INDENT 7.0
 .TP
-.B epilog  =  None
+.B epilog = None
 (\fI\%str\fP) command epilog
 .UNINDENT
 .INDENT 7.0
@@ -7339,7 +7339,7 @@ run commandthe main program function
 Command\-line tool for ascess to the nexdatas configuration server
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsparser.ESRFConverter
+.B class nxstools.nxsparser.ESRFConverter
 Bases: \fI\%object\fP
 .sp
 ESRF xml configuration converter
@@ -7364,13 +7364,13 @@ output xml string
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsparser.ParserTools
+.B class nxstools.nxsparser.ParserTools
 Bases: \fI\%object\fP
 .sp
 configuration server adapter
 .INDENT 7.0
 .TP
-.B classmethod  getRecord(node)
+.B classmethod getRecord(node)
 fetches record name or query from datasource node
 .INDENT 7.0
 .TP
@@ -7386,7 +7386,7 @@ record name or query
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  mergeDefinitions(xmls)
+.B classmethod mergeDefinitions(xmls)
 .INDENT 7.0
 .TP
 .B merges the xmls list of definitions xml strings
@@ -7406,7 +7406,7 @@ one output xml string
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  parseAttributes(xmlc)
+.B classmethod parseAttributes(xmlc)
 provides datasources and its records from xml string
 .INDENT 7.0
 .TP
@@ -7422,7 +7422,7 @@ list of datasource descriptions
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  parseDataSources(xmlc)
+.B classmethod parseDataSources(xmlc)
 provides datasources and its records from xml string
 .INDENT 7.0
 .TP
@@ -7438,7 +7438,7 @@ list of datasource descriptions
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  parseFields(xmlc)
+.B classmethod parseFields(xmlc)
 provides datasources and its records from xml string
 .INDENT 7.0
 .TP
@@ -7454,7 +7454,7 @@ list of datasource descriptions
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  parseLinks(xmlc)
+.B classmethod parseLinks(xmlc)
 provides datasources and its records from xml string
 .INDENT 7.0
 .TP
@@ -7470,7 +7470,7 @@ list of datasource descriptions
 .UNINDENT
 .INDENT 7.0
 .TP
-.B classmethod  parseRecord(xmlc)
+.B classmethod parseRecord(xmlc)
 provides source record from xml string
 .INDENT 7.0
 .TP
@@ -7487,7 +7487,7 @@ source record
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsparser.TableDictTools(description, nonone=None)
+.B class nxstools.nxsparser.TableDictTools(description, nonone=None)
 Bases: \fI\%object\fP
 .sp
 configuration server adapter
@@ -7530,7 +7530,7 @@ headers
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsparser.TableTools(description, nonone=None, headers=None, filters=None)
+.B class nxstools.nxsparser.TableTools(description, nonone=None, headers=None, filters=None)
 Bases: \fI\%object\fP
 .sp
 configuration server adapter
@@ -7594,8 +7594,8 @@ loads description
 Creator of XML configuration files
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.NAttr(parent, nameAttr, typeAttr=\(aq\(aq)
-Bases: \fI\%NTag\fP
+.B class nxstools.nxsxml.NAttr(parent, nameAttr, typeAttr=\(aq\(aq)
+Bases: \fI\%nxstools.nxsxml.NTag\fP
 .sp
 Attribute tag wrapper
 .sp
@@ -7635,8 +7635,8 @@ e.g. with different subentries
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.NDSource(parent)
-Bases: \fI\%NTag\fP
+.B class nxstools.nxsxml.NDSource(parent)
+Bases: \fI\%nxstools.nxsxml.NTag\fP
 .sp
 Source tag wrapper
 .sp
@@ -7735,8 +7735,8 @@ property, command
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.NDeviceGroup(parent, deviceName, nameAttr, typeAttr=\(aq\(aq, commands=True, blackAttrs=None)
-Bases: \fI\%NGroup\fP
+.B class nxstools.nxsxml.NDeviceGroup(parent, deviceName, nameAttr, typeAttr=\(aq\(aq, commands=True, blackAttrs=None)
+Bases: \fI\%nxstools.nxsxml.NGroup\fP
 .sp
 Tango device tag creator
 .sp
@@ -7761,19 +7761,19 @@ constructor
 .UNINDENT
 .INDENT 7.0
 .TP
-.B nTypes  =  [\(aqNX_CHAR\(aq, \(aqNX_BOOLEAN\(aq, \(aqNX_INT32\(aq, \(aqNX_INT32\(aq, \(aqNX_FLOAT32\(aq, \(aqNX_FLOAT64\(aq, \(aqNX_UINT32\(aq, \(aqNX_UINT32\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_INT32\(aq, \(aqNX_INT32\(aq, \(aqNX_FLOAT32\(aq, \(aqNX_FLOAT64\(aq, \(aqNX_UINT32\(aq, \(aqNX_UINT32\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_BOOLEAN\(aq, \(aqNX_CHAR\(aq, \(aqNX_INT64\(aq, \(aqNX_UINT64\(aq, \(aqNX_INT64\(aq, \(aqNX_UINT64\(aq, \(aqNX_INT32\(aq, \(aqNX_CHAR\(aq]
+.B nTypes = [\(aqNX_CHAR\(aq, \(aqNX_BOOLEAN\(aq, \(aqNX_INT32\(aq, \(aqNX_INT32\(aq, \(aqNX_FLOAT32\(aq, \(aqNX_FLOAT64\(aq, \(aqNX_UINT32\(aq, \(aqNX_UINT32\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_INT32\(aq, \(aqNX_INT32\(aq, \(aqNX_FLOAT32\(aq, \(aqNX_FLOAT64\(aq, \(aqNX_UINT32\(aq, \(aqNX_UINT32\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_CHAR\(aq, \(aqNX_BOOLEAN\(aq, \(aqNX_CHAR\(aq, \(aqNX_INT64\(aq, \(aqNX_UINT64\(aq, \(aqNX_INT64\(aq, \(aqNX_UINT64\(aq, \(aqNX_INT32\(aq, \(aqNX_CHAR\(aq]
 (\fI\%list\fP <\fI\%str\fP>) NeXuS types corresponding to the Tango types
 .UNINDENT
 .INDENT 7.0
 .TP
-.B tTypes  =  [\(aqDevVoid\(aq, \(aqDevBoolean\(aq, \(aqDevShort\(aq, \(aqDevLong\(aq, \(aqDevFloat\(aq, \(aqDevDouble\(aq, \(aqDevUShort\(aq, \(aqDevULong\(aq, \(aqDevString\(aq, \(aqDevVarCharArray\(aq, \(aqDevVarShortArray\(aq, \(aqDevVarLongArray\(aq, \(aqDevVarFloatArray\(aq, \(aqDevVarDoubleArray\(aq, \(aqDevVarUShortArray\(aq, \(aqDevVarULongArray\(aq, \(aqDevVarStringArray\(aq, \(aqDevVarLongStringArray\(aq, \(aqDevVarDoubleStringArray\(aq, \(aqDevState\(aq, \(aqConstDevString\(aq, \(aqDevVarBooleanArray\(aq, \(aqDevUChar\(aq, \(aqDevLong64\(aq, \(aqDevULong64\(aq, \(aqDevVarLong64Array\(aq, \(aqDevVarULong64Array\(aq, \(aqDevInt\(aq, \(aqDevEncoded\(aq]
+.B tTypes = [\(aqDevVoid\(aq, \(aqDevBoolean\(aq, \(aqDevShort\(aq, \(aqDevLong\(aq, \(aqDevFloat\(aq, \(aqDevDouble\(aq, \(aqDevUShort\(aq, \(aqDevULong\(aq, \(aqDevString\(aq, \(aqDevVarCharArray\(aq, \(aqDevVarShortArray\(aq, \(aqDevVarLongArray\(aq, \(aqDevVarFloatArray\(aq, \(aqDevVarDoubleArray\(aq, \(aqDevVarUShortArray\(aq, \(aqDevVarULongArray\(aq, \(aqDevVarStringArray\(aq, \(aqDevVarLongStringArray\(aq, \(aqDevVarDoubleStringArray\(aq, \(aqDevState\(aq, \(aqConstDevString\(aq, \(aqDevVarBooleanArray\(aq, \(aqDevUChar\(aq, \(aqDevLong64\(aq, \(aqDevULong64\(aq, \(aqDevVarLong64Array\(aq, \(aqDevVarULong64Array\(aq, \(aqDevInt\(aq, \(aqDevEncoded\(aq]
 (\fI\%list\fP < \fI\%str\fP>) Tango types
 .UNINDENT
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.NDim(parent, indexAttr, valueAttr)
-Bases: \fI\%NTag\fP
+.B class nxstools.nxsxml.NDim(parent, indexAttr, valueAttr)
+Bases: \fI\%nxstools.nxsxml.NTag\fP
 .sp
 Dim tag wrapper
 .sp
@@ -7793,8 +7793,8 @@ constructor
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.NDimensions(parent, rankAttr)
-Bases: \fI\%NTag\fP
+.B class nxstools.nxsxml.NDimensions(parent, rankAttr)
+Bases: \fI\%nxstools.nxsxml.NTag\fP
 .sp
 Dimensions tag wrapper
 .sp
@@ -7833,8 +7833,8 @@ container with dim tag wrapper
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.NField(parent, nameAttr, typeAttr=\(aq\(aq)
-Bases: \fI\%NTag\fP
+.B class nxstools.nxsxml.NField(parent, nameAttr, typeAttr=\(aq\(aq)
+Bases: \fI\%nxstools.nxsxml.NTag\fP
 .sp
 Field tag wrapper
 .sp
@@ -7919,8 +7919,8 @@ sets the field unit
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.NGroup(parent, nameAttr, typeAttr=\(aq\(aq)
-Bases: \fI\%NTag\fP
+.B class nxstools.nxsxml.NGroup(parent, nameAttr, typeAttr=\(aq\(aq)
+Bases: \fI\%nxstools.nxsxml.NTag\fP
 .sp
 Group tag wrapper
 .sp
@@ -7967,8 +7967,8 @@ adds doc tag content
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.NLink(parent, nameAttr, gTarget)
-Bases: \fI\%NTag\fP
+.B class nxstools.nxsxml.NLink(parent, nameAttr, gTarget)
+Bases: \fI\%nxstools.nxsxml.NTag\fP
 .sp
 Link tag wrapper
 .sp
@@ -7998,7 +7998,7 @@ adds doc tag content
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.NTag(parent, tagName, nameAttr=\(aq\(aq, typeAttr=\(aq\(aq)
+.B class nxstools.nxsxml.NTag(parent, tagName, nameAttr=\(aq\(aq, typeAttr=\(aq\(aq)
 Bases: \fI\%object\fP
 .sp
 tag wrapper
@@ -8061,7 +8061,7 @@ sets tag content
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsxml.XMLFile(fname)
+.B class nxstools.nxsxml.XMLFile(fname)
 Bases: \fI\%object\fP
 .sp
 XML file object
@@ -8128,12 +8128,12 @@ the main function
 NDTS TANGO device tools
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.PYTANGO  =  True
+.B nxstools.nxsdevicetools.PYTANGO = True
 (\fI\%bool\fP) True if tango available
 .UNINDENT
 .INDENT 0.0
 .TP
-.B class  nxstools.nxsdevicetools.PackageHandler(packagename=\(aqnxstools.xmltemplates\(aq)
+.B class nxstools.nxsdevicetools.PackageHandler(packagename=\(aqnxstools.xmltemplates\(aq)
 Bases: \fI\%object\fP
 .sp
 xml templates package loader
@@ -8173,7 +8173,7 @@ server device name or empty string if error appears
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.ctModules  =  [\(aqmca8715roi\(aq, \(aqonedroi\(aq, \(aqsis3820\(aq, \(aqsis3302roi\(aq, \(aqxmcd\(aq, \(aqvfcadc\(aq, \(aqmythenroi\(aq, \(aqmhzdaqp01\(aq, \(aqdgg2\(aq, \(aqtangoattributectctrl\(aq]
+.B nxstools.nxsdevicetools.ctModules = [\(aqmca8715roi\(aq, \(aqonedroi\(aq, \(aqsis3820\(aq, \(aqsis3302roi\(aq, \(aqxmcd\(aq, \(aqvfcadc\(aq, \(aqmythenroi\(aq, \(aqmhzdaqp01\(aq, \(aqdgg2\(aq, \(aqtangoattributectctrl\(aq]
 (\fI\%list\fP <\fI\%str\fP>) counter/timer modules
 .UNINDENT
 .INDENT 0.0
@@ -8309,7 +8309,7 @@ list of the server device names
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.ioRegModules  =  [\(aqsis3610\(aq]
+.B nxstools.nxsdevicetools.ioRegModules = [\(aqsis3610\(aq]
 (\fI\%list\fP <\fI\%str\fP>) IO register modules
 .UNINDENT
 .INDENT 0.0
@@ -8330,24 +8330,24 @@ server list
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.moduleMultiAttributes  =  {\(aqcobold\(aq: [\(aqBinSize\(aq, \(aqExposureTime\(aq], \(aqdalsa\(aq: [\(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqTriggerMode\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqExtendedExposure\(aq, \(aqBinComment\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqFramesReceived\(aq, \(aqFrameRate\(aq, \(aqFramesPerNXFile\(aq, \(aqNXFileCompression\(aq, \(aqTurboMode\(aq, \(aqImageEnc\(aq, \(aqViewingMode\(aq, \(aqThrashedBuffers\(aq, \(aqFramesToAcquire\(aq, \(aqAcquisitionFrameCount\(aq, \(aqAcquisitionMode\(aq, \(aqAcquisitionFrameMode\(aq, \(aqLinearityEqualizer\(aq, \(aqNrExposedFrames\(aq, \(aqNrOffsetFrames\(aq, \(aqOffset\(aq, \(aqPixelFormat\(aq, \(aqReadOutMode\(aq, \(aqStandby\(aq, \(aqSumScheme\(aq], \(aqdalsavds\(aq: [\(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqTriggerMode\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqExtendedExposure\(aq, \(aqBinComment\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqFramesReceived\(aq, \(aqFrameRate\(aq, \(aqFramesPerNXFile\(aq, \(aqNXFileCompression\(aq, \(aqTurboMode\(aq, \(aqImageEnc\(aq, \(aqViewingMode\(aq, \(aqThrashedBuffers\(aq, \(aqFramesToAcquire\(aq, \(aqAcquisitionFrameCount\(aq, \(aqAcquisitionMode\(aq, \(aqAcquisitionFrameMode\(aq, \(aqLinearityEqualizer\(aq, \(aqNrExposedFrames\(aq, \(aqNrOffsetFrames\(aq, \(aqOffset\(aq, \(aqPixelFormat\(aq, \(aqReadOutMode\(aq, \(aqStandby\(aq, \(aqSumScheme\(aq], \(aqeigerdectris\(aq: [\(aqTriggerMode\(aq, \(aqNbTriggers\(aq, \(aqDescription\(aq, \(aqNbImages\(aq, \(aqBitDepth\(aq, \(aqReadoutTime\(aq, \(aqCountTime\(aq, \(aqEnergyThreshold\(aq, \(aqFrameTime\(aq, \(aqRateCorrectionEnabled\(aq, \(aqFlatFieldEnabled\(aq, \(aqTemperature\(aq, \(aqAutoSummationEnabled\(aq, \(aqHumidity\(aq, \(aqPhotonEnergy\(aq, \(aqWavelength\(aq], \(aqlambda\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambda2m\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambdavds\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambdavdsnm\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlimaccd\(aq: [\(aqcamera_type\(aq, \(aqcamera_pixelsize\(aq, \(aqcamera_model\(aq, \(aqacq_mode\(aq, \(aqacq_nb_frames\(aq, \(aqacq_trigger_mode\(aq, \(aqlast_image_saved\(aq, \(aqlatency_time\(aq, \(aqacc_max_expo_time\(aq, \(aqacc_expo_time\(aq, \(aqacc_time_mode\(aq, \(aqacc_dead_time\(aq, \(aqacc_live_time\(aq, \(aqsaving_mode\(aq, \(aqsaving_directory\(aq, \(aqsaving_prefix\(aq, \(aqsaving_suffix\(aq, \(aqsaving_next_number\(aq, \(aqsaving_format\(aq, \(aqsaving_frame_per_file\(aq, \(aqimage_type\(aq, \(aqimage_width\(aq, \(aqimage_height\(aq, \(aqimage_sizes\(aq, \(aqimage_roi\(aq, \(aqimage_bin\(aq, \(aqimage_flip\(aq, \(aqimage_rotation\(aq, \(aqshutter_mode\(aq, \(aqshutter_open_time\(aq], \(aqlimaccds\(aq: [\(aqcamera_type\(aq, \(aqcamera_pixelsize\(aq, \(aqcamera_model\(aq, \(aqacq_mode\(aq, \(aqacq_nb_frames\(aq, \(aqacq_trigger_mode\(aq, \(aqlast_image_saved\(aq, \(aqlatency_time\(aq, \(aqacc_max_expo_time\(aq, \(aqacc_expo_time\(aq, \(aqacc_time_mode\(aq, \(aqacc_dead_time\(aq, \(aqacc_live_time\(aq, \(aqsaving_mode\(aq, \(aqsaving_directory\(aq, \(aqsaving_prefix\(aq, \(aqsaving_suffix\(aq, \(aqsaving_next_number\(aq, \(aqsaving_format\(aq, \(aqsaving_frame_per_file\(aq, \(aqimage_type\(aq, \(aqimage_width\(aq, \(aqimage_height\(aq, \(aqimage_sizes\(aq, \(aqimage_roi\(aq, \(aqimage_bin\(aq, \(aqimage_flip\(aq, \(aqimage_rotation\(aq, \(aqshutter_mode\(aq, \(aqshutter_open_time\(aq], \(aqmaiadimension\(aq: [\(aqName\(aq, \(aqPositionSource\(aq, \(aqPixelPitch\(aq, \(aqPixelOrigin\(aq, \(aqPixelHysteresis\(aq, \(aqPositionUnit\(aq, \(aqPixelCoordExtent\(aq], \(aqmaiaflux\(aq: [\(aqFluxCoeff\(aq, \(aqFluxName\(aq, \(aqFluxUnit\(aq, \(aqFluxSource\(aq], \(aqmaiainterlock\(aq: [\(aqBiasPeltierInterlock\(aq, \(aqBiasPeltierInterlockUptime\(aq, \(aqPressure\(aq], \(aqmaialogger\(aq: [\(aqRunNumber\(aq], \(aqmaiaprocessing\(aq: [\(aqGaintrimEnable\(aq, \(aqLineariseEnable\(aq, \(aqPhotonEnable\(aq, \(aqPileupRejectEnable\(aq, \(aqPixelEnable\(aq, \(aqThrottleEnable\(aq], \(aqmaiasensor\(aq: [\(aqBiasVoltage\(aq, \(aqLeakageCurrent\(aq, \(aqPeltierCurrent\(aq, \(aqWaterTemperature\(aq, \(aqDetectorTemperature\(aq, \(aqMosfetTemperature\(aq, \(aqIdentity\(aq], \(aqmarccd\(aq: [\(aqFrameShift\(aq, \(aqSavingDirectory\(aq, \(aqSavingPostfix\(aq, \(aqSavingPrefix\(aq], \(aqmca_xia\(aq: [\(aqICR\(aq, \(aqOCR\(aq], \(aqmca_xia@pool\(aq: [\(aqCountsRoI\(aq, \(aqRoIEnd\(aq, \(aqRoIStart\(aq], \(aqmythen\(aq: [\(aqCounts1\(aq, \(aqCounts2\(aq, \(aqCountsMax\(aq, \(aqCountsTotal\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFileIndex\(aq, \(aqFilePrefix\(aq, \(aqData\(aq, \(aqRoI1\(aq, \(aqRoI2\(aq], \(aqmythen2\(aq: [\(aqCounts1\(aq, \(aqCounts2\(aq, \(aqCountsMax\(aq, \(aqCountsTotal\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFileIndex\(aq, \(aqFilePrefix\(aq, \(aqData\(aq, \(aqEnergy\(aq, \(aqNbFrames\(aq, \(aqRoI1End\(aq, \(aqRoI2End\(aq, \(aqRoI1Start\(aq, \(aqRoI2Start\(aq, \(aqThreshold\(aq], \(aqpco\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpco4000\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpcoedge\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpedetector\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqperkinelmer\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqperkinelmerdetector\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqpilatus\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus100k\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus1m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus2m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus300k\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus6m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqtangovimba\(aq: [\(aqWidth\(aq, \(aqWidthMax\(aq, \(aqTriggerSource\(aq, \(aqPixelFormat\(aq, \(aqOffsetY\(aq, \(aqOffsetX\(aq, \(aqHeightMax\(aq, \(aqHeight\(aq, \(aqGainRaw\(aq, \(aqExposureTimeAbs\(aq, \(aqAcquisitionFrameRateAbs\(aq, \(aqAcquisitionFrameRateLimit\(aq, \(aqStreamBytesPerSecond\(aq, \(aqBinComment\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqMaxLoad\(aq, \(aqReadMode\(aq, \(aqTuneMode\(aq, \(aqViewingMode\(aq]}
+.B nxstools.nxsdevicetools.moduleMultiAttributes = {\(aqcobold\(aq: [\(aqBinSize\(aq, \(aqExposureTime\(aq], \(aqdalsa\(aq: [\(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqTriggerMode\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqExtendedExposure\(aq, \(aqBinComment\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqFramesReceived\(aq, \(aqFrameRate\(aq, \(aqFramesPerNXFile\(aq, \(aqNXFileCompression\(aq, \(aqTurboMode\(aq, \(aqImageEnc\(aq, \(aqViewingMode\(aq, \(aqThrashedBuffers\(aq, \(aqFramesToAcquire\(aq, \(aqAcquisitionFrameCount\(aq, \(aqAcquisitionMode\(aq, \(aqAcquisitionFrameMode\(aq, \(aqLinearityEqualizer\(aq, \(aqNrExposedFrames\(aq, \(aqNrOffsetFrames\(aq, \(aqOffset\(aq, \(aqPixelFormat\(aq, \(aqReadOutMode\(aq, \(aqStandby\(aq, \(aqSumScheme\(aq], \(aqdalsavds\(aq: [\(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqTriggerMode\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqExtendedExposure\(aq, \(aqBinComment\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqFramesReceived\(aq, \(aqFrameRate\(aq, \(aqFramesPerNXFile\(aq, \(aqNXFileCompression\(aq, \(aqTurboMode\(aq, \(aqImageEnc\(aq, \(aqViewingMode\(aq, \(aqThrashedBuffers\(aq, \(aqFramesToAcquire\(aq, \(aqAcquisitionFrameCount\(aq, \(aqAcquisitionMode\(aq, \(aqAcquisitionFrameMode\(aq, \(aqLinearityEqualizer\(aq, \(aqNrExposedFrames\(aq, \(aqNrOffsetFrames\(aq, \(aqOffset\(aq, \(aqPixelFormat\(aq, \(aqReadOutMode\(aq, \(aqStandby\(aq, \(aqSumScheme\(aq], \(aqeigerdectris\(aq: [\(aqTriggerMode\(aq, \(aqNbTriggers\(aq, \(aqDescription\(aq, \(aqNbImages\(aq, \(aqBitDepth\(aq, \(aqReadoutTime\(aq, \(aqCountTime\(aq, \(aqEnergyThreshold\(aq, \(aqFrameTime\(aq, \(aqRateCorrectionEnabled\(aq, \(aqFlatFieldEnabled\(aq, \(aqTemperature\(aq, \(aqAutoSummationEnabled\(aq, \(aqHumidity\(aq, \(aqPhotonEnergy\(aq, \(aqWavelength\(aq], \(aqlambda\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambda2m\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambdavds\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambdavdsnm\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlimaccd\(aq: [\(aqcamera_type\(aq, \(aqcamera_pixelsize\(aq, \(aqcamera_model\(aq, \(aqacq_mode\(aq, \(aqacq_nb_frames\(aq, \(aqacq_trigger_mode\(aq, \(aqlast_image_saved\(aq, \(aqlatency_time\(aq, \(aqacc_max_expo_time\(aq, \(aqacc_expo_time\(aq, \(aqacc_time_mode\(aq, \(aqacc_dead_time\(aq, \(aqacc_live_time\(aq, \(aqsaving_mode\(aq, \(aqsaving_directory\(aq, \(aqsaving_prefix\(aq, \(aqsaving_suffix\(aq, \(aqsaving_next_number\(aq, \(aqsaving_format\(aq, \(aqsaving_frame_per_file\(aq, \(aqimage_type\(aq, \(aqimage_width\(aq, \(aqimage_height\(aq, \(aqimage_sizes\(aq, \(aqimage_roi\(aq, \(aqimage_bin\(aq, \(aqimage_flip\(aq, \(aqimage_rotation\(aq, \(aqshutter_mode\(aq, \(aqshutter_open_time\(aq], \(aqlimaccds\(aq: [\(aqcamera_type\(aq, \(aqcamera_pixelsize\(aq, \(aqcamera_model\(aq, \(aqacq_mode\(aq, \(aqacq_nb_frames\(aq, \(aqacq_trigger_mode\(aq, \(aqlast_image_saved\(aq, \(aqlatency_time\(aq, \(aqacc_max_expo_time\(aq, \(aqacc_expo_time\(aq, \(aqacc_time_mode\(aq, \(aqacc_dead_time\(aq, \(aqacc_live_time\(aq, \(aqsaving_mode\(aq, \(aqsaving_directory\(aq, \(aqsaving_prefix\(aq, \(aqsaving_suffix\(aq, \(aqsaving_next_number\(aq, \(aqsaving_format\(aq, \(aqsaving_frame_per_file\(aq, \(aqimage_type\(aq, \(aqimage_width\(aq, \(aqimage_height\(aq, \(aqimage_sizes\(aq, \(aqimage_roi\(aq, \(aqimage_bin\(aq, \(aqimage_flip\(aq, \(aqimage_rotation\(aq, \(aqshutter_mode\(aq, \(aqshutter_open_time\(aq], \(aqmaiadimension\(aq: [\(aqName\(aq, \(aqPositionSource\(aq, \(aqPixelPitch\(aq, \(aqPixelOrigin\(aq, \(aqPixelHysteresis\(aq, \(aqPositionUnit\(aq, \(aqPixelCoordExtent\(aq], \(aqmaiaflux\(aq: [\(aqFluxCoeff\(aq, \(aqFluxName\(aq, \(aqFluxUnit\(aq, \(aqFluxSource\(aq], \(aqmaiainterlock\(aq: [\(aqBiasPeltierInterlock\(aq, \(aqBiasPeltierInterlockUptime\(aq, \(aqPressure\(aq], \(aqmaialogger\(aq: [\(aqRunNumber\(aq], \(aqmaiaprocessing\(aq: [\(aqGaintrimEnable\(aq, \(aqLineariseEnable\(aq, \(aqPhotonEnable\(aq, \(aqPileupRejectEnable\(aq, \(aqPixelEnable\(aq, \(aqThrottleEnable\(aq], \(aqmaiasensor\(aq: [\(aqBiasVoltage\(aq, \(aqLeakageCurrent\(aq, \(aqPeltierCurrent\(aq, \(aqWaterTemperature\(aq, \(aqDetectorTemperature\(aq, \(aqMosfetTemperature\(aq, \(aqIdentity\(aq], \(aqmarccd\(aq: [\(aqFrameShift\(aq, \(aqSavingDirectory\(aq, \(aqSavingPostfix\(aq, \(aqSavingPrefix\(aq], \(aqmca_xia\(aq: [\(aqICR\(aq, \(aqOCR\(aq], \(aqmca_xia@pool\(aq: [\(aqCountsRoI\(aq, \(aqRoIEnd\(aq, \(aqRoIStart\(aq], \(aqmythen\(aq: [\(aqCounts1\(aq, \(aqCounts2\(aq, \(aqCountsMax\(aq, \(aqCountsTotal\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFileIndex\(aq, \(aqFilePrefix\(aq, \(aqData\(aq, \(aqRoI1\(aq, \(aqRoI2\(aq], \(aqmythen2\(aq: [\(aqCounts1\(aq, \(aqCounts2\(aq, \(aqCountsMax\(aq, \(aqCountsTotal\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFileIndex\(aq, \(aqFilePrefix\(aq, \(aqData\(aq, \(aqEnergy\(aq, \(aqNbFrames\(aq, \(aqRoI1End\(aq, \(aqRoI2End\(aq, \(aqRoI1Start\(aq, \(aqRoI2Start\(aq, \(aqThreshold\(aq], \(aqpco\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpco4000\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpcoedge\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpedetector\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqperkinelmer\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqperkinelmerdetector\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqpilatus\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus100k\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus1m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus2m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus300k\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus6m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqtangovimba\(aq: [\(aqWidth\(aq, \(aqWidthMax\(aq, \(aqTriggerSource\(aq, \(aqPixelFormat\(aq, \(aqOffsetY\(aq, \(aqOffsetX\(aq, \(aqHeightMax\(aq, \(aqHeight\(aq, \(aqGainRaw\(aq, \(aqExposureTimeAbs\(aq, \(aqAcquisitionFrameRateAbs\(aq, \(aqAcquisitionFrameRateLimit\(aq, \(aqStreamBytesPerSecond\(aq, \(aqBinComment\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqMaxLoad\(aq, \(aqReadMode\(aq, \(aqTuneMode\(aq, \(aqViewingMode\(aq]}
 (\fI\%dict\fP <\fI\%str\fP , \fI\%list\fP <\fI\%str\fP> >)
 important attributes of modules
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.moduleTemplateFiles  =  {\(aqcobold\(aq: [\(aqcobold.xml\(aq], \(aqdalsa\(aq: [\(aqdalsa.xml\(aq, \(aqdalsa_nxdata.ds.xml\(aq, \(aqdalsa_external_data.ds.xml\(aq], \(aqdalsavds\(aq: [\(aqdalsavds.xml\(aq, \(aqdalsavds_nxdata.ds.xml\(aq, \(aqdalsavds_triggermode_cb.ds.xml\(aq, \(aqdalsavds_filestartnum_cb.ds.xml\(aq, \(aqdalsavds_nrexposedframes_cb.ds.xml\(aq], \(aqeigerdectris\(aq: [\(aqeigerdectris.xml\(aq, \(aqeigerdectris_stepindex.ds.xml\(aq, \(aqeigerdectris_description_cb.ds.xml\(aq, \(aqeigerdectris_triggermode_cb.ds.xml\(aq], \(aqlambda\(aq: [\(aqlambda.xml\(aq, \(aqlambda_nxdata.ds.xml\(aq, \(aqlambda_external_data.ds.xml\(aq], \(aqlambda2m\(aq: [\(aqlambda2m.xml\(aq, \(aqlambda2m_m1_nxdata.ds.xml\(aq, \(aqlambda2m_m2_nxdata.ds.xml\(aq, \(aqlambda2m_m3_nxdata.ds.xml\(aq, \(aqlambda2m_m1_external_data.ds.xml\(aq, \(aqlambda2m_m2_external_data.ds.xml\(aq, \(aqlambda2m_m3_external_data.ds.xml\(aq], \(aqlambdavds\(aq: [\(aqlambdavds.xml\(aq, \(aqlambdavds_nxdata.ds.xml\(aq, \(aqlambdavds_description.ds.xml\(aq, \(aqlambdavds_triggermode_cb.ds.xml\(aq, \(aqlambdavds_framenumbers_cb.ds.xml\(aq, \(aqlambdavds_savefilename_cb.ds.xml\(aq], \(aqlambdavdsnm\(aq: [\(aqlambdavdsnm.xml\(aq, \(aqlambdavdsnm_triggermode_cb.ds.xml\(aq, \(aqlambdavdsnm_nxdata.ds.xml\(aq], \(aqlimaccd\(aq: [\(aqlimaccd.xml\(aq, \(aqlimaccd_postrun.ds.xml\(aq, \(aqlimaccd_xpixelsize.ds.xml\(aq, \(aqlimaccd_ypixelsize.ds.xml\(aq, \(aqlimaccd_description.ds.xml\(aq, \(aqlimaccd_filestartnum_cb.ds.xml\(aq], \(aqlimaccds\(aq: [\(aqlimaccd.xml\(aq, \(aqlimaccd_postrun.ds.xml\(aq, \(aqlimaccd_xpixelsize.ds.xml\(aq, \(aqlimaccd_ypixelsize.ds.xml\(aq, \(aqlimaccd_description.ds.xml\(aq, \(aqlimaccd_filestartnum_cb.ds.xml\(aq], \(aqmarccd\(aq: [\(aqmarccd.xml\(aq, \(aqmarccd_postrun.ds.xml\(aq], \(aqmca_xia\(aq: [\(aqmcaxia.xml\(aq], \(aqmythen\(aq: [\(aqmythen.xml\(aq, \(aqmythen_postrun.ds.xml\(aq, \(aqmythen_filestartnumber.ds.xml\(aq], \(aqmythen2\(aq: [\(aqmythen2.xml\(aq], \(aqpco\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpco4000\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpcoedge\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpedetector\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqperkinelmer\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqperkinelmerdetector\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqpilatus\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus100k\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus100k_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus1m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus1m_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus2m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus6m_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus300k\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus300k_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus6m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus6m_description.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqtangovimba\(aq: [\(aqtangovimba.xml\(aq, \(aqtangovimba_nxdata.ds.xml\(aq, \(aqtangovimba_external_data.ds.xml\(aq]}
+.B nxstools.nxsdevicetools.moduleTemplateFiles = {\(aqcobold\(aq: [\(aqcobold.xml\(aq], \(aqdalsa\(aq: [\(aqdalsa.xml\(aq, \(aqdalsa_nxdata.ds.xml\(aq, \(aqdalsa_external_data.ds.xml\(aq], \(aqdalsavds\(aq: [\(aqdalsavds.xml\(aq, \(aqdalsavds_nxdata.ds.xml\(aq, \(aqdalsavds_triggermode_cb.ds.xml\(aq, \(aqdalsavds_filestartnum_cb.ds.xml\(aq, \(aqdalsavds_nrexposedframes_cb.ds.xml\(aq], \(aqeigerdectris\(aq: [\(aqeigerdectris.xml\(aq, \(aqeigerdectris_stepindex.ds.xml\(aq, \(aqeigerdectris_description_cb.ds.xml\(aq, \(aqeigerdectris_triggermode_cb.ds.xml\(aq], \(aqlambda\(aq: [\(aqlambda.xml\(aq, \(aqlambda_nxdata.ds.xml\(aq, \(aqlambda_external_data.ds.xml\(aq], \(aqlambda2m\(aq: [\(aqlambda2m.xml\(aq, \(aqlambda2m_m1_nxdata.ds.xml\(aq, \(aqlambda2m_m2_nxdata.ds.xml\(aq, \(aqlambda2m_m3_nxdata.ds.xml\(aq, \(aqlambda2m_m1_external_data.ds.xml\(aq, \(aqlambda2m_m2_external_data.ds.xml\(aq, \(aqlambda2m_m3_external_data.ds.xml\(aq], \(aqlambdavds\(aq: [\(aqlambdavds.xml\(aq, \(aqlambdavds_nxdata.ds.xml\(aq, \(aqlambdavds_description.ds.xml\(aq, \(aqlambdavds_triggermode_cb.ds.xml\(aq, \(aqlambdavds_framenumbers_cb.ds.xml\(aq, \(aqlambdavds_savefilename_cb.ds.xml\(aq], \(aqlambdavdsnm\(aq: [\(aqlambdavdsnm.xml\(aq, \(aqlambdavdsnm_triggermode_cb.ds.xml\(aq, \(aqlambdavdsnm_nxdata.ds.xml\(aq], \(aqlimaccd\(aq: [\(aqlimaccd.xml\(aq, \(aqlimaccd_postrun.ds.xml\(aq, \(aqlimaccd_xpixelsize.ds.xml\(aq, \(aqlimaccd_ypixelsize.ds.xml\(aq, \(aqlimaccd_description.ds.xml\(aq, \(aqlimaccd_filestartnum_cb.ds.xml\(aq], \(aqlimaccds\(aq: [\(aqlimaccd.xml\(aq, \(aqlimaccd_postrun.ds.xml\(aq, \(aqlimaccd_xpixelsize.ds.xml\(aq, \(aqlimaccd_ypixelsize.ds.xml\(aq, \(aqlimaccd_description.ds.xml\(aq, \(aqlimaccd_filestartnum_cb.ds.xml\(aq], \(aqmarccd\(aq: [\(aqmarccd.xml\(aq, \(aqmarccd_postrun.ds.xml\(aq], \(aqmca_xia\(aq: [\(aqmcaxia.xml\(aq], \(aqmythen\(aq: [\(aqmythen.xml\(aq, \(aqmythen_postrun.ds.xml\(aq, \(aqmythen_filestartnumber.ds.xml\(aq], \(aqmythen2\(aq: [\(aqmythen2.xml\(aq], \(aqpco\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpco4000\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpcoedge\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpedetector\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqperkinelmer\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqperkinelmerdetector\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqpilatus\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus100k\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus100k_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus1m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus1m_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus2m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus6m_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus300k\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus300k_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus6m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus6m_description.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqtangovimba\(aq: [\(aqtangovimba.xml\(aq, \(aqtangovimba_nxdata.ds.xml\(aq, \(aqtangovimba_external_data.ds.xml\(aq]}
 (\fI\%dict\fP <\fI\%str\fP , \fI\%list\fP <\fI\%str\fP> >)
 xml template files of modules
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.motorModules  =  [\(aqabsbox\(aq, \(aqmotor_tango\(aq, \(aqkohzu\(aq, \(aqsmchydra\(aq, \(aqlom\(aq, \(aqoms58\(aq, \(aqe6c\(aq, \(aqomsmaxv\(aq, \(aqspk\(aq, \(aqpie710\(aq, \(aqpie712\(aq, \(aqe6c_p09_eh2\(aq, \(aqsmaract\(aq]
+.B nxstools.nxsdevicetools.motorModules = [\(aqabsbox\(aq, \(aqmotor_tango\(aq, \(aqkohzu\(aq, \(aqsmchydra\(aq, \(aqlom\(aq, \(aqoms58\(aq, \(aqe6c\(aq, \(aqomsmaxv\(aq, \(aqspk\(aq, \(aqpie710\(aq, \(aqpie712\(aq, \(aqe6c_p09_eh2\(aq, \(aqsmaract\(aq]
 (\fI\%list\fP <\fI\%str\fP>) modules of motors
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.oneDModules  =  [\(aqmca_xia\(aq]
+.B nxstools.nxsdevicetools.oneDModules = [\(aqmca_xia\(aq]
 (\fI\%list\fP <\fI\%str\fP>) modules of 1D detectors
 .UNINDENT
 .INDENT 0.0
@@ -8368,13 +8368,13 @@ configuration server proxy
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.standardComponentTemplateFiles  =  {\(aqabsorber\(aq: [\(aqabsorber_foil.ds.xml\(aq, \(aqabsorber_thickness.ds.xml\(aq, \(aqabsorber.xml\(aq], \(aqbeamstop\(aq: [\(aqbeamstop.xml\(aq], \(aqbeamtimefname\(aq: [\(aqbeamtimefname.xml\(aq, \(aqbeamtimefname.ds.xml\(aq, \(aqstart_time.ds.xml\(aq], \(aqbeamtimeid\(aq: [\(aqbeamtimeid.xml\(aq, \(aqbeamtimeid.ds.xml\(aq, \(aqstart_time.ds.xml\(aq], \(aqchcut\(aq: [\(aqchcut.xml\(aq, \(aqchcut_unitcalibration.ds.xml\(aq, \(aqchcut_crystal.ds.xml\(aq], \(aqcoboldhisto\(aq: [\(aqcoboldhisto.xml\(aq, \(aqcoboldhisto_timeofflight.ds.xml\(aq], \(aqcollect2\(aq: [\(aqcollect2.xml\(aq], \(aqcollect3\(aq: [\(aqcollect3.xml\(aq], \(aqcollect4\(aq: [\(aqcollect4.xml\(aq], \(aqcollect5\(aq: [\(aqcollect5.xml\(aq], \(aqcollect6\(aq: [\(aqcollect6.xml\(aq], \(aqcommon2\(aq: [\(aqcommon2_common.ds.xml\(aq], \(aqcommon3\(aq: [\(aqcommon3_common.ds.xml\(aq], \(aqdataaxessignal\(aq: [\(aqdataaxessignal.xml\(aq, \(aqdefaultsignal.ds.xml\(aq, \(aqdefaultaxes.ds.xml\(aq, \(aqsignal_name.ds.xml\(aq, \(aqsignalname.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqdatasignal\(aq: [\(aqdatasignal.xml\(aq, \(aqdefaultsignal.ds.xml\(aq, \(aqsignal_name.ds.xml\(aq, \(aqsignalname.ds.xml\(aq, \(aqsignal_axes.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqdcm\(aq: [\(aqdcm.xml\(aq, \(aqdcm_reflection.ds.xml\(aq, \(aqdcm_unitcalibration.ds.xml\(aq, \(aqdcm_crystal.ds.xml\(aq], \(aqdefault\(aq: [\(aqdefault.xml\(aq, \(aqdefaultsample.xml\(aq, \(aqdefaultinstrument.xml\(aq, \(aqsample_name.ds.xml\(aq, \(aqchemical_formula.ds.xml\(aq, \(aqbeamtime_id.ds.xml\(aq, \(aqbeamtime_filename.ds.xml\(aq, \(aqstart_time.ds.xml\(aq, \(aqend_time.ds.xml\(aq, \(aqnexdatas_version.ds.xml\(aq, \(aqnexdatas_configuration.ds.xml\(aq, \(aqtitle.ds.xml\(aq], \(aqdefaultinstrument\(aq: [\(aqdefaultinstrument.xml\(aq, \(aqbeamtime_id.ds.xml\(aq, \(aqbeamtime_filename.ds.xml\(aq, \(aqstart_time.ds.xml\(aq, \(aqend_time.ds.xml\(aq, \(aqnexdatas_version.ds.xml\(aq, \(aqnexdatas_configuration.ds.xml\(aq, \(aqtitle.ds.xml\(aq], \(aqdefaultsample\(aq: [\(aqdefaultsample.xml\(aq, \(aqsample_name.ds.xml\(aq, \(aqchemical_formula.ds.xml\(aq], \(aqdescription\(aq: [\(aqdescription.xml\(aq, \(aqexperiment_description.ds.xml\(aq], \(aqdescriptiontext\(aq: [\(aqdescriptiontext.xml\(aq], \(aqdetectorlive\(aq: [\(aqdetectorlive.xml\(aq], \(aqempty\(aq: [\(aqempty.xml\(aq], \(aqgroupsecop\(aq: [\(aqgroupsecop.ds.xml\(aq, \(aqgroupsecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqkeithley\(aq: [\(aqkeithley.xml\(aq], \(aqmaia\(aq: [\(aqmaia.xml\(aq, \(aqempty.xml\(aq], \(aqmaiadimension\(aq: [\(aqmaiadimension.xml\(aq], \(aqmaiaflux\(aq: [\(aqmaiaflux.xml\(aq], \(aqmsnsar\(aq: [\(aqmsnsar_env.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqmssar\(aq: [\(aqmssar_env.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqparametercopymap\(aq: [\(aqparametercopymap.xml\(aq], \(aqpinhole\(aq: [\(aqpinhole.xml\(aq], \(aqpointdet\(aq: [\(aqpointdet.xml\(aq], \(aqqbpm\(aq: [\(aqqbpm_foil.ds.xml\(aq, \(aqqbpm.xml\(aq], \(aqsampledescription\(aq: [\(aqsampledescription.xml\(aq, \(aqsample_description.ds.xml\(aq], \(aqsampledescriptiontext\(aq: [\(aqsampledescriptiontext.xml\(aq], \(aqsamplehkl\(aq: [\(aqsamplehkl.xml\(aq], \(aqsecop\(aq: [\(aqsecop.ds.xml\(aq, \(aqsecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqsinglesecop\(aq: [\(aqsinglesecop.ds.xml\(aq, \(aqsinglesecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqslit\(aq: [\(aqslit.xml\(aq], \(aqsource\(aq: [\(aqsource.xml\(aq], \(aqstarttime\(aq: [\(aqstarttime.xml\(aq, \(aqstarttime.ds.xml\(aq, \(aqstart_timestamp.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqtango\(aq: [\(aqtango.ds.xml\(aq], \(aqundulator\(aq: [\(aqundulator.xml\(aq]}
+.B nxstools.nxsdevicetools.standardComponentTemplateFiles = {\(aqabsorber\(aq: [\(aqabsorber_foil.ds.xml\(aq, \(aqabsorber_thickness.ds.xml\(aq, \(aqabsorber.xml\(aq], \(aqbeamstop\(aq: [\(aqbeamstop.xml\(aq], \(aqbeamtimefname\(aq: [\(aqbeamtimefname.xml\(aq, \(aqbeamtimefname.ds.xml\(aq, \(aqstart_time.ds.xml\(aq], \(aqbeamtimeid\(aq: [\(aqbeamtimeid.xml\(aq, \(aqbeamtimeid.ds.xml\(aq, \(aqstart_time.ds.xml\(aq], \(aqchcut\(aq: [\(aqchcut.xml\(aq, \(aqchcut_unitcalibration.ds.xml\(aq, \(aqchcut_crystal.ds.xml\(aq], \(aqcoboldhisto\(aq: [\(aqcoboldhisto.xml\(aq, \(aqcoboldhisto_timeofflight.ds.xml\(aq], \(aqcollect2\(aq: [\(aqcollect2.xml\(aq], \(aqcollect3\(aq: [\(aqcollect3.xml\(aq], \(aqcollect4\(aq: [\(aqcollect4.xml\(aq], \(aqcollect5\(aq: [\(aqcollect5.xml\(aq], \(aqcollect6\(aq: [\(aqcollect6.xml\(aq], \(aqcommon2\(aq: [\(aqcommon2_common.ds.xml\(aq], \(aqcommon3\(aq: [\(aqcommon3_common.ds.xml\(aq], \(aqdataaxessignal\(aq: [\(aqdataaxessignal.xml\(aq, \(aqdefaultsignal.ds.xml\(aq, \(aqdefaultaxes.ds.xml\(aq, \(aqsignal_name.ds.xml\(aq, \(aqsignalname.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqdatasignal\(aq: [\(aqdatasignal.xml\(aq, \(aqdefaultsignal.ds.xml\(aq, \(aqsignal_name.ds.xml\(aq, \(aqsignalname.ds.xml\(aq, \(aqsignal_axes.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqdcm\(aq: [\(aqdcm.xml\(aq, \(aqdcm_reflection.ds.xml\(aq, \(aqdcm_unitcalibration.ds.xml\(aq, \(aqdcm_crystal.ds.xml\(aq], \(aqdefault\(aq: [\(aqdefault.xml\(aq, \(aqdefaultsample.xml\(aq, \(aqdefaultinstrument.xml\(aq, \(aqsample_name.ds.xml\(aq, \(aqchemical_formula.ds.xml\(aq, \(aqbeamtime_id.ds.xml\(aq, \(aqbeamtime_filename.ds.xml\(aq, \(aqstart_time.ds.xml\(aq, \(aqend_time.ds.xml\(aq, \(aqnexdatas_version.ds.xml\(aq, \(aqnexdatas_configuration.ds.xml\(aq, \(aqtitle.ds.xml\(aq], \(aqdefaultinstrument\(aq: [\(aqdefaultinstrument.xml\(aq, \(aqbeamtime_id.ds.xml\(aq, \(aqbeamtime_filename.ds.xml\(aq, \(aqstart_time.ds.xml\(aq, \(aqend_time.ds.xml\(aq, \(aqnexdatas_version.ds.xml\(aq, \(aqnexdatas_configuration.ds.xml\(aq, \(aqtitle.ds.xml\(aq], \(aqdefaultsample\(aq: [\(aqdefaultsample.xml\(aq, \(aqsample_name.ds.xml\(aq, \(aqchemical_formula.ds.xml\(aq], \(aqdescription\(aq: [\(aqdescription.xml\(aq, \(aqexperiment_description.ds.xml\(aq], \(aqdescriptiontext\(aq: [\(aqdescriptiontext.xml\(aq], \(aqdetectorlive\(aq: [\(aqdetectorlive.xml\(aq], \(aqempty\(aq: [\(aqempty.xml\(aq], \(aqgroupsecop\(aq: [\(aqgroupsecop.ds.xml\(aq, \(aqgroupsecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqkeithley\(aq: [\(aqkeithley.xml\(aq], \(aqmaia\(aq: [\(aqmaia.xml\(aq, \(aqempty.xml\(aq], \(aqmaiadimension\(aq: [\(aqmaiadimension.xml\(aq], \(aqmaiaflux\(aq: [\(aqmaiaflux.xml\(aq], \(aqmsnsar\(aq: [\(aqmsnsar_env.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqmssar\(aq: [\(aqmssar_env.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqparametercopymap\(aq: [\(aqparametercopymap.xml\(aq], \(aqpinhole\(aq: [\(aqpinhole.xml\(aq], \(aqpointdet\(aq: [\(aqpointdet.xml\(aq], \(aqqbpm\(aq: [\(aqqbpm_foil.ds.xml\(aq, \(aqqbpm.xml\(aq], \(aqsampledescription\(aq: [\(aqsampledescription.xml\(aq, \(aqsample_description.ds.xml\(aq], \(aqsampledescriptiontext\(aq: [\(aqsampledescriptiontext.xml\(aq], \(aqsamplehkl\(aq: [\(aqsamplehkl.xml\(aq], \(aqsecop\(aq: [\(aqsecop.ds.xml\(aq, \(aqsecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqsinglesecop\(aq: [\(aqsinglesecop.ds.xml\(aq, \(aqsinglesecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqslit\(aq: [\(aqslit.xml\(aq], \(aqsource\(aq: [\(aqsource.xml\(aq], \(aqstarttime\(aq: [\(aqstarttime.xml\(aq, \(aqstarttime.ds.xml\(aq, \(aqstart_timestamp.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqtango\(aq: [\(aqtango.ds.xml\(aq], \(aqundulator\(aq: [\(aqundulator.xml\(aq]}
 (\fI\%dict\fP <\fI\%str\fP , \fI\%list\fP <\fI\%str\fP> >)
 xml template files of modules
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.standardComponentVariables  =  {\(aqabsorber\(aq: {\(aqattenfactor\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqattenuation factor (datasource)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqfoil\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil type, i.e. standard <cpname>_foil (datasource)\(aq}, \(aqfoillist\(aq: {\(aqdefault\(aq: \(aq[\(dqAg\(dq, \(dqAg\(dq, \(dqAg\(dq, \(dqAg\(dq, \(dq\(dq, \(dqAl\(dq, \(dqAl\(dq, \(dqAl\(dq, \(dqAl\(dq]\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqposition\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqwhich sliders are in [bitarray] MANDATORY (datasource)\(aq}, \(aqthickness\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil thickness, i.e. standard <cpname>_thickness (datasource)\(aq}, \(aqthicknesslist\(aq: {\(aqdefault\(aq: \(aq[0.5, 0.05, 0.025, 0.0125, 0, 0.1, 0.3, 0.5, 1.0]\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(dqtransformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)\(dq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}}, \(aqbeamstop\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aqcircular\(aq, \(aqdoc\(aq: \(aq circular or  rectangular (string)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqxsign\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(dqhorizontal position sign, e.g. \(aq\-\(aq (string)\(dq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}, \(aqz\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqzname\(aq: {\(aqdefault\(aq: \(aqz\(aq, \(aqdoc\(aq: \(aqalong the beam position name (string)\(aq}}, \(aqbeamtimefname\(aq: {\(aqcommissiondir\(aq: {\(aqdefault\(aq: \(aq/gpfs/commissioning\(aq, \(aqdoc\(aq: \(aqcommission file directory (string)\(aq}, \(aqcommissionpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqcommission file postfix (string)\(aq}, \(aqcommissionprefix\(aq: {\(aqdefault\(aq: \(aqcommissioning\-metadata\-\(aq, \(aqdoc\(aq: \(aqcommission file prefix (string)\(aq}, \(aqcurrentdir\(aq: {\(aqdefault\(aq: \(aq/gpfs/current\(aq, \(aqdoc\(aq: \(aqbeamtime file directory (string)\(aq}, \(aqcurrentpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqbeamtime file postfix (string)\(aq}, \(aqcurrentprefix\(aq: {\(aqdefault\(aq: \(aqbeamtime\-metadata\-\(aq, \(aqdoc\(aq: \(aqbeamtime file prefix (string)\(aq}, \(aqlocaldir\(aq: {\(aqdefault\(aq: \(aq/gpfs/local\(aq, \(aqdoc\(aq: \(aqlocal file directory (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}}, \(aqbeamtimeid\(aq: {\(aqcommissiondir\(aq: {\(aqdefault\(aq: \(aq/gpfs/commissioning\(aq, \(aqdoc\(aq: \(aqcommission file directory (string)\(aq}, \(aqcommissionpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqcommission file postfix (string)\(aq}, \(aqcommissionprefix\(aq: {\(aqdefault\(aq: \(aqcommissioning\-metadata\-\(aq, \(aqdoc\(aq: \(aqcommission file prefix (string)\(aq}, \(aqcurrentdir\(aq: {\(aqdefault\(aq: \(aq/gpfs/current\(aq, \(aqdoc\(aq: \(aqbeamtime file directory (string)\(aq}, \(aqcurrentpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqbeamtime file postfix (string)\(aq}, \(aqcurrentprefix\(aq: {\(aqdefault\(aq: \(aqbeamtime\-metadata\-\(aq, \(aqdoc\(aq: \(aqbeamtime file prefix (string)\(aq}, \(aqlocaldir\(aq: {\(aqdefault\(aq: \(aq/gpfs/local\(aq, \(aqdoc\(aq: \(aqlocal file directory (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}}, \(aqchcut\(aq: {\(aqbraggangle\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbragg angle (datasource)\(aq}, \(aqbragganglename\(aq: {\(aqdefault\(aq: \(aqbragg\(aq, \(aqdoc\(aq: \(aqbragg angle name  (string)\(aq}, \(aqchcutdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqFMBOxfDCMEnergy tango device name (string)\(aq}, \(aqcrystal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq type of crystal i.e. 0\->Si111,1\->Si311,2\->Si111 ChannelCut  (datasource)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsynchronized monochromator energy (datasource)\(aq}, \(aqenergyfmb\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmonochromator energy (datasource)\(aq}, \(aqjack1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfirst vertical jack of table (datasource)\(aq}, \(aqjack1name\(aq: {\(aqdefault\(aq: \(aqjack1\(aq, \(aqdoc\(aq: \(aqfirst vertical jack name of table (string)\(aq}, \(aqjack2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond vertical jack of table (datasource)\(aq}, \(aqjack2name\(aq: {\(aqdefault\(aq: \(aqjack2\(aq, \(aqdoc\(aq: \(aqsecond vertical jack name of table (string)\(aq}, \(aqjack3\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthird vertical jack of table (datasource)\(aq}, \(aqjack3name\(aq: {\(aqdefault\(aq: \(aqjack3\(aq, \(aqdoc\(aq: \(aqthird vertical jack name of table (string)\(aq}, \(aqlat\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the first cristal (datasource)\(aq}, \(aqlatname\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the first cristal (string)\(aq}, \(aqoxfordhorizontal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq horizontal translation (datasource)\(aq}, \(aqpara\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance between the crystals (string)\(aq}, \(aqparaname\(aq: {\(aqdefault\(aq: \(aqpara\(aq, \(aqdoc\(aq: \(aqbeam parallel translation name of the second cristal (string)\(aq}, \(aqreflection\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqreflection from string (datasource)\(aq}, \(aqtable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position of table (datasource)\(aq}, \(aqtablename\(aq: {\(aqdefault\(aq: \(aqtable\(aq, \(aqdoc\(aq: \(aqvertical position name of table (string)\(aq}, \(aqtheta\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta angle (datasource)\(aq}, \(aqthetaname\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta angle name (string)\(aq}, \(aqunitcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq unit calibration from dcmmotor (datasource)\(aq}, \(aqusage\(aq: {\(aqdefault\(aq: \(aqBragg\(aq, \(aqdoc\(aq: \(aqthe crystall usage, e.g. Laue (string)\(aq}, \(aqyaw\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the first cristal (datasource)\(aq}, \(aqyawname\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the first cristal (string)\(aq}}, \(aqcoboldhisto\(aq: {\(aqbinsize\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbin size of histogram data (datasource)\(aq}, \(aqexposuretime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqexposure time for histogram data (datasource)\(aq}, \(aqhistogram\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhistogram data (datasource)\(aq}}, \(aqcollect2\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}}, \(aqcollect3\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect4\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect5\(aq: {\(aqfifth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fifth component to collect MANDATORY (datasource)\(aq}, \(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect6\(aq: {\(aqfifth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fifth component to collect MANDATORY (datasource)\(aq}, \(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqsixth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the sixth component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcommon2\(aq: {\(aqdds\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdefault read datasource name MANDATORY (datasource)\(aq}, \(aqods\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqoptional detasource name MANDATORY (datasource)\(aq}}, \(aqcommon3\(aq: {\(aqdds\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdefault read datasource name MANDATORY (datasource)\(aq}, \(aqods1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfist optional detasource name MANDATORY (datasource)\(aq}, \(aqods2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond optional detasource name MANDATORY (datasource)\(aq}}, \(aqdataaxessignal\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqaxes\(aq: {\(aqdefault\(aq: \(aqdefaultaxes\(aq, \(aqdoc\(aq: \(aqlist of data axes field names (datasource)\(aq}, \(aqdefaultattrs\(aq: {\(aqdefault\(aq: \(aqFalse\(aq, \(aqdoc\(aq: \(aqadd default attributes (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqnchannelstoskip\(aq: {\(aqdefault\(aq: \(aq0\(aq, \(aqdoc\(aq: \(aqnumber of mg channels to skip (string)\(aq}, \(aqsardanasignal\(aq: {\(aqdefault\(aq: \(aqSignalCounter\(aq, \(aqdoc\(aq: \(aqsignal sardana variable name (string)\(aq}, \(aqsignal\(aq: {\(aqdefault\(aq: \(aqdefaultsignal\(aq, \(aqdoc\(aq: \(aqdata signal field name (datasource)\(aq}}, \(aqdatasignal\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqaxes\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdata axes field name(s) (datasource)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqnchannelstoskip\(aq: {\(aqdefault\(aq: \(aq0\(aq, \(aqdoc\(aq: \(aqnumber of mg channels to skip (string)\(aq}, \(aqsardanasignal\(aq: {\(aqdefault\(aq: \(aqSignalCounter\(aq, \(aqdoc\(aq: \(aqsignal sardana variable name (string)\(aq}, \(aqsignal\(aq: {\(aqdefault\(aq: \(aqdefaultsignal\(aq, \(aqdoc\(aq: \(aqdata signal field name (datasource)\(aq}}, \(aqdcm\(aq: {\(aqbend1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbending of the first cristal (datasource)\(aq}, \(aqbend2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbending of the second cristal (datasource)\(aq}, \(aqbraggangle\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbragg angle (datasource)\(aq}, \(aqbragganglename\(aq: {\(aqdefault\(aq: \(aqbragg\(aq, \(aqdoc\(aq: \(aqbragg angle name  (string)\(aq}, \(aqchi2dependson\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqthe depends_on field of the second cristal chi, e.g. phi (string)\(aq}, \(aqcrystal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtype of crystal i.e. 0\->Si111,1\->Si311,2\->Si111 ChannelCut (datasource)\(aq}, \(aqdcmdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqFMBOxfDCMEnergy tango device (string)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsynchronized monochromator energy (datasource)\(aq}, \(aqenergyfmb\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmonochromator energy (datasource)\(aq}, \(aqexitoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq exit offset (datasource)\(aq}, \(aqjack1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfirst vertical jack of table (datasource)\(aq}, \(aqjack1name\(aq: {\(aqdefault\(aq: \(aqjack1\(aq, \(aqdoc\(aq: \(aqfirst vertical jack name of table (string)\(aq}, \(aqjack2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond vertical jack of table (datasource)\(aq}, \(aqjack2name\(aq: {\(aqdefault\(aq: \(aqjack2\(aq, \(aqdoc\(aq: \(aqsecond vertical jack name of table (string)\(aq}, \(aqjack3\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthird vertical jack of table (datasource)\(aq}, \(aqjack3name\(aq: {\(aqdefault\(aq: \(aqjack3\(aq, \(aqdoc\(aq: \(aqthird vertical jack name of table (string)\(aq}, \(aqlat\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the first cristal (datasource)\(aq}, \(aqlat2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the second cristal (datasource)\(aq}, \(aqlat2name\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the second cristal (string)\(aq}, \(aqlatname\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the first cristal (string)\(aq}, \(aqoxfordhorizontal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq horizontal translation (datasource)\(aq}, \(aqpar2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbeam parallel translation of the second cristal (datasource)\(aq}, \(aqpar2name\(aq: {\(aqdefault\(aq: \(aqpara\(aq, \(aqdoc\(aq: \(aqbeam parallel translation name of the second cristal (string)\(aq}, \(aqperp2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical translation of the second cristal (datasource)\(aq}, \(aqperp2name\(aq: {\(aqdefault\(aq: \(aqperp\(aq, \(aqdoc\(aq: \(aqvertical translation name of the second cristal (string)\(aq}, \(aqphi1dependson\(aq: {\(aqdefault\(aq: \(aq../../transformations/bragg\(aq, \(aqdoc\(aq: \(aqthe depends_on field of the first cristal phi, e.g. theta (string)\(aq}, \(aqpitch1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta rotation of the first cristal (datasource)\(aq}, \(aqpitch1name\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta rotation name of the first cristal (string)\(aq}, \(aqpitch2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta rotation of the second cristal (datasource)\(aq}, \(aqpitch2name\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta rotation name of the second cristal (string)\(aq}, \(aqroll1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchi rotation of the first cristal (datasource)\(aq}, \(aqroll1name\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqchi rotation name of the first cristal (string)\(aq}, \(aqroll2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchi rotation of the second cristal (datasource)\(aq}, \(aqroll2name\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqchi rotation name of the second cristal (string)\(aq}, \(aqtable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position of table (datasource)\(aq}, \(aqtablename\(aq: {\(aqdefault\(aq: \(aqtable\(aq, \(aqdoc\(aq: \(aqvertical position name of table (string)\(aq}, \(aqtheta\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta angle (datasource)\(aq}, \(aqthetaname\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta angle name (string)\(aq}, \(aqtopdependson2\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqthe first transformation of the second crystal, e.g. lat (string)\(aq}, \(aqunitcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqunit calibration from dcmmotor (datasource)\(aq}, \(aqusage\(aq: {\(aqdefault\(aq: \(aqBragg\(aq, \(aqdoc\(aq: \(aqthe crystall usage, e.g. Laue (string)\(aq}, \(aqyaw\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the first cristal (datasource)\(aq}, \(aqyaw2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the second cristal (datasource)\(aq}, \(aqyaw2name\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the second cristal (string)\(aq}, \(aqyawname\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the first cristal (string)\(aq}}, \(aqdefault\(aq: {\(aq__configdevice__\(aq: {\(aqdefault\(aq: \(aqnxs/configserver/localhost\(aq, \(aqdoc\(aq: \(aqconfiguration server device name (string)\(aq}, \(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqcontrol\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgroup name of the monitor (string)\(aq}, \(aqlongname\(aq: {\(aqdefault\(aq: \(aqP09 Resonant Scattering and Diffraction beamline\(aq, \(aqdoc\(aq: \(aqbeamline long name (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}, \(aqsourcename\(aq: {\(aqdefault\(aq: \(aqPETRA III\(aq, \(aqdoc\(aq: \(aqsource name (string)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqdefaultinstrument\(aq: {\(aq__configdevice__\(aq: {\(aqdefault\(aq: \(aqnxs/configserver/localhost\(aq, \(aqdoc\(aq: \(aqconfiguration server device name (string)\(aq}, \(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqcontrol\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgroup name of the monitor (string)\(aq}, \(aqlongname\(aq: {\(aqdefault\(aq: \(aqP09 Resonant Scattering and Diffraction beamline\(aq, \(aqdoc\(aq: \(aqbeamline long name (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}, \(aqsourcename\(aq: {\(aqdefault\(aq: \(aqPETRA III\(aq, \(aqdoc\(aq: \(aqsource name (string)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqdefaultsample\(aq: {}, \(aqdescription\(aq: {}, \(aqdescriptiontext\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aqscan\(aq, \(aqdoc\(aq: \(aqscan technique (string)\(aq}}, \(aqdetectorlive\(aq: {\(aqdatatype\(aq: {\(aqdefault\(aq: \(aqNX_UINT32\(aq, \(aqdoc\(aq: \(aqlist of devices (string)\(aq}, \(aqdetectordata\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdetector live data (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqdetector\(aq, \(aqdoc\(aq: \(aqlist of devices (string)\(aq}}, \(aqempty\(aq: {}, \(aqgroupsecop\(aq: {\(aqaccess\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop access list (string)\(aq}, \(aqgroup\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop group name (string)\(aq}, \(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqkeithley\(aq: {\(aqcurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqcurrent in A (datasource)\(aq}, \(aqgain\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgain in V/A (datasource)\(aq}, \(aqrisetime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqrise time (datasource)\(aq}, \(aqsourvoltlevel\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsource voltage level in V (datasource)\(aq}, \(aqvoltage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvoltage in V (datasource)\(aq}}, \(aqmaia\(aq: {\(aqchillersetpoint\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchiller set point temperature in Celsus (datasource)\(aq}, \(aqchiptemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdetector chip temperature sensor for maia in Celsus (datasource)\(aq}, \(aqgaintrimenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgaintrim enable status for maia (datasource)\(aq}, \(aqidentity\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsensor identity for maia (datasource)\(aq}, \(aqinterlockpressure\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock pressure for maia in mbar (datasource)\(aq}, \(aqleakagecurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleakage current sensor for maia in A (datasource)\(aq}, \(aqlineariseenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqlinearise enable status for maia (datasource)\(aq}, \(aqmaiadimensions\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia dimensions component name (component)\(aq}, \(aqmaiafluxes\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia fluxes component name (component)\(aq}, \(aqmaiastage\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia stage component name (component)\(aq}, \(aqmosfettemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmosfet temperature sensor for maia in Celsus (datasource)\(aq}, \(aqpeltiercurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpeltier current sensor for maia in A (datasource)\(aq}, \(aqphotonenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphoton enable status for maia (datasource)\(aq}, \(aqpileuprejectionenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpileup rejection enable status for maia (datasource)\(aq}, \(aqpixelenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel enable status for maia (datasource)\(aq}, \(aqpressure\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgas pressure in mbar (datasource)\(aq}, \(aqrunnumber\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqrun number of maia (datasource)\(aq}, \(aqstatus\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock status for maia (datasource)\(aq}, \(aqthrottleenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthrottle enable status for maia (datasource)\(aq}, \(aquptime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock uptime for maia (datasource)\(aq}, \(aqvoltagesetpoint\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvoltage set point temperature in Celsus (datasource)\(aq}, \(aqwatertemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqwater temperature sensor for maia in Celsus (datasource)\(aq}}, \(aqmaiadimension\(aq: {\(aqdetname\(aq: {\(aqdefault\(aq: \(aqmaia\(aq, \(aqdoc\(aq: \(aqdetector (alias) name (string)\(aq}, \(aqdimname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdimension name for maia (datasource)\(aq}, \(aqdname\(aq: {\(aqdefault\(aq: \(aqdimension\(aq, \(aqdoc\(aq: \(aqdimension name group (string)\(aq}, \(aqhysteresis\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel hysteresis of dimension for maia (datasource)\(aq}, \(aqnumberofpixels\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnumber of pixels of dimension for maia (datasource)\(aq}, \(aqorigin\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel origin of dimension for maia (datasource)\(aq}, \(aqpixelpitch\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel pitch of dimension for maia (datasource)\(aq}, \(aqpositionsource\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqposition source of dimension for maia (datasource)\(aq}, \(aqunit\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqposition units of dimension for maia (datasource)\(aq}}, \(aqmaiaflux\(aq: {\(aqcoefficient\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux coefficient  for maia (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqmaia\(aq, \(aqdoc\(aq: \(aqdetector (alias) name (string)\(aq}, \(aqfluxname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux name for maia (datasource)\(aq}, \(aqfname\(aq: {\(aqdefault\(aq: \(aqfluxdevice\(aq, \(aqdoc\(aq: \(aqflux name group (string)\(aq}, \(aqkeithleydevice\(aq: {\(aqdefault\(aq: \(aqkeithley\(aq, \(aqdoc\(aq: \(aqkeithley device name (string)\(aq}, \(aqsource\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux source for maia (datasource)\(aq}, \(aqunit\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux unit for maia (datasource)\(aq}, \(aqvfcfactor\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvfc conversion factor (datasource)\(aq}}, \(aqmsnsar\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana device name MANDATORY (string)\(aq}, \(aqvarname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnested sardana environment variable name  MANDATORY (string)\(aq}}, \(aqmssar\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqvarname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment variable name MANDATORY (string)\(aq}}, \(aqparametercopymap\(aq: {\(aqcopymap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqyaml dictionary with {output: input} copy map (string)\(aq}, \(aqparameter\(aq: {\(aqdefault\(aq: \(aqcopymap\(aq, \(aqdoc\(aq: \(aqparameter name of copymap (string)\(aq}, \(aqprogram\(aq: {\(aqdefault\(aq: \(aqnxsfileinfo_parameters\(aq, \(aqdoc\(aq: \(aqgroup name of NXparameters (string)\(aq}}, \(aqpinhole\(aq: {\(aqdiameter\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpinhole diameter (datasource)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqxsign\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(dqhorizontal position sign, e.g. \(aq\-\(aq (string)\(dq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}, \(aqz\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqalong the beam position (datasource)\(aq}, \(aqzname\(aq: {\(aqdefault\(aq: \(aqz\(aq, \(aqdoc\(aq: \(aqalong the beam position name (string)\(aq}}, \(aqpointdet\(aq: {\(aqdata\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdiode data (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqdetector\(aq, \(aqdoc\(aq: \(aqdetector group name (string)\(aq}}, \(aqqbpm\(aq: {\(aqdependsony\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqthe  depends_on y field value,  e.g. distance (string)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqfoil\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil type, i.e. standard <cpname>_foil (datasource)\(aq}, \(aqfoilpos\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil position MANDATORY (datasource)\(aq}, \(aqfoilposdict\(aq: {\(aqdefault\(aq: \(aq{\(dqTi\(dq: 43, \(dqNi\(dq: 23, \(dqOut\(dq: 3}\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}}, \(aqsampledescription\(aq: {\(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsampledescriptiontext\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqsample description or sampleId (string)\(aq}, \(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsamplehkl\(aq: {\(aqh\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqh position in hkl space (datasource)\(aq}, \(aqk\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqk position in hkl space (datasource)\(aq}, \(aql\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aql position in hkl space (datasource)\(aq}, \(aqpsi\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpsi angle position of analyzer (datasource)\(aq}, \(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsecop\(aq: {\(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqsinglesecop\(aq: {\(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqslit\(aq: {\(aqbottom\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbottom blade position (datasource)\(aq}, \(aqbottomclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbottom blade closed position (datasource)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqleft\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleft blade position (datasource)\(aq}, \(aqleftclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleft blade closed position (datasource)\(aq}, \(aqright\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqright blade position (datasource)\(aq}, \(aqrightclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqright blade closed position (datasource)\(aq}, \(aqtop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtop blade position (datasource)\(aq}, \(aqtopclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtop blade closed position (datasource)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(dqtransformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)\(dq}, \(aqxgap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal gap (datasource)\(aq}, \(aqxoffdependson\(aq: {\(aqdefault\(aq: \(aqy_offset\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqxoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal offset (datasource)\(aq}, \(aqxoffsetcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal offset calibration (datasource)\(aq}, \(aqxoffsetcalibrationname\(aq: {\(aqdefault\(aq: \(aqx_offset_calibration\(aq, \(aqdoc\(aq: \(aqhorizontal offset calibration name (string)\(aq}, \(aqxoffsetname\(aq: {\(aqdefault\(aq: \(aqx_offset\(aq, \(aqdoc\(aq: \(aqhorizontal offset name (string)\(aq}, \(aqygap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical gap (datasource)\(aq}, \(aqyoffdependson\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqyoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertiacal offset (datasource)\(aq}, \(aqyoffsetcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertiacal offset calibration (datasource)\(aq}, \(aqyoffsetcalibrationname\(aq: {\(aqdefault\(aq: \(aqy_offset_calibration\(aq, \(aqdoc\(aq: \(aqvertiacal offset calibration name (string)\(aq}, \(aqyoffsetname\(aq: {\(aqdefault\(aq: \(aqy_offset\(aq, \(aqdoc\(aq: \(aqvertiacal offset name (string)\(aq}}, \(aqsource\(aq: {\(aqbeamcurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqring beam current (datasource)\(aq}, \(aqbunchmode\(aq: {\(aqdefault\(aq: \(aqMulti Bunch\(aq, \(aqdoc\(aq: \(aqbunch mode (string)\(aq}, \(aqnumberofbunches\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnumber of source bunches (datasource)\(aq}, \(aqsourceenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqring beam energy (datasource)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqstarttime\(aq: {}, \(aqtango\(aq: {\(aqattribute\(aq: {\(aqdefault\(aq: \(aqPosition\(aq, \(aqdoc\(aq: \(aqtango device attribute (string)\(aq}, \(aqdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtango device MANDATORY (string)\(aq}}, \(aqundulator\(aq: {\(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance from the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name from the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator energy (datasource)\(aq}, \(aqgap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqseparation between opposing pairs of magnetic pole (datasource)\(aq}, \(aqgapunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqgap units (string)\(aq}, \(aqharmonic\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator harmonic (datasource)\(aq}, \(aqlength\(aq: {\(aqdefault\(aq: \(aq2\(aq, \(aqdoc\(aq: \(aqlength of insertion device in meters (string)\(aq}, \(aqshift\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator shift (datasource)\(aq}, \(aqshiftunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqshift units (string)\(aq}, \(aqspeed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator speed (datasource)\(aq}, \(aqspeedunits\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqspeed units (string)\(aq}, \(aqtaper\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgap difference between upstream and downstream ends of the insertion device (datasource)\(aq}, \(aqtaperunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqgap units (string)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(dqtransformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)\(dq}, \(aqtype\(aq: {\(aqdefault\(aq: \(aqundulator\(aq, \(aqdoc\(aq: \(aqundulator or wiggler (string)\(aq}, \(aquname\(aq: {\(aqdefault\(aq: \(aqinsertion_device\(aq, \(aqdoc\(aq: \(aqinsertion_device group name (string)\(aq}}}
+.B nxstools.nxsdevicetools.standardComponentVariables = {\(aqabsorber\(aq: {\(aqattenfactor\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqattenuation factor (datasource)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqfoil\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil type, i.e. standard <cpname>_foil (datasource)\(aq}, \(aqfoillist\(aq: {\(aqdefault\(aq: \(aq["Ag", "Ag", "Ag", "Ag", "", "Al", "Al", "Al", "Al"]\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqposition\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqwhich sliders are in [bitarray] MANDATORY (datasource)\(aq}, \(aqthickness\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil thickness, i.e. standard <cpname>_thickness (datasource)\(aq}, \(aqthicknesslist\(aq: {\(aqdefault\(aq: \(aq[0.5, 0.05, 0.025, 0.0125, 0, 0.1, 0.3, 0.5, 1.0]\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: "transformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)"}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}}, \(aqbeamstop\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aqcircular\(aq, \(aqdoc\(aq: \(aq circular or  rectangular (string)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqxsign\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: "horizontal position sign, e.g. \(aq\-\(aq (string)"}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}, \(aqz\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqzname\(aq: {\(aqdefault\(aq: \(aqz\(aq, \(aqdoc\(aq: \(aqalong the beam position name (string)\(aq}}, \(aqbeamtimefname\(aq: {\(aqcommissiondir\(aq: {\(aqdefault\(aq: \(aq/gpfs/commissioning\(aq, \(aqdoc\(aq: \(aqcommission file directory (string)\(aq}, \(aqcommissionpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqcommission file postfix (string)\(aq}, \(aqcommissionprefix\(aq: {\(aqdefault\(aq: \(aqcommissioning\-metadata\-\(aq, \(aqdoc\(aq: \(aqcommission file prefix (string)\(aq}, \(aqcurrentdir\(aq: {\(aqdefault\(aq: \(aq/gpfs/current\(aq, \(aqdoc\(aq: \(aqbeamtime file directory (string)\(aq}, \(aqcurrentpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqbeamtime file postfix (string)\(aq}, \(aqcurrentprefix\(aq: {\(aqdefault\(aq: \(aqbeamtime\-metadata\-\(aq, \(aqdoc\(aq: \(aqbeamtime file prefix (string)\(aq}, \(aqlocaldir\(aq: {\(aqdefault\(aq: \(aq/gpfs/local\(aq, \(aqdoc\(aq: \(aqlocal file directory (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}}, \(aqbeamtimeid\(aq: {\(aqcommissiondir\(aq: {\(aqdefault\(aq: \(aq/gpfs/commissioning\(aq, \(aqdoc\(aq: \(aqcommission file directory (string)\(aq}, \(aqcommissionpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqcommission file postfix (string)\(aq}, \(aqcommissionprefix\(aq: {\(aqdefault\(aq: \(aqcommissioning\-metadata\-\(aq, \(aqdoc\(aq: \(aqcommission file prefix (string)\(aq}, \(aqcurrentdir\(aq: {\(aqdefault\(aq: \(aq/gpfs/current\(aq, \(aqdoc\(aq: \(aqbeamtime file directory (string)\(aq}, \(aqcurrentpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqbeamtime file postfix (string)\(aq}, \(aqcurrentprefix\(aq: {\(aqdefault\(aq: \(aqbeamtime\-metadata\-\(aq, \(aqdoc\(aq: \(aqbeamtime file prefix (string)\(aq}, \(aqlocaldir\(aq: {\(aqdefault\(aq: \(aq/gpfs/local\(aq, \(aqdoc\(aq: \(aqlocal file directory (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}}, \(aqchcut\(aq: {\(aqbraggangle\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbragg angle (datasource)\(aq}, \(aqbragganglename\(aq: {\(aqdefault\(aq: \(aqbragg\(aq, \(aqdoc\(aq: \(aqbragg angle name  (string)\(aq}, \(aqchcutdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqFMBOxfDCMEnergy tango device name (string)\(aq}, \(aqcrystal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq type of crystal i.e. 0\->Si111,1\->Si311,2\->Si111 ChannelCut  (datasource)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsynchronized monochromator energy (datasource)\(aq}, \(aqenergyfmb\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmonochromator energy (datasource)\(aq}, \(aqjack1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfirst vertical jack of table (datasource)\(aq}, \(aqjack1name\(aq: {\(aqdefault\(aq: \(aqjack1\(aq, \(aqdoc\(aq: \(aqfirst vertical jack name of table (string)\(aq}, \(aqjack2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond vertical jack of table (datasource)\(aq}, \(aqjack2name\(aq: {\(aqdefault\(aq: \(aqjack2\(aq, \(aqdoc\(aq: \(aqsecond vertical jack name of table (string)\(aq}, \(aqjack3\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthird vertical jack of table (datasource)\(aq}, \(aqjack3name\(aq: {\(aqdefault\(aq: \(aqjack3\(aq, \(aqdoc\(aq: \(aqthird vertical jack name of table (string)\(aq}, \(aqlat\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the first cristal (datasource)\(aq}, \(aqlatname\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the first cristal (string)\(aq}, \(aqoxfordhorizontal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq horizontal translation (datasource)\(aq}, \(aqpara\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance between the crystals (string)\(aq}, \(aqparaname\(aq: {\(aqdefault\(aq: \(aqpara\(aq, \(aqdoc\(aq: \(aqbeam parallel translation name of the second cristal (string)\(aq}, \(aqreflection\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqreflection from string (datasource)\(aq}, \(aqtable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position of table (datasource)\(aq}, \(aqtablename\(aq: {\(aqdefault\(aq: \(aqtable\(aq, \(aqdoc\(aq: \(aqvertical position name of table (string)\(aq}, \(aqtheta\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta angle (datasource)\(aq}, \(aqthetaname\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta angle name (string)\(aq}, \(aqunitcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq unit calibration from dcmmotor (datasource)\(aq}, \(aqusage\(aq: {\(aqdefault\(aq: \(aqBragg\(aq, \(aqdoc\(aq: \(aqthe crystall usage, e.g. Laue (string)\(aq}, \(aqyaw\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the first cristal (datasource)\(aq}, \(aqyawname\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the first cristal (string)\(aq}}, \(aqcoboldhisto\(aq: {\(aqbinsize\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbin size of histogram data (datasource)\(aq}, \(aqexposuretime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqexposure time for histogram data (datasource)\(aq}, \(aqhistogram\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhistogram data (datasource)\(aq}}, \(aqcollect2\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}}, \(aqcollect3\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect4\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect5\(aq: {\(aqfifth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fifth component to collect MANDATORY (datasource)\(aq}, \(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect6\(aq: {\(aqfifth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fifth component to collect MANDATORY (datasource)\(aq}, \(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqsixth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the sixth component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcommon2\(aq: {\(aqdds\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdefault read datasource name MANDATORY (datasource)\(aq}, \(aqods\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqoptional detasource name MANDATORY (datasource)\(aq}}, \(aqcommon3\(aq: {\(aqdds\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdefault read datasource name MANDATORY (datasource)\(aq}, \(aqods1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfist optional detasource name MANDATORY (datasource)\(aq}, \(aqods2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond optional detasource name MANDATORY (datasource)\(aq}}, \(aqdataaxessignal\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqaxes\(aq: {\(aqdefault\(aq: \(aqdefaultaxes\(aq, \(aqdoc\(aq: \(aqlist of data axes field names (datasource)\(aq}, \(aqdefaultattrs\(aq: {\(aqdefault\(aq: \(aqFalse\(aq, \(aqdoc\(aq: \(aqadd default attributes (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqnchannelstoskip\(aq: {\(aqdefault\(aq: \(aq0\(aq, \(aqdoc\(aq: \(aqnumber of mg channels to skip (string)\(aq}, \(aqsardanasignal\(aq: {\(aqdefault\(aq: \(aqSignalCounter\(aq, \(aqdoc\(aq: \(aqsignal sardana variable name (string)\(aq}, \(aqsignal\(aq: {\(aqdefault\(aq: \(aqdefaultsignal\(aq, \(aqdoc\(aq: \(aqdata signal field name (datasource)\(aq}}, \(aqdatasignal\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqaxes\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdata axes field name(s) (datasource)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqnchannelstoskip\(aq: {\(aqdefault\(aq: \(aq0\(aq, \(aqdoc\(aq: \(aqnumber of mg channels to skip (string)\(aq}, \(aqsardanasignal\(aq: {\(aqdefault\(aq: \(aqSignalCounter\(aq, \(aqdoc\(aq: \(aqsignal sardana variable name (string)\(aq}, \(aqsignal\(aq: {\(aqdefault\(aq: \(aqdefaultsignal\(aq, \(aqdoc\(aq: \(aqdata signal field name (datasource)\(aq}}, \(aqdcm\(aq: {\(aqbend1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbending of the first cristal (datasource)\(aq}, \(aqbend2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbending of the second cristal (datasource)\(aq}, \(aqbraggangle\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbragg angle (datasource)\(aq}, \(aqbragganglename\(aq: {\(aqdefault\(aq: \(aqbragg\(aq, \(aqdoc\(aq: \(aqbragg angle name  (string)\(aq}, \(aqchi2dependson\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqthe depends_on field of the second cristal chi, e.g. phi (string)\(aq}, \(aqcrystal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtype of crystal i.e. 0\->Si111,1\->Si311,2\->Si111 ChannelCut (datasource)\(aq}, \(aqdcmdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqFMBOxfDCMEnergy tango device (string)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsynchronized monochromator energy (datasource)\(aq}, \(aqenergyfmb\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmonochromator energy (datasource)\(aq}, \(aqexitoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq exit offset (datasource)\(aq}, \(aqjack1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfirst vertical jack of table (datasource)\(aq}, \(aqjack1name\(aq: {\(aqdefault\(aq: \(aqjack1\(aq, \(aqdoc\(aq: \(aqfirst vertical jack name of table (string)\(aq}, \(aqjack2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond vertical jack of table (datasource)\(aq}, \(aqjack2name\(aq: {\(aqdefault\(aq: \(aqjack2\(aq, \(aqdoc\(aq: \(aqsecond vertical jack name of table (string)\(aq}, \(aqjack3\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthird vertical jack of table (datasource)\(aq}, \(aqjack3name\(aq: {\(aqdefault\(aq: \(aqjack3\(aq, \(aqdoc\(aq: \(aqthird vertical jack name of table (string)\(aq}, \(aqlat\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the first cristal (datasource)\(aq}, \(aqlat2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the second cristal (datasource)\(aq}, \(aqlat2name\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the second cristal (string)\(aq}, \(aqlatname\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the first cristal (string)\(aq}, \(aqoxfordhorizontal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq horizontal translation (datasource)\(aq}, \(aqpar2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbeam parallel translation of the second cristal (datasource)\(aq}, \(aqpar2name\(aq: {\(aqdefault\(aq: \(aqpara\(aq, \(aqdoc\(aq: \(aqbeam parallel translation name of the second cristal (string)\(aq}, \(aqperp2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical translation of the second cristal (datasource)\(aq}, \(aqperp2name\(aq: {\(aqdefault\(aq: \(aqperp\(aq, \(aqdoc\(aq: \(aqvertical translation name of the second cristal (string)\(aq}, \(aqphi1dependson\(aq: {\(aqdefault\(aq: \(aq../../transformations/bragg\(aq, \(aqdoc\(aq: \(aqthe depends_on field of the first cristal phi, e.g. theta (string)\(aq}, \(aqpitch1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta rotation of the first cristal (datasource)\(aq}, \(aqpitch1name\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta rotation name of the first cristal (string)\(aq}, \(aqpitch2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta rotation of the second cristal (datasource)\(aq}, \(aqpitch2name\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta rotation name of the second cristal (string)\(aq}, \(aqroll1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchi rotation of the first cristal (datasource)\(aq}, \(aqroll1name\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqchi rotation name of the first cristal (string)\(aq}, \(aqroll2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchi rotation of the second cristal (datasource)\(aq}, \(aqroll2name\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqchi rotation name of the second cristal (string)\(aq}, \(aqtable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position of table (datasource)\(aq}, \(aqtablename\(aq: {\(aqdefault\(aq: \(aqtable\(aq, \(aqdoc\(aq: \(aqvertical position name of table (string)\(aq}, \(aqtheta\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta angle (datasource)\(aq}, \(aqthetaname\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta angle name (string)\(aq}, \(aqtopdependson2\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqthe first transformation of the second crystal, e.g. lat (string)\(aq}, \(aqunitcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqunit calibration from dcmmotor (datasource)\(aq}, \(aqusage\(aq: {\(aqdefault\(aq: \(aqBragg\(aq, \(aqdoc\(aq: \(aqthe crystall usage, e.g. Laue (string)\(aq}, \(aqyaw\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the first cristal (datasource)\(aq}, \(aqyaw2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the second cristal (datasource)\(aq}, \(aqyaw2name\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the second cristal (string)\(aq}, \(aqyawname\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the first cristal (string)\(aq}}, \(aqdefault\(aq: {\(aq__configdevice__\(aq: {\(aqdefault\(aq: \(aqnxs/configserver/localhost\(aq, \(aqdoc\(aq: \(aqconfiguration server device name (string)\(aq}, \(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqcontrol\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgroup name of the monitor (string)\(aq}, \(aqlongname\(aq: {\(aqdefault\(aq: \(aqP09 Resonant Scattering and Diffraction beamline\(aq, \(aqdoc\(aq: \(aqbeamline long name (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}, \(aqsourcename\(aq: {\(aqdefault\(aq: \(aqPETRA III\(aq, \(aqdoc\(aq: \(aqsource name (string)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqdefaultinstrument\(aq: {\(aq__configdevice__\(aq: {\(aqdefault\(aq: \(aqnxs/configserver/localhost\(aq, \(aqdoc\(aq: \(aqconfiguration server device name (string)\(aq}, \(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqcontrol\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgroup name of the monitor (string)\(aq}, \(aqlongname\(aq: {\(aqdefault\(aq: \(aqP09 Resonant Scattering and Diffraction beamline\(aq, \(aqdoc\(aq: \(aqbeamline long name (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}, \(aqsourcename\(aq: {\(aqdefault\(aq: \(aqPETRA III\(aq, \(aqdoc\(aq: \(aqsource name (string)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqdefaultsample\(aq: {}, \(aqdescription\(aq: {}, \(aqdescriptiontext\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aqscan\(aq, \(aqdoc\(aq: \(aqscan technique (string)\(aq}}, \(aqdetectorlive\(aq: {\(aqdatatype\(aq: {\(aqdefault\(aq: \(aqNX_UINT32\(aq, \(aqdoc\(aq: \(aqlist of devices (string)\(aq}, \(aqdetectordata\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdetector live data (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqdetector\(aq, \(aqdoc\(aq: \(aqlist of devices (string)\(aq}}, \(aqempty\(aq: {}, \(aqgroupsecop\(aq: {\(aqaccess\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop access list (string)\(aq}, \(aqgroup\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop group name (string)\(aq}, \(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqkeithley\(aq: {\(aqcurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqcurrent in A (datasource)\(aq}, \(aqgain\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgain in V/A (datasource)\(aq}, \(aqrisetime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqrise time (datasource)\(aq}, \(aqsourvoltlevel\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsource voltage level in V (datasource)\(aq}, \(aqvoltage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvoltage in V (datasource)\(aq}}, \(aqmaia\(aq: {\(aqchillersetpoint\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchiller set point temperature in Celsus (datasource)\(aq}, \(aqchiptemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdetector chip temperature sensor for maia in Celsus (datasource)\(aq}, \(aqgaintrimenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgaintrim enable status for maia (datasource)\(aq}, \(aqidentity\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsensor identity for maia (datasource)\(aq}, \(aqinterlockpressure\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock pressure for maia in mbar (datasource)\(aq}, \(aqleakagecurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleakage current sensor for maia in A (datasource)\(aq}, \(aqlineariseenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqlinearise enable status for maia (datasource)\(aq}, \(aqmaiadimensions\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia dimensions component name (component)\(aq}, \(aqmaiafluxes\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia fluxes component name (component)\(aq}, \(aqmaiastage\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia stage component name (component)\(aq}, \(aqmosfettemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmosfet temperature sensor for maia in Celsus (datasource)\(aq}, \(aqpeltiercurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpeltier current sensor for maia in A (datasource)\(aq}, \(aqphotonenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphoton enable status for maia (datasource)\(aq}, \(aqpileuprejectionenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpileup rejection enable status for maia (datasource)\(aq}, \(aqpixelenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel enable status for maia (datasource)\(aq}, \(aqpressure\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgas pressure in mbar (datasource)\(aq}, \(aqrunnumber\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqrun number of maia (datasource)\(aq}, \(aqstatus\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock status for maia (datasource)\(aq}, \(aqthrottleenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthrottle enable status for maia (datasource)\(aq}, \(aquptime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock uptime for maia (datasource)\(aq}, \(aqvoltagesetpoint\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvoltage set point temperature in Celsus (datasource)\(aq}, \(aqwatertemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqwater temperature sensor for maia in Celsus (datasource)\(aq}}, \(aqmaiadimension\(aq: {\(aqdetname\(aq: {\(aqdefault\(aq: \(aqmaia\(aq, \(aqdoc\(aq: \(aqdetector (alias) name (string)\(aq}, \(aqdimname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdimension name for maia (datasource)\(aq}, \(aqdname\(aq: {\(aqdefault\(aq: \(aqdimension\(aq, \(aqdoc\(aq: \(aqdimension name group (string)\(aq}, \(aqhysteresis\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel hysteresis of dimension for maia (datasource)\(aq}, \(aqnumberofpixels\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnumber of pixels of dimension for maia (datasource)\(aq}, \(aqorigin\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel origin of dimension for maia (datasource)\(aq}, \(aqpixelpitch\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel pitch of dimension for maia (datasource)\(aq}, \(aqpositionsource\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqposition source of dimension for maia (datasource)\(aq}, \(aqunit\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqposition units of dimension for maia (datasource)\(aq}}, \(aqmaiaflux\(aq: {\(aqcoefficient\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux coefficient  for maia (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqmaia\(aq, \(aqdoc\(aq: \(aqdetector (alias) name (string)\(aq}, \(aqfluxname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux name for maia (datasource)\(aq}, \(aqfname\(aq: {\(aqdefault\(aq: \(aqfluxdevice\(aq, \(aqdoc\(aq: \(aqflux name group (string)\(aq}, \(aqkeithleydevice\(aq: {\(aqdefault\(aq: \(aqkeithley\(aq, \(aqdoc\(aq: \(aqkeithley device name (string)\(aq}, \(aqsource\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux source for maia (datasource)\(aq}, \(aqunit\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux unit for maia (datasource)\(aq}, \(aqvfcfactor\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvfc conversion factor (datasource)\(aq}}, \(aqmsnsar\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana device name MANDATORY (string)\(aq}, \(aqvarname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnested sardana environment variable name  MANDATORY (string)\(aq}}, \(aqmssar\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqvarname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment variable name MANDATORY (string)\(aq}}, \(aqparametercopymap\(aq: {\(aqcopymap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqyaml dictionary with {output: input} copy map (string)\(aq}, \(aqparameter\(aq: {\(aqdefault\(aq: \(aqcopymap\(aq, \(aqdoc\(aq: \(aqparameter name of copymap (string)\(aq}, \(aqprogram\(aq: {\(aqdefault\(aq: \(aqnxsfileinfo_parameters\(aq, \(aqdoc\(aq: \(aqgroup name of NXparameters (string)\(aq}}, \(aqpinhole\(aq: {\(aqdiameter\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpinhole diameter (datasource)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqxsign\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: "horizontal position sign, e.g. \(aq\-\(aq (string)"}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}, \(aqz\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqalong the beam position (datasource)\(aq}, \(aqzname\(aq: {\(aqdefault\(aq: \(aqz\(aq, \(aqdoc\(aq: \(aqalong the beam position name (string)\(aq}}, \(aqpointdet\(aq: {\(aqdata\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdiode data (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqdetector\(aq, \(aqdoc\(aq: \(aqdetector group name (string)\(aq}}, \(aqqbpm\(aq: {\(aqdependsony\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqthe  depends_on y field value,  e.g. distance (string)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqfoil\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil type, i.e. standard <cpname>_foil (datasource)\(aq}, \(aqfoilpos\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil position MANDATORY (datasource)\(aq}, \(aqfoilposdict\(aq: {\(aqdefault\(aq: \(aq{"Ti": 43, "Ni": 23, "Out": 3}\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}}, \(aqsampledescription\(aq: {\(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsampledescriptiontext\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqsample description or sampleId (string)\(aq}, \(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsamplehkl\(aq: {\(aqh\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqh position in hkl space (datasource)\(aq}, \(aqk\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqk position in hkl space (datasource)\(aq}, \(aql\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aql position in hkl space (datasource)\(aq}, \(aqpsi\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpsi angle position of analyzer (datasource)\(aq}, \(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsecop\(aq: {\(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqsinglesecop\(aq: {\(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqslit\(aq: {\(aqbottom\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbottom blade position (datasource)\(aq}, \(aqbottomclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbottom blade closed position (datasource)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqleft\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleft blade position (datasource)\(aq}, \(aqleftclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleft blade closed position (datasource)\(aq}, \(aqright\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqright blade position (datasource)\(aq}, \(aqrightclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqright blade closed position (datasource)\(aq}, \(aqtop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtop blade position (datasource)\(aq}, \(aqtopclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtop blade closed position (datasource)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: "transformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)"}, \(aqxgap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal gap (datasource)\(aq}, \(aqxoffdependson\(aq: {\(aqdefault\(aq: \(aqy_offset\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqxoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal offset (datasource)\(aq}, \(aqxoffsetcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal offset calibration (datasource)\(aq}, \(aqxoffsetcalibrationname\(aq: {\(aqdefault\(aq: \(aqx_offset_calibration\(aq, \(aqdoc\(aq: \(aqhorizontal offset calibration name (string)\(aq}, \(aqxoffsetname\(aq: {\(aqdefault\(aq: \(aqx_offset\(aq, \(aqdoc\(aq: \(aqhorizontal offset name (string)\(aq}, \(aqygap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical gap (datasource)\(aq}, \(aqyoffdependson\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqyoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertiacal offset (datasource)\(aq}, \(aqyoffsetcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertiacal offset calibration (datasource)\(aq}, \(aqyoffsetcalibrationname\(aq: {\(aqdefault\(aq: \(aqy_offset_calibration\(aq, \(aqdoc\(aq: \(aqvertiacal offset calibration name (string)\(aq}, \(aqyoffsetname\(aq: {\(aqdefault\(aq: \(aqy_offset\(aq, \(aqdoc\(aq: \(aqvertiacal offset name (string)\(aq}}, \(aqsource\(aq: {\(aqbeamcurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqring beam current (datasource)\(aq}, \(aqbunchmode\(aq: {\(aqdefault\(aq: \(aqMulti Bunch\(aq, \(aqdoc\(aq: \(aqbunch mode (string)\(aq}, \(aqnumberofbunches\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnumber of source bunches (datasource)\(aq}, \(aqsourceenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqring beam energy (datasource)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqstarttime\(aq: {}, \(aqtango\(aq: {\(aqattribute\(aq: {\(aqdefault\(aq: \(aqPosition\(aq, \(aqdoc\(aq: \(aqtango device attribute (string)\(aq}, \(aqdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtango device MANDATORY (string)\(aq}}, \(aqundulator\(aq: {\(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance from the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name from the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator energy (datasource)\(aq}, \(aqgap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqseparation between opposing pairs of magnetic pole (datasource)\(aq}, \(aqgapunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqgap units (string)\(aq}, \(aqharmonic\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator harmonic (datasource)\(aq}, \(aqlength\(aq: {\(aqdefault\(aq: \(aq2\(aq, \(aqdoc\(aq: \(aqlength of insertion device in meters (string)\(aq}, \(aqshift\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator shift (datasource)\(aq}, \(aqshiftunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqshift units (string)\(aq}, \(aqspeed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator speed (datasource)\(aq}, \(aqspeedunits\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqspeed units (string)\(aq}, \(aqtaper\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgap difference between upstream and downstream ends of the insertion device (datasource)\(aq}, \(aqtaperunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqgap units (string)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: "transformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)"}, \(aqtype\(aq: {\(aqdefault\(aq: \(aqundulator\(aq, \(aqdoc\(aq: \(aqundulator or wiggler (string)\(aq}, \(aquname\(aq: {\(aqdefault\(aq: \(aqinsertion_device\(aq, \(aqdoc\(aq: \(aqinsertion_device group name (string)\(aq}}}
 (\fI\%dict\fP <\fI\%str\fP , \fI\%dict\fP <\fI\%str\fP , \fI\%str\fP > >)
 standard component template variables
 and its [default value, doc string]
@@ -8417,17 +8417,17 @@ stores datasources in Configuration Server
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.twoDModules  =  [\(aqpilatus100k\(aq, \(aqpilatus300k\(aq, \(aqpilatus1m\(aq, \(aqpilatus2m\(aq, \(aqpilatus6m\(aq, \(aqpco4000\(aq, \(aqperkinelmerdetector\(aq, \(aqlambda\(aq, \(aqpedetector\(aq, \(aqperkinelmer\(aq, \(aqpco\(aq, \(aqpcoedge\(aq, \(aqmarccd\(aq, \(aqperkinelmer\(aq, \(aqlcxcamera\(aq, \(aqlimaccd\(aq, \(aqeigerpsi\(aq, \(aqeigerdectris\(aq]
+.B nxstools.nxsdevicetools.twoDModules = [\(aqpilatus100k\(aq, \(aqpilatus300k\(aq, \(aqpilatus1m\(aq, \(aqpilatus2m\(aq, \(aqpilatus6m\(aq, \(aqpco4000\(aq, \(aqperkinelmerdetector\(aq, \(aqlambda\(aq, \(aqpedetector\(aq, \(aqperkinelmer\(aq, \(aqpco\(aq, \(aqpcoedge\(aq, \(aqmarccd\(aq, \(aqperkinelmer\(aq, \(aqlcxcamera\(aq, \(aqlimaccd\(aq, \(aqeigerpsi\(aq, \(aqeigerdectris\(aq]
 (\fI\%list\fP <\fI\%str\fP>) modules of 2d detectors
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.xmlPackageHandler  =  <nxstools.nxsdevicetools.PackageHandler object>
+.B nxstools.nxsdevicetools.xmlPackageHandler = <nxstools.nxsdevicetools.PackageHandler object>
 (\fI\%PackageHandler\fP) xml template package handler
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.nxsdevicetools.zeroDModules  =  [\(aqtip830\(aq]
+.B nxstools.nxsdevicetools.zeroDModules = [\(aqtip830\(aq]
 (\fI\%list\fP <\fI\%str\fP>) modules of 0D detectors
 .UNINDENT
 .SS nxstools.filenamegenerator module
@@ -8435,7 +8435,7 @@ stores datasources in Configuration Server
 Filename generator
 .INDENT 0.0
 .TP
-.B class  nxstools.filenamegenerator.FilenameGenerator(fname_template, start_index=0, stop_index=None)
+.B class nxstools.filenamegenerator.FilenameGenerator(fname_template, start_index=0, stop_index=None)
 Bases: \fI\%object\fP
 .sp
 Generate image file names
@@ -8482,7 +8482,7 @@ Generator class creating image file names.
 .UNINDENT
 .INDENT 7.0
 .TP
-.B static  from_slice(file_template)
+.B static from_slice(file_template)
 Static factory method to create a filename_generator instance
 from a sliced user input
 .INDENT 7.0
@@ -8513,36 +8513,36 @@ NXS tools
 xml templates
 .INDENT 0.0
 .TP
-.B nxstools.xmltemplates.moduleMultiAttributes  =  {\(aqcobold\(aq: [\(aqBinSize\(aq, \(aqExposureTime\(aq], \(aqdalsa\(aq: [\(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqTriggerMode\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqExtendedExposure\(aq, \(aqBinComment\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqFramesReceived\(aq, \(aqFrameRate\(aq, \(aqFramesPerNXFile\(aq, \(aqNXFileCompression\(aq, \(aqTurboMode\(aq, \(aqImageEnc\(aq, \(aqViewingMode\(aq, \(aqThrashedBuffers\(aq, \(aqFramesToAcquire\(aq, \(aqAcquisitionFrameCount\(aq, \(aqAcquisitionMode\(aq, \(aqAcquisitionFrameMode\(aq, \(aqLinearityEqualizer\(aq, \(aqNrExposedFrames\(aq, \(aqNrOffsetFrames\(aq, \(aqOffset\(aq, \(aqPixelFormat\(aq, \(aqReadOutMode\(aq, \(aqStandby\(aq, \(aqSumScheme\(aq], \(aqdalsavds\(aq: [\(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqTriggerMode\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqExtendedExposure\(aq, \(aqBinComment\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqFramesReceived\(aq, \(aqFrameRate\(aq, \(aqFramesPerNXFile\(aq, \(aqNXFileCompression\(aq, \(aqTurboMode\(aq, \(aqImageEnc\(aq, \(aqViewingMode\(aq, \(aqThrashedBuffers\(aq, \(aqFramesToAcquire\(aq, \(aqAcquisitionFrameCount\(aq, \(aqAcquisitionMode\(aq, \(aqAcquisitionFrameMode\(aq, \(aqLinearityEqualizer\(aq, \(aqNrExposedFrames\(aq, \(aqNrOffsetFrames\(aq, \(aqOffset\(aq, \(aqPixelFormat\(aq, \(aqReadOutMode\(aq, \(aqStandby\(aq, \(aqSumScheme\(aq], \(aqeigerdectris\(aq: [\(aqTriggerMode\(aq, \(aqNbTriggers\(aq, \(aqDescription\(aq, \(aqNbImages\(aq, \(aqBitDepth\(aq, \(aqReadoutTime\(aq, \(aqCountTime\(aq, \(aqEnergyThreshold\(aq, \(aqFrameTime\(aq, \(aqRateCorrectionEnabled\(aq, \(aqFlatFieldEnabled\(aq, \(aqTemperature\(aq, \(aqAutoSummationEnabled\(aq, \(aqHumidity\(aq, \(aqPhotonEnergy\(aq, \(aqWavelength\(aq], \(aqlambda\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambda2m\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambdavds\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambdavdsnm\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlimaccd\(aq: [\(aqcamera_type\(aq, \(aqcamera_pixelsize\(aq, \(aqcamera_model\(aq, \(aqacq_mode\(aq, \(aqacq_nb_frames\(aq, \(aqacq_trigger_mode\(aq, \(aqlast_image_saved\(aq, \(aqlatency_time\(aq, \(aqacc_max_expo_time\(aq, \(aqacc_expo_time\(aq, \(aqacc_time_mode\(aq, \(aqacc_dead_time\(aq, \(aqacc_live_time\(aq, \(aqsaving_mode\(aq, \(aqsaving_directory\(aq, \(aqsaving_prefix\(aq, \(aqsaving_suffix\(aq, \(aqsaving_next_number\(aq, \(aqsaving_format\(aq, \(aqsaving_frame_per_file\(aq, \(aqimage_type\(aq, \(aqimage_width\(aq, \(aqimage_height\(aq, \(aqimage_sizes\(aq, \(aqimage_roi\(aq, \(aqimage_bin\(aq, \(aqimage_flip\(aq, \(aqimage_rotation\(aq, \(aqshutter_mode\(aq, \(aqshutter_open_time\(aq], \(aqlimaccds\(aq: [\(aqcamera_type\(aq, \(aqcamera_pixelsize\(aq, \(aqcamera_model\(aq, \(aqacq_mode\(aq, \(aqacq_nb_frames\(aq, \(aqacq_trigger_mode\(aq, \(aqlast_image_saved\(aq, \(aqlatency_time\(aq, \(aqacc_max_expo_time\(aq, \(aqacc_expo_time\(aq, \(aqacc_time_mode\(aq, \(aqacc_dead_time\(aq, \(aqacc_live_time\(aq, \(aqsaving_mode\(aq, \(aqsaving_directory\(aq, \(aqsaving_prefix\(aq, \(aqsaving_suffix\(aq, \(aqsaving_next_number\(aq, \(aqsaving_format\(aq, \(aqsaving_frame_per_file\(aq, \(aqimage_type\(aq, \(aqimage_width\(aq, \(aqimage_height\(aq, \(aqimage_sizes\(aq, \(aqimage_roi\(aq, \(aqimage_bin\(aq, \(aqimage_flip\(aq, \(aqimage_rotation\(aq, \(aqshutter_mode\(aq, \(aqshutter_open_time\(aq], \(aqmaiadimension\(aq: [\(aqName\(aq, \(aqPositionSource\(aq, \(aqPixelPitch\(aq, \(aqPixelOrigin\(aq, \(aqPixelHysteresis\(aq, \(aqPositionUnit\(aq, \(aqPixelCoordExtent\(aq], \(aqmaiaflux\(aq: [\(aqFluxCoeff\(aq, \(aqFluxName\(aq, \(aqFluxUnit\(aq, \(aqFluxSource\(aq], \(aqmaiainterlock\(aq: [\(aqBiasPeltierInterlock\(aq, \(aqBiasPeltierInterlockUptime\(aq, \(aqPressure\(aq], \(aqmaialogger\(aq: [\(aqRunNumber\(aq], \(aqmaiaprocessing\(aq: [\(aqGaintrimEnable\(aq, \(aqLineariseEnable\(aq, \(aqPhotonEnable\(aq, \(aqPileupRejectEnable\(aq, \(aqPixelEnable\(aq, \(aqThrottleEnable\(aq], \(aqmaiasensor\(aq: [\(aqBiasVoltage\(aq, \(aqLeakageCurrent\(aq, \(aqPeltierCurrent\(aq, \(aqWaterTemperature\(aq, \(aqDetectorTemperature\(aq, \(aqMosfetTemperature\(aq, \(aqIdentity\(aq], \(aqmarccd\(aq: [\(aqFrameShift\(aq, \(aqSavingDirectory\(aq, \(aqSavingPostfix\(aq, \(aqSavingPrefix\(aq], \(aqmca_xia\(aq: [\(aqICR\(aq, \(aqOCR\(aq], \(aqmca_xia@pool\(aq: [\(aqCountsRoI\(aq, \(aqRoIEnd\(aq, \(aqRoIStart\(aq], \(aqmythen\(aq: [\(aqCounts1\(aq, \(aqCounts2\(aq, \(aqCountsMax\(aq, \(aqCountsTotal\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFileIndex\(aq, \(aqFilePrefix\(aq, \(aqData\(aq, \(aqRoI1\(aq, \(aqRoI2\(aq], \(aqmythen2\(aq: [\(aqCounts1\(aq, \(aqCounts2\(aq, \(aqCountsMax\(aq, \(aqCountsTotal\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFileIndex\(aq, \(aqFilePrefix\(aq, \(aqData\(aq, \(aqEnergy\(aq, \(aqNbFrames\(aq, \(aqRoI1End\(aq, \(aqRoI2End\(aq, \(aqRoI1Start\(aq, \(aqRoI2Start\(aq, \(aqThreshold\(aq], \(aqpco\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpco4000\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpcoedge\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpedetector\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqperkinelmer\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqperkinelmerdetector\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqpilatus\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus100k\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus1m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus2m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus300k\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus6m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqtangovimba\(aq: [\(aqWidth\(aq, \(aqWidthMax\(aq, \(aqTriggerSource\(aq, \(aqPixelFormat\(aq, \(aqOffsetY\(aq, \(aqOffsetX\(aq, \(aqHeightMax\(aq, \(aqHeight\(aq, \(aqGainRaw\(aq, \(aqExposureTimeAbs\(aq, \(aqAcquisitionFrameRateAbs\(aq, \(aqAcquisitionFrameRateLimit\(aq, \(aqStreamBytesPerSecond\(aq, \(aqBinComment\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqMaxLoad\(aq, \(aqReadMode\(aq, \(aqTuneMode\(aq, \(aqViewingMode\(aq]}
+.B nxstools.xmltemplates.moduleMultiAttributes = {\(aqcobold\(aq: [\(aqBinSize\(aq, \(aqExposureTime\(aq], \(aqdalsa\(aq: [\(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqTriggerMode\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqExtendedExposure\(aq, \(aqBinComment\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqFramesReceived\(aq, \(aqFrameRate\(aq, \(aqFramesPerNXFile\(aq, \(aqNXFileCompression\(aq, \(aqTurboMode\(aq, \(aqImageEnc\(aq, \(aqViewingMode\(aq, \(aqThrashedBuffers\(aq, \(aqFramesToAcquire\(aq, \(aqAcquisitionFrameCount\(aq, \(aqAcquisitionMode\(aq, \(aqAcquisitionFrameMode\(aq, \(aqLinearityEqualizer\(aq, \(aqNrExposedFrames\(aq, \(aqNrOffsetFrames\(aq, \(aqOffset\(aq, \(aqPixelFormat\(aq, \(aqReadOutMode\(aq, \(aqStandby\(aq, \(aqSumScheme\(aq], \(aqdalsavds\(aq: [\(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqTriggerMode\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqExtendedExposure\(aq, \(aqBinComment\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqFramesReceived\(aq, \(aqFrameRate\(aq, \(aqFramesPerNXFile\(aq, \(aqNXFileCompression\(aq, \(aqTurboMode\(aq, \(aqImageEnc\(aq, \(aqViewingMode\(aq, \(aqThrashedBuffers\(aq, \(aqFramesToAcquire\(aq, \(aqAcquisitionFrameCount\(aq, \(aqAcquisitionMode\(aq, \(aqAcquisitionFrameMode\(aq, \(aqLinearityEqualizer\(aq, \(aqNrExposedFrames\(aq, \(aqNrOffsetFrames\(aq, \(aqOffset\(aq, \(aqPixelFormat\(aq, \(aqReadOutMode\(aq, \(aqStandby\(aq, \(aqSumScheme\(aq], \(aqeigerdectris\(aq: [\(aqTriggerMode\(aq, \(aqNbTriggers\(aq, \(aqDescription\(aq, \(aqNbImages\(aq, \(aqBitDepth\(aq, \(aqReadoutTime\(aq, \(aqCountTime\(aq, \(aqEnergyThreshold\(aq, \(aqFrameTime\(aq, \(aqRateCorrectionEnabled\(aq, \(aqFlatFieldEnabled\(aq, \(aqTemperature\(aq, \(aqAutoSummationEnabled\(aq, \(aqHumidity\(aq, \(aqPhotonEnergy\(aq, \(aqWavelength\(aq], \(aqlambda\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambda2m\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambdavds\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlambdavdsnm\(aq: [\(aqTriggerMode\(aq, \(aqShutterTime\(aq, \(aqDelayTime\(aq, \(aqFrameNumbers\(aq, \(aqThreadNo\(aq, \(aqEnergyThreshold\(aq, \(aqOperatingMode\(aq, \(aqConfigFilePath\(aq, \(aqSaveAllImages\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqFilePreExt\(aq, \(aqFilePostfix\(aq, \(aqSaveFilePath\(aq, \(aqSaveFileName\(aq, \(aqLatestImageNumber\(aq, \(aqLiveMode\(aq, \(aqTotalLossFrames\(aq, \(aqCompressorShuffle\(aq, \(aqCompressionRate\(aq, \(aqCompressionEnabled\(aq, \(aqLayout\(aq, \(aqShutterTimeMax\(aq, \(aqShutterTimeMin\(aq, \(aqWidth\(aq, \(aqHeight\(aq, \(aqDepth\(aq, \(aqLiveFrameNo\(aq, \(aqDistortionCorrection\(aq, \(aqLiveLastImageData\(aq, \(aqFramesPerFile\(aq, \(aqOpMode\(aq, \(aqTranslations\(aq], \(aqlimaccd\(aq: [\(aqcamera_type\(aq, \(aqcamera_pixelsize\(aq, \(aqcamera_model\(aq, \(aqacq_mode\(aq, \(aqacq_nb_frames\(aq, \(aqacq_trigger_mode\(aq, \(aqlast_image_saved\(aq, \(aqlatency_time\(aq, \(aqacc_max_expo_time\(aq, \(aqacc_expo_time\(aq, \(aqacc_time_mode\(aq, \(aqacc_dead_time\(aq, \(aqacc_live_time\(aq, \(aqsaving_mode\(aq, \(aqsaving_directory\(aq, \(aqsaving_prefix\(aq, \(aqsaving_suffix\(aq, \(aqsaving_next_number\(aq, \(aqsaving_format\(aq, \(aqsaving_frame_per_file\(aq, \(aqimage_type\(aq, \(aqimage_width\(aq, \(aqimage_height\(aq, \(aqimage_sizes\(aq, \(aqimage_roi\(aq, \(aqimage_bin\(aq, \(aqimage_flip\(aq, \(aqimage_rotation\(aq, \(aqshutter_mode\(aq, \(aqshutter_open_time\(aq], \(aqlimaccds\(aq: [\(aqcamera_type\(aq, \(aqcamera_pixelsize\(aq, \(aqcamera_model\(aq, \(aqacq_mode\(aq, \(aqacq_nb_frames\(aq, \(aqacq_trigger_mode\(aq, \(aqlast_image_saved\(aq, \(aqlatency_time\(aq, \(aqacc_max_expo_time\(aq, \(aqacc_expo_time\(aq, \(aqacc_time_mode\(aq, \(aqacc_dead_time\(aq, \(aqacc_live_time\(aq, \(aqsaving_mode\(aq, \(aqsaving_directory\(aq, \(aqsaving_prefix\(aq, \(aqsaving_suffix\(aq, \(aqsaving_next_number\(aq, \(aqsaving_format\(aq, \(aqsaving_frame_per_file\(aq, \(aqimage_type\(aq, \(aqimage_width\(aq, \(aqimage_height\(aq, \(aqimage_sizes\(aq, \(aqimage_roi\(aq, \(aqimage_bin\(aq, \(aqimage_flip\(aq, \(aqimage_rotation\(aq, \(aqshutter_mode\(aq, \(aqshutter_open_time\(aq], \(aqmaiadimension\(aq: [\(aqName\(aq, \(aqPositionSource\(aq, \(aqPixelPitch\(aq, \(aqPixelOrigin\(aq, \(aqPixelHysteresis\(aq, \(aqPositionUnit\(aq, \(aqPixelCoordExtent\(aq], \(aqmaiaflux\(aq: [\(aqFluxCoeff\(aq, \(aqFluxName\(aq, \(aqFluxUnit\(aq, \(aqFluxSource\(aq], \(aqmaiainterlock\(aq: [\(aqBiasPeltierInterlock\(aq, \(aqBiasPeltierInterlockUptime\(aq, \(aqPressure\(aq], \(aqmaialogger\(aq: [\(aqRunNumber\(aq], \(aqmaiaprocessing\(aq: [\(aqGaintrimEnable\(aq, \(aqLineariseEnable\(aq, \(aqPhotonEnable\(aq, \(aqPileupRejectEnable\(aq, \(aqPixelEnable\(aq, \(aqThrottleEnable\(aq], \(aqmaiasensor\(aq: [\(aqBiasVoltage\(aq, \(aqLeakageCurrent\(aq, \(aqPeltierCurrent\(aq, \(aqWaterTemperature\(aq, \(aqDetectorTemperature\(aq, \(aqMosfetTemperature\(aq, \(aqIdentity\(aq], \(aqmarccd\(aq: [\(aqFrameShift\(aq, \(aqSavingDirectory\(aq, \(aqSavingPostfix\(aq, \(aqSavingPrefix\(aq], \(aqmca_xia\(aq: [\(aqICR\(aq, \(aqOCR\(aq], \(aqmca_xia@pool\(aq: [\(aqCountsRoI\(aq, \(aqRoIEnd\(aq, \(aqRoIStart\(aq], \(aqmythen\(aq: [\(aqCounts1\(aq, \(aqCounts2\(aq, \(aqCountsMax\(aq, \(aqCountsTotal\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFileIndex\(aq, \(aqFilePrefix\(aq, \(aqData\(aq, \(aqRoI1\(aq, \(aqRoI2\(aq], \(aqmythen2\(aq: [\(aqCounts1\(aq, \(aqCounts2\(aq, \(aqCountsMax\(aq, \(aqCountsTotal\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFileIndex\(aq, \(aqFilePrefix\(aq, \(aqData\(aq, \(aqEnergy\(aq, \(aqNbFrames\(aq, \(aqRoI1End\(aq, \(aqRoI2End\(aq, \(aqRoI1Start\(aq, \(aqRoI2Start\(aq, \(aqThreshold\(aq], \(aqpco\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpco4000\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpcoedge\(aq: [\(aqDelayTime\(aq, \(aqExposureTime\(aq, \(aqNbFrames\(aq, \(aqTriggerMode\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqBinning_x\(aq, \(aqBinning_y\(aq, \(aqROI_x_min\(aq, \(aqROI_x_max\(aq, \(aqROI_y_min\(aq, \(aqROI_y_max\(aq, \(aqPixelrate\(aq, \(aqADCs\(aq, \(aqCoolingTemp\(aq, \(aqCoolingTempSet\(aq, \(aqImageTimeStamp\(aq, \(aqRecorderMode\(aq], \(aqpedetector\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqperkinelmer\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqperkinelmerdetector\(aq: [\(aqBinningMode\(aq, \(aqFileIndex\(aq, \(aqExposureTime\(aq, \(aqSkippedAtStart\(aq, \(aqSummedSaveImages\(aq, \(aqSkippedBetweenSaved\(aq, \(aqFilesAfterTrigger\(aq, \(aqFilesBeforeTrigger\(aq, \(aqSummedDarkImages\(aq, \(aqOutputDirectory\(aq, \(aqFilePattern\(aq, \(aqFileName\(aq, \(aqLogFile\(aq, \(aqUserComment1\(aq, \(aqCameraGain\(aq, \(aqUserComment2\(aq, \(aqUserComment3\(aq, \(aqUserComment4\(aq, \(aqSaveRawImages\(aq, \(aqSaveDarkImages\(aq, \(aqPerformIntegration\(aq, \(aqSaveIntegratedData\(aq, \(aqSaveSubtracted\(aq, \(aqPerformDarkSubtraction\(aq], \(aqpilatus\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus100k\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus1m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus2m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus300k\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqpilatus6m\(aq: [\(aqDelayTime\(aq, \(aqExposurePeriod\(aq, \(aqExposureTime\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileStartNum\(aq, \(aqLastImageTaken\(aq, \(aqNbExposures\(aq, \(aqNbFrames\(aq, \(aqMXparameters\(aq], \(aqtangovimba\(aq: [\(aqWidth\(aq, \(aqWidthMax\(aq, \(aqTriggerSource\(aq, \(aqPixelFormat\(aq, \(aqOffsetY\(aq, \(aqOffsetX\(aq, \(aqHeightMax\(aq, \(aqHeight\(aq, \(aqGainRaw\(aq, \(aqExposureTimeAbs\(aq, \(aqAcquisitionFrameRateAbs\(aq, \(aqAcquisitionFrameRateLimit\(aq, \(aqStreamBytesPerSecond\(aq, \(aqBinComment\(aq, \(aqFileDir\(aq, \(aqFilePostfix\(aq, \(aqFilePrefix\(aq, \(aqFileSaving\(aq, \(aqFileStartNum\(aq, \(aqFramesProcessed\(aq, \(aqImage16\(aq, \(aqImage8\(aq, \(aqImageRaw\(aq, \(aqMaxLoad\(aq, \(aqReadMode\(aq, \(aqTuneMode\(aq, \(aqViewingMode\(aq]}
 (\fI\%dict\fP <\fI\%str\fP , \fI\%list\fP <\fI\%str\fP> >)
 important attributes of modules
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.xmltemplates.moduleTemplateFiles  =  {\(aqcobold\(aq: [\(aqcobold.xml\(aq], \(aqdalsa\(aq: [\(aqdalsa.xml\(aq, \(aqdalsa_nxdata.ds.xml\(aq, \(aqdalsa_external_data.ds.xml\(aq], \(aqdalsavds\(aq: [\(aqdalsavds.xml\(aq, \(aqdalsavds_nxdata.ds.xml\(aq, \(aqdalsavds_triggermode_cb.ds.xml\(aq, \(aqdalsavds_filestartnum_cb.ds.xml\(aq, \(aqdalsavds_nrexposedframes_cb.ds.xml\(aq], \(aqeigerdectris\(aq: [\(aqeigerdectris.xml\(aq, \(aqeigerdectris_stepindex.ds.xml\(aq, \(aqeigerdectris_description_cb.ds.xml\(aq, \(aqeigerdectris_triggermode_cb.ds.xml\(aq], \(aqlambda\(aq: [\(aqlambda.xml\(aq, \(aqlambda_nxdata.ds.xml\(aq, \(aqlambda_external_data.ds.xml\(aq], \(aqlambda2m\(aq: [\(aqlambda2m.xml\(aq, \(aqlambda2m_m1_nxdata.ds.xml\(aq, \(aqlambda2m_m2_nxdata.ds.xml\(aq, \(aqlambda2m_m3_nxdata.ds.xml\(aq, \(aqlambda2m_m1_external_data.ds.xml\(aq, \(aqlambda2m_m2_external_data.ds.xml\(aq, \(aqlambda2m_m3_external_data.ds.xml\(aq], \(aqlambdavds\(aq: [\(aqlambdavds.xml\(aq, \(aqlambdavds_nxdata.ds.xml\(aq, \(aqlambdavds_description.ds.xml\(aq, \(aqlambdavds_triggermode_cb.ds.xml\(aq, \(aqlambdavds_framenumbers_cb.ds.xml\(aq, \(aqlambdavds_savefilename_cb.ds.xml\(aq], \(aqlambdavdsnm\(aq: [\(aqlambdavdsnm.xml\(aq, \(aqlambdavdsnm_triggermode_cb.ds.xml\(aq, \(aqlambdavdsnm_nxdata.ds.xml\(aq], \(aqlimaccd\(aq: [\(aqlimaccd.xml\(aq, \(aqlimaccd_postrun.ds.xml\(aq, \(aqlimaccd_xpixelsize.ds.xml\(aq, \(aqlimaccd_ypixelsize.ds.xml\(aq, \(aqlimaccd_description.ds.xml\(aq, \(aqlimaccd_filestartnum_cb.ds.xml\(aq], \(aqlimaccds\(aq: [\(aqlimaccd.xml\(aq, \(aqlimaccd_postrun.ds.xml\(aq, \(aqlimaccd_xpixelsize.ds.xml\(aq, \(aqlimaccd_ypixelsize.ds.xml\(aq, \(aqlimaccd_description.ds.xml\(aq, \(aqlimaccd_filestartnum_cb.ds.xml\(aq], \(aqmarccd\(aq: [\(aqmarccd.xml\(aq, \(aqmarccd_postrun.ds.xml\(aq], \(aqmca_xia\(aq: [\(aqmcaxia.xml\(aq], \(aqmythen\(aq: [\(aqmythen.xml\(aq, \(aqmythen_postrun.ds.xml\(aq, \(aqmythen_filestartnumber.ds.xml\(aq], \(aqmythen2\(aq: [\(aqmythen2.xml\(aq], \(aqpco\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpco4000\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpcoedge\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpedetector\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqperkinelmer\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqperkinelmerdetector\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqpilatus\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus100k\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus100k_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus1m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus1m_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus2m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus6m_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus300k\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus300k_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus6m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus6m_description.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqtangovimba\(aq: [\(aqtangovimba.xml\(aq, \(aqtangovimba_nxdata.ds.xml\(aq, \(aqtangovimba_external_data.ds.xml\(aq]}
+.B nxstools.xmltemplates.moduleTemplateFiles = {\(aqcobold\(aq: [\(aqcobold.xml\(aq], \(aqdalsa\(aq: [\(aqdalsa.xml\(aq, \(aqdalsa_nxdata.ds.xml\(aq, \(aqdalsa_external_data.ds.xml\(aq], \(aqdalsavds\(aq: [\(aqdalsavds.xml\(aq, \(aqdalsavds_nxdata.ds.xml\(aq, \(aqdalsavds_triggermode_cb.ds.xml\(aq, \(aqdalsavds_filestartnum_cb.ds.xml\(aq, \(aqdalsavds_nrexposedframes_cb.ds.xml\(aq], \(aqeigerdectris\(aq: [\(aqeigerdectris.xml\(aq, \(aqeigerdectris_stepindex.ds.xml\(aq, \(aqeigerdectris_description_cb.ds.xml\(aq, \(aqeigerdectris_triggermode_cb.ds.xml\(aq], \(aqlambda\(aq: [\(aqlambda.xml\(aq, \(aqlambda_nxdata.ds.xml\(aq, \(aqlambda_external_data.ds.xml\(aq], \(aqlambda2m\(aq: [\(aqlambda2m.xml\(aq, \(aqlambda2m_m1_nxdata.ds.xml\(aq, \(aqlambda2m_m2_nxdata.ds.xml\(aq, \(aqlambda2m_m3_nxdata.ds.xml\(aq, \(aqlambda2m_m1_external_data.ds.xml\(aq, \(aqlambda2m_m2_external_data.ds.xml\(aq, \(aqlambda2m_m3_external_data.ds.xml\(aq], \(aqlambdavds\(aq: [\(aqlambdavds.xml\(aq, \(aqlambdavds_nxdata.ds.xml\(aq, \(aqlambdavds_description.ds.xml\(aq, \(aqlambdavds_triggermode_cb.ds.xml\(aq, \(aqlambdavds_framenumbers_cb.ds.xml\(aq, \(aqlambdavds_savefilename_cb.ds.xml\(aq], \(aqlambdavdsnm\(aq: [\(aqlambdavdsnm.xml\(aq, \(aqlambdavdsnm_triggermode_cb.ds.xml\(aq, \(aqlambdavdsnm_nxdata.ds.xml\(aq], \(aqlimaccd\(aq: [\(aqlimaccd.xml\(aq, \(aqlimaccd_postrun.ds.xml\(aq, \(aqlimaccd_xpixelsize.ds.xml\(aq, \(aqlimaccd_ypixelsize.ds.xml\(aq, \(aqlimaccd_description.ds.xml\(aq, \(aqlimaccd_filestartnum_cb.ds.xml\(aq], \(aqlimaccds\(aq: [\(aqlimaccd.xml\(aq, \(aqlimaccd_postrun.ds.xml\(aq, \(aqlimaccd_xpixelsize.ds.xml\(aq, \(aqlimaccd_ypixelsize.ds.xml\(aq, \(aqlimaccd_description.ds.xml\(aq, \(aqlimaccd_filestartnum_cb.ds.xml\(aq], \(aqmarccd\(aq: [\(aqmarccd.xml\(aq, \(aqmarccd_postrun.ds.xml\(aq], \(aqmca_xia\(aq: [\(aqmcaxia.xml\(aq], \(aqmythen\(aq: [\(aqmythen.xml\(aq, \(aqmythen_postrun.ds.xml\(aq, \(aqmythen_filestartnumber.ds.xml\(aq], \(aqmythen2\(aq: [\(aqmythen2.xml\(aq], \(aqpco\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpco4000\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpcoedge\(aq: [\(aqpco.xml\(aq, \(aqpco_postrun.ds.xml\(aq, \(aqpco_description.ds.xml\(aq, \(aqpco_filestartnum_cb.ds.xml\(aq], \(aqpedetector\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqperkinelmer\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqperkinelmerdetector\(aq: [\(aqperkinelmerdetector.xml\(aq, \(aqperkinelmerdetector_postrun.ds.xml\(aq, \(aqperkinelmerdetector_description.ds.xml\(aq, \(aqperkinelmerdetector_fileindex_cb.ds.xml\(aq], \(aqpilatus\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus100k\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus100k_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus1m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus1m_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus2m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus6m_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus300k\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus300k_description.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqpilatus6m\(aq: [\(aqpilatus.xml\(aq, \(aqpilatus_postrun.ds.xml\(aq, \(aqpilatus_mxparameters_cb.ds.xml\(aq, \(aqpilatus6m_description.ds.xml\(aq, \(aqpilatus_filestartnum_cb.ds.xml\(aq], \(aqtangovimba\(aq: [\(aqtangovimba.xml\(aq, \(aqtangovimba_nxdata.ds.xml\(aq, \(aqtangovimba_external_data.ds.xml\(aq]}
 (\fI\%dict\fP <\fI\%str\fP , \fI\%list\fP <\fI\%str\fP> >)
 xml template files of modules
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.xmltemplates.standardComponentTemplateFiles  =  {\(aqabsorber\(aq: [\(aqabsorber_foil.ds.xml\(aq, \(aqabsorber_thickness.ds.xml\(aq, \(aqabsorber.xml\(aq], \(aqbeamstop\(aq: [\(aqbeamstop.xml\(aq], \(aqbeamtimefname\(aq: [\(aqbeamtimefname.xml\(aq, \(aqbeamtimefname.ds.xml\(aq, \(aqstart_time.ds.xml\(aq], \(aqbeamtimeid\(aq: [\(aqbeamtimeid.xml\(aq, \(aqbeamtimeid.ds.xml\(aq, \(aqstart_time.ds.xml\(aq], \(aqchcut\(aq: [\(aqchcut.xml\(aq, \(aqchcut_unitcalibration.ds.xml\(aq, \(aqchcut_crystal.ds.xml\(aq], \(aqcoboldhisto\(aq: [\(aqcoboldhisto.xml\(aq, \(aqcoboldhisto_timeofflight.ds.xml\(aq], \(aqcollect2\(aq: [\(aqcollect2.xml\(aq], \(aqcollect3\(aq: [\(aqcollect3.xml\(aq], \(aqcollect4\(aq: [\(aqcollect4.xml\(aq], \(aqcollect5\(aq: [\(aqcollect5.xml\(aq], \(aqcollect6\(aq: [\(aqcollect6.xml\(aq], \(aqcommon2\(aq: [\(aqcommon2_common.ds.xml\(aq], \(aqcommon3\(aq: [\(aqcommon3_common.ds.xml\(aq], \(aqdataaxessignal\(aq: [\(aqdataaxessignal.xml\(aq, \(aqdefaultsignal.ds.xml\(aq, \(aqdefaultaxes.ds.xml\(aq, \(aqsignal_name.ds.xml\(aq, \(aqsignalname.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqdatasignal\(aq: [\(aqdatasignal.xml\(aq, \(aqdefaultsignal.ds.xml\(aq, \(aqsignal_name.ds.xml\(aq, \(aqsignalname.ds.xml\(aq, \(aqsignal_axes.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqdcm\(aq: [\(aqdcm.xml\(aq, \(aqdcm_reflection.ds.xml\(aq, \(aqdcm_unitcalibration.ds.xml\(aq, \(aqdcm_crystal.ds.xml\(aq], \(aqdefault\(aq: [\(aqdefault.xml\(aq, \(aqdefaultsample.xml\(aq, \(aqdefaultinstrument.xml\(aq, \(aqsample_name.ds.xml\(aq, \(aqchemical_formula.ds.xml\(aq, \(aqbeamtime_id.ds.xml\(aq, \(aqbeamtime_filename.ds.xml\(aq, \(aqstart_time.ds.xml\(aq, \(aqend_time.ds.xml\(aq, \(aqnexdatas_version.ds.xml\(aq, \(aqnexdatas_configuration.ds.xml\(aq, \(aqtitle.ds.xml\(aq], \(aqdefaultinstrument\(aq: [\(aqdefaultinstrument.xml\(aq, \(aqbeamtime_id.ds.xml\(aq, \(aqbeamtime_filename.ds.xml\(aq, \(aqstart_time.ds.xml\(aq, \(aqend_time.ds.xml\(aq, \(aqnexdatas_version.ds.xml\(aq, \(aqnexdatas_configuration.ds.xml\(aq, \(aqtitle.ds.xml\(aq], \(aqdefaultsample\(aq: [\(aqdefaultsample.xml\(aq, \(aqsample_name.ds.xml\(aq, \(aqchemical_formula.ds.xml\(aq], \(aqdescription\(aq: [\(aqdescription.xml\(aq, \(aqexperiment_description.ds.xml\(aq], \(aqdescriptiontext\(aq: [\(aqdescriptiontext.xml\(aq], \(aqdetectorlive\(aq: [\(aqdetectorlive.xml\(aq], \(aqempty\(aq: [\(aqempty.xml\(aq], \(aqgroupsecop\(aq: [\(aqgroupsecop.ds.xml\(aq, \(aqgroupsecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqkeithley\(aq: [\(aqkeithley.xml\(aq], \(aqmaia\(aq: [\(aqmaia.xml\(aq, \(aqempty.xml\(aq], \(aqmaiadimension\(aq: [\(aqmaiadimension.xml\(aq], \(aqmaiaflux\(aq: [\(aqmaiaflux.xml\(aq], \(aqmsnsar\(aq: [\(aqmsnsar_env.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqmssar\(aq: [\(aqmssar_env.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqparametercopymap\(aq: [\(aqparametercopymap.xml\(aq], \(aqpinhole\(aq: [\(aqpinhole.xml\(aq], \(aqpointdet\(aq: [\(aqpointdet.xml\(aq], \(aqqbpm\(aq: [\(aqqbpm_foil.ds.xml\(aq, \(aqqbpm.xml\(aq], \(aqsampledescription\(aq: [\(aqsampledescription.xml\(aq, \(aqsample_description.ds.xml\(aq], \(aqsampledescriptiontext\(aq: [\(aqsampledescriptiontext.xml\(aq], \(aqsamplehkl\(aq: [\(aqsamplehkl.xml\(aq], \(aqsecop\(aq: [\(aqsecop.ds.xml\(aq, \(aqsecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqsinglesecop\(aq: [\(aqsinglesecop.ds.xml\(aq, \(aqsinglesecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqslit\(aq: [\(aqslit.xml\(aq], \(aqsource\(aq: [\(aqsource.xml\(aq], \(aqstarttime\(aq: [\(aqstarttime.xml\(aq, \(aqstarttime.ds.xml\(aq, \(aqstart_timestamp.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqtango\(aq: [\(aqtango.ds.xml\(aq], \(aqundulator\(aq: [\(aqundulator.xml\(aq]}
+.B nxstools.xmltemplates.standardComponentTemplateFiles = {\(aqabsorber\(aq: [\(aqabsorber_foil.ds.xml\(aq, \(aqabsorber_thickness.ds.xml\(aq, \(aqabsorber.xml\(aq], \(aqbeamstop\(aq: [\(aqbeamstop.xml\(aq], \(aqbeamtimefname\(aq: [\(aqbeamtimefname.xml\(aq, \(aqbeamtimefname.ds.xml\(aq, \(aqstart_time.ds.xml\(aq], \(aqbeamtimeid\(aq: [\(aqbeamtimeid.xml\(aq, \(aqbeamtimeid.ds.xml\(aq, \(aqstart_time.ds.xml\(aq], \(aqchcut\(aq: [\(aqchcut.xml\(aq, \(aqchcut_unitcalibration.ds.xml\(aq, \(aqchcut_crystal.ds.xml\(aq], \(aqcoboldhisto\(aq: [\(aqcoboldhisto.xml\(aq, \(aqcoboldhisto_timeofflight.ds.xml\(aq], \(aqcollect2\(aq: [\(aqcollect2.xml\(aq], \(aqcollect3\(aq: [\(aqcollect3.xml\(aq], \(aqcollect4\(aq: [\(aqcollect4.xml\(aq], \(aqcollect5\(aq: [\(aqcollect5.xml\(aq], \(aqcollect6\(aq: [\(aqcollect6.xml\(aq], \(aqcommon2\(aq: [\(aqcommon2_common.ds.xml\(aq], \(aqcommon3\(aq: [\(aqcommon3_common.ds.xml\(aq], \(aqdataaxessignal\(aq: [\(aqdataaxessignal.xml\(aq, \(aqdefaultsignal.ds.xml\(aq, \(aqdefaultaxes.ds.xml\(aq, \(aqsignal_name.ds.xml\(aq, \(aqsignalname.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqdatasignal\(aq: [\(aqdatasignal.xml\(aq, \(aqdefaultsignal.ds.xml\(aq, \(aqsignal_name.ds.xml\(aq, \(aqsignalname.ds.xml\(aq, \(aqsignal_axes.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqdcm\(aq: [\(aqdcm.xml\(aq, \(aqdcm_reflection.ds.xml\(aq, \(aqdcm_unitcalibration.ds.xml\(aq, \(aqdcm_crystal.ds.xml\(aq], \(aqdefault\(aq: [\(aqdefault.xml\(aq, \(aqdefaultsample.xml\(aq, \(aqdefaultinstrument.xml\(aq, \(aqsample_name.ds.xml\(aq, \(aqchemical_formula.ds.xml\(aq, \(aqbeamtime_id.ds.xml\(aq, \(aqbeamtime_filename.ds.xml\(aq, \(aqstart_time.ds.xml\(aq, \(aqend_time.ds.xml\(aq, \(aqnexdatas_version.ds.xml\(aq, \(aqnexdatas_configuration.ds.xml\(aq, \(aqtitle.ds.xml\(aq], \(aqdefaultinstrument\(aq: [\(aqdefaultinstrument.xml\(aq, \(aqbeamtime_id.ds.xml\(aq, \(aqbeamtime_filename.ds.xml\(aq, \(aqstart_time.ds.xml\(aq, \(aqend_time.ds.xml\(aq, \(aqnexdatas_version.ds.xml\(aq, \(aqnexdatas_configuration.ds.xml\(aq, \(aqtitle.ds.xml\(aq], \(aqdefaultsample\(aq: [\(aqdefaultsample.xml\(aq, \(aqsample_name.ds.xml\(aq, \(aqchemical_formula.ds.xml\(aq], \(aqdescription\(aq: [\(aqdescription.xml\(aq, \(aqexperiment_description.ds.xml\(aq], \(aqdescriptiontext\(aq: [\(aqdescriptiontext.xml\(aq], \(aqdetectorlive\(aq: [\(aqdetectorlive.xml\(aq], \(aqempty\(aq: [\(aqempty.xml\(aq], \(aqgroupsecop\(aq: [\(aqgroupsecop.ds.xml\(aq, \(aqgroupsecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqkeithley\(aq: [\(aqkeithley.xml\(aq], \(aqmaia\(aq: [\(aqmaia.xml\(aq, \(aqempty.xml\(aq], \(aqmaiadimension\(aq: [\(aqmaiadimension.xml\(aq], \(aqmaiaflux\(aq: [\(aqmaiaflux.xml\(aq], \(aqmsnsar\(aq: [\(aqmsnsar_env.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqmssar\(aq: [\(aqmssar_env.ds.xml\(aq, \(aqsardanaenvironment.ds.xml\(aq], \(aqparametercopymap\(aq: [\(aqparametercopymap.xml\(aq], \(aqpinhole\(aq: [\(aqpinhole.xml\(aq], \(aqpointdet\(aq: [\(aqpointdet.xml\(aq], \(aqqbpm\(aq: [\(aqqbpm_foil.ds.xml\(aq, \(aqqbpm.xml\(aq], \(aqsampledescription\(aq: [\(aqsampledescription.xml\(aq, \(aqsample_description.ds.xml\(aq], \(aqsampledescriptiontext\(aq: [\(aqsampledescriptiontext.xml\(aq], \(aqsamplehkl\(aq: [\(aqsamplehkl.xml\(aq], \(aqsecop\(aq: [\(aqsecop.ds.xml\(aq, \(aqsecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqsinglesecop\(aq: [\(aqsinglesecop.ds.xml\(aq, \(aqsinglesecop_time.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqslit\(aq: [\(aqslit.xml\(aq], \(aqsource\(aq: [\(aqsource.xml\(aq], \(aqstarttime\(aq: [\(aqstarttime.xml\(aq, \(aqstarttime.ds.xml\(aq, \(aqstart_timestamp.ds.xml\(aq, \(aqclient_start_time.ds.xml\(aq], \(aqtango\(aq: [\(aqtango.ds.xml\(aq], \(aqundulator\(aq: [\(aqundulator.xml\(aq]}
 (\fI\%dict\fP <\fI\%str\fP , \fI\%list\fP <\fI\%str\fP> >)
 xml template files of modules
 .UNINDENT
 .INDENT 0.0
 .TP
-.B nxstools.xmltemplates.standardComponentVariables  =  {\(aqabsorber\(aq: {\(aqattenfactor\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqattenuation factor (datasource)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqfoil\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil type, i.e. standard <cpname>_foil (datasource)\(aq}, \(aqfoillist\(aq: {\(aqdefault\(aq: \(aq[\(dqAg\(dq, \(dqAg\(dq, \(dqAg\(dq, \(dqAg\(dq, \(dq\(dq, \(dqAl\(dq, \(dqAl\(dq, \(dqAl\(dq, \(dqAl\(dq]\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqposition\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqwhich sliders are in [bitarray] MANDATORY (datasource)\(aq}, \(aqthickness\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil thickness, i.e. standard <cpname>_thickness (datasource)\(aq}, \(aqthicknesslist\(aq: {\(aqdefault\(aq: \(aq[0.5, 0.05, 0.025, 0.0125, 0, 0.1, 0.3, 0.5, 1.0]\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(dqtransformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)\(dq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}}, \(aqbeamstop\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aqcircular\(aq, \(aqdoc\(aq: \(aq circular or  rectangular (string)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqxsign\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(dqhorizontal position sign, e.g. \(aq\-\(aq (string)\(dq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}, \(aqz\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqzname\(aq: {\(aqdefault\(aq: \(aqz\(aq, \(aqdoc\(aq: \(aqalong the beam position name (string)\(aq}}, \(aqbeamtimefname\(aq: {\(aqcommissiondir\(aq: {\(aqdefault\(aq: \(aq/gpfs/commissioning\(aq, \(aqdoc\(aq: \(aqcommission file directory (string)\(aq}, \(aqcommissionpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqcommission file postfix (string)\(aq}, \(aqcommissionprefix\(aq: {\(aqdefault\(aq: \(aqcommissioning\-metadata\-\(aq, \(aqdoc\(aq: \(aqcommission file prefix (string)\(aq}, \(aqcurrentdir\(aq: {\(aqdefault\(aq: \(aq/gpfs/current\(aq, \(aqdoc\(aq: \(aqbeamtime file directory (string)\(aq}, \(aqcurrentpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqbeamtime file postfix (string)\(aq}, \(aqcurrentprefix\(aq: {\(aqdefault\(aq: \(aqbeamtime\-metadata\-\(aq, \(aqdoc\(aq: \(aqbeamtime file prefix (string)\(aq}, \(aqlocaldir\(aq: {\(aqdefault\(aq: \(aq/gpfs/local\(aq, \(aqdoc\(aq: \(aqlocal file directory (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}}, \(aqbeamtimeid\(aq: {\(aqcommissiondir\(aq: {\(aqdefault\(aq: \(aq/gpfs/commissioning\(aq, \(aqdoc\(aq: \(aqcommission file directory (string)\(aq}, \(aqcommissionpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqcommission file postfix (string)\(aq}, \(aqcommissionprefix\(aq: {\(aqdefault\(aq: \(aqcommissioning\-metadata\-\(aq, \(aqdoc\(aq: \(aqcommission file prefix (string)\(aq}, \(aqcurrentdir\(aq: {\(aqdefault\(aq: \(aq/gpfs/current\(aq, \(aqdoc\(aq: \(aqbeamtime file directory (string)\(aq}, \(aqcurrentpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqbeamtime file postfix (string)\(aq}, \(aqcurrentprefix\(aq: {\(aqdefault\(aq: \(aqbeamtime\-metadata\-\(aq, \(aqdoc\(aq: \(aqbeamtime file prefix (string)\(aq}, \(aqlocaldir\(aq: {\(aqdefault\(aq: \(aq/gpfs/local\(aq, \(aqdoc\(aq: \(aqlocal file directory (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}}, \(aqchcut\(aq: {\(aqbraggangle\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbragg angle (datasource)\(aq}, \(aqbragganglename\(aq: {\(aqdefault\(aq: \(aqbragg\(aq, \(aqdoc\(aq: \(aqbragg angle name  (string)\(aq}, \(aqchcutdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqFMBOxfDCMEnergy tango device name (string)\(aq}, \(aqcrystal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq type of crystal i.e. 0\->Si111,1\->Si311,2\->Si111 ChannelCut  (datasource)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsynchronized monochromator energy (datasource)\(aq}, \(aqenergyfmb\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmonochromator energy (datasource)\(aq}, \(aqjack1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfirst vertical jack of table (datasource)\(aq}, \(aqjack1name\(aq: {\(aqdefault\(aq: \(aqjack1\(aq, \(aqdoc\(aq: \(aqfirst vertical jack name of table (string)\(aq}, \(aqjack2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond vertical jack of table (datasource)\(aq}, \(aqjack2name\(aq: {\(aqdefault\(aq: \(aqjack2\(aq, \(aqdoc\(aq: \(aqsecond vertical jack name of table (string)\(aq}, \(aqjack3\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthird vertical jack of table (datasource)\(aq}, \(aqjack3name\(aq: {\(aqdefault\(aq: \(aqjack3\(aq, \(aqdoc\(aq: \(aqthird vertical jack name of table (string)\(aq}, \(aqlat\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the first cristal (datasource)\(aq}, \(aqlatname\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the first cristal (string)\(aq}, \(aqoxfordhorizontal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq horizontal translation (datasource)\(aq}, \(aqpara\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance between the crystals (string)\(aq}, \(aqparaname\(aq: {\(aqdefault\(aq: \(aqpara\(aq, \(aqdoc\(aq: \(aqbeam parallel translation name of the second cristal (string)\(aq}, \(aqreflection\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqreflection from string (datasource)\(aq}, \(aqtable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position of table (datasource)\(aq}, \(aqtablename\(aq: {\(aqdefault\(aq: \(aqtable\(aq, \(aqdoc\(aq: \(aqvertical position name of table (string)\(aq}, \(aqtheta\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta angle (datasource)\(aq}, \(aqthetaname\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta angle name (string)\(aq}, \(aqunitcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq unit calibration from dcmmotor (datasource)\(aq}, \(aqusage\(aq: {\(aqdefault\(aq: \(aqBragg\(aq, \(aqdoc\(aq: \(aqthe crystall usage, e.g. Laue (string)\(aq}, \(aqyaw\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the first cristal (datasource)\(aq}, \(aqyawname\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the first cristal (string)\(aq}}, \(aqcoboldhisto\(aq: {\(aqbinsize\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbin size of histogram data (datasource)\(aq}, \(aqexposuretime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqexposure time for histogram data (datasource)\(aq}, \(aqhistogram\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhistogram data (datasource)\(aq}}, \(aqcollect2\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}}, \(aqcollect3\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect4\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect5\(aq: {\(aqfifth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fifth component to collect MANDATORY (datasource)\(aq}, \(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect6\(aq: {\(aqfifth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fifth component to collect MANDATORY (datasource)\(aq}, \(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqsixth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the sixth component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcommon2\(aq: {\(aqdds\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdefault read datasource name MANDATORY (datasource)\(aq}, \(aqods\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqoptional detasource name MANDATORY (datasource)\(aq}}, \(aqcommon3\(aq: {\(aqdds\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdefault read datasource name MANDATORY (datasource)\(aq}, \(aqods1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfist optional detasource name MANDATORY (datasource)\(aq}, \(aqods2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond optional detasource name MANDATORY (datasource)\(aq}}, \(aqdataaxessignal\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqaxes\(aq: {\(aqdefault\(aq: \(aqdefaultaxes\(aq, \(aqdoc\(aq: \(aqlist of data axes field names (datasource)\(aq}, \(aqdefaultattrs\(aq: {\(aqdefault\(aq: \(aqFalse\(aq, \(aqdoc\(aq: \(aqadd default attributes (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqnchannelstoskip\(aq: {\(aqdefault\(aq: \(aq0\(aq, \(aqdoc\(aq: \(aqnumber of mg channels to skip (string)\(aq}, \(aqsardanasignal\(aq: {\(aqdefault\(aq: \(aqSignalCounter\(aq, \(aqdoc\(aq: \(aqsignal sardana variable name (string)\(aq}, \(aqsignal\(aq: {\(aqdefault\(aq: \(aqdefaultsignal\(aq, \(aqdoc\(aq: \(aqdata signal field name (datasource)\(aq}}, \(aqdatasignal\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqaxes\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdata axes field name(s) (datasource)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqnchannelstoskip\(aq: {\(aqdefault\(aq: \(aq0\(aq, \(aqdoc\(aq: \(aqnumber of mg channels to skip (string)\(aq}, \(aqsardanasignal\(aq: {\(aqdefault\(aq: \(aqSignalCounter\(aq, \(aqdoc\(aq: \(aqsignal sardana variable name (string)\(aq}, \(aqsignal\(aq: {\(aqdefault\(aq: \(aqdefaultsignal\(aq, \(aqdoc\(aq: \(aqdata signal field name (datasource)\(aq}}, \(aqdcm\(aq: {\(aqbend1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbending of the first cristal (datasource)\(aq}, \(aqbend2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbending of the second cristal (datasource)\(aq}, \(aqbraggangle\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbragg angle (datasource)\(aq}, \(aqbragganglename\(aq: {\(aqdefault\(aq: \(aqbragg\(aq, \(aqdoc\(aq: \(aqbragg angle name  (string)\(aq}, \(aqchi2dependson\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqthe depends_on field of the second cristal chi, e.g. phi (string)\(aq}, \(aqcrystal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtype of crystal i.e. 0\->Si111,1\->Si311,2\->Si111 ChannelCut (datasource)\(aq}, \(aqdcmdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqFMBOxfDCMEnergy tango device (string)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsynchronized monochromator energy (datasource)\(aq}, \(aqenergyfmb\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmonochromator energy (datasource)\(aq}, \(aqexitoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq exit offset (datasource)\(aq}, \(aqjack1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfirst vertical jack of table (datasource)\(aq}, \(aqjack1name\(aq: {\(aqdefault\(aq: \(aqjack1\(aq, \(aqdoc\(aq: \(aqfirst vertical jack name of table (string)\(aq}, \(aqjack2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond vertical jack of table (datasource)\(aq}, \(aqjack2name\(aq: {\(aqdefault\(aq: \(aqjack2\(aq, \(aqdoc\(aq: \(aqsecond vertical jack name of table (string)\(aq}, \(aqjack3\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthird vertical jack of table (datasource)\(aq}, \(aqjack3name\(aq: {\(aqdefault\(aq: \(aqjack3\(aq, \(aqdoc\(aq: \(aqthird vertical jack name of table (string)\(aq}, \(aqlat\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the first cristal (datasource)\(aq}, \(aqlat2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the second cristal (datasource)\(aq}, \(aqlat2name\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the second cristal (string)\(aq}, \(aqlatname\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the first cristal (string)\(aq}, \(aqoxfordhorizontal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq horizontal translation (datasource)\(aq}, \(aqpar2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbeam parallel translation of the second cristal (datasource)\(aq}, \(aqpar2name\(aq: {\(aqdefault\(aq: \(aqpara\(aq, \(aqdoc\(aq: \(aqbeam parallel translation name of the second cristal (string)\(aq}, \(aqperp2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical translation of the second cristal (datasource)\(aq}, \(aqperp2name\(aq: {\(aqdefault\(aq: \(aqperp\(aq, \(aqdoc\(aq: \(aqvertical translation name of the second cristal (string)\(aq}, \(aqphi1dependson\(aq: {\(aqdefault\(aq: \(aq../../transformations/bragg\(aq, \(aqdoc\(aq: \(aqthe depends_on field of the first cristal phi, e.g. theta (string)\(aq}, \(aqpitch1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta rotation of the first cristal (datasource)\(aq}, \(aqpitch1name\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta rotation name of the first cristal (string)\(aq}, \(aqpitch2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta rotation of the second cristal (datasource)\(aq}, \(aqpitch2name\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta rotation name of the second cristal (string)\(aq}, \(aqroll1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchi rotation of the first cristal (datasource)\(aq}, \(aqroll1name\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqchi rotation name of the first cristal (string)\(aq}, \(aqroll2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchi rotation of the second cristal (datasource)\(aq}, \(aqroll2name\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqchi rotation name of the second cristal (string)\(aq}, \(aqtable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position of table (datasource)\(aq}, \(aqtablename\(aq: {\(aqdefault\(aq: \(aqtable\(aq, \(aqdoc\(aq: \(aqvertical position name of table (string)\(aq}, \(aqtheta\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta angle (datasource)\(aq}, \(aqthetaname\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta angle name (string)\(aq}, \(aqtopdependson2\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqthe first transformation of the second crystal, e.g. lat (string)\(aq}, \(aqunitcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqunit calibration from dcmmotor (datasource)\(aq}, \(aqusage\(aq: {\(aqdefault\(aq: \(aqBragg\(aq, \(aqdoc\(aq: \(aqthe crystall usage, e.g. Laue (string)\(aq}, \(aqyaw\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the first cristal (datasource)\(aq}, \(aqyaw2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the second cristal (datasource)\(aq}, \(aqyaw2name\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the second cristal (string)\(aq}, \(aqyawname\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the first cristal (string)\(aq}}, \(aqdefault\(aq: {\(aq__configdevice__\(aq: {\(aqdefault\(aq: \(aqnxs/configserver/localhost\(aq, \(aqdoc\(aq: \(aqconfiguration server device name (string)\(aq}, \(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqcontrol\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgroup name of the monitor (string)\(aq}, \(aqlongname\(aq: {\(aqdefault\(aq: \(aqP09 Resonant Scattering and Diffraction beamline\(aq, \(aqdoc\(aq: \(aqbeamline long name (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}, \(aqsourcename\(aq: {\(aqdefault\(aq: \(aqPETRA III\(aq, \(aqdoc\(aq: \(aqsource name (string)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqdefaultinstrument\(aq: {\(aq__configdevice__\(aq: {\(aqdefault\(aq: \(aqnxs/configserver/localhost\(aq, \(aqdoc\(aq: \(aqconfiguration server device name (string)\(aq}, \(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqcontrol\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgroup name of the monitor (string)\(aq}, \(aqlongname\(aq: {\(aqdefault\(aq: \(aqP09 Resonant Scattering and Diffraction beamline\(aq, \(aqdoc\(aq: \(aqbeamline long name (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}, \(aqsourcename\(aq: {\(aqdefault\(aq: \(aqPETRA III\(aq, \(aqdoc\(aq: \(aqsource name (string)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqdefaultsample\(aq: {}, \(aqdescription\(aq: {}, \(aqdescriptiontext\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aqscan\(aq, \(aqdoc\(aq: \(aqscan technique (string)\(aq}}, \(aqdetectorlive\(aq: {\(aqdatatype\(aq: {\(aqdefault\(aq: \(aqNX_UINT32\(aq, \(aqdoc\(aq: \(aqlist of devices (string)\(aq}, \(aqdetectordata\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdetector live data (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqdetector\(aq, \(aqdoc\(aq: \(aqlist of devices (string)\(aq}}, \(aqempty\(aq: {}, \(aqgroupsecop\(aq: {\(aqaccess\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop access list (string)\(aq}, \(aqgroup\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop group name (string)\(aq}, \(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqkeithley\(aq: {\(aqcurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqcurrent in A (datasource)\(aq}, \(aqgain\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgain in V/A (datasource)\(aq}, \(aqrisetime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqrise time (datasource)\(aq}, \(aqsourvoltlevel\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsource voltage level in V (datasource)\(aq}, \(aqvoltage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvoltage in V (datasource)\(aq}}, \(aqmaia\(aq: {\(aqchillersetpoint\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchiller set point temperature in Celsus (datasource)\(aq}, \(aqchiptemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdetector chip temperature sensor for maia in Celsus (datasource)\(aq}, \(aqgaintrimenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgaintrim enable status for maia (datasource)\(aq}, \(aqidentity\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsensor identity for maia (datasource)\(aq}, \(aqinterlockpressure\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock pressure for maia in mbar (datasource)\(aq}, \(aqleakagecurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleakage current sensor for maia in A (datasource)\(aq}, \(aqlineariseenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqlinearise enable status for maia (datasource)\(aq}, \(aqmaiadimensions\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia dimensions component name (component)\(aq}, \(aqmaiafluxes\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia fluxes component name (component)\(aq}, \(aqmaiastage\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia stage component name (component)\(aq}, \(aqmosfettemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmosfet temperature sensor for maia in Celsus (datasource)\(aq}, \(aqpeltiercurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpeltier current sensor for maia in A (datasource)\(aq}, \(aqphotonenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphoton enable status for maia (datasource)\(aq}, \(aqpileuprejectionenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpileup rejection enable status for maia (datasource)\(aq}, \(aqpixelenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel enable status for maia (datasource)\(aq}, \(aqpressure\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgas pressure in mbar (datasource)\(aq}, \(aqrunnumber\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqrun number of maia (datasource)\(aq}, \(aqstatus\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock status for maia (datasource)\(aq}, \(aqthrottleenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthrottle enable status for maia (datasource)\(aq}, \(aquptime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock uptime for maia (datasource)\(aq}, \(aqvoltagesetpoint\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvoltage set point temperature in Celsus (datasource)\(aq}, \(aqwatertemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqwater temperature sensor for maia in Celsus (datasource)\(aq}}, \(aqmaiadimension\(aq: {\(aqdetname\(aq: {\(aqdefault\(aq: \(aqmaia\(aq, \(aqdoc\(aq: \(aqdetector (alias) name (string)\(aq}, \(aqdimname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdimension name for maia (datasource)\(aq}, \(aqdname\(aq: {\(aqdefault\(aq: \(aqdimension\(aq, \(aqdoc\(aq: \(aqdimension name group (string)\(aq}, \(aqhysteresis\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel hysteresis of dimension for maia (datasource)\(aq}, \(aqnumberofpixels\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnumber of pixels of dimension for maia (datasource)\(aq}, \(aqorigin\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel origin of dimension for maia (datasource)\(aq}, \(aqpixelpitch\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel pitch of dimension for maia (datasource)\(aq}, \(aqpositionsource\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqposition source of dimension for maia (datasource)\(aq}, \(aqunit\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqposition units of dimension for maia (datasource)\(aq}}, \(aqmaiaflux\(aq: {\(aqcoefficient\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux coefficient  for maia (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqmaia\(aq, \(aqdoc\(aq: \(aqdetector (alias) name (string)\(aq}, \(aqfluxname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux name for maia (datasource)\(aq}, \(aqfname\(aq: {\(aqdefault\(aq: \(aqfluxdevice\(aq, \(aqdoc\(aq: \(aqflux name group (string)\(aq}, \(aqkeithleydevice\(aq: {\(aqdefault\(aq: \(aqkeithley\(aq, \(aqdoc\(aq: \(aqkeithley device name (string)\(aq}, \(aqsource\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux source for maia (datasource)\(aq}, \(aqunit\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux unit for maia (datasource)\(aq}, \(aqvfcfactor\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvfc conversion factor (datasource)\(aq}}, \(aqmsnsar\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana device name MANDATORY (string)\(aq}, \(aqvarname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnested sardana environment variable name  MANDATORY (string)\(aq}}, \(aqmssar\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqvarname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment variable name MANDATORY (string)\(aq}}, \(aqparametercopymap\(aq: {\(aqcopymap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqyaml dictionary with {output: input} copy map (string)\(aq}, \(aqparameter\(aq: {\(aqdefault\(aq: \(aqcopymap\(aq, \(aqdoc\(aq: \(aqparameter name of copymap (string)\(aq}, \(aqprogram\(aq: {\(aqdefault\(aq: \(aqnxsfileinfo_parameters\(aq, \(aqdoc\(aq: \(aqgroup name of NXparameters (string)\(aq}}, \(aqpinhole\(aq: {\(aqdiameter\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpinhole diameter (datasource)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqxsign\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(dqhorizontal position sign, e.g. \(aq\-\(aq (string)\(dq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}, \(aqz\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqalong the beam position (datasource)\(aq}, \(aqzname\(aq: {\(aqdefault\(aq: \(aqz\(aq, \(aqdoc\(aq: \(aqalong the beam position name (string)\(aq}}, \(aqpointdet\(aq: {\(aqdata\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdiode data (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqdetector\(aq, \(aqdoc\(aq: \(aqdetector group name (string)\(aq}}, \(aqqbpm\(aq: {\(aqdependsony\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqthe  depends_on y field value,  e.g. distance (string)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqfoil\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil type, i.e. standard <cpname>_foil (datasource)\(aq}, \(aqfoilpos\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil position MANDATORY (datasource)\(aq}, \(aqfoilposdict\(aq: {\(aqdefault\(aq: \(aq{\(dqTi\(dq: 43, \(dqNi\(dq: 23, \(dqOut\(dq: 3}\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}}, \(aqsampledescription\(aq: {\(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsampledescriptiontext\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqsample description or sampleId (string)\(aq}, \(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsamplehkl\(aq: {\(aqh\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqh position in hkl space (datasource)\(aq}, \(aqk\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqk position in hkl space (datasource)\(aq}, \(aql\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aql position in hkl space (datasource)\(aq}, \(aqpsi\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpsi angle position of analyzer (datasource)\(aq}, \(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsecop\(aq: {\(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqsinglesecop\(aq: {\(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqslit\(aq: {\(aqbottom\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbottom blade position (datasource)\(aq}, \(aqbottomclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbottom blade closed position (datasource)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqleft\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleft blade position (datasource)\(aq}, \(aqleftclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleft blade closed position (datasource)\(aq}, \(aqright\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqright blade position (datasource)\(aq}, \(aqrightclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqright blade closed position (datasource)\(aq}, \(aqtop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtop blade position (datasource)\(aq}, \(aqtopclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtop blade closed position (datasource)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(dqtransformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)\(dq}, \(aqxgap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal gap (datasource)\(aq}, \(aqxoffdependson\(aq: {\(aqdefault\(aq: \(aqy_offset\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqxoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal offset (datasource)\(aq}, \(aqxoffsetcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal offset calibration (datasource)\(aq}, \(aqxoffsetcalibrationname\(aq: {\(aqdefault\(aq: \(aqx_offset_calibration\(aq, \(aqdoc\(aq: \(aqhorizontal offset calibration name (string)\(aq}, \(aqxoffsetname\(aq: {\(aqdefault\(aq: \(aqx_offset\(aq, \(aqdoc\(aq: \(aqhorizontal offset name (string)\(aq}, \(aqygap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical gap (datasource)\(aq}, \(aqyoffdependson\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqyoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertiacal offset (datasource)\(aq}, \(aqyoffsetcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertiacal offset calibration (datasource)\(aq}, \(aqyoffsetcalibrationname\(aq: {\(aqdefault\(aq: \(aqy_offset_calibration\(aq, \(aqdoc\(aq: \(aqvertiacal offset calibration name (string)\(aq}, \(aqyoffsetname\(aq: {\(aqdefault\(aq: \(aqy_offset\(aq, \(aqdoc\(aq: \(aqvertiacal offset name (string)\(aq}}, \(aqsource\(aq: {\(aqbeamcurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqring beam current (datasource)\(aq}, \(aqbunchmode\(aq: {\(aqdefault\(aq: \(aqMulti Bunch\(aq, \(aqdoc\(aq: \(aqbunch mode (string)\(aq}, \(aqnumberofbunches\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnumber of source bunches (datasource)\(aq}, \(aqsourceenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqring beam energy (datasource)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqstarttime\(aq: {}, \(aqtango\(aq: {\(aqattribute\(aq: {\(aqdefault\(aq: \(aqPosition\(aq, \(aqdoc\(aq: \(aqtango device attribute (string)\(aq}, \(aqdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtango device MANDATORY (string)\(aq}}, \(aqundulator\(aq: {\(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance from the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name from the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator energy (datasource)\(aq}, \(aqgap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqseparation between opposing pairs of magnetic pole (datasource)\(aq}, \(aqgapunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqgap units (string)\(aq}, \(aqharmonic\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator harmonic (datasource)\(aq}, \(aqlength\(aq: {\(aqdefault\(aq: \(aq2\(aq, \(aqdoc\(aq: \(aqlength of insertion device in meters (string)\(aq}, \(aqshift\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator shift (datasource)\(aq}, \(aqshiftunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqshift units (string)\(aq}, \(aqspeed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator speed (datasource)\(aq}, \(aqspeedunits\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqspeed units (string)\(aq}, \(aqtaper\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgap difference between upstream and downstream ends of the insertion device (datasource)\(aq}, \(aqtaperunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqgap units (string)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(dqtransformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)\(dq}, \(aqtype\(aq: {\(aqdefault\(aq: \(aqundulator\(aq, \(aqdoc\(aq: \(aqundulator or wiggler (string)\(aq}, \(aquname\(aq: {\(aqdefault\(aq: \(aqinsertion_device\(aq, \(aqdoc\(aq: \(aqinsertion_device group name (string)\(aq}}}
+.B nxstools.xmltemplates.standardComponentVariables = {\(aqabsorber\(aq: {\(aqattenfactor\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqattenuation factor (datasource)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqfoil\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil type, i.e. standard <cpname>_foil (datasource)\(aq}, \(aqfoillist\(aq: {\(aqdefault\(aq: \(aq["Ag", "Ag", "Ag", "Ag", "", "Al", "Al", "Al", "Al"]\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqposition\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqwhich sliders are in [bitarray] MANDATORY (datasource)\(aq}, \(aqthickness\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil thickness, i.e. standard <cpname>_thickness (datasource)\(aq}, \(aqthicknesslist\(aq: {\(aqdefault\(aq: \(aq[0.5, 0.05, 0.025, 0.0125, 0, 0.1, 0.3, 0.5, 1.0]\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: "transformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)"}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}}, \(aqbeamstop\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aqcircular\(aq, \(aqdoc\(aq: \(aq circular or  rectangular (string)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqxsign\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: "horizontal position sign, e.g. \(aq\-\(aq (string)"}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}, \(aqz\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqzname\(aq: {\(aqdefault\(aq: \(aqz\(aq, \(aqdoc\(aq: \(aqalong the beam position name (string)\(aq}}, \(aqbeamtimefname\(aq: {\(aqcommissiondir\(aq: {\(aqdefault\(aq: \(aq/gpfs/commissioning\(aq, \(aqdoc\(aq: \(aqcommission file directory (string)\(aq}, \(aqcommissionpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqcommission file postfix (string)\(aq}, \(aqcommissionprefix\(aq: {\(aqdefault\(aq: \(aqcommissioning\-metadata\-\(aq, \(aqdoc\(aq: \(aqcommission file prefix (string)\(aq}, \(aqcurrentdir\(aq: {\(aqdefault\(aq: \(aq/gpfs/current\(aq, \(aqdoc\(aq: \(aqbeamtime file directory (string)\(aq}, \(aqcurrentpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqbeamtime file postfix (string)\(aq}, \(aqcurrentprefix\(aq: {\(aqdefault\(aq: \(aqbeamtime\-metadata\-\(aq, \(aqdoc\(aq: \(aqbeamtime file prefix (string)\(aq}, \(aqlocaldir\(aq: {\(aqdefault\(aq: \(aq/gpfs/local\(aq, \(aqdoc\(aq: \(aqlocal file directory (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}}, \(aqbeamtimeid\(aq: {\(aqcommissiondir\(aq: {\(aqdefault\(aq: \(aq/gpfs/commissioning\(aq, \(aqdoc\(aq: \(aqcommission file directory (string)\(aq}, \(aqcommissionpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqcommission file postfix (string)\(aq}, \(aqcommissionprefix\(aq: {\(aqdefault\(aq: \(aqcommissioning\-metadata\-\(aq, \(aqdoc\(aq: \(aqcommission file prefix (string)\(aq}, \(aqcurrentdir\(aq: {\(aqdefault\(aq: \(aq/gpfs/current\(aq, \(aqdoc\(aq: \(aqbeamtime file directory (string)\(aq}, \(aqcurrentpostfix\(aq: {\(aqdefault\(aq: \(aq.json\(aq, \(aqdoc\(aq: \(aqbeamtime file postfix (string)\(aq}, \(aqcurrentprefix\(aq: {\(aqdefault\(aq: \(aqbeamtime\-metadata\-\(aq, \(aqdoc\(aq: \(aqbeamtime file prefix (string)\(aq}, \(aqlocaldir\(aq: {\(aqdefault\(aq: \(aq/gpfs/local\(aq, \(aqdoc\(aq: \(aqlocal file directory (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}}, \(aqchcut\(aq: {\(aqbraggangle\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbragg angle (datasource)\(aq}, \(aqbragganglename\(aq: {\(aqdefault\(aq: \(aqbragg\(aq, \(aqdoc\(aq: \(aqbragg angle name  (string)\(aq}, \(aqchcutdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqFMBOxfDCMEnergy tango device name (string)\(aq}, \(aqcrystal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq type of crystal i.e. 0\->Si111,1\->Si311,2\->Si111 ChannelCut  (datasource)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsynchronized monochromator energy (datasource)\(aq}, \(aqenergyfmb\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmonochromator energy (datasource)\(aq}, \(aqjack1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfirst vertical jack of table (datasource)\(aq}, \(aqjack1name\(aq: {\(aqdefault\(aq: \(aqjack1\(aq, \(aqdoc\(aq: \(aqfirst vertical jack name of table (string)\(aq}, \(aqjack2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond vertical jack of table (datasource)\(aq}, \(aqjack2name\(aq: {\(aqdefault\(aq: \(aqjack2\(aq, \(aqdoc\(aq: \(aqsecond vertical jack name of table (string)\(aq}, \(aqjack3\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthird vertical jack of table (datasource)\(aq}, \(aqjack3name\(aq: {\(aqdefault\(aq: \(aqjack3\(aq, \(aqdoc\(aq: \(aqthird vertical jack name of table (string)\(aq}, \(aqlat\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the first cristal (datasource)\(aq}, \(aqlatname\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the first cristal (string)\(aq}, \(aqoxfordhorizontal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq horizontal translation (datasource)\(aq}, \(aqpara\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance between the crystals (string)\(aq}, \(aqparaname\(aq: {\(aqdefault\(aq: \(aqpara\(aq, \(aqdoc\(aq: \(aqbeam parallel translation name of the second cristal (string)\(aq}, \(aqreflection\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqreflection from string (datasource)\(aq}, \(aqtable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position of table (datasource)\(aq}, \(aqtablename\(aq: {\(aqdefault\(aq: \(aqtable\(aq, \(aqdoc\(aq: \(aqvertical position name of table (string)\(aq}, \(aqtheta\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta angle (datasource)\(aq}, \(aqthetaname\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta angle name (string)\(aq}, \(aqunitcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq unit calibration from dcmmotor (datasource)\(aq}, \(aqusage\(aq: {\(aqdefault\(aq: \(aqBragg\(aq, \(aqdoc\(aq: \(aqthe crystall usage, e.g. Laue (string)\(aq}, \(aqyaw\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the first cristal (datasource)\(aq}, \(aqyawname\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the first cristal (string)\(aq}}, \(aqcoboldhisto\(aq: {\(aqbinsize\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbin size of histogram data (datasource)\(aq}, \(aqexposuretime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqexposure time for histogram data (datasource)\(aq}, \(aqhistogram\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhistogram data (datasource)\(aq}}, \(aqcollect2\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}}, \(aqcollect3\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect4\(aq: {\(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect5\(aq: {\(aqfifth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fifth component to collect MANDATORY (datasource)\(aq}, \(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcollect6\(aq: {\(aqfifth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fifth component to collect MANDATORY (datasource)\(aq}, \(aqfirst\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the first component to collect MANDATORY (datasource)\(aq}, \(aqfourth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the fourth component to collect MANDATORY (datasource)\(aq}, \(aqsecond\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the second component to collect MANDATORY (datasource)\(aq}, \(aqsixth\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the sixth component to collect MANDATORY (datasource)\(aq}, \(aqthird\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqname of the third component to collect MANDATORY (datasource)\(aq}}, \(aqcommon2\(aq: {\(aqdds\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdefault read datasource name MANDATORY (datasource)\(aq}, \(aqods\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqoptional detasource name MANDATORY (datasource)\(aq}}, \(aqcommon3\(aq: {\(aqdds\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdefault read datasource name MANDATORY (datasource)\(aq}, \(aqods1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfist optional detasource name MANDATORY (datasource)\(aq}, \(aqods2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond optional detasource name MANDATORY (datasource)\(aq}}, \(aqdataaxessignal\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqaxes\(aq: {\(aqdefault\(aq: \(aqdefaultaxes\(aq, \(aqdoc\(aq: \(aqlist of data axes field names (datasource)\(aq}, \(aqdefaultattrs\(aq: {\(aqdefault\(aq: \(aqFalse\(aq, \(aqdoc\(aq: \(aqadd default attributes (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqnchannelstoskip\(aq: {\(aqdefault\(aq: \(aq0\(aq, \(aqdoc\(aq: \(aqnumber of mg channels to skip (string)\(aq}, \(aqsardanasignal\(aq: {\(aqdefault\(aq: \(aqSignalCounter\(aq, \(aqdoc\(aq: \(aqsignal sardana variable name (string)\(aq}, \(aqsignal\(aq: {\(aqdefault\(aq: \(aqdefaultsignal\(aq, \(aqdoc\(aq: \(aqdata signal field name (datasource)\(aq}}, \(aqdatasignal\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqaxes\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdata axes field name(s) (datasource)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqnchannelstoskip\(aq: {\(aqdefault\(aq: \(aq0\(aq, \(aqdoc\(aq: \(aqnumber of mg channels to skip (string)\(aq}, \(aqsardanasignal\(aq: {\(aqdefault\(aq: \(aqSignalCounter\(aq, \(aqdoc\(aq: \(aqsignal sardana variable name (string)\(aq}, \(aqsignal\(aq: {\(aqdefault\(aq: \(aqdefaultsignal\(aq, \(aqdoc\(aq: \(aqdata signal field name (datasource)\(aq}}, \(aqdcm\(aq: {\(aqbend1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbending of the first cristal (datasource)\(aq}, \(aqbend2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbending of the second cristal (datasource)\(aq}, \(aqbraggangle\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbragg angle (datasource)\(aq}, \(aqbragganglename\(aq: {\(aqdefault\(aq: \(aqbragg\(aq, \(aqdoc\(aq: \(aqbragg angle name  (string)\(aq}, \(aqchi2dependson\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqthe depends_on field of the second cristal chi, e.g. phi (string)\(aq}, \(aqcrystal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtype of crystal i.e. 0\->Si111,1\->Si311,2\->Si111 ChannelCut (datasource)\(aq}, \(aqdcmdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqFMBOxfDCMEnergy tango device (string)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsynchronized monochromator energy (datasource)\(aq}, \(aqenergyfmb\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmonochromator energy (datasource)\(aq}, \(aqexitoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq exit offset (datasource)\(aq}, \(aqjack1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfirst vertical jack of table (datasource)\(aq}, \(aqjack1name\(aq: {\(aqdefault\(aq: \(aqjack1\(aq, \(aqdoc\(aq: \(aqfirst vertical jack name of table (string)\(aq}, \(aqjack2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecond vertical jack of table (datasource)\(aq}, \(aqjack2name\(aq: {\(aqdefault\(aq: \(aqjack2\(aq, \(aqdoc\(aq: \(aqsecond vertical jack name of table (string)\(aq}, \(aqjack3\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthird vertical jack of table (datasource)\(aq}, \(aqjack3name\(aq: {\(aqdefault\(aq: \(aqjack3\(aq, \(aqdoc\(aq: \(aqthird vertical jack name of table (string)\(aq}, \(aqlat\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the first cristal (datasource)\(aq}, \(aqlat2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal lattice translation of the second cristal (datasource)\(aq}, \(aqlat2name\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the second cristal (string)\(aq}, \(aqlatname\(aq: {\(aqdefault\(aq: \(aqlat\(aq, \(aqdoc\(aq: \(aqhorizontal lattice translation name of the first cristal (string)\(aq}, \(aqoxfordhorizontal\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq horizontal translation (datasource)\(aq}, \(aqpar2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbeam parallel translation of the second cristal (datasource)\(aq}, \(aqpar2name\(aq: {\(aqdefault\(aq: \(aqpara\(aq, \(aqdoc\(aq: \(aqbeam parallel translation name of the second cristal (string)\(aq}, \(aqperp2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical translation of the second cristal (datasource)\(aq}, \(aqperp2name\(aq: {\(aqdefault\(aq: \(aqperp\(aq, \(aqdoc\(aq: \(aqvertical translation name of the second cristal (string)\(aq}, \(aqphi1dependson\(aq: {\(aqdefault\(aq: \(aq../../transformations/bragg\(aq, \(aqdoc\(aq: \(aqthe depends_on field of the first cristal phi, e.g. theta (string)\(aq}, \(aqpitch1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta rotation of the first cristal (datasource)\(aq}, \(aqpitch1name\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta rotation name of the first cristal (string)\(aq}, \(aqpitch2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta rotation of the second cristal (datasource)\(aq}, \(aqpitch2name\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta rotation name of the second cristal (string)\(aq}, \(aqroll1\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchi rotation of the first cristal (datasource)\(aq}, \(aqroll1name\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqchi rotation name of the first cristal (string)\(aq}, \(aqroll2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchi rotation of the second cristal (datasource)\(aq}, \(aqroll2name\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqchi rotation name of the second cristal (string)\(aq}, \(aqtable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position of table (datasource)\(aq}, \(aqtablename\(aq: {\(aqdefault\(aq: \(aqtable\(aq, \(aqdoc\(aq: \(aqvertical position name of table (string)\(aq}, \(aqtheta\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtheta angle (datasource)\(aq}, \(aqthetaname\(aq: {\(aqdefault\(aq: \(aqtheta\(aq, \(aqdoc\(aq: \(aqtheta angle name (string)\(aq}, \(aqtopdependson2\(aq: {\(aqdefault\(aq: \(aqchi\(aq, \(aqdoc\(aq: \(aqthe first transformation of the second crystal, e.g. lat (string)\(aq}, \(aqunitcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqunit calibration from dcmmotor (datasource)\(aq}, \(aqusage\(aq: {\(aqdefault\(aq: \(aqBragg\(aq, \(aqdoc\(aq: \(aqthe crystall usage, e.g. Laue (string)\(aq}, \(aqyaw\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the first cristal (datasource)\(aq}, \(aqyaw2\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphi rotation of the second cristal (datasource)\(aq}, \(aqyaw2name\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the second cristal (string)\(aq}, \(aqyawname\(aq: {\(aqdefault\(aq: \(aqphi\(aq, \(aqdoc\(aq: \(aqphi rotation name of the first cristal (string)\(aq}}, \(aqdefault\(aq: {\(aq__configdevice__\(aq: {\(aqdefault\(aq: \(aqnxs/configserver/localhost\(aq, \(aqdoc\(aq: \(aqconfiguration server device name (string)\(aq}, \(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqcontrol\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgroup name of the monitor (string)\(aq}, \(aqlongname\(aq: {\(aqdefault\(aq: \(aqP09 Resonant Scattering and Diffraction beamline\(aq, \(aqdoc\(aq: \(aqbeamline long name (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}, \(aqsourcename\(aq: {\(aqdefault\(aq: \(aqPETRA III\(aq, \(aqdoc\(aq: \(aqsource name (string)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqdefaultinstrument\(aq: {\(aq__configdevice__\(aq: {\(aqdefault\(aq: \(aqnxs/configserver/localhost\(aq, \(aqdoc\(aq: \(aqconfiguration server device name (string)\(aq}, \(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqcontrol\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgroup name of the monitor (string)\(aq}, \(aqlongname\(aq: {\(aqdefault\(aq: \(aqP09 Resonant Scattering and Diffraction beamline\(aq, \(aqdoc\(aq: \(aqbeamline long name (string)\(aq}, \(aqshortname\(aq: {\(aqdefault\(aq: \(aqP09\(aq, \(aqdoc\(aq: \(aqbeamline short name (string)\(aq}, \(aqsourcename\(aq: {\(aqdefault\(aq: \(aqPETRA III\(aq, \(aqdoc\(aq: \(aqsource name (string)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqdefaultsample\(aq: {}, \(aqdescription\(aq: {}, \(aqdescriptiontext\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aqscan\(aq, \(aqdoc\(aq: \(aqscan technique (string)\(aq}}, \(aqdetectorlive\(aq: {\(aqdatatype\(aq: {\(aqdefault\(aq: \(aqNX_UINT32\(aq, \(aqdoc\(aq: \(aqlist of devices (string)\(aq}, \(aqdetectordata\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdetector live data (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqdetector\(aq, \(aqdoc\(aq: \(aqlist of devices (string)\(aq}}, \(aqempty\(aq: {}, \(aqgroupsecop\(aq: {\(aqaccess\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop access list (string)\(aq}, \(aqgroup\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop group name (string)\(aq}, \(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqkeithley\(aq: {\(aqcurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqcurrent in A (datasource)\(aq}, \(aqgain\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgain in V/A (datasource)\(aq}, \(aqrisetime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqrise time (datasource)\(aq}, \(aqsourvoltlevel\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsource voltage level in V (datasource)\(aq}, \(aqvoltage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvoltage in V (datasource)\(aq}}, \(aqmaia\(aq: {\(aqchillersetpoint\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqchiller set point temperature in Celsus (datasource)\(aq}, \(aqchiptemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdetector chip temperature sensor for maia in Celsus (datasource)\(aq}, \(aqgaintrimenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgaintrim enable status for maia (datasource)\(aq}, \(aqidentity\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsensor identity for maia (datasource)\(aq}, \(aqinterlockpressure\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock pressure for maia in mbar (datasource)\(aq}, \(aqleakagecurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleakage current sensor for maia in A (datasource)\(aq}, \(aqlineariseenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqlinearise enable status for maia (datasource)\(aq}, \(aqmaiadimensions\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia dimensions component name (component)\(aq}, \(aqmaiafluxes\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia fluxes component name (component)\(aq}, \(aqmaiastage\(aq: {\(aqdefault\(aq: \(aqempty\(aq, \(aqdoc\(aq: \(aqmaia stage component name (component)\(aq}, \(aqmosfettemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmosfet temperature sensor for maia in Celsus (datasource)\(aq}, \(aqpeltiercurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpeltier current sensor for maia in A (datasource)\(aq}, \(aqphotonenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqphoton enable status for maia (datasource)\(aq}, \(aqpileuprejectionenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpileup rejection enable status for maia (datasource)\(aq}, \(aqpixelenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel enable status for maia (datasource)\(aq}, \(aqpressure\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgas pressure in mbar (datasource)\(aq}, \(aqrunnumber\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqrun number of maia (datasource)\(aq}, \(aqstatus\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock status for maia (datasource)\(aq}, \(aqthrottleenable\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthrottle enable status for maia (datasource)\(aq}, \(aquptime\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqinterlock uptime for maia (datasource)\(aq}, \(aqvoltagesetpoint\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvoltage set point temperature in Celsus (datasource)\(aq}, \(aqwatertemperature\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqwater temperature sensor for maia in Celsus (datasource)\(aq}}, \(aqmaiadimension\(aq: {\(aqdetname\(aq: {\(aqdefault\(aq: \(aqmaia\(aq, \(aqdoc\(aq: \(aqdetector (alias) name (string)\(aq}, \(aqdimname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdimension name for maia (datasource)\(aq}, \(aqdname\(aq: {\(aqdefault\(aq: \(aqdimension\(aq, \(aqdoc\(aq: \(aqdimension name group (string)\(aq}, \(aqhysteresis\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel hysteresis of dimension for maia (datasource)\(aq}, \(aqnumberofpixels\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnumber of pixels of dimension for maia (datasource)\(aq}, \(aqorigin\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel origin of dimension for maia (datasource)\(aq}, \(aqpixelpitch\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpixel pitch of dimension for maia (datasource)\(aq}, \(aqpositionsource\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqposition source of dimension for maia (datasource)\(aq}, \(aqunit\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqposition units of dimension for maia (datasource)\(aq}}, \(aqmaiaflux\(aq: {\(aqcoefficient\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux coefficient  for maia (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqmaia\(aq, \(aqdoc\(aq: \(aqdetector (alias) name (string)\(aq}, \(aqfluxname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux name for maia (datasource)\(aq}, \(aqfname\(aq: {\(aqdefault\(aq: \(aqfluxdevice\(aq, \(aqdoc\(aq: \(aqflux name group (string)\(aq}, \(aqkeithleydevice\(aq: {\(aqdefault\(aq: \(aqkeithley\(aq, \(aqdoc\(aq: \(aqkeithley device name (string)\(aq}, \(aqsource\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux source for maia (datasource)\(aq}, \(aqunit\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqflux unit for maia (datasource)\(aq}, \(aqvfcfactor\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvfc conversion factor (datasource)\(aq}}, \(aqmsnsar\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana device name MANDATORY (string)\(aq}, \(aqvarname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnested sardana environment variable name  MANDATORY (string)\(aq}}, \(aqmssar\(aq: {\(aq__tangohost__\(aq: {\(aqdefault\(aq: \(aqlocalhost\(aq, \(aqdoc\(aq: \(aqtango host (string)\(aq}, \(aq__tangoport__\(aq: {\(aqdefault\(aq: \(aq10000\(aq, \(aqdoc\(aq: \(aqtango port (string)\(aq}, \(aqmsenv\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment (datasource)\(aq}, \(aqmssardanadevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqmacroserver sardana device name MANDATORY (string)\(aq}, \(aqvarname\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsardana environment variable name MANDATORY (string)\(aq}}, \(aqparametercopymap\(aq: {\(aqcopymap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqyaml dictionary with {output: input} copy map (string)\(aq}, \(aqparameter\(aq: {\(aqdefault\(aq: \(aqcopymap\(aq, \(aqdoc\(aq: \(aqparameter name of copymap (string)\(aq}, \(aqprogram\(aq: {\(aqdefault\(aq: \(aqnxsfileinfo_parameters\(aq, \(aqdoc\(aq: \(aqgroup name of NXparameters (string)\(aq}}, \(aqpinhole\(aq: {\(aqdiameter\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpinhole diameter (datasource)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqxsign\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: "horizontal position sign, e.g. \(aq\-\(aq (string)"}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}, \(aqz\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqalong the beam position (datasource)\(aq}, \(aqzname\(aq: {\(aqdefault\(aq: \(aqz\(aq, \(aqdoc\(aq: \(aqalong the beam position name (string)\(aq}}, \(aqpointdet\(aq: {\(aqdata\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdiode data (datasource)\(aq}, \(aqdetname\(aq: {\(aqdefault\(aq: \(aqdetector\(aq, \(aqdoc\(aq: \(aqdetector group name (string)\(aq}}, \(aqqbpm\(aq: {\(aqdependsony\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqthe  depends_on y field value,  e.g. distance (string)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqfoil\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil type, i.e. standard <cpname>_foil (datasource)\(aq}, \(aqfoilpos\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqfoil position MANDATORY (datasource)\(aq}, \(aqfoilposdict\(aq: {\(aqdefault\(aq: \(aq{"Ti": 43, "Ni": 23, "Out": 3}\(aq, \(aqdoc\(aq: \(aqfoil_type position json dictionary (string)\(aq}, \(aqx\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal position (datasource)\(aq}, \(aqxname\(aq: {\(aqdefault\(aq: \(aqx\(aq, \(aqdoc\(aq: \(aqhorizontal position name (string)\(aq}, \(aqy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical position (datasource)\(aq}, \(aqyname\(aq: {\(aqdefault\(aq: \(aqy\(aq, \(aqdoc\(aq: \(aqvertical position name (string)\(aq}}, \(aqsampledescription\(aq: {\(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsampledescriptiontext\(aq: {\(aqdescription\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqsample description or sampleId (string)\(aq}, \(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsamplehkl\(aq: {\(aqh\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqh position in hkl space (datasource)\(aq}, \(aqk\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqk position in hkl space (datasource)\(aq}, \(aql\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aql position in hkl space (datasource)\(aq}, \(aqpsi\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqpsi angle position of analyzer (datasource)\(aq}, \(aqsname\(aq: {\(aqdefault\(aq: \(aqsample\(aq, \(aqdoc\(aq: \(aqsample group name (string)\(aq}}, \(aqsecop\(aq: {\(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqsinglesecop\(aq: {\(aqhost\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop host name (string)\(aq}, \(aqmessage\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqsecop command MANDATORY (string)\(aq}, \(aqport\(aq: {\(aqdefault\(aq: \(aq5000\(aq, \(aqdoc\(aq: \(aqsecop port name (string)\(aq}, \(aqtimeout\(aq: {\(aqdefault\(aq: \(aq0.0001\(aq, \(aqdoc\(aq: \(aqsecop timeout (string)\(aq}}, \(aqslit\(aq: {\(aqbottom\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbottom blade position (datasource)\(aq}, \(aqbottomclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqbottom blade closed position (datasource)\(aq}, \(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance for the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name for the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqleft\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleft blade position (datasource)\(aq}, \(aqleftclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqleft blade closed position (datasource)\(aq}, \(aqright\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqright blade position (datasource)\(aq}, \(aqrightclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqright blade closed position (datasource)\(aq}, \(aqtop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtop blade position (datasource)\(aq}, \(aqtopclosed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtop blade closed position (datasource)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: "transformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)"}, \(aqxgap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal gap (datasource)\(aq}, \(aqxoffdependson\(aq: {\(aqdefault\(aq: \(aqy_offset\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqxoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal offset (datasource)\(aq}, \(aqxoffsetcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqhorizontal offset calibration (datasource)\(aq}, \(aqxoffsetcalibrationname\(aq: {\(aqdefault\(aq: \(aqx_offset_calibration\(aq, \(aqdoc\(aq: \(aqhorizontal offset calibration name (string)\(aq}, \(aqxoffsetname\(aq: {\(aqdefault\(aq: \(aqx_offset\(aq, \(aqdoc\(aq: \(aqhorizontal offset name (string)\(aq}, \(aqygap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertical gap (datasource)\(aq}, \(aqyoffdependson\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqyoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertiacal offset (datasource)\(aq}, \(aqyoffsetcalibration\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqvertiacal offset calibration (datasource)\(aq}, \(aqyoffsetcalibrationname\(aq: {\(aqdefault\(aq: \(aqy_offset_calibration\(aq, \(aqdoc\(aq: \(aqvertiacal offset calibration name (string)\(aq}, \(aqyoffsetname\(aq: {\(aqdefault\(aq: \(aqy_offset\(aq, \(aqdoc\(aq: \(aqvertiacal offset name (string)\(aq}}, \(aqsource\(aq: {\(aqbeamcurrent\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqring beam current (datasource)\(aq}, \(aqbunchmode\(aq: {\(aqdefault\(aq: \(aqMulti Bunch\(aq, \(aqdoc\(aq: \(aqbunch mode (string)\(aq}, \(aqnumberofbunches\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqnumber of source bunches (datasource)\(aq}, \(aqsourceenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqring beam energy (datasource)\(aq}, \(aqsrcname\(aq: {\(aqdefault\(aq: \(aqsource\(aq, \(aqdoc\(aq: \(aqsource group name (string)\(aq}}, \(aqstarttime\(aq: {}, \(aqtango\(aq: {\(aqattribute\(aq: {\(aqdefault\(aq: \(aqPosition\(aq, \(aqdoc\(aq: \(aqtango device attribute (string)\(aq}, \(aqdevice\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqtango device MANDATORY (string)\(aq}}, \(aqundulator\(aq: {\(aqdependstop\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqthe first transformation, e.g. distance (string)\(aq}, \(aqdistance\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqdistance from the sample in m, e.g. 0 (string)\(aq}, \(aqdistancename\(aq: {\(aqdefault\(aq: \(aqdistance\(aq, \(aqdoc\(aq: \(aqdistance name from the sample in m, e.g. 0 (string)\(aq}, \(aqdistanceoffset\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aq3\-vector distance offset in m, e.g. sample\-source offset if the distance is taken from the source (string)\(aq}, \(aqenergy\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator energy (datasource)\(aq}, \(aqgap\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqseparation between opposing pairs of magnetic pole (datasource)\(aq}, \(aqgapunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqgap units (string)\(aq}, \(aqharmonic\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator harmonic (datasource)\(aq}, \(aqlength\(aq: {\(aqdefault\(aq: \(aq2\(aq, \(aqdoc\(aq: \(aqlength of insertion device in meters (string)\(aq}, \(aqshift\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator shift (datasource)\(aq}, \(aqshiftunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqshift units (string)\(aq}, \(aqspeed\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqundulator speed (datasource)\(aq}, \(aqspeedunits\(aq: {\(aqdefault\(aq: \(aq\(aq, \(aqdoc\(aq: \(aqspeed units (string)\(aq}, \(aqtaper\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: \(aqgap difference between upstream and downstream ends of the insertion device (datasource)\(aq}, \(aqtaperunits\(aq: {\(aqdefault\(aq: \(aqmm\(aq, \(aqdoc\(aq: \(aqgap units (string)\(aq}, \(aqtransformations\(aq: {\(aqdefault\(aq: None, \(aqdoc\(aq: "transformations group name i.e. \(aqtransformations\(aq. If it is  not set it is not created (string)"}, \(aqtype\(aq: {\(aqdefault\(aq: \(aqundulator\(aq, \(aqdoc\(aq: \(aqundulator or wiggler (string)\(aq}, \(aquname\(aq: {\(aqdefault\(aq: \(aqinsertion_device\(aq, \(aqdoc\(aq: \(aqinsertion_device group name (string)\(aq}}}
 (\fI\%dict\fP <\fI\%str\fP , \fI\%dict\fP <\fI\%str\fP , \fI\%str\fP > >)
 standard component template variables
 and its [default value, doc string]
 .UNINDENT
 .INDENT 0.0
 .IP \(bu 2
-\fI\%Index\fP
+genindex
 .IP \(bu 2
-\fI\%Module Index\fP
+modindex
 .IP \(bu 2
-\fI\%Search Page\fP
+search
 .UNINDENT
 .SH AUTHOR
 Jan Kotanski
diff --git a/nxstools.egg-info/PKG-INFO b/nxstools.egg-info/PKG-INFO
index 8bf91f30..8994a477 100644
--- a/nxstools.egg-info/PKG-INFO
+++ b/nxstools.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: nxstools
-Version: 3.60.1
+Version: 3.61.0
 Summary: Configuration tools for NeXDaTaS Tango Servers
 Home-page: http://github.com/nexdatas/nxstools
 Author: Jan Kotanski, Eugen Wintersberger , Halil Pasic
diff --git a/nxstools/nxscreate.py b/nxstools/nxscreate.py
index 986c9641..22a5b41f 100644
--- a/nxstools/nxscreate.py
+++ b/nxstools/nxscreate.py
@@ -1298,11 +1298,11 @@ class SECoPCP(Runner):
         parser.add_argument(
             "-z", "--transformation-attributes", dest="transattrs",
             default='{"rotation_z":'
-            '{"transformation_type":"rotation","vector":[0,-1,0]}}',
+            '{"transformation_type":"rotation","vector":[0,1,0]}}',
             help=("a JSON dictionary with transformation parameters i.e, "
                   '"transformation_type", "vector", "depends_on".'
                   ' Default: {"rotation_z":'
-                  '{"transformation_type":"rotation","vector":[0,-1,0]}}'))
+                  '{"transformation_type":"rotation","vector":[0,1,0]}}'))
         parser.add_argument("-p", "--xml-package", dest="xmlpackage",
                             help="xml template package")
         parser.add_argument("-y", "--entryname", dest="entryname",
diff --git a/nxstools/nxscreator.py b/nxstools/nxscreator.py
index a5c86786..9eb94e60 100644
--- a/nxstools/nxscreator.py
+++ b/nxstools/nxscreator.py
@@ -1995,7 +1995,7 @@ class SECoPCPCreator(CPCreator):
         mgr = NGroup(env, name, "NXsensor")
         if 'description' in conf.keys():
             field = NField(mgr, 'name', 'NX_CHAR')
-            field.setText("%s" % str(conf['description']).replace(",", "_"))
+            field.setText("%s" % str(name))
             field.setStrategy('INIT')
         meaning = None
         semeaning = None
@@ -2015,6 +2015,10 @@ class SECoPCPCreator(CPCreator):
             field = NField(mgr, 'model', 'NX_CHAR')
             field.setText("%s" % str(conf['implementation']))
             field.setStrategy('INIT')
+        if 'description' in conf.keys():
+            field = NField(mgr, 'description', 'NX_CHAR')
+            field.setText("%s" % str(conf['description']))
+            field.setStrategy('INIT')
         params = conf.get("accessibles", {})
         if params:
             par = NGroup(mgr, "parameters", "NXcollection")
diff --git a/nxstools/nxsfileinfo.py b/nxstools/nxsfileinfo.py
index b5d3c371..e3870abe 100644
--- a/nxstools/nxsfileinfo.py
+++ b/nxstools/nxsfileinfo.py
@@ -1701,6 +1701,8 @@ class GroupMetadata(Runner):
     dicttype = ["Dict", "D", "d", "dict"]
     rangetype = ["Range", "R", "r", "rangle"]
     minmaxtype = ["MinMax", "M", "m", "minmax"]
+    mintype = ["Min", "min"]
+    maxtype = ["Max", "max"]
     uniquelisttype = ["UniqueList", "U", "u", "uniquelist"]
     # avaragetype = ["Average", "A", "a", "average"]
 
@@ -2042,6 +2044,46 @@ class GroupMetadata(Runner):
                 parent[key] = {"min": {"value": mmin, "unit": unit},
                                "max": {"value": mmax, "unit": unit}}
             return
+        if tgtype in cls.maxtype and md and \
+           (isinstance(md[0], float) or isinstance(md[0], int)):
+            if not isinstance(tg, dict):
+                parent[key] = {}
+            tg = parent[key]
+            try:
+                mmax = max(md)
+            except Exception:
+                mmax = md
+            if not isinstance(tg, dict):
+                parent[key] = {"value": mmax, "unit": unit}
+            if "value" not in parent[key]:
+                parent[key]["value"] = mmax
+
+            try:
+                if parent[key]["value"] < mmax:
+                    parent[key]["value"] = mmax
+            except Exception:
+                parent[key] = {"value": mmax, "unit": unit}
+            return
+        if tgtype in cls.mintype and md and \
+           (isinstance(md[0], float) or isinstance(md[0], int)):
+            if not isinstance(tg, dict):
+                parent[key] = {}
+            tg = parent[key]
+            try:
+                mmin = min(md)
+            except Exception:
+                mmin = md
+            if not isinstance(tg, dict):
+                parent[key] = {"value": mmin, "unit": unit}
+            if "value" not in parent[key]:
+                parent[key]["value"] = mmin
+
+            try:
+                if parent[key]["value"] > mmin:
+                    parent[key]["value"] = mmin
+            except Exception:
+                parent[key] = {"value": mmin, "unit": unit}
+            return
         if (tgtype in cls.listtype or tgtype in cls.uniquelisttype):
             if not unit:
                 if not isinstance(tg, list):
@@ -2143,11 +2185,12 @@ class GroupMetadata(Runner):
                     ov = tg["value"]
                     ocnts = tg["counts"]
                     ostd = tg["std"]
-                    os2 = ostd * ostd
+                    if ostd is not None:
+                        os2 = ostd * ostd
                     nn = len(md)
                     ncnts = ocnts + nn
                     tg["counts"] = ncnts
-                    if tg["unit"] == unit:
+                    if tg["unit"] == unit and tg["value"] is not None:
                         tg["value"] = \
                             float((ov * ocnts) + sum(value)) / ncnts
                         minv = min(value)
@@ -2156,7 +2199,7 @@ class GroupMetadata(Runner):
                         maxv = max(value)
                         if tg["max"] < maxv:
                             tg["max"] = maxv
-                    if ncnts > 1:
+                    if ncnts > 1 and tg["std"] is not None:
                         if (ocnts == 1 or nn == 1):
                             tg["std"] = float(
                                 np.std([ov] + value, ddof=1))
@@ -2170,6 +2213,12 @@ class GroupMetadata(Runner):
                                 math.sqrt(
                                     ((ocnts - 1) * os2 + (nn - 1) * nvar)
                                     / (ncnts - 2))
+                    if isinstance(tg["std"], float) and \
+                       (math.isinf(tg["std"]) or math.isnan(tg["std"])):
+                        tg["std"] = None
+                    if isinstance(tg["value"], float) and \
+                       (math.isinf(tg["value"]) or math.isnan(tg["value"])):
+                        tg["value"] = None
 
     @classmethod
     def _merge_number(cls, parent, key, md, unit, tgtype=None):
@@ -2210,6 +2259,28 @@ class GroupMetadata(Runner):
             except Exception:
                 tg["value"] = [md, md]
             return
+        if tgtype in cls.mintype:
+            if not isinstance(parent[key], dict):
+                parent[key] = {"value": md, "unit": unit}
+            if "value" not in parent[key]:
+                parent[key] = {"value": md, "unit": unit}
+            try:
+                if parent[key]["value"] > md:
+                    parent[key]["value"] = md
+            except Exception:
+                parent[key] = {"value": md, "unit": unit}
+            return
+        if tgtype in cls.maxtype:
+            if not isinstance(parent[key], dict):
+                parent[key] = {"value": md, "unit": unit}
+            if "value" not in parent[key]:
+                parent[key] = {"value": md, "unit": unit}
+            try:
+                if parent[key]["value"] < md:
+                    parent[key]["value"] = md
+            except Exception:
+                parent[key] = {"value": md, "unit": unit}
+            return
         if tgtype in cls.minmaxtype:
             if not isinstance(parent[key], dict):
                 parent[key] = {"min": {"value": md, "unit": unit},
@@ -2257,22 +2328,23 @@ class GroupMetadata(Runner):
         ov = tg["value"]
         ocnts = tg["counts"]
         ostd = tg["std"]
-        os2 = ostd * ostd
+        if ostd is not None:
+            os2 = ostd * ostd
 
         ncnts = ocnts + 1
-        if tg["unit"] == unit:
+        if tg["unit"] == unit and tg["value"] is not None:
             tg["value"] = float((ov * ocnts) + value)/(ncnts)
             if tg["min"] > value:
                 tg["min"] = value
             if tg["max"] < value:
                 tg["max"] = value
             tg["counts"] += 1
-            if ncnts == 2:
+            if ncnts == 2 and tg["value"] is not None:
                 ns2 = float(
                     (value - tg["value"]) * (value - tg["value"])
                     + (ov - tg["value"]) * (ov - tg["value"]))
                 tg["std"] = math.sqrt(ns2)
-            elif ncnts > 2:
+            elif ncnts > 2 and tg["value"] is not None and ostd is not None:
                 # ns2 = float(
                 #     (ncnts - 2) * os2
                 #     +x (value - tg["value"]) * (value - ov)
@@ -2282,6 +2354,12 @@ class GroupMetadata(Runner):
                     + (value - tg["value"]) * (value - ov)
                 ) / (ncnts - 1)
                 tg["std"] = math.sqrt(ns2)
+            if isinstance(tg["std"], float) and \
+               (math.isinf(tg["std"]) or math.isnan(tg["std"])):
+                tg["std"] = None
+            if isinstance(tg["value"], float) and \
+               (math.isinf(tg["value"]) or math.isnan(tg["value"])):
+                tg["value"] = None
 
     @classmethod
     def _merge_meta(cls, parent, key, md, tgtype=None):
diff --git a/nxstools/release.py b/nxstools/release.py
index a67f07e7..a5890e47 100644
--- a/nxstools/release.py
+++ b/nxstools/release.py
@@ -19,4 +19,4 @@
 """  NXS tools release version"""
 
 #: (:obj:`str`) package version
-__version__ = "3.60.1"
+__version__ = "3.61.0"
-- 
GitLab