NeXus Sardana Scan Recorder
Project description
NeXus scan recorder for Sardana which stores experimenal data in NeXus/HDF5 file with use of NeXDatas Tango Server or packages, i.e. NXSDataWriter, NXSConfigServer, NXSRecSelector.
Installation
Install the dependencies:
From sources
Download the latest NeXuS Scan Recorder version from
Extract sources and run
$ python setup.py install
and add an RecorderPath property of MacroServer with its value defining the package location, e.g.
Debian packages
Debian Bookworm, Bullseye, Buster and Ubuntu Lunar, Jammy and Focal packages can be found in the HDRI repository.
To install the debian packages, add the PGP repository key
$ sudo su
$ wget -q -O - http://repos.pni-hdri.de/debian_repo.pub.gpg | apt-key add -
and then download the corresponding source list
$ cd /etc/apt/sources.list.d
$ wget http://repos.pni-hdri.de/bookworm-pni-hdri.list
Finally, for python2.7
$ apt-get update
$ apt-get install python-sardana-nxsrecorder
and set the RecoderPath property of MacroServer with
$ apt-get install sardana-nxsrecorder
For python3
$ apt-get update
$ apt-get install python3-sardana-nxsrecorder
$ apt-get install sardana-nxsrecorder3
To instal other NexDaTaS packages
$ apt-get install python-nxswriter nxsconfigserver-db python-nxsconfigserver nxsconfigtool python-nxstools nxswriter nxsconfigserver nxsrecselector
or for python 3
$ apt-get install python3-nxswriter nxsconfigserver-db python3-nxsconfigserver nxsconfigtool3 python3-nxstools nxswriter3 nxsconfigserver3
and
$ apt-get install python-nxsrecselector nxsrecselector nxselector
or for python3
$ apt-get install python3-nxsrecselector nxsrecselector3 nxselector3
for Component Selector for Sardana related packages.
Setting environment
Setting Saradna
If sardana is not yet set up run
$ Pool
enter a new instance name
create the new instance
Then wait a while until Pool is started and in a new terminal run
$ MacroServer
enter a new instance name
create the new instance
connect pool
Next, run Astor and change start-up levels: for Pool to 2, for MacroServer to 3 and restart servers.
Alternatively, terminate Pool and MacroServer in the terminals and run
$ nxsetup start Pool -l2
wait until Pool is started and run
$ nxsetup start MacroServer -l3
Additionally, one can create dummy devices by running sar_demo in
$ spock
Setting NeXus Servers
To set up NeXus Servers run
$ nxsetup set
or
$ nxsetup set NXSDataWriter
$ nxsetup set NXSConfigServer
$ nxsetup set NXSRecSelector
for specific servers.
If the RecoderPath property of MacroServer is not set one can do it by
$ nxsetup add-recorder-path /usr/lib/python2.7/dist-packages/sardananxsrecorder
where the path should point the sardananxsrecorder package.
Sardana Variables
The NeXus file recorder uses the following sardana environment variables
ActiveMntGrp (str) - active measurement group
ScanID (int) - the last scan identifier number, default: -1
ScanDir (str) - the scan directory
ScanFile (list) - a list of scan files
NeXusSelectorDevice (str) - NXSRecSelector tango device if more installed, otherwise first one found
NXSAppendSciCatDataset (bool) - append scan name to scicat dataset list file, default: False
BeamtimeFilePath (str) - beamtime file path to search beamtime metadata file, default: "/gpfs/current"
BeamtimeFilePrefix (str) - beamtime metadata file prefix, default: "beamtime-metadata-"
BeamtimeFileExt (str) - beamtime metadata file extension, default: ".json"
SciCatDatasetListFilePrefix (str) - scicat dataset list file prefix, default: "scicat-datasets-"
SciCatDatasetListFileExt (str) - scicat dataset list file extension, default: ".lst"
SciCatDatasetListFileLocal (bool) - add the hostname to the scicat dataset list file extension, default: False
SciCatAutoGrouping (bool) - group all scans with the measurement name set to the base scan filename, default: False
MetadataScript (str) - a python module file name containing main() which provides a dictionary with user metadata stored in the INIT mode, default: ""
ScicatMeasurements (dict) - a dictionary of measurement names indexed by ScanDir and used by scingestor, default: {}
CreateMeasurementFile (bool) - create a measurement file with its filename releated to ScicatMeasurements or ScanFile, default: False
NeXusWriterProperties (dict) - a dictionary of TangoDataWriter (NXSDataWriter) properties (starting with a small letter)
NeXusMeshScanID (int) - ScanID used for composed scans e.g. mesh scan combined from many linear scans
NeXusWriterModes (list) - a list of strategy modes e.g. NOINIT, NOSTEP, NOFINAL, MESH, VDS separated by commas
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sardana-nxsrecorder-3.28.0.tar.gz
.
File metadata
- Download URL: sardana-nxsrecorder-3.28.0.tar.gz
- Upload date:
- Size: 51.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4e4cdecc93d06c5122802fe632f660098d5c0998702c4d1b0af9aa7b5ab0a9c |
|
MD5 | c55140834a9fd871d83b246c043aa648 |
|
BLAKE2b-256 | 6e4c69dc605864dd6c58aaeb30133dbcdc7f160f1cb7b668ce74174f49c06e65 |
File details
Details for the file sardana_nxsrecorder-3.28.0-py3-none-any.whl
.
File metadata
- Download URL: sardana_nxsrecorder-3.28.0-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 804a08d4f887c9a598f9b3f17dfeeb0f3bdbd69a4687669f1e49daa862c07d0b |
|
MD5 | 9139202de77831ab063368a94005a3e3 |
|
BLAKE2b-256 | 0310670eb024407df6bd673ac69f64b82b4396128042e300c0a0933ca0984d03 |