magscope.ui.controls#
Classes#
Figure canvas that grows taller when constrained to a narrow panel. |
|
Clickable panel that links to the MagScope documentation. |
|
Clickable panel that resets the GUI layout to defaults. |
|
Allow importing, exporting, and editing MagScope configuration values. |
|
Functions#
|
|
|
Module Contents#
- class magscope.ui.controls.ControlPanelBase(manager: magscope.ui.ui.UIManager, title: str, collapsed_by_default: bool = False)[source]#
Bases:
PyQt6.QtWidgets.QWidget- manager: magscope.ui.ui.UIManager[source]#
- class magscope.ui.controls.ResponsivePlotCanvas(figure: matplotlib.figure.Figure, *, minimum_height: int = 210, maximum_height: int | None = 235, height_for_width: float = 0.72)[source]#
Bases:
matplotlib.backends.backend_qtagg.FigureCanvasQTAggFigure canvas that grows taller when constrained to a narrow panel.
- class magscope.ui.controls.HelpPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
PyQt6.QtWidgets.QFrameClickable panel that links to the MagScope documentation.
- class magscope.ui.controls.ResetPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
PyQt6.QtWidgets.QFrameClickable panel that resets the GUI layout to defaults.
- class magscope.ui.controls.MagScopeSettingsPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBaseAllow importing, exporting, and editing MagScope configuration values.
- _setting_inputs: dict[str, magscope.ui.widgets.LabeledLineEditWithValue][source]#
- _collect_settings_from_inputs() magscope.settings.MagScopeSettings | None[source]#
- _push_settings(settings: magscope.settings.MagScopeSettings) None[source]#
- class magscope.ui.controls.AcquisitionPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase
- class magscope.ui.controls.BeadSelectionPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase
- class magscope.ui.controls.CameraPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase
- class magscope.ui.controls.HistogramPanel(manager: magscope.ui.ui.UIManager)[source]#
- class magscope.ui.controls.PlotSettingsPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase
- class magscope.ui.controls.AllanDeviationPanel(manager: magscope.ui.ui.UIManager)[source]#
- class magscope.ui.controls.ProfilePanel(manager: magscope.ui.ui.UIManager)[source]#
- class magscope.ui.controls.TrackingOptionsPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase- _parse_int(widget: magscope.ui.widgets.LabeledLineEditWithValue, fallback: int, *, minimum: int | None = None) int[source]#
- _parse_float(widget: magscope.ui.widgets.LabeledLineEditWithValue, fallback: float, *, minimum: float | None = None) float[source]#
- _set_options(options: dict[str, Any], message: str | None = None, *, populate_inputs: bool = False) None[source]#
- _coerce_int_value(raw: Any, *, name: str, fallback: int, minimum: int | None = None, enforce_odd: bool = False) int[source]#
- class magscope.ui.controls.ScriptPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase- update_status(status: magscope.scripting.ScriptStatus)[source]#
- class magscope.ui.controls.StatusPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase
- class magscope.ui.controls.XYLockPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase
- class magscope.ui.controls.ZLockPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase
- class magscope.ui.controls.ZLUTGenerationPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase
- class magscope.ui.controls.ZLUTSweepPreviewWidget(parent: PyQt6.QtWidgets.QWidget | None = None)[source]#
Bases:
MatplotlibCleanupMixin,PyQt6.QtWidgets.QWidget- update_preview(*, state: int, count: int, capacity: int, n_steps: int, n_beads: int, profiles_per_bead: int, profile_length: int, preview_image: numpy.ndarray | None, selected_bead_id: int | None, mode: str, motor_z_min: float | None, motor_z_max: float | None, expected_capture_count: int | None = None, x_axis_label: str = 'Z Position (nm)', x_axis_min: float | None = None, x_axis_max: float | None = None, image_x_min: float | None = None, image_x_max: float | None = None) None[source]#
- class magscope.ui.controls.ZLUTGenerationDialog(parent: PyQt6.QtWidgets.QWidget | None = None)[source]#
Bases:
PyQt6.QtWidgets.QDialog- update_state(status: str, detail: str | None = None, *, running: bool = False, can_cancel: bool = False, phase: str = 'idle') None[source]#
- class magscope.ui.controls.ZLUTPanel(manager: magscope.ui.ui.UIManager)[source]#
Bases:
ControlPanelBase