9507b064b40ed4e117713371316571daf27bad4e
The Cheetah CXI per-frame mask (N x H x W uint16, one gzip chunk per frame) was read with ReadVector<uint32_t> under hdf5_mutex: the inflate and HDF5's element-wise type conversion serialised every reading thread and held an AGIPD run to ~40 frames/s. It now goes through ReadStored, as the data does: only the chunk lookup is under the lock; the read, inflate and unshuffle are not, and the stored uint16/uint32 values are widened to uint32 exactly as HDF5 converted them. The direct path is taken where the mask is plain unsigned integers of the frame's size, stored alike in every file (checked once, in Place); a chunk stored with a filter skipped is read by HDF5 as for the data, and any other mask keeps the locked HDF5 read. Images and pixel mask are bit-identical to before (hash of every pixel of 2000 images on two AGIPD runs and one MPCCD run). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015CeEGgpKdfkCTJb3YNMJcu
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.3%
Cuda
4.5%
C
3.8%
TypeScript
3.5%
Other
5%