05-26-2009 12:53 PM
What is the maximum image size Vision/IMAQ can handle?
I am thinking of a project that could have a image size of up to 90 000 x 1200 @ 16 bit grayscale. Yes that is 90 thousand! The computer won't be doing anything else while acquiring the image.
The image will be acquired in vertical slices and added together - can that be done?
The user will review the image after acquisition.
Thanks,
Bestbier
05-26-2009 04:41 PM
That's only 216MB - should be easily possible on most machines. The only real restriction is that IMAQ Images must occupy contiguous memory, and Windows isn't very smart at allocating memory ranges, but I can usually get around a 600MB maximum image size on a standard PC (2GB or 4GB of memory), plus a number of smaller images.
Cheers ~ Greg
05-26-2009 04:56 PM
I can't say with confidence what limitations within Vision might apply in what situations, but in general you will hit other practical limits before you ever hit any limits of Vision itself. I think some IMAQ boards are going to have varying limits on the maximum number of pixels per line, but since you are acquiring smaller images this shouldn't be an issue.
As for your image size, I believe that comes to about ~200MB per image. That should be perfectly fine, but keep in mind that Vision images are allocated as single blocks of virtual memory and so 200MB starts being a large chunk of the 2GB of virtual memory a 32-bit process traditionally has. Given that programs typically allocate large numbers of smaller blocks and DLLs and other resources get scattered throughout that same memory space, finding large multi-hundred MB blocks is typically fairly hard. It is possible even if your application is only using 100MB of memory total that you may still not have a single block of memory over 200MB in size free!
Some things you can do to help:
-Run 32-bit LabVIEW on a 64-bit Windows OS. While 32-bit apps still only have a 32-bit address space, they can access 4GB of virtual memory instead of the typical 2GB that they can on a 32-bit Windows OS. This doubling of virtual memory makes it quite a bit easier to get larger blocks of memory.
-You can try signing up for the beta programs for 64-bit LabVIEW and 64-bit Vision. This effectively gives you unlimited virtual memory and even multi-GB images are no problem.
Eric