Blood smears analysis

Example image
BAS_0067.tiff (625.2 KB)


Hi, all! I am new to Cellprofiler (I use version 3.1.9) and I am trying to extract features from blood smear images. I found a similar topic, but it was not successfully resolved.

Analysis goals

Now I am trying to identify the nucleus and cells. However, the images are not fluorescent and the resolution is really not very high.


Many white blood cells have a bilobed or segmented nucleus. I used both inversion with IdentifyPrimaryObjects and UnmixColors with Watershed for this, but the cytoplasm is still very poorly and strangely determined by IdentifySecondaryObjects (I’ve tried to decrease noise too). Attached is the best I’ve achieved so far.

I need any ideas of how to:

  • make the program not dividing complex nuclei into several parts
  • deal with cell segmentation against the background of erythrocytes
    PS: does it make sense to try Ilastik or ImageJ?

here is my pipelineblood_smears.cpproj (89.9 KB)

Hello Anastasiia,

It seems your objects of interests are the large separated nuclei and cell in the middle.
Based on the image you shared here, take a look at this: blood_smears_Updated.cppipe (13.4 KB)
In general, your nuclei is divided into smaller objects because of declumping strategy and size of smoothing filter for declumping.

Thank you!
This pipeline works almost perfectly on a given image, but unfortunately does not work on some other images from my dataset (I am sorry, I am not allowed to publish them here). They usually have a less contrasting nucleus or overlap with erythrocytes. Something like this .jpg picture of a monocyte from the internet.
So, could you please advise other more global analysis strategies for this type of data, since the tunable parameters are always suitable for only a part of the images?

Just another example image and many screenshots with bugs.
176.TIF (81.3 KB)

I think you could try Threshold module to detect the erythrocytes and then mask them out before detecting the nuclei.
If this strategy is hard to perform in CellProfiler (due to lack of contrast), you could try Ilastik. In Ilastik, detect the erythrocytes and create a mask, then bring the masks to CellProfiler, detect the nuclei and make the measurements.

For the nuclei detection in general, you may want to try different decamping strategy and smoothing filter sizes, depend on your images.

1 Like

I decided to use Ilastik Pixel Classification for creating probability masks and then load them to Cellprofiler for better segmentation. It looks like not bad idea so far.
Thank you for your help!