pylabrobot.revvity.celigo.Celigo#
- class pylabrobot.revvity.celigo.Celigo(config: CeligoConfig, device_id: str | None = None, usb_address: str | None = None, vid: int = 1027, pid: int = 24577, baudrate: int = 230400, latency_ms: int = 2, reply_timeout: float = 2.0, move_timeout: float = 30.0, lucam_sdk: str | None = None, allow_laser: bool = False, fluorescence_warmup_seconds: float = 300.0, fluorescence_power_change_interval: float = 10.0)#
Bases:
objectCeligo image cytometer motion/illumination controller.
Talks to the FTDI-based USB-IO board over serial. Exposes stage/Z motion in millimeters, drawer open/close (stage eject/load), imaging-channel selection (brightfield + fluorescence), galvo steering, and the board’s digital/analog IO and barcode reader. Load an instrument’s configuration with
CeligoConfig.from_install()and pass the result asconfig.Attributes
The identified controller-board firmware version, if setup has reached identification.
Seconds remaining in the configured fluorescence-lamp warm-up interval.
Methods
__init__(config[, device_id, usb_address, ...])Abort the current controller command.
acquire(well, channel[, exposure_ms, gain, ...])Acquire one FOV and extinguish illumination before returning.
auto_exposure([candidates_ms, ...])Select the longest candidate exposure that is bright but not saturated.
autofocus([autofocus_method, ...])Find focus by host-side Z stepping, as observed in the Celigo captures.
capture_frame([exposure_ms, gain, flush_frames])Capture one image from the configured camera.
close_drawer(well)Move the stage under the optics using calibrated plate/well coordinates.
close_drawer_to_sample_mm(x_mm, y_mm)Safely close the drawer to a calibrated sample-relative X/Y coordinate.
execute(plan)Execute the exact frame operations in a compiled scan plan.
Home Z for clearance, synchronize magnification, then home X, Y, and dichroic.
move_to_well(well[, retract_z, safe_z_mm])Move the stage to a calibrated well center and return settled X/Y millimeters.
Drive the stage out to the eject station so the plate is accessible.
plan(spec, *[, estimate_model])Compile a complete scan specification without moving hardware.
Pulse the camera trigger line once.
request_analog_input_count(channel_index)Read an analog input (ADC) channel's raw count (e.g. a sensor).
request_analog_input_voltage(channel_index, ...)Read an analog input channel as a voltage.
request_analog_output_count(channel_index)Read back an analog output (DAC) channel's raw count.
request_analog_output_voltage(channel_index, ...)Read back an analog output channel as a voltage.
Read the barcode reader's ASCII response.
Read the encoder captured by the camera-trigger diagnostics path.
Read board identity (SEND_CONFIG): device index, firmware version, UART buffer size.
Request and decode the current controller status.
Return the EZStepper addresses reported by the controller's UARTs.
request_digital_input(bit_index)Read one digital input line.
Read the digital input port as a raw bitmask.
request_digital_output(bit_index)Read back one digital output line.
Read back the digital output register as a raw bitmask.
Whether the controller reports the BUSY flag.
Read the polarity-corrected camera busy signal, or
Nonewhen unavailable.Read the camera integration signal, or
Nonewhen unavailable.Whether the controller reports the safety interlock switch as open.
Reset the controller board.
run_self_test([run_active_checks, ...])Run controller diagnostics; hardware-changing checks require explicit opt-in.
scan(spec, *[, estimate_model])Compile and execute a scan specification.
scan_wells(plate, wells, *, channel[, ...])Scan named wells with one capture per planned position.
select_channel(channel[, require_lamp_ready])Select an imaging channel while leaving its illumination off.
send_barcode_command(command)Send an ASCII command to the barcode reader.
send_command(opcode[, payload, retries, ...])Send a command and return its response payload (b'' if there is none).
set_analog_output_count(channel_index, dac_count)Write a raw 12-bit count to an analog output (DAC) channel.
set_analog_output_voltage(channel_index, ...)Set an analog output channel to a voltage (per-channel min/max calibration).
set_brightfield_enabled(enabled)Turn the configured brightfield illumination on or off.
set_camera_exposure_and_gain([exposure_ms, ...])Set camera properties through the Celigo-owned camera lifecycle.
set_camera_trigger_line(asserted)Assert or clear the camera trigger line.
set_digital_output(bit_index, high)Drive one raw digital output line high or low.
set_fluorescence_lamp_power(enabled)Set lamp power while enforcing the vendor's minimum toggle interval.
set_illumination_enabled(enabled[, ...])Turn the selected channel on or off using a percentage intensity override.
set_plate(plate)Set the plate used by drawer loading, well navigation, and acquisition.
setup()stop()Turn off every configured illumination output and fluorescence strobe.
wait_for_controller_ready([timeout, ...])Poll status until the controller BUSY flag clears; return False on timeout.
well_position_mm(well)Return the calibrated X/Y stage position for a named well.