cellUview is alternative software that runs on an OpenFlexure 3D-printed microscope. Images are enhanced in real-time by changing exposure, contrast, edge enhancement, dilation, contrast and k-means clustering.
PiCamera is deprecated in Bullseye 11. LibCamera2 would replace opencv videoio. This could potentially help with Flatfield correction, by allowing default processes to be turned off which may be causing colour issues.
If a user or organisation has trained a convolutional neural network (CNN) on existing images and wishes to use this in real-time, they should be able to import the CNN and use it for real-time image processing.
For the purposes of marking for realtime embedded processors 5, we need to refactor the code to match the course spec. by being well formatted and obeying SOLID principles, etc.
User should be able to change the default capture name (a member of the gallery class) from a textbox or other method (maybe a dialog box or static text box).
Increase saturation values for the selected hues to enhance colour. In HSV (hue, saturation, value) space.
If a user has stained cells with a given hue, it may be useful for them to increase the saturation of the hue of the stain.
Current frame size from the default opencv videoio is 640x480 - much smaller than raspberry pi camera. Maybe look at using libcamera to open and pass frames through existing framework.
Implement existing logic for capturing an image, moving the stage, applying cross-correlation to determine the overlap and combining many images to build up a high-resolution image to be previewed by the user and exported. This requires motor control #13 to be implemented.
Following error message is printed when camera open fails:
'''
cellUview Error! blank frame grabbed
Please check your PiCamera microscope module is connected.<nterminate called after throwing an instance of 'std::system_error'
what(): Resource deadlock avoided
Aborted (core dumped)
'''