pylabrobot.revvity.celigo.Celigo.acquire_scan_position#

async Celigo.acquire_scan_position(position: ScanPosition, label: str, channel: str, exposure_ms: float | None, gain: float | None, autofocus: Literal['image'] | None, z_mm: float | None, settled_stage_position_mm: Tuple[float, float], machine_auto_exposure: bool = False) → AcquisitionResult#

Acquire one compiled scan position and extinguish illumination afterward.

The caller must first position the stage with move_to_scan_block() for this position’s block. This method moves focus, optics, and galvos, but does not move or verify the XY stage. Use a plan compiled for the current configuration. Illumination cleanup is attempted on success, failure, and cancellation.

Parameters:
  • position (ScanPosition) – Frame position from the compiled plan.

  • label (str) – Label recorded in the acquisition result, such as a well name.

  • channel (str) – Configured illumination channel.

  • exposure_ms (float | None) – Camera exposure in milliseconds, or None to keep the current value.

  • gain (float | None) – Camera gain, or None to keep the current value.

  • autofocus (Literal['image'] | None) – Image autofocus, or None to acquire without autofocus.

  • z_mm (float | None) – Focus position in millimeters, or None to use the calibrated channel focus.

  • settled_stage_position_mm (Tuple[float, float]) – Actual XY position returned by move_to_scan_block, in millimeters. Recorded as acquisition metadata.

  • machine_auto_exposure (bool) – Run auto-exposure before autofocus or capture.

Returns:

The captured frame and actual acquisition settings and positions.

Return type:

AcquisitionResult