LISE-B26 / pylabcontrol

pylabcontrol: Laboratory Equipment Control for Scientific Experiments.
GNU General Public License v3.0
9 stars 9 forks source link

pylabcontrol

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.

Getting Started

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.

Installation

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.

Via pip (Beginner)

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.

Via git (Intermediate/Advanced)

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.

Getting to know the GUI: Basics

The loaded gui should look like the one below (except that there will be no scripts and the plots will be blank):

pylabcontrol GUI

Brief GUI walkthrough

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.

Creating script and instrument files

For a tutorial on how to create your own instruments and scripts, visit the documentation page.

Importing Scripts

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: Load dialog 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.

Importing Instruments

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.

.b26 files

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/).

b26_toolkit

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 .

FAQ

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.

Funding

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.

Marie Skłodowska-Curie Action