Single Event Data Frame Processor: Backend to handle photoelectron resolved datastreams
Project description
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.8+
- 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 assed-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/latest/
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!
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sed_processor-0.2.2a2.tar.gz
.
File metadata
- Download URL: sed_processor-0.2.2a2.tar.gz
- Upload date:
- Size: 131.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7113761d0f4e7a8f920681e7dd64b0f12684c79ac2b40308e2a9d07dfe40ec64 |
|
MD5 | 88bb11f743b6e0251ad8e7c56a069a19 |
|
BLAKE2b-256 | 692875916e5c8ce30633a9642235134c164a749e538c22310ff734d7552edfed |
Provenance
The following attestation bundles were made for sed_processor-0.2.2a2.tar.gz
:
Publisher:
release.yml
on OpenCOMPES/sed
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
sed_processor-0.2.2a2.tar.gz
- Subject digest:
7113761d0f4e7a8f920681e7dd64b0f12684c79ac2b40308e2a9d07dfe40ec64
- Sigstore transparency entry: 148223941
- Sigstore integration time:
- Predicate type:
File details
Details for the file sed_processor-0.2.2a2-py3-none-any.whl
.
File metadata
- Download URL: sed_processor-0.2.2a2-py3-none-any.whl
- Upload date:
- Size: 147.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a29cfbde78333c1244e8345d6704e548aabe34e5f5ff4ab93ba8b1f1f2a97db |
|
MD5 | 28c84ae6dc4824c797b1e7f6a0c71700 |
|
BLAKE2b-256 | d9d070eb99d46f6eeb2323e1aeba7649b230f8599c4217e2012b190f547fee55 |
Provenance
The following attestation bundles were made for sed_processor-0.2.2a2-py3-none-any.whl
:
Publisher:
release.yml
on OpenCOMPES/sed
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
sed_processor-0.2.2a2-py3-none-any.whl
- Subject digest:
8a29cfbde78333c1244e8345d6704e548aabe34e5f5ff4ab93ba8b1f1f2a97db
- Sigstore transparency entry: 148223947
- Sigstore integration time:
- Predicate type: