Experiment helpers

Optical-tweezer alignment and stray-field compensation: a toolkit for automated calibration and optimisation.

Overview

Quatm wraps routine experiment calibration tasks as alignment/helper tools. The modules live in quatm/GUI/alignment/, together with a number of standalone entry-point widgets, and provide one-click runs and automatic optimisation.


ODT alignment helper — OdtAlignmentHelper

quatm/GUI/alignment/odt_helper.py — builds a single-axis control block for each piezo mirror axis of xODT/cODT, and provides overall run/terminate together with compensation voltage and BA laser parameter settings. The complete alignment sequence for each axis is: full-range scan with the laser off → fine scan near the ion → publish the fit result → move to the target position.

from quatm.GUI.alignment.odt_helper import OdtAlignmentHelper

helper = OdtAlignmentHelper(parent=parent)
helper.run_all()   # run the full alignment sequence (thread pool keeps axes sequential)
helper.terminate_all()   # safely stop all axes

Stray-field compensation — CompensationHelper

quatm/GUI/alignment/comp_helper.py — obtains the compensation voltage from a voltage scan along each trap axis as the intersection of two fitted lines, minimising the stray field automatically.

ComponentDescription
PlotWidgetPlot widget with one tab per trap axis
ControlWidgetControl area for each axis plus a shared parameter area
SingleAxisWidgetScan parameters and “find compensation voltage” (intersection of the two fit lines)
CompVoltageScanPerforms the voltage scan at the high and low rf confinement
from quatm.GUI.alignment.comp_helper import CompensationHelper

comp = CompensationHelper(parent=parent)

Piezo mirror control — PiezoMirrorControl

quatm/GUI/entries/piezo_mirror_controler.py — a simple panel that steers the direction of the mirror driven by a linear actuator using arrow keys/buttons; W/A/S/D correspond to up/left/down/right.

from quatm.GUI.entries.piezo_mirror_controler import PiezoMirrorControl

mirror = PiezoMirrorControl()   # standalone window; control with WASD or the arrow keys
mirror.show()