LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Show image during acquisition

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

 

Download All
0 Kudos
Message 1 of 4
(1,949 Views)

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

0 Kudos
Message 2 of 4
(1,606 Views)

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.

0 Kudos
Message 3 of 4
(1,593 Views)

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

0 Kudos
Message 4 of 4
(1,568 Views)