Skip to content

v1 CLARIOstar: basic luminescence through the emission monochromator - #1525

Merged
BioCam merged 1 commit into
PyLabRobot:mainfrom
BioCam:bmg-clariostar-v1-luminescence
Oct 22, 2026
Merged

BioCam merged 1 commit into
PyLabRobot:mainfrom
BioCam:bmg-clariostar-v1-luminescence

Conversation

@BioCam

@BioCam BioCam commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

The Problem

The v1 CLARIOstar reads absorbance and fluorescence, but not luminescence, although the reader reports a luminescence measurement channel. Luminescence assays (luciferase reporters, ATP viability, BRET) cannot run on it through PyLabRobot.

PR Content

  • Luminescence.measure: a point read of each well from the top, with enhanced dynamic range, through one emission band of the emission monochromator.
  • Its settings: emission_wavelength / emission_bandwidth (580 / 80 nm), gain (3500), focal_height (None: a quarter up the well, as for fluorescence), normalization_time (1.00 s), measurement_interval (0.80 s), plus MeasurementSettings (settling, corner, reading direction) and ShakeSettings as the other modes take them.
  • The emission limit follows the photomultipliers, as for fluorescence but the other way round: the extended range (up to 840 nm) needs the extended-red photomultiplier on the luminescence path - fitted, and crossed over on a dual-photomultiplier reader; otherwise 740 nm.
  • pylabrobot.lib.luminescence.LuminescenceResult, the same for every plate reader; CLARIOstarLuminescenceResult adds the gain.
  • driver.luminescence / CLARIOstarDevice.luminescence, built at setup only when the reader reports a luminescence channel.
  • FluorescenceConfiguration.maximum_chromatics is renamed maximum_fluorescence_channels.
  • Comments, docstrings and test names across the CLARIOstar driver are reworded; nothing changes on the wire. The test data files are renamed *_ground_truth.json.gz.
  • Until a luminescent sample has been read on hardware, measure warns that luminescence is untested.

🤖 Generated with Claude Code

@BioCam
BioCam force-pushed the bmg-clariostar-v1-luminescence branch 7 times, most recently from 6a5e771 to 4419b2e Compare October 22, 2026 06:25
@BioCam
BioCam marked this pull request as ready for review October 22, 2026 08:28
@BioCam
BioCam requested a review from a team as a code owner October 22, 2026 08:28
@BioCam
BioCam force-pushed the bmg-clariostar-v1-luminescence branch from 4419b2e to 31dc2c2 Compare October 22, 2026 08:30
- `Luminescence.measure` reads the plate's luminescence from the top, each well at its centre,
  with enhanced dynamic range, through one emission band of the monochromator.
- The emission band, gain, focal height, normalization time, measurement interval, settling,
  reading direction, corner and shaking are sent.
- The emission limit follows the photomultipliers: up to 840 nm with the extended-red one on the
  luminescence path, 740 nm without.
- `pylabrobot.lib.luminescence.LuminescenceResult`; `CLARIOstarLuminescenceResult` adds the gain.
- `driver.luminescence` and `CLARIOstarDevice.luminescence` exist when the reader reports a
  luminescence channel.
- `FluorescenceConfiguration.maximum_chromatics` is renamed `maximum_fluorescence_channels`.
- Comments, docstrings and test names reworded, nothing changes on the wire; the test data files
  are renamed `*_ground_truth.json.gz`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@BioCam
BioCam force-pushed the bmg-clariostar-v1-luminescence branch from 31dc2c2 to 262b2d5 Compare October 22, 2026 09:37
@BioCam
BioCam merged commit 30b87b9 into PyLabRobot:main Oct 22, 2026
27 checks passed
@BioCam
BioCam deleted the bmg-clariostar-v1-luminescence branch October 22, 2026 11:00
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