navigate.model.devices.stage.conex.ConexStage
- class navigate.model.devices.stage.conex.ConexStage(microscope_name: str, device_connection: Any, configuration: Dict[str, Any], device_id: int = 0)
Bases:
StageBase
,SerialDevice
,IntegratedDevice
CONEX-CC Stage Class. This class controls a single-axis Newport CONEX-CC stage via Serial.
- __init__(microscope_name: str, device_connection: Any, configuration: Dict[str, Any], device_id: int = 0) → None
Initialize the CONEX-CC Stage.
Methods
__init__
(microscope_name, device_connection, ...)Initialize the CONEX-CC Stage.
close
()Close the stage.
connect
([port, baud_rate, timeout])Connect to the ConexCCStage.
Disconnect from serial device.
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 its single axis.
move_axis_absolute
(axis, abs_pos[, ...])Implement movement logic along the single axis.
Reports the position for the axis and converts it to microns.
stop
()Stop all stage movement abruptly.
update_limits
()verify_abs_position
(move_dictionary[, is_strict])Ensure the requested moving positions are within axes bounds
Attributes
- close() → None
Close the stage.
- classmethod connect(port: str = 'COM4', baud_rate: int = 921600, timeout: float = 1.0) → ConexCCAPI
Connect to the ConexCCStage.
- disconnect() → None
Disconnect from serial device.
- get_abs_position(axis: str, axis_abs: float) → float
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() → dict[str, float]
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 its single axis.
- move_axis_absolute(axis: str, abs_pos: float, wait_until_done=True) → bool
Implement movement logic along the single axis.
- report_position() → dict
Reports the position for the axis and converts it to microns.
- stop() → None
Stop all stage movement abruptly.
- verify_abs_position(move_dictionary: dict, is_strict=False) → dict
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
Initial setting for all positions self.x_pos, self.y_pos etc are the true axis positions, no matter whether the stages are zeroed or not. All units are in microns.
- device_connection
Device connection object.
- Type:
Any
- device_name
Name of the device, used as a unique identifier.
- Type:
str
- stage_configuration
stage_configuration
- 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