/MiniPTI

A highly configurable high performance GUI for Interferometry, PTI, Lasers and TECs written in pure Python.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

MiniPTI-GUI

logo

In this repository a GUI is provided to control the MiniPTI as also presented in Waveguide based passively demodulated photothermal interferometer for light absorption measurements of trace substances. In addition to the GUI, Python implementations of the presented algorithms and the driver software for the MiniPTI hardware are also provided as libraries.

The library and GUI are tested for Ubuntu 22.04 LTS, Windows 10, Windows 11 and Raspberry Pi OS.

If hardware access is needed (i.e. serial ports) it works only on Windows and Unix.

1. Installation

** Warning ** PIP is still not up to date, use GitHub only.

To install the library + GUI you can use the pip package manager. Just type in the console

pip install minipti

2. The GUI

The GUI is designed to be highly configurable. In minipti/gui/configs you will find is a configs folder from which the desired functionality can be selected. Bloew are shown some example configurations.

2.1 Interfereomtry GUI

In the interferometry GUI, only DC signals and interferometric phase are shown in the home tab. While pressing "run" the probe laser (if existing) and motherboard are running.

The GUI supports dark mode

interferometry

and detect as well a theme detection of the OS to light theme.

interferometry_light

2.2 PTI GUI

In the PTI GUI (used for the Passepartout project), DC signals, interferometric phase and PTI Signal are displayed only on the home tab. While pressing "run" the probe laser (if existing), pump laser and motherboard are running.

pti

2.3 Probe Laser GUI

It is possible to use the GUI to controll a custom build probe laser driver together with a custom build tec driver of the FHNW. An example GUI is shown (configured such, that only Probe Laser relevant features are their) below.

Laser Driver

probe_laser_driver

Tec Driver

probe_tec_driver

2.4 Pump Laser GUI

It is also possible to use the GUI with the pump laser only if proberly configured. Note that the Pump Laser is moduldated with 80 Hz, but the transmitted values of current are average on the driver.

pump_tec_driver

3. Libraries

3.1 Algorithm

The subpackage Algorithm contains the implementation of the algorithms and can be divided into the subpackages interferometry and pti. interferometry contains the algorithms for the interferometric phase and characterisation of the interferometer. pti contains the algorithms for decimation and PTI inversion.

It is also possible to use only the interferometer subpackage without having to install dependencies for the other packages.

3.1.1 Interferometry

interferometry contains the classes interferometer and characterisation. Examples of usage can be found under examples/interferometer.py and examples/characterisation.py.

3.1.2 PTI

pti contains the classes decimation inversion. Example calls can be found under examples/pti_inversion.py

3.2 Hardware

Hardware contains the classes to control the motherboard (DAQ + BMS), laser (Probe and Pump Laser) and TEC driver as well as the valve control.

4. Sources of Ressources

For the GUI some external public licence pictures were used which are listed below:

4.1 Gear Icon for Settings

https://freesvg.org/qubodup-cog-cogwheel-gear-zahnrad

4.2 Utilities Iccon

Budget icons created by Freepik - Flaticon

4.3 Play Icon for run

https://iconspng.com/image/138798/play-blue-button

4.4 USB icon for connect

https://publicdomainvectors.org/en/free-clipart/International-symbol-for-USB-vector-clip-art/20833.html

4.5 Laser warning icon

https://publicdomainvectors.org/de/kostenlose-vektorgrafiken/Vektor-Bild-der-dreieckigen-Laser-Strahl-Warnschild/17874.html

4.6 Shutdown Icon

https://commons.wikimedia.org/wiki/File:Breathe-system-shutdown.svg

4.7 Stop Icon

https://iconspng.com/image/5801/windows-media-player-pause-button

4.8 Directory Icon

https://commons.wikimedia.org/wiki/File:Blue_folder_seth_yastrov_01.svg

4.9 Valve Icon

https://www.svgrepo.com/svg/203212/gas-pipe-valve

4.10 Battery Symbols

https://commons.wikimedia.org/wiki/File:Batteries-1379208.svg

4.11 Battery Charging Flash

https://commons.wikimedia.org/wiki/File:Antu_battery-charging-060.svg