Skip to content

Latest commit

 

History

History
77 lines (54 loc) · 1.8 KB

File metadata and controls

77 lines (54 loc) · 1.8 KB

pyref logo

Fast PRSoXR data reduction for ALS Beamline 11.0.1.2.

DOI

Table of Contents

This repository contains the Python package, Rust acceleration layer, and tooling for PRSoXR beamtime ingestion and reduction.

  • python/pyref - User-facing Python API for loading, reduction, and analysis.
  • src - Rust backend for high-throughput IO and performance-critical paths.
  • tests - Python test suite and integration checks.
  • AGENTS.md - Full project architecture, conventions, and contributor guide.
  • Documentation Site - Hosted docs and API references.

Report an Issue

Quickstart

Install:

pip install pyref

Python >=3.12 is required.

Load a beamtime and inspect reduced data:

from pathlib import Path
from pyref.loader import PrsoxrLoader

loader = PrsoxrLoader(Path("/path/to/beamtime"))

refl = loader.refl
meta = loader.meta

loader.plot_data()

Optional interactive tools:

loader.mask_image()
loader.check_spot()

Development

All development commands use uv for Python and cargo for Rust:

git clone https://github.com/WSU-Carbon-Lab/pyref.git
cd pyref
uv sync
uv run pytest

Build the experiment browser TUI:

cargo browser