Software
The software consists of several parts which provide a user interface and manage the connection to the hardware.
Different components of the software:
- GUI : with the graphical interface the user can take images and time lapse of the chips in the device. The software is written in C++. It makes use of the Qt-Library[http://qt-project.org/] to provide a clear interface and a comfortable way to manage various software aspects such as handling images and establishing network connections. An advantage resulting from the utilization of Qt-Library is the multi-platform support for Windows, MacOS and Linux. Additionally Qt is available with an Open-source license which can be used for free. The software can be used locally on the Raspberry Pi or remotely from a device in the same network.
- Features:
- change settings:
- the user can specify the iso-value and the shutter speed of the camera
- custom settings can be labeled and saved for future usage
- existing settings can be updated or deleted unless they are no default configurations
- the excitation of the LEDs for GFP(480nm) and iLOV(450nm) can be selected
- take image/s:
- the GUI offers two possibilities to take images:
- take single image with the active camera setting
- take time lapse shootings with the active camera settings and the specified interval. When activated the images are saved automatically to a user defined directory with ascending filenames
- the last image which was taken by the camera is shown in the GUI, information containing the timestamp and used camera settings are displayed next to the image. Previous images can be selected with the arrow buttons.
- analyse image
- the image is analysed by an image segmentation algorithm and shows whether the pathogen Pseudomonas aeruginosa is present on the chip or not
- Backend: The backend is a software that runs on the Raspberry Pi and is responsible for the connection between the GUI and the hardware. If the user interface is executed on another device e.g. a notebook it has to be in the same network as the Raspberry Pi. The backend works like a webserver that receives commands and acts corresponding to the submitted parameters. It can take images and returns them to the GUI.
Before an image is taken the backend turns on the specified LEDs by sending a command to the connected Arduino board. Afterwards the LEDs are turned off using the same mechanism. These steps are repeated in the given interval for a time lapse shooting.
|