Counting Types of Red Blood Cells



I’m trying to count the number of red blood cells of each of three types in some images. The included image shows at least one of each type of cell. The first type is the classic biconcave cell with a hole in the middle. The next type is the most common in this image, and has a speckled pattern with slightly bumpy edges. The final type are the rounder smooth cells. I’ve been trying to do this on my own and this pipeline is the one that gives me the best results so far, but still misses some cells. How can I improve recognition? Find_RBC.cppipe (6.7 KB)

Edit: I had to change the image format to PNG so it would upload. If it matters, all the images are .tif.
Edit2: Brevity.


That is an interesting application.

I make several improvement. Now I can distinguish the first type (classic biconcave cell with a hole in the middle) and the second type. I do not know which is the third type here, so I just ignore it.

A trick to distinguish these two type is to calculate the intensity at the center. Please see attached pipeline. Using classfyobject, you can find the difference between each cells.

  1. RescaleIntensity. The signal is bit weak and background is high. This module makes image easy to distugish

  2. Threshold. Make it binary.

  3. Identfy the object

  4. Shrink the obj_cell to a point and expand to 5-10 pixel large.

  5. Measure the intensity within the object in 4.

If you have a lot of images and you want to distinguish the percentage of each type, please use this pipeline and export the result to .mat. Then, it is easy to use MATLAB to calculate the result.

(Cellprofiler works well with MATLAB) (163.9 KB)


Hello there,

@jedyzdc’s solution is certainly a great start.

@Alphonse: under this resolution, RBC morphology classification is actually a very difficult application (studied in one of our projects), because the difference between each type is very subtle.

You might have to measure every features for each of the identified object: intensity, intensity distribution, texture, granularity etc. Then use CellProfiler Analyst and perform machine learning.



@jedyzdc Thank you very much for your help, I will try to use this as a starting point to identify more cells.

@Minh Could you please provide a link to the project if able, or if not then perhaps the references or materials you’ve used so far? Most of my reading before I found CellProfiler was on general image detection and recognition, and I’d like to see if there’s any material specific to cells that might clarify things. I will also look into Analyst.



The RBC morphology study is currently an active project, sorry it’s not available yet.

If you’re looking for the material to perform machine learning on identified objects, please have a look at this example:

Although it’s nothing to do with RBC, but the idea is the same: measure everything with CP then use CPA to do classification.

Hope it helps.