What is the largest image (in pixels x pixels) that can be analyzed by CellProfiler?
The largest array is defined by your hardware. 32-bit machines have a maximum size of 2^32, and 64-bit machines are 2^64. We have reached the 32-bit limit before, but it is nearly impossible in any realistic system to exceed this size on a 64-bit machine, simply because you will run out of memory before the size becomes too large for the CPU to process.
If you are having trouble with large images, I suggest a 64-bit computer (with 64-bit windows/linux and MATLAB), and lots of memory (4+GB).
Thanks for the reply. We are actually having a lab meeting today to discuss the purchase of a new computer for doing image analysis, so this information is very helpful.
We don’t know exactly how large our image files will be yet, but I would estimate at least 500 MB/image. We take many images at 40X and then use Adobe Photoshop’s Photomerge function to combine them into a large image so we don’t lose all of the cells that would otherwise be on borders. Is there a better way to make large images like this?
We will be taking 3 images (each with a different filter) from each field of view. What would be the best way to merge these for analysis? Should each set of 3 for each field of view be overlayed first and then merge many tricolor images in Adobe Photoshop or should all images of a given color be merged to make three large images in Photoshop that can then be overlayed for display and/or analysis by CellProfiler? If the former is done, is there a way to recover single color images from the large merged tricolor image?
Last question for now, 2^32 is 4.2 billion. Does this mean a 4.2 GB image is max with a 32 bit system? Also, at our academic institution, IT will only support Dell, how do we know if the PC we order is 32 vs 64 bit? What other specs would be beneficial for an image analysis PC?
Thanks so much. We are very excited to start using CellProfiler.
4.2 billion is the correct number of bits that the array can have, but since images are generally stored in 8-bit format (double), it means that you can have 4.2/8 = 525 million pixels. However you are right that loading this image would take about 4GB of physical memory. You must keep in mind that both your operating system AND any programs you are running, especially memory hogs like MATLAB, are still contained in this 4GB limit. You can make more memory available to your programs by adding /3GB to your boot.ini, google /3GB for more information.
My suggestion is to bypass this 4GB limit of 32-bit computers and purchase a newer 64-bit computer with 64-bit windows and 64-bit MATLAB (linux works as well), and a lot of RAM. Talk to your IT guys about purchasing this through Dell, I am certain such a large company would have systems like this although it will probably be over priced. The largest images that I analyze are around 120mb and here is my processor/memory setup:
2x2.6 Ghz AMD Opteron Processors (64-bit)
8GB Server Memory, Registered ECC
This machine handles these images with little problem, but as I mentioned I cannot guarantee how it would work on 500mb images. I would consider combining less images together, so that you don’t lose as many cells due to the border but also don’t have this enormous image to analyze. Since you have 3 channels to look at, this is a large task.
I would keep the different channels separate. If you combine, CellProfiler will have to split it anyways and this will consume more memory.
Basically the key here is memory, the more you have the better. Since 32-bit computer are capped at 4GB of memory, they make bad image analysis computers. Go with 64-bit and lots of memory and you should be happy!
I checked about the 64-bit processors. Dell has them, and they aren’t too overpriced. The RAM upgrade to 8GB seems to be the most expensive part of it. On the Dell site it did mention that some software may not be compatible with the 64-bit Windows OS. Is there any benefit to getting a 64-bit processor without 64-bit Windows OS when it comes to using CellProfiler?
No, there is no advantage to a 64-bit processor with 32-bit windows. There can be issues with Windows x64, but the advantage for image analysis far outweighs the small bumps with new software.
IT at our institution looked at the CellProfiler website and told us a 64-bit system would be “superfluous”. After much debate, we conceded and here are the specifications for the computer they ordered for us yesterday:
Dell OptiPlex 745 Minitower
Intel Core2 Duo Processor (2.66GHz, 4M, 1066MHz FSB)
4.0GB DDR2 Non-ECC SDRAM, 800MHz, (4DIMM)
256 MB ATI Radeon X1300PRO, Dual Monitor DVI
80GB SATA 10,000 RPM Hard Drive
250 GB SATA 3.0Gb/s and 8MB DataBurst Cache
Hopefully we won’t be limited by this system. They tried to assure us that we wouldn’t since we don’t mind running long processes over the weekends.
One small extra note - the steps you describe doing in Photoshop can be done in CellProfiler too (tiling into a large image - Tile Module, separating or combining channels ColorToGray or GrayToColor). Hopefully that makes your analysis more seamless.