Displays several localized patches for each region of interest (ROI) from the localization server.
This program has two components...
- Flask Server
- Receives API call from localization server (idx, Q, R, q, r)
- Stores and Serves localization results to PYQT5 GUI
- PYQT5 GUI
- Communicates with Flask server
- Retrieve and display localization results
- Run app.py (Flask Server)
- Change the host as required.
- Ensure localization server can reach the app route host/visualize
- See sendquery.py for sample request
- Run gui.py (PYQT5 GUI)
- Make sure to enter the correct host of the Flask server.
- Select the number of ROI windows to open.
- Press 'LAUNCH'. Please note that you will not be able to press launch again without first pressing 'RESET', which will close all windows
The ROI number corresponds to the idx from Localization Server which we assume are Natural Numbers (i.e., 1, 2, 3 ...)
Pressing the RESET button on the ROI screen will blank the currently displayed ROIs. Below is the result of pressing RESET in ROI: 1 screen...
- app.py utilizes a very crude database for storing images from the localization server.
- images are stored as PIL Image objects, where the latest is retrieved but previous images are not erased. This can lead to memory issues if app.py is running for an extended period of time.
- PYQT5 GUI periodically checks for new images from Flask server.
- There should be some kind of trigger that can be used.
- The ROI screen only has room for 3 pairs of images.
- There should be a way to add scroll functionality.
- Checking the aspect ratio would be good.
- Also zoom on hover should also be implemented.


