08-16-2019 07:56 AM
I am acquiring data in the form of a scanned image. I am hoping to show the image on the screen as the data is collected as it takes some minutes to acquire. I have written a test .vi, but the problem is that the entire image is redrawn each time a data point is collected. This slows down the program. I have partially got around this by displaying the image at the completion of each line and I guess I could do this at the completion of (for example) each 10th line.
I also have to create a black image of a preset size, rather than create an image of the required size as setup in the scanning .vi.
Does anyone have a better solution ?
Thanks
Chris
09-10-2020 05:00 AM
Hey Cghw01,
Just dropping some information here in case anyone runs across a similar issue.
You can defer LabVIEW Front Panel updates (https://zone.ni.com/reference/en-XX/help/371361R-01/lvprop/pnl_defer_pnl_updts/) to stop a front panel from automatically updating. You can then programatically control when your front panel is updated and this would result in a faster program.
Cheers,
Nick
09-10-2020 07:01 AM - edited 09-10-2020 07:13 AM
Hi,
You can draw a rectangle instead of loading a black picture.
Unfortunately, I think that you can't "replace" pixels in a picture without update the entire picture.
If the display process slows down your acquisition, you can move your picture in another loop dedicated to update this picture and communicate the data with a queue.
Edit :
Quick example.
09-11-2020 03:43 PM
Hi,
I accidentally found a trick for your problem, if you place a control/indicator on top your picture, it seems that the picture is always "Load" and, you do not see anymore any refresh.
Loïc.W