Plugin modules

Plugin base classes

Plugins package for stoner_measurement.

This package provides the abstract base class hierarchy for all measurement plugins, along with built-in demonstration plugins.

The plugin classes are organised into type-specific sub-packages:

Built-in example plugins:

Legacy aliases:

Classes

BasePlugin()

Abstract root class shared by all measurement plugins.

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

CounterPlugin([parent])

A simple counter that tracks the current scan set-point as its state.

DetailsCommand([parent])

Command plugin that records measurement metadata in the sequence script.

MonitorPlugin([parent])

Abstract base class for plugins that passively record experimental state.

PlotTraceCommand([parent])

Command plugin that plots trace data to the main plot window.

SaveCommand([parent])

Command plugin that saves current trace or state-control data to disc.

SequencePlugin()

Abstract base class for plugins that act as containers in the sequence tree.

StateControlPlugin

StatePlugin([parent])

Abstract base class shared by StateScanPlugin and StateSweepPlugin.

StateScanPlugin([parent])

Abstract base class for plugins that control experimental state via discrete-step scanning.

StateSweepPlugin([parent])

Base class for plugins that run a sub-sequence inside a continuous sweep loop.

SweepTimePlugin([parent])

State-sweep plugin that sweeps elapsed time.

TopLevelSequence()

Concrete root container for the entire measurement sequence.

TraceData(x, y, d, e, names, str] =, units, ...)

Container for a single measurement trace with optional error bars and metadata.

TracePlugin([parent])

Abstract base class for plugins that collect (x, y) data traces.

TransformPlugin([parent])

Abstract base class for plugins that transform or reduce data.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.base_plugin.BasePlugin, stoner_measurement.plugins.command.base.CommandPlugin, stoner_measurement.plugins.state_scan.counter.CounterPlugin, stoner_measurement.plugins.command.details.DetailsCommand, stoner_measurement.plugins.monitor.base.MonitorPlugin, stoner_measurement.plugins.command.plot_trace.PlotTraceCommand, stoner_measurement.plugins.command.save.SaveCommand, stoner_measurement.plugins.sequence.base.SequencePlugin, stoner_measurement.plugins.state_scan.base.StateScanPlugin, stoner_measurement.plugins.state.base.StatePlugin, stoner_measurement.plugins.state_scan.base.StateScanPlugin, stoner_measurement.plugins.state_sweep.base.StateSweepPlugin, stoner_measurement.plugins.state_sweep.sweep_time.SweepTimePlugin, stoner_measurement.plugins.sequence.base.TopLevelSequence, stoner_measurement.plugins.trace.base.TraceData, stoner_measurement.plugins.trace.base.TracePlugin, stoner_measurement.plugins.transform.base.TransformPlugin

Abstract base class for all measurement plugins.

A plugin must:

  1. Inherit from BasePlugin.

  2. Override name to provide a unique string identifier.

  3. Optionally override config_widget() to supply a configuration QWidget that will appear as a tab in the right-hand panel.

  4. Optionally override config_tabs() to contribute multiple labelled tabs to the configuration panel.

  5. Optionally override monitor_widget() to contribute a live-status widget to the left dock panel.

Concrete plugin behaviour is added by subclassing one of the six specialised sub-types: TracePlugin, StateControlPlugin, MonitorPlugin, TransformPlugin, SequencePlugin, or CommandPlugin.

Classes

ABC()

Helper class that provides a standard way to create an ABC using inheritance.

ABCMeta(name, bases, namespace, /, **kwargs)

Metaclass for defining Abstract Base Classes (ABCs).

Any(*args, **kwargs)

Special type indicating an unconstrained type.

BasePlugin()

Abstract root class shared by all measurement plugins.

Callable()

QFormLayout([parent])

QLabel() ))

QLineEdit()

QObject([parent])

QTextBrowser([parent])

QWidget([parent, flags])

Variables

TYPE_CHECKING

bool(x) -> bool

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.base_plugin.BasePlugin

Trace plugins

Trace sub-package — plugins that collect (x, y) data traces from instruments.

Exports TracePlugin (abstract base), TraceData, and TraceStatus from stoner_measurement.plugins.trace.base, and DummyPlugin from stoner_measurement.plugins.trace.dummy.

The private helper classes _ScanTabContainer and _ScanPage are also re-exported for internal use and testing.

Classes

DummyPlugin([parent])

A built-in demo plugin that generates RSJ model I-V data with optional noise.

TraceData(x, y, d, e, names, str] =, units, ...)

Container for a single measurement trace with optional error bars and metadata.

TracePlugin([parent])

Abstract base class for plugins that collect (x, y) data traces.

TraceStatus(*values)

Operational status of a TracePlugin.

_ScanPage(plugin[, parent])

Combined scan configuration page.

_ScanTabContainer(plugin[, parent])

Container that hosts the active scan generator's config widget.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.trace.dummy.DummyPlugin, stoner_measurement.plugins.trace.base.TraceData, stoner_measurement.plugins.trace.base.TracePlugin, stoner_measurement.plugins.trace.base.TraceStatus, stoner_measurement.plugins.trace.base._ScanPage, stoner_measurement.plugins.trace.base._ScanTabContainer

TracePlugin — abstract base class for plugins that collect (x, y) traces.

Trace plugins acquire a complete sequence of (x, y) data points from one or more instrument channels. Examples include current-voltage characteristics, frequency sweeps, and time-series captures.

All TracePlugin subclasses share a standard lifecycle API used by the sequence engine:

  1. connect() — open instrument connections and verify the instrument identity.

  2. configure() — push plugin settings to the instrument.

  3. measure() — trigger and collect the complete multipoint trace, returning all (channel, x, y) points as a list.

  4. disconnect() — cleanly release all reserved resources.

Status during these operations is reported via the status property and the status_changed signal using the TraceStatus enum.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

ArbitraryFunctionScanGenerator(*[, ...])

Scan generator that evaluates a user-defined scan(ix, omega) function.

BasePlugin()

Abstract root class shared by all measurement plugins.

BaseScanGenerator([parent])

Abstract base class for all scan generators.

FunctionScanGenerator(*[, waveform, ...])

Scan generator that produces values from a standard waveform function.

Generator()

Iterator()

ListScanGenerator(*[, stages, parent])

Scan generator that visits an explicit list of target values.

QComboBox([parent])

QFormLayout([parent])

QFrame([parent, flags])

QLabel() ))

QLineEdit()

QObject([parent])

QVBoxLayout()

QWidget([parent, flags])

RampScanGenerator(*[, start, end, ...])

Scan generator that ramps from start to end.

SteppedScanGenerator(*[, start, stages, parent])

Scan generator that builds a sequence from a series of target–step stages.

TraceData(x, y, d, e, names, str] =, units, ...)

Container for a single measurement trace with optional error bars and metadata.

TracePlugin([parent])

Abstract base class for plugins that collect (x, y) data traces.

TraceStatus(*values)

Operational status of a TracePlugin.

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

ClassVar

Special type construct to mark class variables.

TYPE_CHECKING

bool(x) -> bool

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.trace.base.TraceData, stoner_measurement.plugins.trace.base.TracePlugin, stoner_measurement.plugins.trace.base.TraceStatus

Dummy plugin — ships with the package for demonstration and testing.

The DummyPlugin computes the DC I-V characteristic of a resistively shunted Josephson junction (RSJ model). It requires no hardware and is useful as a smoke-test and worked example.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

DummyPlugin([parent])

A built-in demo plugin that generates RSJ model I-V data with optional noise.

FunctionScanGenerator(*[, waveform, ...])

Scan generator that produces values from a standard waveform function.

Generator()

QFormLayout([parent])

QLineEdit()

QWidget([parent, flags])

TracePlugin([parent])

Abstract base class for plugins that collect (x, y) data traces.

TraceStatus(*values)

Operational status of a TracePlugin.

Variables

annotations

eV

Convert a string or number to a floating-point number, if possible.

kb

Convert a string or number to a floating-point number, if possible.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.trace.dummy.DummyPlugin

State plugins

State plugin package — shared abstract base for state-scan and state-sweep plugins.

Exports StatePlugin, the common ancestor for both StateScanPlugin and StateSweepPlugin.

Classes

StatePlugin([parent])

Abstract base class shared by StateScanPlugin and StateSweepPlugin.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state.base.StatePlugin

StatePlugin — abstract common ancestor for state-scan and state-sweep plugins.

Both StateScanPlugin and StateSweepPlugin share a common set of fields and methods that are defined here once and inherited by both families:

  • iteration state (ix, value, stage, meas_flag)

  • data-collection settings and the collected DataFrame

  • collect() / clear_data() lifecycle helpers

  • instance_name_changed signal with auto-update of collect_filter

  • state_changed, state_reached, state_error progress signals

  • limits property (default: no limits)

  • abstract state_name and units properties

  • NOP instrument-lifecycle hooks (connect, configure, disconnect)

  • reported_values() helper

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

QObject([parent])

SequencePlugin()

Abstract base class for plugins that act as containers in the sequence tree.

StatePlugin([parent])

Abstract base class shared by StateScanPlugin and StateSweepPlugin.

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state.base.StatePlugin

State scan plugins

State-scan sub-package — plugins that command hardware to move to set-points.

Exports StateScanPlugin (abstract base) and CounterPlugin (built-in example implementation).

Classes

CounterPlugin([parent])

A simple counter that tracks the current scan set-point as its state.

StateScanPlugin([parent])

Abstract base class for plugins that control experimental state via discrete-step scanning.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state_scan.counter.CounterPlugin, stoner_measurement.plugins.state_scan.base.StateScanPlugin

StateScanPlugin — abstract base class for discrete-step, ramp-to-target state control.

State-scan plugins command hardware to move to a target value and report when the hardware has settled. Examples include magnet power-supplies, temperature controllers, motorised stages, and programmable voltage sources.

A StateScanPlugin is the natural “axis” driven by a BaseScanGenerator: the generator yields successive set-point values that are forwarded to ramp_to().

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

ArbitraryFunctionScanGenerator(*[, ...])

Scan generator that evaluates a user-defined scan(ix, omega) function.

BaseScanGenerator([parent])

Abstract base class for all scan generators.

Callable()

FunctionScanGenerator(*[, waveform, ...])

Scan generator that produces values from a standard waveform function.

ListScanGenerator(*[, stages, parent])

Scan generator that visits an explicit list of target values.

QComboBox([parent])

QFormLayout([parent])

QFrame([parent, flags])

QLabel() ))

QLineEdit()

QObject([parent])

QVBoxLayout()

QWidget([parent, flags])

RampScanGenerator(*[, start, end, ...])

Scan generator that ramps from start to end.

StatePlugin([parent])

Abstract base class shared by StateScanPlugin and StateSweepPlugin.

StateScanPlugin([parent])

Abstract base class for plugins that control experimental state via discrete-step scanning.

SteppedScanGenerator(*[, start, stages, parent])

Scan generator that builds a sequence from a series of target–step stages.

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

ClassVar

Special type construct to mark class variables.

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state_scan.base.StateScanPlugin

CounterPlugin — a simple example state-scan plugin that counts through a scan.

The CounterPlugin is a minimal, hardware-free implementation of StateScanPlugin. It maintains an internal integer counter whose value is set directly to each set-point supplied by the scan generator. Because the state transition is instantaneous there is no settling delay; is_at_target() always returns True.

This plugin is intended as a worked example showing how to implement a StateScanPlugin from scratch.

Classes

CounterPlugin([parent])

A simple counter that tracks the current scan set-point as its state.

StateScanPlugin([parent])

Abstract base class for plugins that control experimental state via discrete-step scanning.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state_scan.counter.CounterPlugin

State sweep plugins

State-sweep plugins.

Classes

StateSweepPlugin([parent])

Base class for plugins that run a sub-sequence inside a continuous sweep loop.

SweepTimePlugin([parent])

State-sweep plugin that sweeps elapsed time.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state_sweep.base.StateSweepPlugin, stoner_measurement.plugins.state_sweep.sweep_time.SweepTimePlugin

Base class for state-sweep plugins.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

BaseSweepGenerator(*[, state_sweep, parent])

Abstract base class for generators used by state-sweep plugins.

Callable()

MonitorAndFilterSweepGenerator(*[, rows, ...])

Set measure flags when monitored outputs change beyond configured thresholds.

MultiSegmentRampSweepGenerator(*[, start, ...])

Sweep generator that ramps through target/rate segments.

QCheckBox()

QComboBox([parent])

QFormLayout([parent])

QFrame([parent, flags])

QLabel() ))

QLineEdit()

QObject([parent])

QVBoxLayout()

QWidget([parent, flags])

StatePlugin([parent])

Abstract base class shared by StateScanPlugin and StateSweepPlugin.

StateSweepPlugin([parent])

Base class for plugins that run a sub-sequence inside a continuous sweep loop.

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

ClassVar

Special type construct to mark class variables.

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state_sweep.base.StateSweepPlugin

Time-based state-sweep plugin.

Classes

MonitorAndFilterSweepGenerator(*[, rows, ...])

Set measure flags when monitored outputs change beyond configured thresholds.

MultiSegmentRampSweepGenerator(*[, start, ...])

Sweep generator that ramps through target/rate segments.

StateSweepPlugin([parent])

Base class for plugins that run a sub-sequence inside a continuous sweep loop.

SweepTimePlugin([parent])

State-sweep plugin that sweeps elapsed time.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state_sweep.sweep_time.SweepTimePlugin

State control plugins

State-control sub-package — backward-compatibility shim.

state_control is kept as a compatibility alias for state_scan. New code should import from stoner_measurement.plugins.state_scan directly.

Exports StateScanPlugin under the legacy name StateControlPlugin, and CounterPlugin.

Classes

CounterPlugin([parent])

A simple counter that tracks the current scan set-point as its state.

StateControlPlugin

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state_scan.counter.CounterPlugin, stoner_measurement.plugins.state_scan.base.StateScanPlugin

Backward-compatibility shim — re-exports StateScanPlugin as StateControlPlugin.

New code should use stoner_measurement.plugins.state_scan directly.

Classes

StateControlPlugin

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state_scan.base.StateScanPlugin

Backward-compatibility shim — re-exports CounterPlugin from state_scan.

New code should use stoner_measurement.plugins.state_scan directly.

Classes

CounterPlugin([parent])

A simple counter that tracks the current scan set-point as its state.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.state_scan.counter.CounterPlugin

Monitor plugins

Monitor sub-package — plugins that passively record experimental state.

Exports MonitorPlugin (abstract base) from stoner_measurement.plugins.monitor.base.

Classes

MonitorPlugin([parent])

Abstract base class for plugins that passively record experimental state.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.monitor.base.MonitorPlugin

MonitorPlugin — abstract base class for passive experimental-state recorders.

Monitor plugins poll hardware at regular intervals and record auxiliary experimental quantities such as temperature, ambient pressure, elapsed time, or lock-in phase. They run independently from trace acquisition and are managed by an internal QTimer.

Classes

BasePlugin()

Abstract root class shared by all measurement plugins.

Callable()

MonitorPlugin([parent])

Abstract base class for plugins that passively record experimental state.

QObject([parent])

QTimer([parent])

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.monitor.base.MonitorPlugin

Sequence plugins

Sequence sub-package — container plugins for the measurement sequence tree.

Exports SequencePlugin (abstract base) and TopLevelSequence (concrete root container) from stoner_measurement.plugins.sequence.base.

Classes

SequencePlugin()

Abstract base class for plugins that act as containers in the sequence tree.

TopLevelSequence()

Concrete root container for the entire measurement sequence.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.sequence.base.SequencePlugin, stoner_measurement.plugins.sequence.base.TopLevelSequence

SequencePlugin — abstract base class for plugins that contain sub-sequences.

Any plugin that should be able to act as a container in the sequence tree — i.e. accept other steps nested beneath it — must inherit from SequencePlugin. StateControlPlugin uses this base class so that multi-dimensional scans can be expressed as arbitrarily deep trees.

The module also provides TopLevelSequence, a concrete non-Qt implementation that acts as the root container for the whole measurement sequence. It shares the engine namespace with all nested plugins because the SequenceEngine uses a single flat dict as the execution namespace throughout a run.

Classes

BasePlugin()

Abstract root class shared by all measurement plugins.

Callable()

SequencePlugin()

Abstract base class for plugins that act as containers in the sequence tree.

TopLevelSequence()

Concrete root container for the entire measurement sequence.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.sequence.base.SequencePlugin, stoner_measurement.plugins.sequence.base.TopLevelSequence

Transform plugins

Transform sub-package — plugins that perform data transforms or reductions.

Exports TransformPlugin (abstract base) from stoner_measurement.plugins.transform.base and concrete transform implementations.

Classes

CurveFitPlugin([parent])

Curve-fitting transform plugin using scipy.optimize.curve_fit.

TransformPlugin([parent])

Abstract base class for plugins that transform or reduce data.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.transform.curve_fit.CurveFitPlugin, stoner_measurement.plugins.transform.base.TransformPlugin

TransformPlugin — abstract base class for data-transformation plugins.

Transform plugins perform pure computation on collected data without accessing hardware. Examples include resistance calculations from (V, I) traces, background subtraction, smoothing, FFT analysis, and unit conversion.

A TransformPlugin is chained after trace acquisition: the sequence engine passes the collected data dict through the transform pipeline and stores the resulting outputs alongside the raw traces.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

BasePlugin()

Abstract root class shared by all measurement plugins.

Callable()

QFrame([parent, flags])

QObject([parent])

QVBoxLayout()

QWidget([parent, flags])

TransformPlugin([parent])

Abstract base class for plugins that transform or reduce data.

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.transform.base.TransformPlugin

CurveFitPlugin — transform plugin that fits data to a user-defined function.

Performs scipy.optimize.curve_fit on a selected data trace using a fitting function supplied as Python source code. Parameter names, bounds, and initial values are configured via the UI. Fitted parameter values and their uncertainties (sqrt of covariance matrix diagonal) are reported as plugin outputs.

Notes:

The fit-function code entered by the user is executed with Python’s built-in exec(). Only load and run configuration files from trusted sources.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

CurveFitPlugin([parent])

Curve-fitting transform plugin using scipy.optimize.curve_fit.

EditorWidget(*args, **kwargs)

Plain-text editor with Python syntax highlighting and line numbers.

QCheckBox()

QComboBox([parent])

QFormLayout([parent])

QHeaderView(orientation[, parent])

QLabel() ))

QLineEdit()

QTableWidget()

QTableWidgetItem()

QVBoxLayout()

QWidget([parent, flags])

Qt

TraceData(x, y, d, e, names, str] =, units, ...)

Container for a single measurement trace with optional error bars and metadata.

TransformPlugin([parent])

Abstract base class for plugins that transform or reduce data.

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

SEQUENCE_LOGGER_NAME

str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

TYPE_CHECKING

bool(x) -> bool

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.transform.curve_fit.CurveFitPlugin

Command plugins

Command sub-package — single-action plugins for the sequence engine.

Exports CommandPlugin (abstract base) from stoner_measurement.plugins.command.base, SaveCommand (built-in concrete implementation) from stoner_measurement.plugins.command.save, PlotTraceCommand from stoner_measurement.plugins.command.plot_trace, PlotPointsCommand from stoner_measurement.plugins.command.plot_points, PlotClearCommand from stoner_measurement.plugins.command.plot_clear, WaitCommand from stoner_measurement.plugins.command.wait, StatusCommand from stoner_measurement.plugins.command.status, AlertCommand from stoner_measurement.plugins.command.alert, and DetailsCommand from stoner_measurement.plugins.command.details.

Classes

AlertCommand([parent])

Command plugin that displays a modal alert dialog during sequence execution.

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

DetailsCommand([parent])

Command plugin that records measurement metadata in the sequence script.

PlotClearCommand([parent])

Command plugin that clears all traces from the main plot window.

PlotPointsCommand([parent])

Command plugin that appends live scatter-plot points to the main plot.

PlotTraceCommand([parent])

Command plugin that plots trace data to the main plot window.

SaveCommand([parent])

Command plugin that saves current trace or state-control data to disc.

StatusCommand([parent])

Command plugin that sends a string message to the application status bar.

WaitCommand([parent])

Command plugin that pauses sequence execution for a specified duration.

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.alert.AlertCommand, stoner_measurement.plugins.command.base.CommandPlugin, stoner_measurement.plugins.command.details.DetailsCommand, stoner_measurement.plugins.command.plot_clear.PlotClearCommand, stoner_measurement.plugins.command.plot_points.PlotPointsCommand, stoner_measurement.plugins.command.plot_trace.PlotTraceCommand, stoner_measurement.plugins.command.save.SaveCommand, stoner_measurement.plugins.command.status.StatusCommand, stoner_measurement.plugins.command.wait.WaitCommand

CommandPlugin — abstract base class for single-action sequence commands.

Command plugins execute a single action during a measurement sequence without any instrument lifecycle steps (no connect, configure, or disconnect calls). Examples include saving collected data to disc, sending trace data to a plot window, or emitting a point to a live scatter graph.

A CommandPlugin has access to the full sequence engine namespace (including all registered plugin instances and numpy functions) but produces no output data of its own.

Unlike the instrument-oriented plugin sub-types, command plugins do not require a scan generator and are always leaf nodes in the sequence tree.

Concrete implementations must subclass CommandPlugin and implement execute(). The SaveCommand class provided in stoner_measurement.plugins.command.save serves as a worked example.

Classes

BasePlugin()

Abstract root class shared by all measurement plugins.

Callable()

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

QFrame([parent, flags])

QObject([parent])

QVBoxLayout()

QWidget([parent, flags])

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.base.CommandPlugin

AlertCommand — built-in command plugin for displaying an alert dialog.

AlertCommand is a concrete CommandPlugin that evaluates a Python expression to obtain a message string and then displays a modal QMessageBox with an OK button in the main thread, blocking sequence execution until the user dismisses it.

Classes

AlertCommand([parent])

Command plugin that displays a modal alert dialog during sequence execution.

Any(*args, **kwargs)

Special type indicating an unconstrained type.

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

QFormLayout([parent])

QLabel() ))

QLineEdit()

QMessageBox()

QWidget([parent, flags])

Qt

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.alert.AlertCommand

DetailsCommand — built-in command plugin for recording measurement metadata.

DetailsCommand is a concrete CommandPlugin that stores metadata about a measurement run (operator, sample, project, and free-form notes). Rather than emitting a {instance_name}() call, the generated sequence code consists of attribute-assignment statements that attach the configured values directly to the plugin instance in the engine namespace, making them accessible to downstream sequence steps and data-saving plugins.

The project combo box is pre-populated with the top-level subdirectories of the application default data directory, as configured in the application settings (app/default_data_directory). Falls back to the user’s home directory if no setting has been saved yet.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

Callable()

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

DetailsCommand([parent])

Command plugin that records measurement metadata in the sequence script.

Path(*args, **kwargs)

PurePath subclass that can make system calls.

QComboBox([parent])

QFormLayout([parent])

QLineEdit()

QPlainTextEdit()

QWidget([parent, flags])

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.details.DetailsCommand

PlotClearCommand — built-in command plugin that clears all plot traces.

PlotClearCommand is a concrete CommandPlugin that removes all currently displayed traces from the main plot window by emitting a plot_clear signal connected to clear_all().

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

PlotClearCommand([parent])

Command plugin that clears all traces from the main plot window.

QLabel() ))

QWidget([parent, flags])

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

TYPE_CHECKING

bool(x) -> bool

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.plot_clear.PlotClearCommand

PlotPointsCommand — built-in command plugin for live scatter-plot updates.

PlotPointsCommand is a concrete CommandPlugin that appends a single (x, y) data point to one or more named plot traces each time it is executed. This is intended for use inside a state-control loop to provide a live view of measured data points as a function of a swept parameter.

The x value is taken from a single entry in the sequence engine’s _values catalogue and any number of y values may be added, each mapped to a separately named plot trace. Each y series may be given a custom label (which becomes the trace name in the plot legend), a y-axis name to control which axis the series is plotted against, and a default label is derived from the value’s human-readable name and units.

If a y-axis name that does not yet exist on the plot widget is specified for a series, it is created automatically (on the right-hand side) when execute() runs.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

PlotPointsCommand([parent])

Command plugin that appends live scatter-plot points to the main plot.

QComboBox([parent])

QFormLayout([parent])

QGridLayout([parent])

QLabel() ))

QLineEdit()

QPushButton()

QScrollArea([parent])

QSizePolicy()

QWidget([parent, flags])

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

TYPE_CHECKING

bool(x) -> bool

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.plot_points.PlotPointsCommand

PlotTraceCommand — built-in command plugin for plotting trace data.

PlotTraceCommand is a concrete CommandPlugin that retrieves trace data from the sequence engine namespace and sends it to the main plot window via a Qt signal.

Two operating modes are supported:

  • Simple mode — the user selects a single named trace from the sequence’s trace catalogue. Both axes are taken from the TraceData object that the expression in the catalogue evaluates to.

  • Advanced mode — the user independently selects the x data, y data, and plot title using Python expressions. The expressions are evaluated against the live engine namespace via eval(), allowing data from different trace channels to be mixed on a single plot.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

PlotTraceCommand([parent])

Command plugin that plots trace data to the main plot window.

QCheckBox()

QComboBox([parent])

QFormLayout([parent])

QLabel() ))

QLineEdit()

QWidget([parent, flags])

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

TYPE_CHECKING

bool(x) -> bool

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.plot_trace.PlotTraceCommand

SaveCommand — built-in command plugin for writing data to disc.

SaveCommand is a concrete CommandPlugin that evaluates a Python expression to obtain a file path and then writes data to a TDI Format 2.0 tab-delimited text file. Two save modes are supported:

  • Traces — writes all (or a selected subset of) trace channels from the _traces catalogue in the sequence engine namespace.

  • Data — writes the accumulated DataFrame from a named StatePlugin instance (either a state-scan or state-sweep plugin).

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

QCheckBox()

QComboBox([parent])

QFileDialog()

QFormLayout([parent])

QHBoxLayout()

QLabel() ))

QLineEdit()

QPushButton()

QScrollArea([parent])

QVBoxLayout()

QWidget([parent, flags])

SaveCommand([parent])

Command plugin that saves current trace or state-control data to disc.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.save.SaveCommand

StatusCommand — built-in command plugin for updating the application status bar.

StatusCommand is a concrete CommandPlugin that evaluates a Python expression to obtain a status string and emits it to the sequence engine’s status_changed signal, which is wired to the application status bar.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

QFormLayout([parent])

QLabel() ))

QLineEdit()

QWidget([parent, flags])

StatusCommand([parent])

Command plugin that sends a string message to the application status bar.

pyqtSignal(*types[, name, revision, arguments])

types is normally a sequence of individual types.

Variables

TYPE_CHECKING

bool(x) -> bool

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.status.StatusCommand

WaitCommand — built-in command plugin for pausing sequence execution.

WaitCommand is a concrete CommandPlugin that evaluates a Python expression to obtain a delay in seconds and then sleeps the sequence execution for that duration.

Classes

Any(*args, **kwargs)

Special type indicating an unconstrained type.

CommandPlugin([parent])

Abstract base class for sequence-engine command plugins.

QFormLayout([parent])

QLabel() ))

QLineEdit()

QWidget([parent, flags])

WaitCommand([parent])

Command plugin that pauses sequence execution for a specified duration.

Variables

annotations

Class Inheritance Diagram

Inheritance diagram of stoner_measurement.plugins.command.wait.WaitCommand