pylabrobot.resources.ItemizedResource#

class pylabrobot.resources.ItemizedResource(name: str, size_x: float, size_y: float, size_z: float, ordered_items: Dict[str, T] | None = None, ordering: List[str] | None = None, category: str | None = None, model: str | None = None)#

Bases: Resource, Generic[T]

Base class for Itemized resources.

This class provides utilities for getting child resources by an identifier. It also restricts the child resources to instances of the generic type T, specified by the subclass. For example, a pylabrobot.resources.plate.Plate can only have child resources of type pylabrobot.resources.well.Well.

Note

This class is not meant to be used directly, but rather to be subclassed, most commonly by pylabrobot.resources.Plate and pylabrobot.resources.TipRack.

Attributes

items

name

Get the name of this resource.

num_items

num_items_x

The number of items in the x direction, if the resource is a full grid.

num_items_y

The number of items in the y direction, if the resource is a full grid.

Methods

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

Initialize an itemized resource

assign_child_resource(resource, location[, ...])

Assign a child resource to this resource.

center([x, y, z])

Get the center of this resource.

centers([xn, yn, zn])

Get equally spaced points in the x, y, and z directions.

copy()

deregister_did_assign_resource_callback(callback)

Remove a callback that will be called after a resource is assigned to this resource.

deregister_did_unassign_resource_callback(...)

Remove a callback that will be called after a resource is unassigned from this resource.

deregister_state_update_callback(callback)

Remove a callback that will be called when the state of the resource changes.

deregister_will_assign_resource_callback(...)

Remove a callback that will be called before a resource is assigned to this resource.

deregister_will_unassign_resource_callback(...)

Remove a callback that will be called before a resource is unassigned from this resource.

deserialize(data[, allow_marshal])

Deserialize a resource from a dictionary.

get_absolute_location([x, y, z])

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

get_absolute_rotation()

Get the absolute rotation of this resource.

get_absolute_size_x()

Get the absolute size in the x direction.

get_absolute_size_y()

Get the absolute size in the y direction.

get_absolute_size_z()

Get the absolute size in the z direction.

get_all_children()

Recursively get all children of this resource.

get_all_items()

Get all items in the resource.

get_anchor(x, y, z)

Get a relative location within the resource.

get_highest_known_point()

Recursively finds the highest known point in absolute space.

get_item(identifier)

Get the item with the given identifier.

get_items(identifiers)

Get the items with the given identifier.

get_resource(name)

Get a resource by name.

get_root()

Get the root of the resource tree.

get_size_x()

Local size in the x direction.

get_size_y()

Local size in the y direction.

get_size_z()

Local size in the z direction.

index_of_item(item)

Return the index of the given item in the resource, or None if not found.

load_all_state(state)

Load state for this resource and all children.

load_from_json_file(json_file)

Loads resources from a JSON file.

load_state(state)

Load state for this resource only.

load_state_from_file(fn)

Load the state of this resource and all children from a JSON file.

make_grid([occupied_func])

print_grid([occupied_func])

register_did_assign_resource_callback(callback)

Add a callback that will be called after a resource is assigned to this resource.

register_did_unassign_resource_callback(callback)

Add a callback that will be called after a resource is unassigned from this resource.

register_state_update_callback(callback)

Register a callback that will be called when the state of the resource changes.

register_will_assign_resource_callback(callback)

Add a callback that will be called before a resource is assigned to this resource.

register_will_unassign_resource_callback(...)

Add a callback that will be called before a resource is unassigned from this resource.

rotate([x, y, z])

Rotate counter-clockwise by the given number of degrees.

rotated([x, y, z])

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

save(fn[, indent])

Save a resource to a JSON file.

save_state_to_file(fn[, indent])

Save the state of this resource and all children to a JSON file.

serialize()

Serialize this resource.

serialize_all_state()

Serialize the state of this resource and all children.

serialize_state()

Serialize the state of this resource only.

traverse(batch_size, direction[, repeat])

Traverse the items in this resource.

unassign()

Unassign this resource from its parent.

unassign_child_resource(resource)

Unassign a child resource from this resource.

Parameters: