You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Exact multi-amplifier ROI geometry and measured row-major gain/offset response
fields. The OCAM2K preset now declares its eight-output 4x2 layout; cropped
configurations can preserve their true split pixels.
Optional CuPy detector execution via Camera(..., device="gpu"). Photon-rate,
electron, FrameTruth, and digitised ADU arrays remain device-resident through
scalar and spectral exposure paths, including all detector artifact models and
both binning modes. Frame.device, get_backend, get_array_module, and to_numpy make the execution and host-copy boundaries explicit.
CUDA parity tests cover seeded reproducibility, CPU/GPU statistics, spectral
truth, CCD/CMOS/sCMOS/EMCCD/eAPD paths, fixed structure, gain, and detector
artifacts. The benchmark runner accepts --device gpu|both.
Added a reproducible paired-device bulk-throughput suite, self-describing JSON
artifact, rendered reference table, and README/GPU-guide CPU-versus-GPU results
for representative WFS, EMCCD, eAPD, and large science-frame workflows.
Changed
Re-characterized the OCAM2K preset from the Keck unit report and supplied
detector studies: approximately 28 output e-/ADU (21.43 ADU per input electron
at EM gain 600), 0.360 e- input-referred read noise, 1.579 e-/pixel/s dark
current, and a separately derived 0.004912 e-/pixel/frame CIC term. The output
saturation charge and representative Keck bias now use the same conversion
convention.
Fixed PRNU/DSNU/hot-pixel, amplifier, bias-structure, and defect maps are built
once on persistent Camera construction rather than regenerated for every
frame. This preserves the fixed-pattern contract and materially improves both
CPU and GPU warm exposure throughput.
Optimized warm detector execution with in-place signal construction and
digitization, direct full-array Gamma sampling, working-precision CPU/GPU
Gaussian and Gamma draws, and a reusable per-call GPU seed stream. The RTX
5090 reference improves GPU CMOS throughput by 1.36x–1.42x and GPU EMCCD/eAPD
throughput by 2.35x–2.41x over the initial implementation without changing the
detector distributions.
Fixed
Separated image-area and post-multiplication saturation with the optional,
backwards-compatible CameraConfig.output_full_well_e. Gain-stage input charge
now clips at full_well_e before multiplication. The OCAM2K preset uses Andor's
published 270,000 e- image well and Keck's measured 10,000-count output ceiling,
instead of incorrectly clipping multiplied signal at 250 e- (25 ADU).