navigate.model.devices.stages.sutter.SutterStage
- class navigate.model.devices.stages.sutter.SutterStage(microscope_name: str, device_connection: Any, configuration: Dict[str, Any], device_id: int = 0)
Bases:
StageBase
SutterStage Class for MP-285.
- __init__(microscope_name: str, device_connection: Any, configuration: Dict[str, Any], device_id: int = 0) → None
Initialize the SutterStage.
- Parameters:
microscope_name (str) – Name of the microscope.
device_connection (Any) – MP285 stage connection.
configuration (Dict[str, Any]) – Configuration dictionary for the SutterStage.
device_id (int) – Device ID for the SutterStage.
- Raises:
UserWarning – Error while connecting to the SutterStage.
UserWarning – Error while setting resolution and velocity.
UserWarning – Error while setting absolute operation mode.
Methods
__init__
(microscope_name, device_connection, ...)Initialize the SutterStage.
close
()Close the stage.
get_abs_position
(axis, axis_abs)Ensure the requested position is within axis bounds and return it.
Return a dictionary with the saved stage positions.
move_absolute
(move_dictionary[, wait_until_done])Move stage along a single axis.
move_axis_absolute
(axis, abs_pos[, ...])Implement movement logic along a single axis.
Reports the position for all axes, and creates a position dictionary.
stop
()Stop all stage movement abruptly.
verify_abs_position
(move_dictionary[, is_strict])Ensure the requested moving positions are within axes bounds
Attributes
MP285 stage.
Dictionary of stage axes and their corresponding hardware axes.
Dictionary of hardware axes and their corresponding stage axes.
Resolution of the stage.
Speed of the stage in units microns/s.
Position of the stage along the x-axis.
Position of the stage along the y-axis.
Position of the stage along the z-axis.
- close() → None
Close the stage.
- get_abs_position(axis, axis_abs)
Ensure the requested position is within axis bounds and return it.
- Parameters:
axis (str) – An axis: x, y, z, f, theta
axis_abs (float) – Absolute position value
- Returns:
Position to move the stage to for this axis.
- Return type:
float
- get_position_dict()
Return a dictionary with the saved stage positions.
- Returns:
Dictionary of stage positions.
- Return type:
dict
- move_absolute(move_dictionary: dict, wait_until_done=True) → bool
Move stage along a single axis.
- Parameters:
move_dictionary (dict) – A dictionary of values required for movement. Includes ‘x_abs’, ‘x_min’, etc. for one or more axes. Expects values in micrometers, except for theta, which is in degrees.
wait_until_done (bool) – Wait until the stage has finished moving before returning.
- Returns:
Was the move successful?
- Return type:
bool
- move_axis_absolute(axis: str, abs_pos: float, wait_until_done=False) → bool
Implement movement logic along a single axis.
- Parameters:
axis (str) – An axis. For example, ‘x’, ‘y’, ‘z’, ‘f’, ‘theta’.
abs_pos (float) – Absolute position value
wait_until_done (bool) – Block until stage has moved to its new spot.
- Returns:
Was the move successful?
- Return type:
bool
- report_position() → dict
Reports the position for all axes, and creates a position dictionary.
Positions from the MP-285 are converted to microns.
- Returns:
position – Dictionary containing the position of all axes
- Return type:
dict
- stop() → None
Stop all stage movement abruptly.
- verify_abs_position(move_dictionary, is_strict=False)
Ensure the requested moving positions are within axes bounds
- Parameters:
move_dictionary (dict) – A dictionary of values required for movement. Includes ‘x_abs’, ‘y_abs’, etc. for one or more axes. Expect values in micrometers, except for theta, which is in degrees.
is_strict (bool, optional) – If True, return an empty dict if any axis is out of bounds.
- Returns:
a verified moving dict {axis: abs_position}
- Return type:
dict
- axes
List of stage axes available.
- Type:
list
- axes_mapping
Dictionary of stage axes and their corresponding hardware axes.
- Type:
dict
- device_axes
Dictionary of hardware axes and their corresponding stage axes.
- Type:
dict
- device_connection
Device connection object.
- Type:
Any
- resolution
Resolution of the stage.
- Type:
str
- speed
Speed of the stage in units microns/s.
- Type:
int
- stage
MP285 stage.
- Type:
object
- stage_feedback
Feedback alignment value for the stage. Default is None.
- Type:
int
- stage_limits
Whether the stage has limits enabled or not. Default is True.
- Type:
bool
- stage_x_pos
Position of the stage along the x-axis.
- Type:
float
- stage_y_pos
Position of the stage along the y-axis.
- Type:
float
- stage_z_pos
Position of the stage along the z-axis.
- Type:
float