This Python package is responsible for the control of the Pharos Setup at Utrecht University. Following the architecture of other projects developed in the lab, the Pharos controller also has Controllers, Models and Views.
Moreover, the experiment relies on a dedicated class, able to handle the logic of the experiment, detaching it from the GUI as much as possible. In this way it is easy to know where to add new features, alter the logic of the experiment, etc.
The Pharos setup relies on a Santec laser able to scan wavelengths at variable ranges and speeds; the design of the software was therefore planned around the laser. Each scan will have as a principal axis the wavelength, while a secondary axis can be time or any property of another device.
The documentation of this software can be built using Sphinx, or can be found online at
https://pharos-controller.readthedocs.io/en/latest/
- Monitor N-Signals while the laser is scanning
- Monitor the signals also when doing a 2-way scan
- Save the data to the desired folder
- Build a non-GUI alternative allowing the repetition of experiments
- Perform N-dimensional scans while aquiring M-different signals
- Monitor the signals while being recorded within a GUI.
- Split the program into the non-GUI and the GUI specific for Pharos.