Skip to main content

Welcome to sardananxsrecorder’s documentation!

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

$ python3 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 Trixie, Bookworm, Bullseye and Ubuntu Resolute, Noble Jammy packages can be found in the HDRI repository.

To install the debian packages, add the PGP repository key

$ sudo su
$ curl -s http://repos.pni-hdri.de/debian_repo.pub.gpg | gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/debian-hdri-repo.gpg --import
$ chmod 644 /etc/apt/trusted.gpg.d/debian-hdri-repo.gpg

and then download the corresponding source list

$ cd /etc/apt/sources.list.d
$ wget http://repos.pni-hdri.de/trixie-pni-hdri.sources

Finally, for python2.7

$ apt-get update
$ apt-get install python3-sardana-nxsrecorder

and set the RecoderPath property of MacroServer with

$ apt-get install sardana-nxsrecorder

To instal other NexDaTaS packages

$ apt-get install python3-nxswriter nxsconfigserver-db python3-nxsconfigserver nxsconfigtool3 python3-nxstools nxswriter3 nxsconfigserver3

and

$ 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

  • ScanNames (bool) - special mode of using ScanName directories i.e.

    • True: the master file in the ScanName directory,

    • False: the master file in the grouping ScanName directory (e.g. without ScanID),

    • None (or undefined): standard mode where the master files are outside the ScanName directory

  • ScanNamesNoGrouping (bool) - do not perform grouping when ScanNames is False

  • ScanNamesNoMetadata (bool) - do not perform master file metadata ingestion when ScanNames is False

Metadata

Release files for sardana-nxsrecorder 3.37.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sardana-nxsrecorder 3.37.0
File Size Uploaded
sardana_nxsrecorder-3.37.0.tar.gz 53.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sardana-nxsrecorder 3.37.0
File Interpreter ABI Platform
sardana_nxsrecorder-3.37.0-py3-none-any.whl Python 3 none any Details

Total release size: 72.4 kB

Release files / sardana_nxsrecorder-3.37.0.tar.gz

Download URL sardana_nxsrecorder-3.37.0.tar.gz
Size 53.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7fe5ccffd0146379fce93cba3aa6d36d31f74f6f940682e75ccd34b44629f930
BLAKE2b-256 checksum
How to use checksums
9a9c371b7ee3d80b092a15adf1e02b53ca70a5fc0369e4cf0ad40ad707750b96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release files / sardana_nxsrecorder-3.37.0-py3-none-any.whl

Download URL sardana_nxsrecorder-3.37.0-py3-none-any.whl
Size 18.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce32e52e9be31cd897fed37661fc02c7028bc0d9db79d720fd52de125fbe9366
BLAKE2b-256 checksum
How to use checksums
4a9a7895811c25b7c957f38c65593d7558bf099c17cf7ec2669f03244efdee12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.2

Release history Release notifications | RSS feed

This release

3.37.0 This release

2 release files

3.36.0

2 release files

3.35.3

2 release files

3.35.1

2 release files

3.35.0

1 release file

3.34.0

1 release file

3.32.0

1 release file

3.31.0

1 release file

3.30.1

1 release file

3.30.0

2 release files

3.29.1

2 release files

3.29.0

2 release files

3.28.1

2 release files

3.28.0

2 release files

3.27.0

2 release files

3.26.0

2 release files

3.21.1

2 release files

3.21.0

2 release files

3.20.0

2 release files

3.19.0

2 release files

3.18.1

2 release files

3.18.0

2 release files

3.17.2

2 release files

3.17.1

2 release files

3.17.0

2 release files

3.16.1

2 release files

3.16.0

1 release file

3.15.0

2 release files

3.14.0

2 release files

3.11.0

2 release files

3.10.1

2 release files

3.10.0

2 release files

3.9.2

2 release files

3.9.1

2 release files

3.9.0

2 release files

3.8.0

2 release files

3.7.3

2 release files

3.7.2

2 release files

3.7.1

2 release files

3.6.6

2 release files

3.6.5

2 release files

3.6.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page