Bluesky-Adaptive Integration

Bluesky-Adaptive is Bluesky companion package for tightly integrated adaptive scans. Tsuchinoko may integrate with Bluesky-Adaptive by serving as the source of an Agent.

Running Tsuchinoko with Bluesky-Adaptive requires a TsuchinokoAgent between the Tsuchinoko server and the Bluesky RunEngine. The TsuchinokoAgent abstract base class provides a concise interface requiring the same components as a Bluesky-Adaptive Agent.

class tsuchinoko.execution.bluesky_adaptive.BlueskyAdaptiveEngine(adaptive_engine: GPCAMInProcessEngine, host: str = '127.0.0.1', port: int = 5557)[source]

A tsuchinoko.execution.Engine that sends targets to Blueskly-Adaptive and receives back measured data.

Parameters:
host

A host address target for the zmq socket.

port

The port used for the zmq socket.

get_measurements() List[Tuple][source]

Returns new measurements made since its last call. Generally measured values are accumulated by a background thread, then returned and cleared here.

Returns:
position: tuple

The measured target position.

value: float

The value at that position.

variance: float

The variance associated with the measurement of that value.

metrics: dict

Any non-standard metric values to be used for visualization at the client.

get_position() Tuple[source]

Returns the current position in the target domain.

Returns:
current_position: tuple

The current position in the target domain

update_targets(targets: List[Tuple])[source]

Updates the list of measurement targets. Generally new targets will take precedence, and will be stashed for measurement in the background.

Parameters:
targets: list

A list of new measure target positions.