leonarski_f 774357818f
Build Packages / Create release (push) Successful in 7s
Build Packages / build:portable:macos-arm64:nocuda (push) Successful in 5m15s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 9m23s
Build Packages / build:portable:linux-x86_64:nocuda (push) Successful in 18m4s
Build Packages / build:portable:linux-x86_64:cuda (push) Successful in 22m46s
Build Packages / build:portable:windows-x86_64:nocuda (push) Successful in 22m53s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 23m46s
Build Packages / build:portable:windows-x86_64:cuda (push) Successful in 26m46s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 27m34s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 28m34s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 29m42s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 22m46s
Build Packages / Generate python client (push) Successful in 31s
Build Packages / Build documentation (push) Successful in 1m10s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 23m22s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 26m58s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 28m33s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 23m21s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 26m13s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 28m8s
Build Packages / Unit tests (push) Successful in 1h32m27s
Build Packages / Validation Battery (push) Successful in 33m19s
Metal integration engine: with the frame's curve, the correction over the pixels read, at their 2 theta, as on the CPU
Mirrors fac2a1742 in the Metal engine, which since d0b4de2bd runs frames with a handed-over curve
itself and so differed from the CPU engine there:
- box_sums sums the curve over the readable disk pixels and over the ring pixels behind the
  background, clip_sums over the pixels the clip keeps, in whole 1/BRAGG_CURVE_FIXED counts
  (curve_fixed = CurveFixed); integer sums, so independent of visit order;
- the curve is read at each reflection's CurveRadius (computed on the host, buffer curve_r), and the
  clip offset follows it there instead of at the distance from the PONI.
The sums travel in the shared pass-A structs (BraggBoxSums::curve_disk/curve_ring, 96 -> 112 bytes;
BraggClipSums::curve, 16 -> 24 bytes), which the CPU engine now fills instead of three locals, and
the correction (BraggCurveCorrection, double) moved from RunImpl into FinishPassA, which the Metal
engine already calls with the kernels' sums - so the GPU does no double arithmetic and the CPU's
result is unchanged.

Tests: [Metal] ShadowEdgeBitIdenticalToCPU (the beam-stop shadow on a tilted detector of
BraggIntegrationEngineCPU_RadialCurveOverThePixelsRead, 48 reflections, box sum and Gaussian fit);
[portable] ShadowEdgeReachesItsModes (CPU: beam off the PONI, rings next to the shadow lose pixels,
the correction cuts the background error from ~3 counts to below 0.6).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015CeEGgpKdfkCTJb3YNMJcu
(cherry picked from commit 7af57c66da67fcb8d56f6f90278e57fa11075ff9)
2026-10-24 12:38:08 +02:00
2026-08-13 17:03:10 +02:00
2026-10-16 15:34:43 +02:00
2026-10-16 15:34:43 +02:00
2026-10-06 14:03:18 +02:00
2026-09-02 21:17:31 +02:00
2026-10-19 07:03:28 +02:00
2026-10-21 11:20:01 +02:00
2026-10-21 11:20:01 +02:00
2026-03-26 20:50:33 +01:00
2026-06-23 20:29:49 +02:00
2026-10-19 07:03:28 +02:00
2026-10-16 15:34:43 +02:00
2026-06-23 20:29:49 +02:00
2026-10-16 15:34:43 +02:00
2024-11-22 21:25:20 +01:00
2026-10-16 15:34:43 +02: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-10-16 15:34:43 +02:00
2026-08-13 17:03:10 +02:00
2026-10-06 14:03:18 +02:00
2026-10-16 15:34:43 +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.8%
HTML 5.3%
Cuda 4.5%
C 3.8%
TypeScript 3.5%
Other 5%