Pipeline Not Working for Large Yeast Colonies on Plates

Hi- I’m new to this forum, just started using the program, and I’m having some difficulties. I’m trying to count the number of surviving colonies on YPD plates, as I have hundreds of images to go through. The colonies are much larger than those shown in the example, and are laid out in a 6X8 pattern across each plate. On some plates, no colonies survived. The images were acquired with a digital camera in JPG format. It takes forever to load the images, and the pipeline slows to a crawl at the template alignment step (ETA went to 12+ hours for one image). Any suggestions are welcome!
Counting Yeast Colonies.cp (20.3 KB)




Your images are a bit on the large size but the problem is compounded by a couple of things:

  • It’s a color image that is being split into the component channels, which immediately quadruples the # of images in memory (1 color + 3 channels), in addition to the other intermediate images generated in the pipeline.
  • The “eyes” for each module are open, which means each module opens a display window which takes up a fair amount of memory/time to draw on-screen. You can selectively prevent modules from opening windows by clicking on the eyeball to close the window prior to running.

I suggest using the Resize module immediately after the LoadImages module to downsample the color image and template, perhaps by about a 1/4. Then split the resampled image and use the rest of the pipeline on that. You might be able to still maintain colony detection quality even though the image quality is lower.

Regards,
-Mark

Thanks Mark! I’ll go ahead and give it a try and let you know how it works out.

Hi Mark- I tried resizing, which definitely sped things up. Unfortunately, I’m still having a hard time setting appropriate thresholds so that colonies are identified correctly. In the example image above, the larger smooth colonies are the only ones I want counted, so there should just be 3 colonies counted overall. I’ve attached an updated pipeline- any suggestions would be appreciated. Thanks!
Counting colonies v2.cp (21 KB)

A few suggestions on your v2 pipeline:
(1) See if you can save grayscale images straight from your camera. Looking at ColorToGray, the color information does not seem to be getting you much, other than making your files bigger.
(2) I think a much simpler approach than the CorrectIlluminationCalculate method used here (which wasn’t easily available back when the protocol paper/example was written) is to use EnhanceOrSuppressFeatures>Dark Holes. In the attached pipeline, I am only using the Blue Channel, as the others appear at first glance to be mostly redundant. (Pick whichever color channel has the most info to your eye, or better, just use grayscale images as input.)
This has the added benefit of removing the plate outline (enough, at least) and simplifies the pipeline a LOT.
(3) For the MeasureObjectIntensity module, you may want to invert the original image and measure that, so that the intensity is higher than background, but that’s up to you.

As long as you only want the big colonies this should work ok (at least it does for this one image!). You’ll have to modify the sizes in EnhanceOrSuppressFeatures if you want smaller colonies too, though that might complicate the segmentation.

Good luck!
-David
Counting colonies v2_DL.cp (12.9 KB)

Thanks David! I’ll give this a whirl.