Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Binary file to 16Bit images

Hi,

I read giant binary files (up to 40Gb) which are films of an industrial process (the total number of images is known). I simply use the Read from Binary File function inside a FOR loop and read it in slices of 76800pixels of 2 bytes each to reshape everything in an array of 320x240. Here is where I use IMAQ Create before IMAQ Array to Image, still inside the FOR loop, to create the array of images that I need.

 

I avoid memory allocation problems (even if the binary file is huge) by using IMAQ Array to Image inside the for loop, but the VI is "a bit" slow. I did a test for 1GB (around 5000 to 6000 images) and the results are :

-memory (array of images only out of the loop) : 390ko

-time of execution : 20seconds and IMAQ Create represents for a third.

 

 

I would like to diminish that time of execution  and I thought I could get IMAQ Create out of the loop. Are parallel loops a good option ? And do you see anything else that I could do ?

Thanks for your valuable answers!

 

 

PS: I did not post the VI because of the binary file. Screenshot attached

0 Kudos
Message 1 of 2
(3,127 Views)

Hello,


Did you do some benchmark inside the loop? 

In order to say that IMAQ create represents the third?, and the time is for the 5000 images?

Is your CPU at 50% (if you have a doublecore) or 100% for the single core?

 

Regards,

Nacer M. | Certified LabVIEW Architecte

0 Kudos
Message 2 of 2
(3,093 Views)