SC487 - Hands-On: Laboratory Automation and Control using Python (Advanced)
Monday, 09 March
08:30 - 12:30
Short Course Level: Advanced
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.
This is the advanced part of the course which assumes experience with Python and the scientific modules (Numpy, Scipy, Matplotlib). Unless you have prior knowledge on Python or significant programming experience with other languages we recommend to join the beginners part first.
Short Course Benefits:
This course will teach participants to:
- Communicate with GPIB and USB devices to automate data acquisition, using our EXFO demo equipment.
- Write object-oriented instrument driver interfaces
- Write user interface that can run standalone or in the browser.
- Use automated testing to check correct code functionality and avoid regressions.
- Use advanced concepts such as decorators to write code that is easier to maintain
- Interface with C-libraries
- Apply programming practices such as version control and documentation.
Short Course Audience:
This advanced course is intended for researchers who are comfortable programming and have some experience with Python and want to learn how to put their lab automation onto a more sustainable basis. Unless you feel very comfortable programming you should really have some prior Python knowledge.
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.