Skip to main content

Single Event Data Frame Processor: Backend to handle photoelectron resolved datastreams

Project description


Documentation Status Ruff Coverage Status

sed-processor is a backend to process and bin multidimensional single-event datastreams, with the intended primary use case in multidimensional photoelectron spectroscopy using time-of-flight instruments.

It builds on Dask dataframes, where each column represents a multidimensional "coordinate" such as position, time-of-flight, pump-probe delay etc., and each entry represents one electron. The SedProcessor class provides a single user entry point, and provides functions for handling various workflows for coordinate transformation, e.g. corrections and calibrations.

Furthermore, "sed-processor" provides fast and parallelized binning routines to compute multidimensional histograms from the processed dataframes in a delayed fashion, thus reducing requirements on cpu power and memory consumption.

Finally, in contains several export routines, including export into the NeXus format with rich and standardized metadata annotation.

Installation

Prerequisites

  • Python 3.9+
  • pip

Steps

  • Create a new virtual environment using either venv, pyenv, conda, etc. See below for an example.
python -m venv .sed-venv
  • Activate your environment:
# On macOS/Linux
source .sed-venv/bin/activate

# On Windows
.sed-venv\Scripts\activate
  • Install sed, distributed as sed-processor on PyPI:
pip install sed-processor[all]
  • If you intend to work with Jupyter notebooks, it is helpful to install a Jupyter kernel for your environment. This can be done, once your environment is activated, by typing:
python -m ipykernel install --user --name=sed_kernel
  • If you do not use Jupyter Notebook or Jupyter Lab, you can skip the installing those dependencies
pip install sed-processor

Documentation

Comprehensive documentation including several workflow examples can be found here: https://opencompes.github.io/docs/sed/stable/

Contributing

Users are welcome to contribute to the development of sed-processor. Information how to contribute, including how to install developer versions can be found in the documentation

We would like to thank our contributors!

Contributors

License

sed-processor is licenced under the MIT license

Copyright (c) 2022-2024 OpenCOMPES

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Project details


Release history Release notifications | RSS feed

This version

1.3.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sed_processor-1.3.0.tar.gz (146.5 kB view details)

Uploaded Source

Built Distribution

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

sed_processor-1.3.0-py3-none-any.whl (167.7 kB view details)

Uploaded Python 3

File details

Details for the file sed_processor-1.3.0.tar.gz.

File metadata

  • Download URL: sed_processor-1.3.0.tar.gz
  • Upload date:
  • Size: 146.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sed_processor-1.3.0.tar.gz
Algorithm Hash digest
SHA256 695ff385237e408b8e5d0758d62e7c810156153b134b1352d76a2e1d534d4afb
MD5 e44bf748a5d4cdec67da50d1980f440f
BLAKE2b-256 d7189b3802da8db27164a46d73a9def0ccdaaa177d98fadf8420d7db73f8b02d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sed_processor-1.3.0.tar.gz:

Publisher: release.yml on OpenCOMPES/sed

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sed_processor-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: sed_processor-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 167.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for sed_processor-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa2e40055e8f83216dbca78a489ae68f2493233713a3cbd0a21c830253cc98db
MD5 f9561644a34fb0cc99635090797bf4a9
BLAKE2b-256 1877ee710ccfc81ec149fc74e816f470e34a64385b8e14b8208aac144533d0c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for sed_processor-1.3.0-py3-none-any.whl:

Publisher: release.yml on OpenCOMPES/sed

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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