Image monitor

A self-updating image display control: image/mask stream subscription, denoising and spot detection, level and ROI configuration.

Overview

quatm/GUI/entries/image_monitor.py provides the automatically updating image display window (ImageDisplay): it periodically pulls the latest frame from the image stream subscribed in the properties, transforms it by resolution and offset and refreshes the display, optionally overlaying a mask stream in sync. It has built-in denoising, spot detection, saving of the current frame and property configuration (display levels, ROI, etc.).

Methods

MethodDescription
update_imagePeriodically pulls the image stream and refreshes the display frame by frame after resolution/offset transforms
update_maskPulls the mask stream and updates the overlay geometry from the mask resolution/offset
noise_filterDenoises with a bilateral filter plus a median filter according to the property parameters
spot_detectorBinarises the image by threshold to detect bright spots
saveCurrentImageSaves the currently displayed frame as PNG (named by time)
subscribe_windowOpens the subscription dialog to select image streams and resubscribes
subscribe_maskOpens the subscription dialog to select mask streams and resubscribes
configureWindowOpens the property editing dialog to adjust display levels, ROI and other parameters

Usage

from quatm.GUI.entries.image_monitor import ImageDisplay

view = ImageDisplay(imagestreams=["camera/image"], parent=parent)
view.configureWindow()   # adjust display levels, ROI, etc.

Note: ImageDisplay is both the central display of ImageWindow and can be embedded on its own in other interfaces. The image and mask stream lists are stored in the properties, and the context menu provides entries for subscription, mask subscription and configuration.