We present the labscript suite, an open-source experiment control system for automating shot-based experiments and their analysis. Experiments are composed as Python code, which is used to produce low-level hardware instructions. They are queued up and executed on the hardware in real time, synchronized by a pseudoclock. Experiment parameters are manipulated graphically, and analysis routines are run as new data are acquired. With this system, we can easily automate exploration of parameter spaces, including closed-loop optimization.

1.
See, e.g.,
M.
Weidemüller
and
C.
Zimmermann
,
Cold Atoms and Molecules
(
Wiley
,
2009
), and references within.
2.
See, e.g.,
N.
Robins
,
P.
Altin
,
J.
Debs
, and
J.
Close
, “
Atom lasers: Production, properties and prospects for precision inertial measurement
,”
Phys. Rep.
529
,
265
(
2013
);
A. D.
Cronin
,
J.
Schmiedmayer
, and
D. E.
Pritchard
,
Rev. Mod. Phys.
81
,
1051
(
2009
), and references within.
3.
See, e.g.,
A.
Negretti
,
P.
Treutlein
, and
T.
Calarco
,
Quantum Inf. Process.
10
,
721
(
2011
);
T. D.
Ladd
,
F.
Jelezko
,
R.
Laflamme
,
Y.
Nakamura
,
C.
Monroe
, and
J. L.
O’Brien
,
Nature (London)
464
,
45
(
2010
), and references within.
4.
See, e.g.,
I.
Bloch
,
J.
Dalibard
, and
S.
Nascimbène
,
Nat. Phys.
8
,
267
(
2012
);
R.
Blatt
and
C. F.
Roos
,
Nat. Phys.
8
,
277
(
2012
), and references within.
5.
G.
Varoquaux
,
Comput. Sci. Eng.
10
,
55
(
2008
).
6.
P. E.
Gaskell
,
J. J.
Thorn
,
S.
Alba
, and
D. A.
Steck
,
Rev. Sci. Instrum.
80
,
115103
(
2009
).
7.
R. P.
Anderson
, Ph.D. thesis,
Swinburne University of Technology
,
2010
.
8.
M.
Beeler
, Ph.D. thesis,
University of Maryland
,
2011
.
9.
P. A.
Altin
, Ph.D. thesis,
Australian National University
,
2012
.
10.
T.
Stöferle
, Ph.D. thesis,
Swiss Federal Institute of Technology
,
2005
.
11.
A.
Keshet
and
W.
Ketterle
,
Rev. Sci. Instrum.
84
,
015105
(
2013
).
12.
S. F.
Owen
and
D. S.
Hall
,
Rev. Sci. Instrum.
75
,
259
(
2004
).
13.
T.
Meyrath
and
F.
Schreck
, “
A laboratory control system for cold atom experiments
,” see http://www.strontiumbec.com/indexControl.html (
2012
).
14.
P.
Hintjens
,
Code Connected Volume 1: Learning ZeroMQ
(
CreateSpace Independent Publishing Platform
,
2013
); see also “
ØMQ: the intelligent transport layer
,” http://www.zeromq.org/.
15.
The HDF Group. Hierarchical data format version 5, 2000-2010. http://www.hdfgroup.org/HDF5.
16.
IEEE Standard Codes, Formats, Protocols, and Common Commands for Use With IEEE Std 488.1-1987, IEEE Standard Digital Interface for Programmable Instrumentation
,” IEEE Std 488.2-1992.
17.
G.
van Rossum
 et al, “
Python programming language v2.7
,” see http://docs.python.org/2.7/ (
2010
).
18.
J. M.
Hughes
,
Real World Instrumentation with Python: Automated Data Acquisition and Control Systems
(
O’Reilly Media, Inc.
,
2010
).
19.
The source code for turning a ChipKIT Max32 into a PineBlaster is available at http://hardware.labscriptsuite.org/.
20.
In our lab, a typical hardware set for running this experiment would be a SpinCore PulseBlaster DDS-II-300-AWG as a pseudoclock, along with a Novatech DDS9m, National Instruments PCIe6363 and PCI6733 boards and a Photonfocus MV1-D1312(I) camera.
21.
A.
Barth
,
C.
Jackson
,
C.
Reis
, and
The Google Chrome Team
, “
The security architecture of the chromium browser
,” Technical Report, Stanford Security Laboratory, 2008, available at http://seclab.stanford.edu/websec/chromium. See http://youtu.be/29e0CtgXZSI for more information.
22.
W.
McKinney
, “
pandas: a Python data analysis library
,” see http://pandas.pydata.org/.
23.
T.
Oliphant
, “
NumPy: numerical Python
,” see http://www.numpy.org/.
24.
E.
Jones
,
T.
Oliphant
,
P.
Peterson
 et al, “
SciPy: open source scientific tools for Python
,” see http://www.scipy.org/ (
2001
).
25.
J.
Hunter
,
Comput. Sci. Eng.
9
,
90
(
2007
); see also “matplotlib: Python plotting,” http://matplotlib.org/.
26.
W.
McKinney
,
Python for Data Analysis
(
O’Reilly Media, Inc.
,
2012
).
27.
T.
Bäck
and
H.-P.
Schwefel
,
Evol. Comput.
1
,
1
23
(
1993
).
28.
See supplementary material at http://dx.doi.org/10.1063/1.4817213 for implementation details of the genetic algorithm used by mise.
29.
A.
Berry
and
P.
Vamplew
, “
PoD Can Mutate: A Simple Dynamic Directed Mutation Approach for Genetic Algorithms
,” in
AISAT2004: International Conference on Artificial Intelligence in Science and Technology
, 21–25 November 2004, Hobart, Tasmania, Australia.
30.
HDF bindings include C/C++, MATLAB, Python, LabVIEW and Mathematica. ZeroMQ support includes C/C++, Python, LabVIEW, Java and many more. See http://www.hdfgroup.org/products/hdf5_tools/ and http://www.zeromq.org/bindings:_start/ for more complete lists.
31.
BLACS communicates with hardware devices through user-written interface code. Devices communicating over standard buses (RS232, USB, Ethernet) are easily interfaced using standard Python libraries for these buses. Devices with proprietary interfaces can be programmed by calls to vendor-supplied libraries through Python's sophisticated foreign-function interface.
32.
L. M.
Bennie
,
P. T.
Starkey
,
M.
Jasperse
,
C. J.
Billington
,
R. P.
Anderson
, and
L. D.
Turner
,
Opt. Express
21
,
9011
(
2013
).
33.
The labscript suite: an open source experiment control and analysis system
,” see http://labscriptsuite.org/.

Supplementary Material

You do not currently have access to this content.