HELP Is my cell profiler 3d monolayer pipeline double counting the same cells?


I am using cell profiler to quantify 3d stacks of tumors taken on a confocal microscope. I have DAPI channel staining all nuclei and GFP marking all cancer cells. I need to know the number of GFP+ cells and the total volume of them. Additionally there may be some GFP+ areas that don’t have a DAPI stained nuclei meaning it is just background not true GFP that I’d like to exclude. I am using this pipeline:

And here is an example image.
3d_2wkapcpsesg_xy1_ch2-2.tif (5.3 MB)
3d_2wkapcpsesg_xy1_ch1-2.tif (5.3 MB)

When I ran the pipeline, the total nuclei (DAPI) counted were 147 and the total cells (GFP) counted were 126. This number for GFP is way too high I would estimate there are about 15 GFP+ cells in this image including all the stacks. Is there something wrong with my pipeline? I’d like to use this to analyze much larger tumors than the one in this picture.
Thank you in advance!

Hi @mquintero,

Could you upload a copy of the exact pipeline/project file you’re using? I expect it’ll have been modified compared to the tutorial pipeline.

One key setting to check will be that you’ve got “Process as 3D” enabled in the NamesAndTypes module.


I’m really new to this and really haven’t changed anything at all in that pipeline, I was thinking of adding a measure colocalization module to fix the background GFP problem but haven’t yet since I wanted to make sure everything up to this point it working correctly. I definitely do have it processing as 3D in the namesandtypes module

Hi @mquintero,

You’ve provided images from 2 channels above, but the tutorial pipeline is intended for 3 channels of images and so most of the modules shouldn’t be functional at all if you’re using it without modification. Is there an additional wavelength in your data set?

Thanks for the insight! I don’t have a third wavelength all I did was only include two modules for places where three were needed like in rescale intensity. Here is my pipeline.
tumor analysis2.cppipe (39.1 KB)

Thanks for that, I see what you mean now. It looks like the segmentation isn’t performing too well, particularly towards the edges of the image. That may contribute to the extra object numbers somewhat, so you may want to try something other than a manual threshold - it’s currently very generous.

If you look at the output file it also seems that a lot of those extra objects are actually very small, having AreaShape_Volume stats of <5 pixels. If a single pixel is detected in only a single plane that’s creating a new object. These could probably be addressed by adding a FilterObjects module just before the ExportToSpreadsheet module at the end, then setting that to remove objects with a smaller volume than whatever you think is reasonable. Otherwise it seems to be tracking the large objects between frames pretty well.

Hope that helps!

Yes I really appreciate it, that makes sense I will definitely try that! Do you have any suggestions for what module to use to exclude the GFP+ areas that have no overlapping DAPI in them from the total number of GFP objects counted?

Thanks again in advance!

Hi @mquintero,

You should be able to use RelateObjects to associate nuclei with cells. From there it should be straightforward to filter for GFP objects which contain nuclei.

1 Like