Skip to content

feat: add a scientific camera simulator tool - #2

Merged
PierreRaybaut merged 1 commit into
feat/plugin-sdk-implementationfrom
feat/equipment-simulator
Oct 7, 2026
Merged

PierreRaybaut merged 1 commit into
feat/plugin-sdk-implementationfrom
feat/equipment-simulator

Conversation

@PierreRaybaut

@PierreRaybaut PierreRaybaut commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Follows #1 (merged).

Adds a Scientific camera simulator... tool. It opens DataLab's instrument window (DataLab-Platform/DataLab#384, merged): a live frame on the left, the camera settings on the right, and Acquire to add frames to the workspace, ready for the Camera methods.

  • Settings in four tabs: Acquisition (single exposure or exposure sequence, frames per exposure, shutter, dark frames), Illumination (photoelectron rate, vignetting, dust shadows), Sensor (size, ADC resolution, conversion gain, read noise, offset, PRNU, DSNU, row and column patterns, defective pixels, serial number) and Dark current (rate, non-uniformity, hot pixels, amplifier glow). Settings that do not apply to the chosen mode or shutter state are greyed out.
  • The live view shows one flat or dark frame with its mean, standard deviation and saturated-pixel ratio, on the full ADC color range.
  • Each acquisition goes to a new group "Camera SN ÔǪ - acquisition 001" with titles such as Flat 10 ms 01 and the exposure-time and frame-role metadata. With the shutter open, dark frames are taken at the longest exposure. An exposure sequence is ready for the photon transfer method, or for the dark-current method when taken with the shutter closed.
  • Live frames reuse 64 noise streams; acquisitions use the next ones and are capped at 20 megapixels.
  • The tool is declared in both the Desktop and Web adapters; demo.series_images becomes public.

Tests

  • 5 new unit tests (settings, preview, single series, sequence with darks, size limit); full suite: 158 passed.

Docs: new doc/camera-simulator.md, linked from the README and doc/simulation.md; CHANGELOG updated.

Assisted-by: Claude Opus 5.5

Assisted-by: Claude Opus 5.5
@PierreRaybaut
PierreRaybaut changed the base branch from feat/multi-method-recipes to feat/plugin-sdk-implementation October 7, 2026 18:56
@PierreRaybaut
PierreRaybaut merged commit 200cef4 into feat/plugin-sdk-implementation Oct 7, 2026
@PierreRaybaut
PierreRaybaut deleted the feat/equipment-simulator branch October 7, 2026 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant