pylabcontrol is a software environment to control scientific equipment for laboratory experiments.
It
pylabcontrol is built on python 3.6, with extensive use of PyQt5 for the general user interface. It was built by Arthur Safira, Jan Gieseler, and Aaron Kabcenell in the Lukin Group at Harvard University. It is distributed under the GPLv3 license. For more information, see the LICENSE.txt file.
The software was developed and tested with python 3.6 on 64-bit Windows 7. Prior to installation, install the latest Anaconda distribution for python version 3.6, as it contains some extra dependencies this project utilizes. You can find the latest Anaconda distribution here.
There are two main ways to install pylabcontrol: via pip, the python package manager, or directly from the source via github. The former is easier, while the latter gives more explicit access to the source code.
The simplest way to install pylabcontrol is with the command-line utility pip. To install simply issue the command
>>> pip install pylabcontrol
in the windows command-line interface. To run the gui, open commandline and run
>>> pylabcontrol
Before the gui runs, you will be prompted to select a path to save gui configuration files.
If you are interested in hosting the source code more directly, you can clone from our git page:
>>> git clone https://github.com/LISE-B26/pylabcontrol.git
You should have the resulting directory on your local filesystem. If you are using PyCharm for development, it is recommended that you
To launch the gui, simply run the file pylabcontrol\pylabcontrol\gui\launch_gui.py . Before the gui runs, you will be prompted to select a path to save gui configuration files.
The loaded gui should look like the one below (except that there will be no scripts and the plots will be blank):
The GUI is made up of three main areas, labelled in the above screenshot.
To see these in action, we need to import an instrument and/or script.
For a tutorial on how to create your own instruments and scripts, visit the documentation page.
No scripts will be in the GUI the first time it is launched; scripts will have to separately be loaded in. A few dummy scripts are provided to better understand the interaction model with the GUI.
Navigate to the 'Scripts' tab in the top left of the GUI, and press "Import Scripts". The following dialog should show:
Find the .b26 file you created, and be sure to the click and drag the Dummy Script to the left pane. Press Ok, and the script should be shown in the GUI.
The script loading dialog also allows you to create "iterator" scripts, i.e., basic loops over preexisting scripts. You can find more about iterator scripts here.
No instruments will be in the GUI the first time it is launched; instruments will have to separately be loaded in.
Navigate to the 'Instruments' tab in the top left of the GUI, and press "Import Instruments". Find the .b26 file you created, and be sure to the click and drag the Dummy Instrument to the left pane. Press Ok, and the instrument should be shown in the GUI.
Settings and configurations are saved in json files with .b26 extension. Since these files can become quite large for complex scripts, we recommend a json viewer to look at them (e.g. https://jsonviewer.codeplex.com/).
This software was created to streamline experiments done in the Lukin Lab; the instruments and scripts utilized there can be imported into pylabcontrol by installing b26_toolkit. More information can be found here: https://github.com/LISE-B26/b26_toolkit .
While only extensively tested on 64-bit Windows 7, we expect the GUI to work on other versions of windows, LINUX, and Mac OSX. However, we do not officially support other platforms.
Feel free to create an issue on the issue tracker if you find any bugs, or contact the authors directly.
pylabcontrol has been partially funded by the European Union (H2020-MSCA-IF-2014 under REA grant Agreement No. 655369), and by the Department of Defense (DoD) through teh National Defense Science and Engineering Graduate Fellowship (NDSEG) Program.