03-30-2010 11:19 AM
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
03-31-2010 10:44 AM
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