Days 2-4 Hands-on Sessions
Tuesday, 8 July 2025¶
9:00am – 9:30am Welcome words and Introduction
Viktoriia Rutckaia and Diana Strickland
9:30am – 12:30pm Morning session 1: Controlling optical elements with Python
INSTRUCTOR: DR. MARIO MARQUES
The morning begins with a concise introduction to object-oriented Python—showing how to package commands and data into clean, reusable “objects.” Participants practice by turning a short procedural script into a self-contained class, creating a generic template for hardware control and adapting it to different devices, then wrapping settings and results into an experiment object that can scan a variable, plot the outcome, and save everything to a file. By lunchtime everyone will have run a simple automated measurement and stored the data.
12:30pm – 2:00pm Lunch, tours
2:00pm – 5:00pm Afternoon session 1: Graphical user interface and coding architecture
INSTRUCTOR: DR. ROMAIN TIROLE
Building on the morning’s classes, the afternoon shifts to user interfaces. After a quick tour of PyQt Designer, attendees create a widget for their motorized stage, then wire it to the underlying Stage class using Model-View-Controller principles. Next, they add real-time plotting by connecting signals and slots to a power-meter class, yielding a live-acquisition dashboard.
Wednesday, 9 July 2025¶
9:00am – 10:00am Morning Session 2: Setting up your GitHub repository; Reviewing libraries and classes
INSTRUCTOR: AYISHA YANKEY
10:00am – 12:30pm Independent study and working on the projects.
12:30pm – 1:30pm Lunch
1:30pm – 3:00pm Afternoon session 2: Introduction in LabVIEW, Z-scan demo
INSTRUCTOR: DR. EVROS MICHAIL
In this hands-on demonstration, a simple LabVIEW example is showcased that implements real-time code to control a translating moving stage along a focused laser beam. A thin film sample is placed on the stage, which moves precisely while simultaneously measuring the optical transmission through a photodiode positioned after the sample. The code will be written from scratch live, with opportunities for participants to modify parameters themselves, fostering an interactive learning experience. This setup provides a quick demonstration inspired by the principles of a Z-scan optical measurement system, where transmission is measured at different incident energy fluences.
3:00pm – 5:00pm Independent study and working on the projects.
Thursday, 10 July 2025¶
9:00am – 12:30pm Morning session 3: Python Control for ultrafast lasers, Data Visualization with Python
INSTRUCTOR: KAMYAR RASHIDI
In this session I will discuss how to control hardware for ultrafast spectroscopy using Python. We will learn how to interface and control various components in an optical setup, such as the laser, delay stage, optical rotation components, as well as the sampling and detection systems. Additionally, we will review methods for data collection and analysis, providing a comprehensive understanding of how to manage both the hardware and the data throughout the spectroscopy process.
12:30pm – 2:00pm Lunch, project presentations, group picture.
2:00pm – 4:30pm Afternoon session 3: Python control & data acquisition with the Rigol DP832
INSTRUCTOR: DR. ARASH NEMATI
In this hands-on session we will explore how to automate laboratory hardware using Python and the PyVISA library, featuring the Rigol DP832 programmable power supply as our primary example. We will walk through each step of connecting to and querying the device, configuring voltage/current setpoints, and performing controlled sweeps to characterize system behavior (e.g., voltage or current sweeps). By running live demonstrations of Python scripts, participants will observe how to capture real-time data—such as measured voltages and currents—and generate plots for analysis and reporting. We will also discuss important safety and equipment-protection measures, including setting appropriate voltage/current limits, managing output channels, and verifying signal integrity. By the end of this workshop, attendees will have practical experience in Python-based instrumentation control, data visualization (Matplotlib), and essential troubleshooting strategies for research settings.
4:30pm – 5:00pm Concluding remarks