harvesters_gui
is excellent for demonstration purposes and should remain as it is.
However it should be possible to use harvesters_gui
this way:
- Create own user interface using qt designer.
- Reuse the components in
harvesters_gui
- The widget which shows the image (previously
canvas.py
, nowqtimageviewer.py
) - Property tree view.
- The bridge between harvestes and QT (
util_harvesters/image_buffer.py
) - A mechanism to preconfigure cameras.
- The widget which shows the image (previously
pip install -r requirements.txt
pip install -r requirements_development.txt
python main.py
Features
- The genicam camera simulation is the default. Camera configuration may be switches here:
# camera = camera_config.CameraBasler()
camera = camera_config.CameraSimulation()
- The start/stop button works
- Tested on ubuntu and windows
- Mouse wheel: Zoom
- Left mouse drag: Move image
- Left mouse double click: Reset zoom
- Resizeing the window resizes the image
- Widget might be used in the qt designer
designer main_window.ui
pyuic5 -x main_window.ui -o main_window.py
- No dependency anymore to vispy
Based on https://github.com/marcel-goldschen-ohm/PyQtImageViewer/blob/master/QtImageViewer.py
python -m util_qt.qtimageviewer
Features
- Mouse wheel: Zoom
- Left mouse drag: Move image
- Left mouse double click: Reset zoom
- Resizeing the window resizes the image
This widget is integrated in the current application
Based on https://github.com/genicam/harvesters_gui/blob/master/src/harvesters_gui/_private/frontend/canvas.py
python -m util_qt.qharvesterswidget
Features
- Mouse wheel: Zoom
- Left mouse drag: Move image
Not tested with current application.
qtimageviewer.py
is much simpler and performs excellent. There is no need to continue with qharvesterswidget.py
.
Features
I tried to encapsulate anything between harvesters
and QT
. Most of this code was in canvas.py
.
Now qtimageviewer.py
does not contain any harvesters
code.
And main.py
is small and sexy.
havesters_gui
has these features
- Select a camera in the combobox
- Property editor for that camera.
This is perfect for demonstration purposes.
However in a real application, a camera should be preconfigured.
In camera_config.py
, cameras may be preconfigured.