Merge of neighbor cells




I’m using CellProfiler for a month now. Working on GFP stained cells, I’m trying to count positive cells in a reliable way.
I encounter two problems during the segmentation (both are quite similar):

  1. The most important is when two (or more) nuclei are very close one to the others (we call them “neighbors”). For the moment, the pipeline distinguishes all the cells and counts them as separate positive cells. In fact, according the biologists I am working with, it is likely there is only one positive cell and that its cytoplasm covers the other. So it produces false detection. I tried to use the module UnifyObjects but it does not answer like I would like because objects are not really merged, just linked together and finally, I don’t even know the number and the size of the “neighborhoods” (are there 2, 3, 4 cells unified in each ?).
    I think I can find this kind of information in the Excel output but I did not succeed in making ExportToExcel module work yet.
    The idea would be to keep one of the nuclei (with a criteria such as the most intense one or the largest one) and to merge the two cytoplasms into one or to perfom the cytplasm detection from the nucleus we kept.
    Any idea to adress this issue?

  2. Another segmentation problem occured when I got 2 nuclei close and I declassify/reject one with my filters. Keeping only the valid nucleus (for what is supposed to be a positive cell), when I try to identify the secondary object (i.e. the cytoplasm), it fails because the rejected nucleus seems to “block” the correct segmentation of this region. At the end, I obtain an half cytoplasm with an off-center nucleus.
    This may have an impact on my next filtering steps.
    Have you ever seen this? what is your suggestion?

Thanks in advance for your help.


Have you tried identifying the cells first, then identifying the nuclei within each cell? This would be similar to the ‘speckle counting’ pipeline that is posted on the examples page. Basically, you identify the cells (from tubuin/actin stain), then crop based on the identified objects, then use IdentifyPrimAutomatic using a ‘per object’ setting for the thresholding method. finally, you can relate the nuclei (‘children’) to the cells (‘parents’).

hope this helps!



Thanks for the reply.
I have already tried to identify the cells and the nuclei separately (I forgot to tell that there are two different channels). The washing can’t be perfect in the cells channel (that is the green channel) so I can’t relate reliably the children to the parents. Moreover, we only supposed to detect the ‘positive’ cells (i.e. those
that are stained with GFP).
Concerning the UnifyObjects module, is there any other solution than to modify the code by myself?



It’s been a long time since this thread was touched on - have issues been addressed? If not, maybe you can post a couple representative images and the pipeline .mat file you’re working with.