2a5d303886749ea2ffacfe4a73c4a1d962d9230e
The floor below which a frame's partial scale is not credible (MIN_CREDIBLE_SCALE_RATIO = 0.02) was read off the MEDIAN fitted scale - in the loop's smoothing window, in its step, and in the guard after it (DropCollapsedScales). On a sweep that spent most of its turn out of the beam the median is itself a dead frame, and it walks: an empty frame's scale has no fixed point above zero, so the dead frames slide toward zero round after round, the median and the floor slide with them, and frames on the floor cross it, re-enter the window at their neighbours' scale (3x up in one round) and cross it again. The loop then has no fixed point, and which frames reach the merge depends on the round it stops on. The floor is now read off the run's typical frame (TypicalFrameScale), which is what the loop pins its gauge to - inside the loop it is the constant 0.02, so it stands still. The fulls' guard keeps the median (their scales are not gauge-pinned). Dropped frames still carry the median scale, so the sweep ledger reads them as before. lyso_x06da_half_image (1800 frames, two thirds weak or out of the beam; median frame at 1/5.7 of the typical one): traced, the final loop's floor fell 2.4x and every spike in its step was one frame re-entering the window; the R_meas 287% -> 685% of the rc178 loop fixes was the same non-settling loop ended by two stopping rules (delta-CC1/2 split the weak stretch differently, 206 frames at 1/20-1/50 of the median merged or not). The pre-pass P1 loop that crept to the cap is the geometry pre-pass, which commits nothing here. battery --only, before (rc178-aa-tol5 f217f180a) -> after, GPU: - lyso_x06da_half_image: R_meas 689% -> 81%, CC1/2 0.932 -> 0.971, REFRES CC1/2 0.484 -> 0.911, ISa 4.13 -> 4.22, model R-free 0.3302 -> 0.3271, CC_model 0.826 -> 0.829; final loop's smallest step 5.6e-3 -> 1.8e-4. --no-gpu gives the same numbers. - lcystine_x10sa_25keV: R_meas 0.396 -> 0.202, ISa 4.45 -> 8.49, CC1/2 0.9987 -> 0.9998. - lyso_x10sa_strong: R_meas 0.238 -> 0.151, ISa 5.51 -> 5.74, R-free 0.3653 -> 0.3658, CC_model 0.859 -> 0.857, d_min 1.354 -> 1.344. - insu_I_x06da_ref: R_meas 0.347 -> 0.290, R-free and ISa unchanged. - 7mzt: CC1/2 0.967 -> 0.983, CC_model 0.532 -> 0.548, R-free 0.4183 -> 0.4197, d_min 3.18 -> 3.21. - unchanged: lyso_x06da_ref, myob_x06da_split, myob_x06da_powder_2, thau_bl1a_4p6keV, 6o2h, 3meb, 9z72, 9o0h. Space groups identical on all 13. Tests: [RotationScale], AndersonMixing* pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PXc1zD1yxHqaR1DGdCTHL4
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.
Description
Jungfraujoch Data Acquisition System, Rugnux Data Processing Application, and Diffraction Viewer
3 GiB
2 Stars
3 Watchers
0 Forks
Languages
C++
77.8%
HTML
5.5%
C
4.1%
Cuda
3.9%
TypeScript
3.3%
Other
5.3%