class documentation

A dummy stage for testing purposes.

This stage should work similarly to a Sangaboard stage, but without any hardware attached.

Method __enter__ Register the stage position when the Thing context manager is opened.
Method __exit__ Nothing to do when the Thing context manager is closed.
Method __init__ Initialise the Dummy stage, setting the step_time to adjust the speed.
Method set_zero_position Make the current position zero in all axes.
Instance Variable axis_inverted Used to convert coordinates between the program frame and the hardware frame.
Instance Variable instantaneous_position Undocumented
Instance Variable moving Whether the stage is in motion.
Instance Variable step_time Undocumented
Method _hardware_move_absolute Make an absolute move. Keyword arguments should be axis names.
Method _hardware_move_relative Make a relative move. Keyword arguments should be axis names.
Instance Variable _hardware_position Undocumented

Inherited from BaseStage:

Method get_xyz_position Return a tuple containing (x, y, z) position.
Method invert_axis_direction Invert the direction setting of the given axis.
Method move_absolute Make an absolute move. Keyword arguments should be axis names.
Method move_relative Make a relative move. Keyword arguments should be axis names.
Method move_to_xyz_position Move to the location specified by an (x, y, z) tuple.
Property axis_names The names of the stage's axes, in order.
Property position Current position of the stage.
Property thing_state Summary metadata describing the current state of the stage.
Method _apply_axis_direction Undocumented
Class Variable _axis_names Undocumented
def __enter__(self): (source)

Register the stage position when the Thing context manager is opened.

def __exit__(self, _exc_type, _exc_value, _traceback): (source)

Nothing to do when the Thing context manager is closed.

def __init__(self, step_time: float = 0.001, **kwargs): (source)

Initialise the Dummy stage, setting the step_time to adjust the speed.

Parameters
step_time:floatThe time in seconds per "motor" step. The default of 0.001 works well for the live simulation. For unit testing it is very slow so the speed can be increased. Increasing it too far is problematic if also doing computationally heavy tasks like simulated image blurring.
**kwargsUndocumented
@lt.thing_action
def set_zero_position(self): (source)

Make the current position zero in all axes.

This action does not move the stage, but resets the position to zero. It is intended for use after manually or automatically recentring the stage.

axis_inverted = (source)

Used to convert coordinates between the program frame and the hardware frame.

instantaneous_position = (source)

Undocumented

moving: bool = (source)

Whether the stage is in motion.

step_time = (source)

Undocumented

def _hardware_move_absolute(self, cancel: lt.deps.CancelHook, block_cancellation: bool = False, **kwargs: Mapping[str, int]): (source)

Make an absolute move. Keyword arguments should be axis names.

def _hardware_move_relative(self, cancel: lt.deps.CancelHook, block_cancellation: bool = False, **kwargs: Mapping[str, int]): (source)

Make a relative move. Keyword arguments should be axis names.