No project description provided
Project description
LiberTEM-dectris-rs
This is a Python package for efficiently receiving data from DECTRIS detectors with the zeromq interface. The low-level, high-frequency operations are performed in a background thread implemented in rust, and multiple frames are batched together for further processing in Python.
Decoding of compressed frames is not (yet) handled in this package, but may be added later.
Usage
import libertem_dectris
from libertem_live.detectors.dectris.DEigerClient import DEigerClient
# trigger acquisition via the REST API, needs `libertem-live`
nimages = 512 * 512
ec = DEigerClient('localhost', 8910) # hostname and port of the DCU REST API
ec.setDetectorConfig('ntrigger', 1)
ec.setDetectorConfig('nimages', 1)
ec.setDetectorConfig('trigger_mode', 'exte')
ec.setDetectorConfig('ntrigger', nimages)
result = ec.sendDetectorCommand('arm')
sequence_id = result['sequence id']
frames = libertem_dectris.FrameChunkedIterator()
# start to receive data for the given series
# (can be called multiple times on the same `FrameChunkedIterator` instance)
frames.start(series=sequence_id)
try:
while True:
# get at most `max_size` frames as a stack
# (might get less at the end of the acquisition)
stack = frames.get_next_stack(max_size=32)
for i in range(len(stack)):
frame = stack[i]
# do something with the frame; compression
# is not handled in this module (yet)
image_data_bytes = frame.get_image_data()
shape = frame.get_shape()
encoding = frame.get_encoding()
frame_id = frame.get_frame_id()
if len(stack) == 0:
break
finally:
frames.close() # clean up background thread etc.
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
libertem_dectris-0.1.0.tar.gz
(19.5 kB
view hashes)
Built Distributions
Close
Hashes for libertem_dectris-0.1.0-cp37-abi3-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8877f7eb0aa73194d936519d87986d577c211f65242c3dfd83b0aaa3c89fa60 |
|
MD5 | e5fd349699ab850bfa41fe7bad27a2b3 |
|
BLAKE2b-256 | 7c8ae748ab7e10ca3a8e867d92b5fd1fe3ba4255008dd97cb7edb4278cb07774 |
Close
Hashes for libertem_dectris-0.1.0-cp37-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe7134c6d3701eafb2be52a0eba039dd2cf852a360743cdce18f54548e46d22c |
|
MD5 | b14870fc1574a7c5f986c0b477a3872e |
|
BLAKE2b-256 | 24df70cfed8b8cce29bfba18d4c768a43a23001ce925a36746019a8b6424d4a5 |
Close
Hashes for libertem_dectris-0.1.0-cp37-abi3-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 289e2591975bf07f876635ecc7fe78f4bf3f19aaeafe0d9b27c11cbd7bb160b1 |
|
MD5 | e4636457ed088e6588683655f7de448b |
|
BLAKE2b-256 | e1d54f76f38cdba34709447e33bd3c2404c1c49b7574917021639101e41a1177 |