magscope.beadlock

Contents

magscope.beadlock#

Classes#

BeadLockManager

Abstract base class for processes in the MagScope

Module Contents#

class magscope.beadlock.BeadLockManager[source]#

Bases: magscope.processes.ManagerProcessBase

Abstract base class for processes in the MagScope

Subclass requirements: * Each subclass should have a unique name. * There should only be one instance of each subclass (singleton). * The class name is used for consistent inter-process identification.

xy_lock_on: bool = False[source]#
xy_lock_interval: float[source]#
xy_lock_max: float[source]#
xy_lock_window: int[source]#
_xy_lock_last_time: float = 0.0[source]#
_xy_lock_global_cutoff: float = 0.0[source]#
_xy_lock_bead_cutoff: dict[int, float][source]#
_xy_lock_pending_moves: list[int] = [][source]#
z_lock_on: bool = False[source]#
z_lock_bead: int = 0[source]#
z_lock_target: float | None = None[source]#
z_lock_interval: float[source]#
z_lock_max: float[source]#
z_lock_window: int[source]#
_z_lock_last_time: float = 0.0[source]#
_z_lock_global_cutoff: float = 0.0[source]#
_z_lock_expected_focus_target: float | None = None[source]#
_z_lock_last_focus_target: float | None = None[source]#
_focus_motor_name: str | None = None[source]#
_focus_buffer: magscope.datatypes.MatrixBuffer | None = None[source]#
setup()[source]#
do_main_loop()[source]#
do_xy_lock(now=None)[source]#

Centers the bead-rois based on their tracked position

do_z_lock(now=None)[source]#
_averaged_bead_z(bead_id: int, window: int) float | None[source]#
_latest_focus_state() tuple[float, float, bool] | None[source]#
_advance_z_lock_cutoff(now: float | None = None) None[source]#
_update_z_lock_cutoff_for_external_focus_change(focus_state: tuple[float, float, bool], now: float) None[source]#
_focus_matrix_buffer() magscope.datatypes.MatrixBuffer | None[source]#
_discover_focus_motor_name() str | None[source]#
refresh_bead_rois()[source]#
remove_bead_from_xy_lock_pending_moves(id: int)[source]#
remove_beads_from_xy_lock_pending_moves(ids: list[int])[source]#
set_xy_lock_on(value: bool)[source]#
set_xy_lock_interval(value: float)[source]#
set_xy_lock_max(value: float)[source]#
set_xy_lock_window(value: int)[source]#
set_z_lock_on(value: bool)[source]#
set_z_lock_bead(value: int)[source]#
set_z_lock_target(value: float)[source]#
set_z_lock_interval(value: float)[source]#
set_z_lock_max(value: float)[source]#
set_z_lock_window(value: int)[source]#