Skip to main content

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:

sardana, sphinx, NXSDataWriter, NXSConfigServer, NXSRecSelector

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.

/usr/lib/python2.7/dist-packages/sardananxsrecorder

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

  • 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: ""

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sardana-nxsrecorder-3.18.1.tar.gz (48.6 kB view details)

Uploaded Source

Built Distribution

sardana_nxsrecorder-3.18.1-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file sardana-nxsrecorder-3.18.1.tar.gz.

File metadata

  • Download URL: sardana-nxsrecorder-3.18.1.tar.gz
  • Upload date:
  • Size: 48.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for sardana-nxsrecorder-3.18.1.tar.gz
Algorithm Hash digest
SHA256 7bce612a817e390f9d1d009cb819125324335c3db1f56296c8277a4b64bffef4
MD5 be039e3a79a9940e0199165684fcd9fd
BLAKE2b-256 1ef0d4e17823d6c98e28781c7763a3e128a75d1b96ff1b9155ef8d68edfd896e

See more details on using hashes here.

File details

Details for the file sardana_nxsrecorder-3.18.1-py3-none-any.whl.

File metadata

  • Download URL: sardana_nxsrecorder-3.18.1-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for sardana_nxsrecorder-3.18.1-py3-none-any.whl
Algorithm Hash digest
SHA256 588fc9a0d21460ada7dbec03e97620786a1103174bc5c1528739033e15248620
MD5 4e30b6f2331383f577cf4123838eac0c
BLAKE2b-256 1610eae2ed918fb5ac1b1f998fcdecb06b2b63b22b42247a85cd28e5d39890c0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page