Skip to main content

Multiple In Multiple Out Configurable Ring Buffer manager

Project description

Introduction

What is mimoCoRB2?

mimoCoRB2 (multiple in multiple out configurable ringbuffer manager) provides a central component of each data acquisition system needed to record and preanalyse data from randomly occurring processes. Typical examples are waveform data as provided by detectors common in quantum mechanical measurements, or in nuclear, particle and astro particle physics, e. g. photo tubes, Geiger counters, avalanche photo-diodes or modern SiPMs. The random nature of such processes and the need to keep read-out dead times low requires an input buffer for fast collection of data and an efficient buffer manager delivering a constant data stream to the subsequent processing steps. While a data source feeds data into the buffer, consumer processes receive the data to filter, reduce, analyze or simply visualize the recorded data. In order to optimally use the available resources, multi-core and multi-processing techniques must be applied.

This project originated from an effort to structure and generalize data acquisition for several experiments in advanced physics laboratory courses at Karlsruhe Institute of Technology (KIT) and has been extensively tested with Ubuntu Linux.

What can it do?

Amongst the core features of mimoCoRB2 are:

  • multiprocessing safe ringbuffer for NumPy structured arrays
  • setup of multiple ringbuffers and workers from configuration files
  • templates for common interactions between buffers (importing/exporting, filtering, processing, observing)
  • pre built functions for common operations (oscilloscope, histogram, pulse height analysis)
  • gui for monitoring and controlling the system

Running an example

Clone this repo and move into the directory

pip install .
mimocorb2 examples/muon/spin_setup.yaml

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

mimocorb2-0.0.2.tar.gz (42.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mimocorb2-0.0.2-py3-none-any.whl (50.2 kB view details)

Uploaded Python 3

File details

Details for the file mimocorb2-0.0.2.tar.gz.

File metadata

  • Download URL: mimocorb2-0.0.2.tar.gz
  • Upload date:
  • Size: 42.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for mimocorb2-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a8744e4194eeff63bf852d97fc234f8c9ba6d379150a63b98716a480caaa0d2a
MD5 8c1bd160bd871db2b1bd8b491a9f1c53
BLAKE2b-256 9debf6f5541036d049ab6f01787d0dde67359b3e1444db79589ed9340980e80c

See more details on using hashes here.

File details

Details for the file mimocorb2-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: mimocorb2-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 50.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for mimocorb2-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d12d012528ba09ea20416ef7fa2903c5eeb9d86d7793e55393c71be77f26f9ed
MD5 cfbc0f951febc6d27d6ddf7824941a72
BLAKE2b-256 8a21f0fe0afee4ae716950ff4a278881182dbd604dd6dd7e762feaed63fa03e4

See more details on using hashes here.

Supported by

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