Segmentation of membrane labeling


For my studies, I have to identify various cellular populations of the immune system on sections from different tissues.
To do that, I carry out membrane labellings (all the antibodies I use target membranes) and I also use DAPI to mark nuclei.
Then on 2D images I get (examples attached), I would like to segment the signal and detect cellular contours to obtain quantitative informations (quantity, size and position of cells, fluorescence intensity…).

The first method I tried is the following : I detect nuclei with the “IdentifyPrimaryObjects” module and cells with the “IdentifySecondaryObjects” module.
The problem is that all cells are not “Antibody1 positive” for instance but each time I obtain as many AB1+ cells as nuclei.

So I tried another method : I detect nuclei and cells with the “IdentifyPrimaryObjects” module.
However, since membrane staining is not homogeneous (a part of the membrane signal on a same cell can be weaker than the rest), I can not segment the cells perfectly.

Now I am trying to use the objects detected with the “IdentifyPrimaryObjects” for nuclei as a mask on Antibody images.
I expand these objects by a specified number of pixels and then I would like to obtain the quantitative informations I need (fluorescence intensity inside objects which would correspond to the Antibody signal, size and position of cells…). By doing this, it is not possible to know the exact size of cell (since I impose the size of objects) and I don’t know how to determine the position of “Antibody1+” cells and “Antibody2+” cells.

Can you tell me if the method I use is good or if there is another way to segment an inhomogeneous membrane labeling?

Thank you in advance.


1 Like

Hi Celine,

Given that the Ab1 stain appears to be perinuclear, I think your 3rd option is good, i.e., detect nuclei, expand a few pixels, then check Ab1 and Ab2 intensities. You can tackle this one of two ways, I think:

  • Measure the Ab1 and Ab2 intensities (MeasureObjectIntensity), and set an intensity cutoff for either Ab; DisplayDataOnImage and/or ClassifyObjects are helpful for eyeballing these values.
  • (my prefered approach) Identify the Ab+ stains using IdentifyPrimary, use MaskObjects to find the colocalized regions using the Ab+ objects as a mask for the expanded nuclei (you can also set how much overlap is required in that module), then use FilterObjects to retain all nuclei/expanded nuclei that have a “child” object, i.e, the ones that overlapped with the masking Ab objects.


Hi Mark,

Thank you very much to answered me so quickly !
These last few days, I tried to apply your advice but I have some difficulties.
First I don’t succeed in detecting correctly the antibody 2 signal by using IdentifyPrimaryObjects. I tried different threshold strategies but I can’t.
Then I don’t really understand why I should use “FilterObjects”. The sorting of cells that are both DAPI+ and Ab1+ is already done with the previous module (“MaskObjects”), no ?