leonarski_fandClaude Opus 4.8 fbebc0d56e rugnux: run decay + absorption surfaces on the GPU and enable by default
The decay/absorption correction surfaces previously forced the CPU 3D
combine (absorption needs each full's predicted detector position, which
the GPU SoA did not carry), so they could not be default-on without losing
the fast GPU path. Put them on the GPU:

- carry px/py (peak partial) through the GPU combine and download them with
  the fulls (GetFullsPxPy);
- add SetFullsCorr to re-upload the host-corrected corr to the resident
  fulls before the merge.

The surfaces themselves stay as cheap host fits on the downloaded fulls;
only px/py download + corr upload are added (~two O(n_fulls) transfers).
Measured +2% wall-time on lyso_ref (9.7 -> 9.9 s), and the GPU-combine and
CPU-combine (--dump-observations) paths give identical results.

Enable by default via a single master toggle ScalingSettings::
CorrectionSurfaces (default true; decoupled from the stills-only -B, which
is rejected for rotation again). Both surfaces are cross-validated, so they
no-op where their systematic is absent - safe to leave on. Off-switch wired
through the rugnux CLI (--no-scaling-corrections; --absorption removed) and
the viewer (a "Correction surfaces" checkbox). Documented in docs/RUGNUX.md.

Battery (24 rotation crystals), default-on vs --no-scaling-corrections:
EcwtCQ066S +2.4 ISa, lyso_ref +0.5 (and R-free 0.194 -> 0.185, better than
XDS); every other crystal within run-to-run noise; corrections skip (CV /
dB-floor) wherever there is no signal. lyso_ref anomalous S/Cl peaks are
already ~45% above XDS's - the ISa gap is metric convention, not data.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 10:56:39 +02:00
2026-06-23 20:29:49 +02:00
2026-07-11 11:34:11 +02:00
2026-07-03 19:18:56 +02:00
2026-07-11 07:19:11 +02:00
2025-12-04 11:56:14 +01:00
2026-07-11 11:34:11 +02:00
2026-07-03 19:18:56 +02:00
2026-07-11 11:34:11 +02:00
2026-06-23 20:29:49 +02:00
2026-03-26 20:50:33 +01:00
2026-06-23 20:29:49 +02:00
2026-06-23 20:29:49 +02:00
2026-06-25 22:01:48 +02:00
2026-07-11 07:19:11 +02:00
2026-06-13 21:27:41 +02:00
2026-06-23 20:29:49 +02:00
2024-11-22 21:25:20 +01:00
2026-07-11 07:19:11 +02:00
2024-12-02 21:17:14 +01:00
2026-02-18 16:17:21 +01:00
2025-10-25 22:05:47 +02:00
2026-07-03 19:18:56 +02:00
2026-06-23 20:29:49 +02:00
2026-06-23 20:29:49 +02:00
2024-12-02 21:17:14 +01:00
2026-06-23 20:29:49 +02:00
2026-07-03 19:18:56 +02:00
2026-07-11 11:34:11 +02:00

Jungfraujoch

Application to receive data from the PSI JUNGFRAU and EIGER detectors.

All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.

S
Description
Jungfraujoch Data Acquisition System
Readme GPL-3.0
3 GiB
Languages
C++ 73.3%
HTML 8.9%
C 7.2%
TypeScript 4.9%
Tcl 2.6%
Other 3%