pylabrobot.lib.liquid_handling.tip_presence_probing.plan_tip_inventory#

pylabrobot.lib.liquid_handling.tip_presence_probing.plan_tip_inventory(tip_spots: List[TipSpot], use_channels: List[int]) → List[TipProbeBatch]#

Deal the spots to the channels one column at a time, so each pick-up stays at one X.

Columns in ascending X; in each, the spots rear to front go to the channels in ascending order, channel 0 standing furthest back, as many at a time as there are channels. Spots given in any order take no more pick-ups than their columns need. Planning does not change any tracker.

Parameters:
  • tip_spots (List[TipSpot]) – the spots to probe, in any order.

  • use_channels (List[int]) – the channels to probe with, 0-indexed from the back.

Returns:

The pick-ups, in ascending X.

Raises:

ValueError – If no channel is given, a channel is given twice, or a spot is given twice.

Return type:

List[TipProbeBatch]