Because of its zoom and pan capabilities, I’m hijacking ImageView.imshow as a UI for a user to pick points from an image. To accomplish that I connected to the canvas button presses (for more details see the drawing example in GtkReactive, and this post). The presented image is a Images.colorview of two images. Because each of these two images can have very different intensities, I’ve added two GtkReactive.sliders to ImageView.imshow’s window that use Images.imadjustintensity to adjust each of the images’ intensity.
To update the image data I used the solution here:
The problem with that solution is that we call imshow(canvas, new_img), thus reseting the canvas and loosing the button-press events I connected to the previous canvas. So I need some way, if it exists, to either:
- Update the image data in an existing instance of
imshowwithout changing anything else in that structure. - Adjust the intensity in individual RGB channels (currently intensity adjusting is supported only for Gray images).
Ideally, there would be a way to imshow(img::Signal) and then push! into that signal to update the shown image.
Thanks…!