bellini.procedure.Procedure¶
- class bellini.procedure.Procedure(objects=None, devices=None)[source]¶
Bases:
abc.ABCA procedure that involves a series of experimental states (composed of Groups, Distributions, and Quantities), as well as instruments to manipulate these states
- __init__(objects=None, devices=None)[source]¶
- Parameters
objects (dict, optional) – The experimental objects in the Procedure. Should be structured label (str) -> object (usually Container)
devices (dict, optional) – The experimental devices in Procedure. Should be structured label (str) -> device (Device)
Methods
__init__([objects, devices])- Parameters
objects (dict, optional) – The experimental objects in the Procedure. Should be structured
apply_law(law, container_name[, timesteps])Apply law to container container_name
measure(measurement_name, **arg_names)Use MeasurementDevice measurement_name to readout a measurement from the experimental state according to the device’s readout_state function.
perform(actionable_name, **arg_names)Use ActionableDevice actionable_name to manipuate the current experimental state according to the device’s apply_state function.
register(name, x)Add a new experimental object or device x to the Procedure, with reference name name
Attributes
Return an networkx graph representing how experimental states change over time.
- apply_law(law, container_name, timesteps=1)[source]¶
Apply law to container container_name
- Parameters
law (Law) – Law to apply
container_name (str) – Container to apply law on
timesteps (int, default=1) – The number timesteps back to include when feeding Groups to law
- property g¶
Return an networkx graph representing how experimental states change over time. Meant to be graphed with nx.multipartite using key layer.
- measure(measurement_name, **arg_names)[source]¶
Use MeasurementDevice measurement_name to readout a measurement from the experimental state according to the device’s readout_state function. arg_names should correspond to the device’s readout_state() signature