Discarding unlabled cells, finding neurites

Hi, Newbie here learning and loving this program but getting stuck. I would very much appreciate help with the attached pipeline. I’ve also attached an example image. I’m running into a couple challenges:
First, the identify secondary objects for the green cells could be better in finding all the fine structure and including it in the objects. I’ve played around with the per object/mct options and just can’t get anything that works well.
Second, you can see a couple nuclei that don’t have any associated green label so they are identified as just the size of the nuclei in the Identify secondary module (example objects #9, 12, 24, 30). I tried the approach suggested in response to a similar question of running an Identify Primary that can then be put through relate/filter to remove the objects that did not grow. But, I can’t get a primary object module to recognize these complex cells without starting with the nuclei. So the ExpressingCells and NewExpCells are not the same.

I hope this makes sense. Any help is very much appreciated.

NS_Test.cppipe (14.7 KB)

Hello! Getting stuck and working around it is what helps learning the program :slightly_smiling:

For the IdentifySecondaryObjects, I would try “Propagation” using a “Manual” threshold of 0.015 - let me know if it works for you.
(You can also use a manual threshold in the (first) primary objects module, 0.13 is a tight fit)

However - I am slightly confused because you first identify primary objects in the blue image, then secondary in green, and again primary - in green. Do you not wish to measure the red channel - and generally, what you would like to measure/compare?

Hi, Thanks for your response, I will try the new thresholding parameters you suggest. I am actually having fun learning it :slightly_smiling:

My main goal is to measure mean intensity of green signal per cell but I wanted to exclude cells that were being identified from the nuclei but have no extended morphology (undifferentiated cells, essentially just nuclei).
I found an old thread which suggested that a second round of find primary be used directly on the green channel and then use a relate/filter to essentially compare the objects found in the green channel from both techniques to remove those that did not grow in the primary/secondary sequence. That’s where the second find primary in green came in but it seems that this approach doesn’t manage to identify the individuals as well as growing from a nucleus does for my cells. Maybe because of the complex morphology? So, we could probably delete that find green primary module but I still need some way to exclude non-expressing cells.

I was thinking there must be some kind of relate function that I could use to identify cells where the green does not grow a significant distance from the blue and exclude those from analysis?

The red is just an actin stain but shows morphology pretty well. Do you think maybe I should use the red channel to identify the cells from nuclei and then measure the green in those objects? That would still leave me with the undifferentiated cell population, though.

Thanks much!

Hi! Sorry for replying so late.

You mention “extended morphology” - what image/marker would you use to identify the differentiated cell? (or is this the green signal?) Could it be done by measuring the size or shape of the cell/nucleus?

Ideally, you would detect the nucleus, then identify the cells with a stain that is common to all cells you are interested in - and then measure your marker of interest (like you said) Looking at your image, I see some cells with green (all of these have red), some with red only, and some nuclei without additional stain.

There is a FilterObjects module, perhaps you have already discovered it (It will create a new Object class). ClassifyObjects will also allow to distinguish phenotypes, but they will only be labeled (and not designated as an entirely new object class) - So if you wish to eliminate certain objects alltogether, try filtering them (you can do this for any measurement you have made upstream) And yes, absolutely you could base that filtering on the size of the cell, as identified by green or red, or the intensity of stain over the cell … or anything!

In my experience, the cell identification works (best) for regular shaped, “cobblestone” cultures with clear changes in brightness at the edge (and ONLY there). This is hardly ever the case :slightly_smiling:

Alternatively (and this is easier as you see your results directly) export your data to a SQLite database and create a CPA properties file with the ExportToDatabase module. Once loaded in CPA, you can manually drag and drop your cells into any number of (exclusive) bins, eg “Dapi only” “Dapi and RFP” “Dapi, RFP, GFP”. Read the CPA manual “classifier” section. Hit the “score all” button and you will get the class counts per image (or group, which you can define in ExportToDatabase) or the object table with class labels for each object. It will also give you a feel for what parameters precisely are best suited for classification, which you could then use in FilterObjects directly.