Need help to count two types of bacterial colonies

Dear CellProfiler staff,

Two types of bacterial are cultured in petri dish. One typical picture (cropped) is attached. One cell shows blue color and the other looks gray. The background is not even, so some gray cells are not distinguishable from non-local background. Is it possible using CellProfiler to count the number of colonies for blue cell and gray cell? I played CellProfiler a little bit, but no luck yet. Any comments or suggestions will be appreciated. Thank you.

-lei

I think there is a module called something like “RGB to grayscale” This would help you separate blue from gray colonies.

If the illumination issue is rather homogeneous (direcctional) you may try the “correctilumination” module. At the primary identify step pick a method that is adaptive, not global.

[quote=“Feel”]I think there is a module called something like “RGB to grayscale” This would help you separate blue from gray colonies.

If the illumination issue is rather homogeneous (direcctional) you may try the “correctilumination” module. At the primary identify step pick a method that is adaptive, not global.[/quote]

Thanks for your suggestion. Eventually, I wrote my own program for colony counting and it works reasonably well. It is easy to identify blue cells. For gray cells, the color is close to background. I have to check the relative intensity to local environment instead of global background.

Hi lei,

If you chose to revisit CellProfiler, I’m attaching a pipeline that you can use. Basically, it does the following:

  • As Feel mentioned, make use of ColorToGray to split the color image into its component channels

  • Inverts the blue channel to detect the blue spots (in order to get a light foreground on a dark background)

  • FInds the plate from the blue channel (the choice of channel here is arbitrary) and uses it as a mask on the inverted blue image

  • Detects the blue spots from masked image (you are correct, the spots are fairly straightforward to detect) using per-object thresholding to take advantage of the mask

  • Mask the blue channel using the plate and the blue spots

  • Filtering of the image to enhance contrast

  • Detect the white spots, again using per-object thresholding

Regards,
-Mark
2010_05_28.cp (10.2 KB)

Hi, Mark

Thanks a lot for your kind help. I am testing the pipeline you provide. It seems that I need to wait for a while. Really appreciate your help and time.

-lei

[quote=“mbray”]Hi lei,

If you chose to revisit CellProfiler, I’m attaching a pipeline that you can use. Basically, it does the following:

  • As Feel mentioned, make use of ColorToGray to split the color image into its component channels

  • Inverts the blue channel to detect the blue spots (in order to get a light foreground on a dark background)

  • FInds the plate from the blue channel (the choice of channel here is arbitrary) and uses it as a mask on the inverted blue image

  • Detects the blue spots from masked image (you are correct, the spots are fairly straightforward to detect) using per-object thresholding to take advantage of the mask

  • Mask the blue channel using the plate and the blue spots

  • Filtering of the image to enhance contrast

  • Detect the white spots, again using per-object thresholding

Regards,
-Mark[/quote]

1 Like