pylabrobot.bmg_labtech.vantastar.driver.features.fluorescence.Fluorescence.measure_spectrum#

async Fluorescence.measure_spectrum(scan: Literal['excitation', 'emission'], start_wavelength: int, end_wavelength: int, *, gain: int, excitation_wavelength: float | None = None, excitation_bandwidth: float | None = None, emission_wavelength: float | None = None, emission_bandwidth: float | None = None, focal_height: float | None = None, step_size: int = 1, dichroic_split_wavelength: float | None = None, plate: Plate | None = None, wells: Sequence[Well] | None = None, measurement_settings: MeasurementSettings | None = None, shake_settings: ShakeSettings | None = None, timeout: float = 1800.0) → FluorescenceSpectrumResult#

Measure a top fluorescence spectrum: excitation or emission scanned, the other fixed.

The band edges are the nominal ones, as in measure; the dichroic follows each point unless dichroic_split_wavelength is given; the slits are those Voyager sets in a scan. The counts are the reader’s raw counts. Voyager shows spectra multiplied by BMG’s instrument correction curve (a factor per wavelength for the excitation or the emission side), so its exported spectra differ from these by that factor.

Parameters:
  • scan (Literal['excitation', 'emission']) – “excitation” or “emission”, scanned from start_wavelength to end_wavelength.

  • start_wavelength (int) – the first wavelength, a whole nm.

  • end_wavelength (int) – the last wavelength, above start_wavelength.

  • gain (int) – the detector gain (adjust_gain_and_focus at a representative wavelength pair finds one).

  • excitation_wavelength (float | None) – nm, the fixed excitation of an emission spectrum; None when excitation is scanned.

  • excitation_bandwidth (float | None) – nm, 8-100; default_excitation_bandwidth when None.

  • emission_wavelength (float | None) – nm, the fixed emission of an excitation spectrum; None when emission is scanned.

  • emission_bandwidth (float | None) – nm, 8-100; default_emission_bandwidth when None.

  • focal_height (float | None) – mm above the plate’s base, in 0.1 mm steps; None takes default_focal_height_percent_of_well_depth of the wells’ depth above their floor (adjust_gain_and_focus finds one).

  • step_size (int) – nm between wavelengths, a whole nm dividing the range.

  • dichroic_split_wavelength (float | None) – nm for every point; None to set it per point.

  • plate (Plate | None) – the plate to measure; None uses the plate on the plate holder.

  • wells (Sequence[Well] | None) – the wells to measure; None measures every well.

  • measurement_settings (MeasurementSettings | None) – how to read; None reads with the defaults (20 flashes per well and wavelength, 0.5 s).

  • shake_settings (ShakeSettings | None) – shake the plate before the read; None does not shake.

  • timeout (float) – seconds the run may take.

Returns:

Each measured well’s spectrum, keyed by well identifier.

Raises:
  • RuntimeError – if no plate is on the plate holder or the run ends without its data.

  • ValueError – if an argument is out of range, or the fixed wavelength is missing or given for the scanned side.

Return type:

FluorescenceSpectrumResult