60f6a46b25135b43a5630a77e03ff1edf352ffd9
The estimate the previous commit makes is free, and a first pass re-uses spots it has already found, so running the first pass a second time at the measured centre costs about what one rung of --beam-center-search costs. That buys the one comparison an on-failure trigger structurally cannot make. A centre wrong ACROSS the spindle announces itself - the indexed fraction collapses - but a centre wrong ALONG it does not: the run holds 96-100 % of frames indexed and quietly returns a 2x, 3x or sqrt(3) axis harmonic. Nothing fails, so nothing fires. Indexing both centres and comparing the two lattices is what can see that at all. What must not arbitrate the two is the indexed frame count. Acceptance is a fractional-Miller test, so a cell twice as long has to place every spot twice as accurately to score the same; measured on real data, two centres 0.12 px apart gave the deposited cell at 99.23 % and a halved axis at 100.00 %, and the wrong answer indexed better. A rule of the form "take the centre that indexes more" picks wrong in exactly the case the comparison exists for. So only what needs no arbiter is decided. The file's centre indexing nothing where the measured one indexes a majority is not a comparison, it is a run that produced nothing and now does: take the measured centre. The two agreeing on the lattice is reported and nothing else - it is a free statement that the header is good enough for this crystal, which is most runs and is worth saying. A disagreement between two passes that both worked is reported with both cells, their primitive volumes and the ratio, flagged when that ratio is an axis harmonic, and left undecided. Runs before the blind ladder, so a measured hypothesis is tried before any grid, and only where the move exceeds three times the fit's own sigma - below that the two centres are one measurement twice. 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++
76.7%
HTML
7.2%
C
5.6%
TypeScript
4%
Cuda
2.1%
Other
4.3%