ALBA Eiger simulator
Project description
Eiger simulator
Dectris Eiger detector simulator.
For now simulates Eiger 9M at full ROI in internal trigger single mode (ints).
Complete HTTP REST API + ZMQ data stream.
Installation
From within your favorite python environment:
$ pip install -e eiger-simulator
If you need the client library, you need in addition:
$ pip install -e eiger-simulator[client]
Usage
Run simulator with:
$ eiger-simulator --dataset=<path to the HDF5 master file> --max-memory=1_000_000_000
This will start a simulator listening to the HTTP interface on port 8000 and the ZMQ streaming socket on TCP port 9999
Run with --help
to see the complete list of options
$ eiger-simulator --help
Usage: eiger-simulator [OPTIONS]
Options:
--host TEXT Bind web socket to this host. [default: 0]
--port INTEGER Bind web socket to this port. [default: 8000]
--zmq TEXT Bind ZMQ socket [default: tcp://*:9999]
--dataset PATH dataset path or file
--max-memory INTEGER max memory (bytes) [default: 1000000000]
--log-level [critical|error|warning|info|debug|trace]
Show only logs with priority LEVEL or above
[default: info]
--help Show this message and exit.
Client
The client is accessible as a python library:
>>> from eigersim.client import Eiger
>>> eiger = Eiger('http://127.0.0.1:8000')
>>> eiger.initialize()
[response 200]
>>> eiger.nimages
100
>>> eiger.count_time
0.1
>>> eiger.trigger_mode
'ints'
>>> eiger.arm()
[response 200]
>>> eiger.trigger()
[response 200]
Note that you should be able to use the client to connect to a real Eiger detector, not just the simulated one.
For reference, here is a simple client that listens to the ZMQ stream:
>>> import zmq
>>> ctx = zmq.Context()
>>> sock = ctx.socket(zmq.PULL)
>>> sock.connect('tcp://127.0.0.1:9999')
>>> while True:
data = sock.recv_multipart()
size = sum(len(i) for i in data)
print(f'packet #parts={len(data)} size={size/1000} KB')
Benchmarks
Benchmark results available here.
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
File details
Details for the file eiger-simulator-0.5.0.tar.gz
.
File metadata
- Download URL: eiger-simulator-0.5.0.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.0.post20200616 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 469b2bb32725eb489ddd0a4707b76296e97bda33d3227077e217c011d6ffbdb0 |
|
MD5 | ee6e75bf111eb579d467a63b105d5113 |
|
BLAKE2b-256 | da9855658ee4433330dc0dea0cd6f14758e7dec436cd9a48b06bc7c748d2f0a4 |