This repository contains rust-based plumbing for LiberTEM
and LiberTEM-live. The individual packages generally
come with Python bindings using PyO3, and can be built using maturin.
The repository is structured as a cargo workspace, and some of the crates are just used internally,
like bs-sys
.
Minimum supported rust version (MSRV) is 1.71 (July 2023)
Please clone using git clone --recurse-submodules ...
to include vendored
code in submodules. After cloning, remember to enable pre-commit hooks using
pre-commit install --install-hooks
.
bs-sys
: rust bindings tobitshuffle
.ipc_test
: internal crate for efficient shared memory communication using a shared slab data structure.common
: generic traits, types and macros for supporting detectorslibertem_asi_tpx3
: A Rust+Python library for receiving sparse array streams from Amsterdam Scientific Instruments CheeTah TPX3 detectors.libertem_asi_mpx3
: A Rust+Python library for receiving data from Amsterdam Scientific Instruments frame-based detectors (experimental).serval-client
: A rust crate for speaking to the ASI Serval APIlibertem_dectris
: This is a Python package for efficiently receiving data from DECTRIS detectors with the zeromq interface.libertem_qd_mpx
: A Rust+Python library for receiving data from Quantum Detectors MerlinEM detectors.playegui
:egui
-based prototype for efficient on-line visualization of 4D STEM reconstructions
All crates are made available under the MIT license, if not specified otherwise.