pylabrobot.resources.Carrier#

class pylabrobot.resources.Carrier(name: str, size_x: float, size_y: float, size_z: float, sites: Optional[List[pylabrobot.resources.carrier.CarrierSite]] = None, category: Optional[str] = 'carrier', model: Optional[str] = None)#

Bases: pylabrobot.resources.resource.Resource

Abstract base resource for carriers.

It is recommended to always use a resource carrier to store resources, because this ensures the location of the resources can be calculated precisely.

It is important to use the __getitem__ and __setitem__ methods to access the resources, because this ensures that the location of the resources is updated to be within the carrier and that the appropriate callbacks are called.

Examples

Creating a TipCarrier and assigning one set of tips at location 0 (the bottom):

>>> tip_car = TIP_CAR_480_A00(name='tip carrier')
>>> tip_car[0] = STF_L(name='tips_1')

Getting the tips:

>>> tip_car[0]

STF_L(name=’tips_1’)

Deleting the tips:

>>> del tip_car[0]

Alternative way to delete the tips:

>>> tip_car[0] = None
Variables

capacity – The maximum number of items that can be stored in this carrier.

Parameters
  • name (str) –

  • size_x (float) –

  • size_y (float) –

  • size_z (float) –

  • sites (Optional[List[CarrierSite]]) –

  • category (Optional[str]) –

  • model (Optional[str]) –

Attributes

name

Get the name of this resource.

Methods

__init__(name, size_x, size_y, size_z[, ...])

assign_child_resource(resource, location)

Assign a resource to this carrier.

assign_resource_to_site(resource, spot)

center()

Get the center of this resource.

copy()

Copy this resource.

deserialize(data)

Deserialize a resource from a dictionary.

get_2d_center_offsets([n])

Get the offsets (from bottom left) of the center(s) of this resoure.

get_absolute_location()

Get the absolute location of this resource, probably within the pylabrobot.resources.Deck.

get_all_children()

Recursively get all children of this resource.

get_resource(name)

Get a resource by name.

get_resources()

Get all resources, using self.__getitem__ (so that the location is within this carrier).

get_sites()

Get all sites.

get_size_x()

get_size_y()

get_size_z()

Get the size of this resource in the z-direction.

load_from_json_file(json_file)

Loads resources from a JSON file.

resource_assigned_callback(resource)

Called when a resource is assigned to this resource.

resource_unassigned_callback(resource)

Called when a resource is unassigned from this resource.

rotate(degrees)

Rotate counter clockwise by the given number of degrees.

rotated(degrees)

Return a copy of this resource rotated by the given number of degrees.

save(fn[, indent])

Save a resource to a JSON file.

serialize()

Serialize this resource.

unassign()

Unassign this resource from its parent.

unassign_child_resource(resource)

Unassign a resource from this carrier, checked by name.