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

async Fluorescence.measure_z_profile(fluorescence_channel: FluorescenceChannel, *, well: Well, gain_target_percent: float | None = None, focal_height_step: float = 0.1, monochromator: MonochromatorSettings | None = None, plate: Plate | None = None, timeout: float = 300.0) → VANTAstarZProfileResult#

Measure the z-profile of well from the top and, with a target, fit the gain at its peak, to analyse or debug the focus.

  • The reader reads the well from 16 mm (Voyager’s start) down in focal_height_step steps to a lowest height it chooses (2.2-2.4 mm on the 96-well plates tested), and computes the peak from the smoothed profile (about 12 s in 0.1 or 0.2 mm steps). The coarser the steps, the coarser the peak: in 1.0 mm steps the reader put it at the lowest point, 3.0 mm, where 0.1 mm steps put it at 3.8 mm.

  • With gain_target_percent it then fits the gain so the well reads that percent of the detector range at the peak (about 12-17 s in all).

  • It is the scan of adjust_gain_and_focus on one well, which returns only the gain and the peak’s focal height.

Parameters:
  • fluorescence_channel (FluorescenceChannel) – the optics, as in measure.

  • well (Well) – the well to scan.

  • gain_target_percent (float | None) – 1-100; None measures the z-profile only.

  • focal_height_step (float) – mm between the profile’s points, 0.1-1.0 in 0.1 mm steps (Voyager’s automatic focus uses 0.2).

  • monochromator (MonochromatorSettings | None) – band edges, dichroic and slits instead of the computed ones.

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

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

Returns:

The z-profile, its peak, and the gain with a target.

Raises:
  • RuntimeError – if no plate is on the plate holder, or the drawer is open.

  • ValueError – if an argument is out of range (_get_optics), the well is not on the plate, or the reply names a well not on the plate.

  • TimeoutError – if the scan takes longer than timeout seconds.

Return type:

VANTAstarZProfileResult