Issues with real-time display in ImageJ

Posted by MRivers on
URL: http://imagej.273.s1.nabble.com/Issues-with-real-time-display-in-ImageJ-tp5022793.html

Folks,



I develop real-time detector software called areaDetector for the EPICS control system.



https://epics.anl.gov/

https://areadetector.github.io/master/index.html



One of the components of areaDetector is a real-time image display plugin in areaDetector that uses ImageJ.



https://areadetector.github.io/master/ADViewers/ad_viewers.html#imagej-viewers

https://github.com/areaDetector/ADViewers/tree/master/ImageJ/EPICS_areaDetector



It receives images over the network using the EPICS Channel Access or pvAccess protocols and displays them in ImageJ.  This plugin is used worldwide at a large number of large physics facilities such as synchrotrons, neutron sources, and telescopes.  The ImageJ performance is excellent.  Here is a screen shot of ImageJ receiving and displaying 180 frames/s 1024x1024 pixels, 8-bit.





[cid:image001.png@01D5B57D.253F69F0]



[cid:image002.png@01D5B57D.253F69F0]



There are just a couple of things that don’t work quite right when using ImageJ in this mode.



-          When displaying monochrome images (ByteProcessor, ShortProcessor, FloatProcessor) the Image/Adjust/Brightness/Contrast works fine.  I can set the brightness and contrast or high and low levels and they are “permanent” until I change them again, and all subsequent images are displayed using these values.  However when displaying RGB images (ColorProcessor) when I change the brightness and contrast it only applies to the current image, they reset automatically when the next image is displayed.  Is there a way to prevent this behavior, or could this be fixed?

-          When images are arriving quickly the cursor x, y, and value numbers in the main ImageJ window do not track the cursor in the image window correctly.  They don’t just have a lag, they often never update to the current cursor position, even if the cursor is left on the same pixel for a long time.  This means that in order to make a measurement of a pixel position or value I need to  stop the real-time updates, make the measurement and then turn the real-time update back on.  Is there a way to avoid this behavior, or could this be fixed?



Thanks,

Mark



--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html

image001.png (15K) Download Attachment
image002.png (18K) Download Attachment