leonarski_fandClaude Opus 5.5 1eda55ab38 rugnux: the rotation-scale walk's and the geometry walk's indexing probes run on copies of the run
The rotation-scale walk ran its probe passes on the run itself and put back a list of members
afterwards (experiment, geometry, pre-pass mosaicity, scale). The list missed what an integrating
refit probe leaves - bkg_starved_fraction_, last_rotation_result_ - and the spot-finding settings a
first-pass ladder rung adopts were carried on purpose, with a check that threw the refined passes
away when the walk had changed them. Each probe now runs on a copy of the run as the walk found it,
and only its first-pass memos (an exact cache) come back; the run ends the walk as it began it, the
restore lines and the spot-finding check go, and the refined passes are overturned only where a
scale is adopted. The geometry walk's index_at_geometry probe runs on a copy the same way, so a probe
the speculative one already answered (memo hit) and one run there (miss) leave the run identical.

Measured before the change with a temporary state dump at the start of the refined passes, walk run
against a run that skips the walk and applies the walk's k directly (8r5r, 9gdj, 9qw8, 2ygz adopt
k != 1; 9t6s, lalanine walk first and keep k = 1): p.hkl identical on all six; the run state differed
only in last_rotation_result_, bkg_starved_fraction_ and the memo count - leaks the canonical pass
overwrote before reading, so latent.

After (GPU, gpulock, shared machine): p.hkl and MTZ reflection data identical to the base binary on
26 ci-tier sets with a merge (+ both no-crystal controls, same verdict), on the 11 open sets whose
walk adopts k != 1 or runs first, on 7 sets whose geometry walk takes a sub-step round, and on the
one private set that adopts a scale. Catch2 [RotationScale] and Rugnux_FirstPassMemoMatchesRecomputation
(verify_first_pass_memo through the walk) pass.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EizBKhTqrAYago9KJG3dA3
2026-10-10 23:50:02 +02:00
2026-08-13 17:03:10 +02:00
2026-09-29 15:57:32 +02:00
2026-10-06 14:03:18 +02:00
2026-09-02 21:17:31 +02:00
2026-10-07 14:14:39 +02:00
2026-09-29 15:57:32 +02:00
2026-10-07 14:14:39 +02:00
2026-09-15 17:09:31 +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-09-22 06:48:37 +02:00
2024-11-22 21:25:20 +01:00
2024-12-02 21:17:14 +01:00
2026-08-13 17:03:10 +02:00
2025-10-25 22:05:47 +02:00
2026-07-03 19:18:56 +02:00
2026-08-13 17:03:10 +02:00
2026-10-06 14:03:18 +02:00
2026-08-25 08:21:39 +02:00
2026-09-22 06:48:37 +02:00
2026-08-26 22:47:00 +02:00
2026-10-07 14:14:39 +02:00

Jungfraujoch

Application to receive and analyse data from the PSI JUNGFRAU and EIGER detectors, together with rugnux, its program for processing stored diffraction data - rotation and serial, macromolecular and small-molecule - from images to merged reflections.

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, Rugnux Data Processing Application, and Diffraction Viewer
Readme GPL-3.0
3 GiB
2 Stars 3 Watchers 0 Forks
Languages
C++ 77.5%
HTML 5.6%
C 4.2%
Cuda 4%
TypeScript 3.4%
Other 5.2%