The Optical Networking and Communication
Conference & Exhibition

San Diego Convention Center,
San Diego, California, USA

Short Courses

SC469 - Laboratory Automation and Control using Python New

Monday, 04 March
13:30 - 17:30

Short Course Level: Beginner


Jochen Schröder, Chalmers University of Technology, Sweden
Nicolas Fontaine, Nokia Bell Labs, USA
Binbin Guan, Acacia Communications, USA

Short Course Description:

Laboratory work is most efficient when data is acquired through automation which eliminates  human error and allows researchers to concentrate on the fun parts of experimental work. However, often when starting experiments at in a photonics lab, it is difficult to balance the desire to quickly produce results with sustainable experimental lab automation.  Moreover, the increasingly sophisticated nature of photonics experiments in particular in optical communication, where it is not uncommon to have to measure the performance of 10s to 100s of channels, make lab automation crucial for streamlining data acquisition and running successful experiments. However,  there is surprisingly little guidance for students starting in photonics on how to automate their lab and what tools to use. 
This course aims to provide participants with the tools and knowledge to create sustainable automation of their experiments using the Python programming language. Python is a powerful, easy to learn open source language which is ideal for achieving lab automation needs and offers as much or more features/interoperability for lab automation as alternative commercial software. It is used extensively in commercial contexts for applications ranging from web development to network programming. In recent years it has become increasingly popular for scientific and numerical applications and has become the de-facto language of choice for many big-data applications.

Short Course Benefits:

This course will teach participants to:

  • Install all required Python packages to their computer.

  • Write basic programs using the most common scientific packages.

  • Apply programming practices such as version control and documentation.

  • Communicate with GPIB and USB devices to automate data acquisition.

  • Learn how to efficiently store small or large amounts of data.

  • Write scripts to post process and plot results.

  • Use the Jupyter notebook as a tool for analysis, data visualization, and documentation.

  • Write object-oriented instrument drivers.

  • Write a simple user interface that can run in the browser.

  • Use automated testing to check correct code functionality and avoid regressions.  

  • Apply programming practices such as version control and documentation.

Short Course Audience:

This beginner course is intended for newcomers to lab automation such as students or early career researchers as well as more experienced programmers who use Matlab or Labview, but want to switch to Python or learn about how to put their lab automation onto a more sustainable basis. Some basic programming knowledge is expected, however no prior python knowledge is required.

Instructor Biography:

Jochen Schröder is a tenured Senior Researcher at Chalmers University of Technology in Gothenburg Sweden. He has worked for more than 10 years in fiber optics and optical communication and has used Python for his lab automation, simulation and analysis since the beginning of his PhD. Together with Nicolas Fontaine and Binbin Guan, he started the Labautomation Hackathons at OFC and ECOC to bring together researchers and students and share experience and knowledge on using Python for your programming.
Nicolas K. Fontaine is currently a Distinguished Member of the Technical Staff at Nokia Bell Labs. His main research interests are in space-division multiplexed transmission systems and components, wavelength selective switches and crossconnects, and spectral slice arbitrary waveform synthesis and measurement. He is a Python user, fan and advocate and his SDM experiments would not be possible without Python lab automation.
Binbin Guan is a Photonic Integrated Circuit (PIC) optical engineer at Acacia Communications, Inc. He received Ph.D. degree in electrical and computer engineering at the University of California, Davis, USA, and B.S. degree in optics engineering from Zhejiang University. His current research interest includes silicon photonics, coherent optics and digital signal processing. He has been using python for research simulation, signal processing and lab automation since 2012

Sponsored by: