Base Microscope Stage¶
Strict lock controlling thread access to camera hardware
Update settings from a config dictionary
Return the current settings as a dictionary
The general state dictionary of the board.
The general stage configuration.
The number of axes this stage has.
The current position, as a list
Get the distance used for backlash compensation.
move_rel(displacement: Union[int, Tuple[int, int, int]], axis: Optional[typing_extensions.Literal['x', 'y', 'z'][x, y, z]] = None, backlash: bool = True)¶
Make a relative move, optionally correcting for backlash. displacement: integer or array/list of 3 integers backlash: (default: True) whether to correct for backlash.
move_abs(final: Tuple[int, int, int], **kwargs)¶
Make an absolute move to a position
Set the current position to zero
Cleanly close communication with the stage
scan_linear(rel_positions: List[Tuple[int, int, int]], backlash: bool = True, return_to_start: bool = True)¶
Scan through a list of (relative) positions (generator fn) rel_positions should be an nx3-element array (or list of 3 element arrays). Positions should be relative to the starting position - not a list of relative moves. backlash argument is passed to move_rel if return_to_start is True (default) we return to the starting position after a successful scan. NB we always attempt to return to the starting position if an exception occurs during the scan..
scan_z(dz: List[int], **kwargs)¶
Scan through a list of (relative) z positions (generator fn) This function takes a 1D numpy array of Z positions, relative to the position at the start of the scan, and converts it into an array of 3D positions with x=y=0. This, along with all the keyword arguments, is then passed to