Questions re: moving from metamorph to cell profiler



I am hoping to get some help with some basic usability/transition issues in analyzing metamorph/metafluor images. I have read the manual in detail, and hope that I have not missed the answers to the following questions:

  1. pixel values - I am collecting 12 and 16 bit data, yet the data all seem to be floating point data well less than 1. What conversion is being made, and is this optional?

  2. image files names - I have a large number of tif files produced by metafluor that have the structure red.001, red.002, green.001, etc. Is there any way for cell profiler to recognize these files as images or do I have to rename them all as tifs?

  3. Object count information - my first application with this program is to count living and cells using 3 stains: all nuclei (Hoechst), living cells (calcein) and dead nuclei (propidium). Two issues arise from my efforts so far:
    a. where is the object count information from IdentifyPrimary and IdentifySecondary stored and how do I get at it?
    b. In my images. there are often nuclei (hoechst image) from dead cells that have no surrounding cytoplasm (calcein image). the nuclei are being correctly identified with IdentifyPrimary, but IdentifySecondary on the calcein image is incorrectly creating an object around every primary object. How can I stop this happening?

  4. Finally (sorry for the long post), I am getting an error message with IdentifySecondary that I cannot solve: “the object outlines were not calculated by the IdentifySecondary modue, so these images were not saved to the handles structure…”. What am I setting incorrectly?

thanks for everyone’s help.
Jeremy Marks
University of Chicago

  1. CellProfiler represents images internally with floating point values between 0.0-1.0. 12-bit data is usually stored in 16-bit formats, so data read from 12-bit images will often look very dim, because the maximum value in thos e images is 2^12 / 2^16. Use the RescaleIntensity module to put it in a more reasonable range.

  2. My experiments just now lead me to believe that Matlab will automatically recognize the file format, so there shouldn’t be any need to rename the files.

3a) The ExportData tool can be used to get the counts from the per-image data. You can also add an ExportToExcel module to your pipeline.

3b) Is the IdentifySecondary module creating a large object, or one that just overlaps the nucleus? You could use CalculateRatios and FilterObjects to remove cells whose Cell area to Nuclear area ratio is too close to 1.

  1. What do you have in the “What do you want to call the outlines…?” entry of the IdentifySecondary module?

Hope this helps,
Ray Jones


Thank you very much for your help. Actually, since my clueless newbie post at the end of March, I have figured out how to make the program work quite well using my metamorph files.
We are having one vexing problem, however, and that is with the pipeline running slower and slower as it goes through image sets. If often just runs out of gas after processing 25-40 image sets. When the program does run out of gas, there is a constant stream of messages that go scrolling by in the matlab window, suggesting we’re runnng out of window handles. But all we’re doing is loading 3 images in a set and doing some identify primary, identify secondary, filtering and counting.
This is a big problem, because we have hundred of images to count, and the ability to work through high numbers of images is one of the attractions of this program.

I think this has to be a memory issue, but whether it’s a memory leak in the pipeline or insufficient memory in the system (we’ve got 512 MB on an 5 yr old system running XP SP2) I don’t know. Using the restart command does enable us to get through our images, but someone needs to sit by the machine to restart the analysis every 20 min, which seems too bad.
I am happy to post the pipleline if anyone thinks the problem is in how it’s set up. Or are there memory management switches to set? Any suggestions people have would be very much appreciated.
thanks for your help.
Jeremy Marks


I don’t know of a particular memory leak in CP, but it’s possible there is one.

Do you have the modules set to display while the pipeline runs? Turning this off can improve speed, and if there’s a leak somewhere in the matlab (rather than CP) code, this may avoid it.

Another workaround would be to use CreateBatchFiles to split your set into a set of smaller groups, and run them on the local machine (or cluster, if you have one). Each script will run independently, restarting matlab in between.

Finally, please do send the pipeline and a couple of example image sets to me:

I’ll duplicate those images a few hundred times and try the pipeline myself.


thank you very much for your instantaneous reply! And thanks for taking the time to reply to both threads.
Could you please tell me how I turn off image display while the pipeline runs?
I will send you an image set and the pipeline tomorrow.
I will read about CreateBatchFiles and give that a shot as well.
thanks again.


You can turn off the display in the File->Set Preferences window, under “Display Mode”


I ran into the same problem and was crashing after 70 images…Turning off the display setting fixed it and made my analysis run much faster.