0644404286f658a3fa32e2b61cd58f91435f8316
A beam centre in a file is the metadata field everyone jokes about and nobody measures. rugnux already has an estimator that can measure it - the isotropy of the scattered background, whose leverage is the curvature of the water ring - and it already builds, on every run, the projection that estimator needs: --detect-beam-stop makes one to find the shadow. So the measurement is a fit over a mean image that already exists, no frames of its own, and it can simply be done always. --beam-center-check, on by default, does that and reports it: what the file claims, what the background says, how far apart the two are, how well the fit knows its own answer, and how right this particular geometry needs the centre to be. That last term is what makes the line a verdict rather than a pixel count - 3 px is nothing at 100 mm and a lost lattice at 500 mm. On the two public depositions in the test corpus whose header is the geometric centre of the detector, the line reads 73.49 px and 70.96 px against a 1.57 px and 1.82 px tolerance, on runs that until now said nothing at all about it. Nothing is committed. The run keeps the centre it was given, and where the fit cannot place the centre - a flat background has nothing to separate a radial shift from an amplitude - it says so rather than guessing. Measured on a 0.3 Mpx detector the fit takes 8 ms. The fall-through in --estimate-beam-center now reads this same result instead of repeating the fit; it is the same call on the same projection with the same mask, so that flag's answer is unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T3yNBXk4wKdMZy1ak2NY7f
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++
75.4%
HTML
7.5%
C
6%
TypeScript
4.2%
Cuda
2.2%
Other
4.6%