Skip to main content

Event Synchronous Categorisation And Processing Environment — event-based data framework for free-electron lasers

Project description

escape

Event Synchronous Categorisation And Processing Environment

escape is a Python framework for event-based data analysis at free-electron laser (FEL) facilities. It pairs raw measurement arrays with pulse IDs and scan metadata, providing index-aligned arithmetic, scan-step aggregation, and scalable storage — designed for the data volumes and workflows typical at instruments like SwissFEL Bernina.

Core concepts

  • Array — wraps a data array together with a pulse-ID index and optional scan grouping. Index-aligned arithmetic between arrays is automatic: operations find common pulse IDs and align data before computing.
  • Scan — partitions an Array into sequential steps with parameter metadata (e.g. delay values). Exposes per-step statistics (nanmean, median, weighted_stat, …) directly.
  • Grid — maps scan steps onto an N-dimensional parameter grid, enabling multi-dimensional scans and 2D result arrays.
  • DataSet — named collection of Arrays backed by HDF5 (.esc.h5) or zarr (.esc.zarr) files for persistent storage.
  • escaped — decorator that lifts any NumPy/dask function to operate on Arrays with automatic index alignment.

Quick example

import escape as esc
import numpy as np

# Load a dataset
ds = esc.DataSet.load("run042.esc.h5")
sig  = ds["JF_signal"]
i0   = ds["I0_monitor"]
pump = ds["pump_on"]

# Normalize signal to I0 — pulse IDs aligned automatically
sig_norm = sig / i0

# Per-step median across the pump-probe scan
median_on  = sig_norm[pump].scan.nanmedian()
median_off = sig_norm[~pump].scan.nanmedian()

Installation

conda (recommended — reuses existing environment packages):

conda install -c conda-forge escape-fel

pip:

pip install escape-fel

Latest development version:

pip install git+https://github.com/htlemke/escape-fel

Documentation

Full documentation including user guide and API reference: escape-fel.readthedocs.io

Links

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

escape_fel-0.1.2.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

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

escape_fel-0.1.2-py3-none-any.whl (134.4 kB view details)

Uploaded Python 3

File details

Details for the file escape_fel-0.1.2.tar.gz.

File metadata

  • Download URL: escape_fel-0.1.2.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for escape_fel-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c489bc5525fa8a5543c9877907680c240a94a6ec2d4c5d6903d3befcc9727a43
MD5 521b368c766428783ca61935c33342b1
BLAKE2b-256 dd8152d426a3fd3ddfcda7128e5133d02bf8a48db3186fdc8e31bdd75341320c

See more details on using hashes here.

Provenance

The following attestation bundles were made for escape_fel-0.1.2.tar.gz:

Publisher: publish.yml on htlemke/escape-fel

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

File details

Details for the file escape_fel-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: escape_fel-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 134.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for escape_fel-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b428b580e59e40a5fb03bddeecbb1cbe67eae2a8b0b374c7a73131c559137ed0
MD5 fcff8998ac8cd51b036ea9f6556e4962
BLAKE2b-256 57dc42b2cc3c9bfb640ad056ca89ea4aa40e06fb4e4f03eb6bfa2ce20e06c092

See more details on using hashes here.

Provenance

The following attestation bundles were made for escape_fel-0.1.2-py3-none-any.whl:

Publisher: publish.yml on htlemke/escape-fel

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