navigate.model.devices.stages.synthetic.SyntheticStage
- class navigate.model.devices.stages.synthetic.SyntheticStage(microscope_name: str, device_connection: Optional[Any], configuration: Dict[str, Any], device_id: int = 0)
Bases:
StageBase
Synthetically generated stage for testing purposes.
- __init__(microscope_name: str, device_connection: Optional[Any], configuration: Dict[str, Any], device_id: int = 0)
Initialize the stage.
- Parameters:
microscope_name (str) – Name of the microscope.
device_connection (str) – Connection string for the device.
configuration (dict) – Configuration dictionary for the device.
device_id (int) – Device ID for the device.
Methods
__init__
(microscope_name, device_connection, ...)Initialize the stage.
close
()Close the stage.
get_abs_position
(axis, axis_abs)Ensure the requested position is within axis bounds and return it.
get_axis_position
(axis)Get the current position of the stage along a single axis.
Return a dictionary with the saved stage positions.
get_speed
(axis)Get the speed of the stage.
Load a sample.
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.
Report the current position of the stage.
scanr
(start_position_mm, end_position_mm, ...)Scan the stage using the constant velocity mode along a single axis.
set_speed
(velocity_dict)Set the speed of the stage.
start_scan
(axis)Start a scan along a single axis.
stop
()Stop all stage movement abruptly.
Stop a scan.
Unload a sample.
update_waveform
(waveform_dict)verify_abs_position
(move_dictionary[, is_strict])Ensure the requested moving positions are within axes bounds
Attributes
The default speed of the stage in mm/s.
Dictionary mapping software axes to hardware axes.
- close()
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_axis_position(axis)
Get the current position of the stage along a single axis.
- Parameters:
axis (str) – An axis. For example, ‘x’, ‘y’, ‘z’, ‘f’, ‘theta’.
- Returns:
The current position of the stage along the specified axis.
- Return type:
float
- get_position_dict()
Return a dictionary with the saved stage positions.
- Returns:
Dictionary of stage positions.
- Return type:
dict
- get_speed(axis)
Get the speed of the stage.
- Parameters:
axis (str) – An axis. For example, ‘x’, ‘y’, ‘z’, ‘f’, ‘theta’.
- Returns:
The speed of the stage along the specified axis.
- Return type:
float
- load_sample()
Load a sample.
Warning
Not implemented.
- move_absolute(move_dictionary, wait_until_done=False)
Move stage along a single axis.
- Parameters:
move_dictionary (dict) – A dictionary of values required for movement. Includes ‘x_abs’, etc. for one or more axes. Expects values in micrometers, except for theta, which is in degrees.
wait_until_done (bool) – Block until stage has moved to its new spot.
- Returns:
success – Was the move successful?
- Return type:
bool
- move_axis_absolute(axis, abs_pos, wait_until_done=False)
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()
Report the current position of the stage.
- Returns:
position_dict – Dictionary containing the current position of the stage.
- Return type:
dict
- scanr(start_position_mm, end_position_mm, enc_divide, axis='z')
Scan the stage using the constant velocity mode along a single axis.
- Parameters:
start_position_mm (float) – Starting position of the scan in mm.
end_position_mm (float) – Ending position of the scan in mm.
enc_divide (int) – Encoder divide value.
axis (str) – An axis. For example, ‘x’, ‘y’, ‘z’, ‘f’, ‘theta’.
- set_speed(velocity_dict)
Set the speed of the stage.
- Parameters:
velocity_dict (dict) – Dictionary containing the speed of the stage along each axis.
- start_scan(axis)
Start a scan along a single axis.
- Parameters:
axis (str) – An axis. For example, ‘x’, ‘y’, ‘z’, ‘f’, ‘theta’.
- stop()
Stop all stage movement abruptly.
- stop_scan()
Stop a scan.
- unload_sample()
Unload a sample.
Warning
Not implemented.
- 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 mapping software axes to hardware axes.
- Type:
dict
- default_speed
The default speed of the stage in mm/s.
- Type:
float
- device_connection
Device connection object.
- Type:
Any
- 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