Skip to content

N-dimensional scans for ARTIQ

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
LICENSE
GPL-3.0
LICENSE.GPL-3
Notifications You must be signed in to change notification settings

pmldrmota/ndscan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ndscan

Documentation

This is a framework for composing complex experiments from modular building blocks in the ARTIQ laboratory control system, with particular support for flexible n-dimensional scans.

ndscan was originally developed by David Nadlinger for use in the Oxford Ion Trap Quantum Computing Group, but is expected to be useful in any laboratory environment where complex experiments are actively built and debugged.

ndscan is currently largely undocumented pre-alpha software. While it is in active use within the Ion Trap Quantum Computing group, tread carefully for now.

Getting started

To get started with ndscan, first prepare a Python 3.5+ environment with ARTIQ as usual (Conda or some form of virtualenv is recommended). While the intention is for ndscan to be a pure add-on to ARTIQ, some required patches have not made their way into the official (m-labs) upstream repository yet. For now, use the ion-trap/master branch; if you are an external user, you can find the necessary commits at dnadlinger/artiq@ndscan.

Once your environment is set up, install this package. For example, to use ndscan directly from the Git checkout:

(artiq) $ python setup.py develop

If you haven't already, also install the oitg package.

You are then ready to run the sample experiments. Start the ARITQ master process as usual

(artiq) $ artiq_master

and launch the dashboard with the ndscan plugin loaded

(artiq) $ artiq_dashboard -p ndscan.dashboard_plugin

Now, navigate to the examples/sim_rabi_flop.py file in the experiment explorer, and you should be able to play around with the scan interface. (Applets are created automatically; you might want to set the CCB mode to "Create and enable/disable applets" in the applets dock.)

Developer notes

  • Format all code using YAPF, and make sure flake8 ndscan passes. Configuration files for both are included, and are picked up automatically. It is just not worth spending time to obsess or argue about formatting details.

  • Unit tests are run using python -m unittest -v discover test.

  • conda contains a very rudimentary Conda package definition for integration with the continuous integration pipeline internal to the Ion Trap Quantum Computing group. The package is not currently published on a public Conda channel, and likely won't ever be.

About

N-dimensional scans for ARTIQ

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
LICENSE
GPL-3.0
LICENSE.GPL-3

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%