20349fb2d97ff4764a584f42ba5ef3b46ae562b2
Three changes to ApplyCellSurface, each measured offline on the surfaces' own input terms from twelve open rotation sets (36 surfaces), against per-shell CC of the merge to the deposited model's Fc. The gate. The held-out score was sum|Is - Iref| / sum Iref pooled over every shell the fit reaches. The surfaces are fitted before the resolution cutoff, so on a weak set the score was carried by shells with no signal (one set: 8 of 20 shells at <I/sigma> < 0.1, a quarter of the numerator), where any spread in A raises |Is - Iref| because Is is A times noise; and it weighted each residual equally where the merge weights it by 1/(sigma corr A)^2. It is replaced by the quantity the surface is for: fit on even frames and merge the odd ones with it, fit on odd and merge the even ones, and correlate the two half-set means within each resolution shell, against the same with no surface. A surface fitted to noise lowers that correlation, so the gate needs no margin. On surfaces moving the external CC by more than 0.005 either way, the old gate agreed with the model on 6 of 12 and the new one on 13 of 14; and no threshold on the old score separated them - below its 2% sat surfaces worth +0.017 and +0.009 and surfaces worth -0.026 and -0.013. CV_MIN_RELATIVE_GAIN still gates the decay and relative-B fits, which this does not touch. The regulariser. The per-round update A *= (ref2 + lambda) / (cross + lambda) was described as a Tikhonov pull to 1, but lambda cancels at the fixed point ref2 = cross: it only slowed a weak cell to cross / (cross + lambda) of its step, so the 30-round cap regularised by early stopping and the weak cells were still moving when it hit - most of what "NOT settled" reported - and a cell with no information was fitted to its noise and pinned on the [0.25, 4] clamp. The update is now a damped Gauss-Newton step on log A with a N(0, 0.1^2) prior: ref2 is the information of the cell's log scale, so the fixed point ref2 - cross = P log A moves a cell off 1 in proportion to what its observations say. Offline, applied surfaces that settle within the cap: most of them, against a minority; cells on the clamp: 0-4 per surface against up to 318. On the weakest set the time x detector surface goes from 181 clamped cells and -0.031 external CC to none and +0.001. The gauge. The per-shell projection is exact only where a cell sits at one resolution - a detector patch. A goniometer-frame cell collects directions from the whole sweep, so there it removed real absorption, which varies with scattering angle: +0.016 -> +0.022 and +0.017 -> +0.020 on the two sets where that surface is worth anything. That surface keeps only the global level fix. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013nW6FNRP1bBJJ8pfHiByAT
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.
Languages
C++
78%
HTML
6.4%
C
5.1%
TypeScript
3.6%
Cuda
2.1%
Other
4.7%