mirror of
https://github.com/slsdetectorgroup/aare.git
synced 2026-10-27 18:11:28 +01:00
Third part of splitting up dev/gap. The multithreaded reader comes in the next PR. - `RawFile` takes an optional `GapPixels`. Frames are assembled with the gaps inserted: fill the gap lines, scatter each module part through the scratch buffer into its gapped position, and split the chip edge counts if configured. `rows()`, `cols()`, `pixels_per_frame()` and `bytes_per_frame()` include the gaps, for the full frame and for each ROI. Only Jungfrau and Eiger are supported. - Python `RawFile` accepts `gap_pixels` as a bool or a `GapPixels`, exposes it as a property, and takes frame shapes from `rows()` and `cols()`. - The generic `File` is unchanged: it does not know the detector geometry of `.npy` and `.dat` files, so gap pixels stay a `RawFile` option. Use `RawFile`, or apply `insert_gap_pixels` to frames from `File`. - Tests: generalized raw file helper with arbitrary module layouts, module layout assembly tests (these cover #421, which went in without tests), synthetic gap tests, a split-counts oracle against `insert_gap_pixels`, unsupported detector rejection, and data-backed recorded-file and two-ROI cases. - A raw file benchmark with no-gaps, fill-value and split-counts cases. - Docs and release note.