Segmenting the ring region around the nucleus


I’m measuring the ratio of NF-kB intensity in the nucleus to the cytoplasm, but would like to use the ‘ring region’ (around the nucleus) for the cytoplasm measure.


Currently, my pipeline is as follows:

  • IdentifyPrimaryObjects - segment nuclei using Hoechst stain
  • ExpandOrShrinkObjects - expand nuclei by 4px
  • IdentifyTertiaryObjects - subtract the nucleus region from the expanded region to obtain the ring region

The Problem

  • I would like to constrain the ring region within the boundaries of the cytoplasm. I am able to segment the cytoplasm but unsure how to crop the ring region/expand the nucleus region within the cytoplasm boundaries.

  • Note I am already able to calculate a nucleus to whole cytoplasm ratio but have found better readings in other image analysis software in using the ring region, due to large differences in cytoplasm shape between and within lines.

I very much appreciate any suggestions as I am new to Cell Profiler and keen to use it a lot more from now on! Thank you

Hi @Frankie_B,

If you have the option to get your hands on a ZEN blue software, you can do exactly this by using the so-called Zone-of-Influence Segmenter.

  • select a segmenter to detect your primary object, e.g. the nucleus (use thresholds or machine-learning for this)
  • define the ZOI (yellow)
  • define the ring size and location
  • define what objects (and sub-objects) you want to detect inside the blue ring using thresholding or machine-learning segmentation

Two Video Tutorials can be found here:

  1. Image Analysis: Other Segmentation Methods 2: ZOI and a Complete Walk Through Example

  2. Zone of Influence Analysis

Sebi (from ZEISS)

1 Like

Hi @sebi06 ,

Thank you very much for your response and for explaining how to do this in Zen blue. I’m currently able to do this analysis in Columbus (PerkinElmer) software but have switched to CellProfiler as I’m keen to use free open-source software. However, I’ll happily take a look at Zen lite for the moment and hope to try out the full version if I ever have access to it! The ZOI tool seems very useful.



Hi @Frankie_B,

Sure. CellProfiler is a very powerful tool, which can achieve the same.

Hi @Frankie_B,

Your current pipeline approach is almost fine, but few changes is required to achieve your target as follows,

  1. Once you expand your nuclei, then use “Mask objects” to mask the expanded nuclei using segmented nuclei (Refer the attached screenshot). This would give you the ring.
  2. In the tertiary object module, get the cytoplamic region by subtracting the nucleus region from the cell boundary (hope you could do this by Identifysecondaryobject module)
  3. In the Measurement module use the ring object to measure intensity from the cytoplasmic channel.

Hope this helps. If not, please attach your pipeline with a sample image so that we could help you better.


1 Like

Hi @lakshmi

Thank you very much for your very helpful answer. I’m sorry I don’t understand fully how masking the expanded nuclei provides the ring region, and then I’m not sure whether step 2 in your answer is related to step 3.

I’ve attached sample images that I’m using. I segment the nuclei using the ‘DNA binary’ image and segment the cells using the ‘Actin’ image - which is not ideal for cell segmentation but is what I’m using in my experiment.

Actin.tif (3.4 MB) DNA binary.tif (1.7 MB) DNA.tif (3.4 MB) NFkB.tif (3.4 MB)
NFkB ratio.cpproj (918.7 KB)

Hi @Frankie_B,

When I did similar measurements, I just simply used IdentifyTertiaryObjects. In your case, you need to add 2 more steps:

  1. subtracting cytoplasm from the ring region will give you the part of the ring outside the cell boundaries;
  2. Now, you can subtract the object obtained in (1) from the ring. Thus you will cut away everything outside the cell boundaries and get the desired constrained ring objects.

Good luck!

1 Like

Hi @Frankie_B,

I checked your pipeline with the images. There are few changes required,

  1. To segment Nuclei, you could use your DNA image itself (using IdentifyPrimaryObject module), but if you are using binary image, you could use the module “Threshold” instead of Primaryobject module since that might work better.
  2. To expand segmented nuclei, you could use “ExpandShrinkObject” module, no need of “IdentifySecondaryObject” module. [In the pipeline I have used 4px to expand since you had mentioned so in the earlier description)
  3. This is followed Mask object (as I had mentioned before). In case you notice my earlier screenshot, I have invert the mask just to have only the expanded portion of the nuclei (i.e.your ring region)
  4. To get your cytoplam, you can use “IdentifyTertiary object” module
  5. To measure the intensity you can use MaskedNuclei i.e.ring region object to measure from your preferred channel i.e. either Actin or GFP in this case.
    PFA pipeline.

Just to show you, I have added the “OverlayOutlines” module & here is the screenshot.

NFkB ratio_LB.cpproj (788.1 KB)

Hope this helps


1 Like

Hi @lakshmi,

Thank you for explaining again and for improving on my pipeline with my images. As you noticed, I didn’t see the mask inversion from your original post. The pipeline you sent works very well.

Kind regards,


Hi Oleg, Thank you for a very nice solution. I can apply this logic to other segmentations I’m trying also.

1 Like

The cell has a very interesting composition, which each of us should know what a cell is made of. Those who study the structure of cells already know the cells at a deeper level. I know that this is quite complicated, because I work in this field and it is not easy at all. Thanks to everyone for the useful information, I’m glad it was discussed.

1 Like