Nuclolus detection problems



Hi, everyone. I have been having some problems setting a pipeline so I hope you can help me. I need to quantify a protein in different cellular compartments (cytoplasm, nucleus and nucleolus) and meassure different variables and then export it to an excel.I have special interest in measure colocalization and intensity on nucleai on my protein of interest, and also for the nucleolus marker. I used IF microscopy and the nucleolus was stained with fibrillarin (nucleolus marker (red chanel)). The pipeline I am trying to build should have a way to identify nucleolus, nucleous and cytoplasm and be able to quantify my protein of interest in those compartments and excluding the others. This is what I have so far, but I think, I might have excesive modules or it might have some mistakes. I forget to add, that I am particularly interested in measure the area and shape of the nucleolus and nucleus (note, that fibrillarin does not stain completely the nucleolus therefore I used DAPI low intensities as predictor of nuclolus).
I will 20.12.17 nucleolo and protein interest.cppipe (13.7 KB)

appreciate any help.

Thanks in advance


I forgot to add, in green is my protein of interest; red is nuclolus marker



These nuclei are tricky. They contain both holes and bright little spots. In your pipeline, I think you did try to fill up the holes with EnhanceOrSuppressFeatures. You may consider to try RemoveHoles as well for the same task.

But I guess you may eventually need to use ilastik to aid the segmentation of the nuclei. Please have a look at several useful links provided in this discussion.

Good luck.


Aside from the image processing considerations, have you tried a direct staining of nucleoli? Fibrillarin or low density chromatin won’t be very reliable for nucleolar counting and shape, especially if nucleoli get disrupted. Pyronin Y may be a cheap solution, also SYTO14 as used by the CellProfiler group in their multiplexed analysis (


Hi Carlos, I am actually using Fibrillarin, however my main problem rigth now is not detecting the nucleolus or nucleous, but with the readings. Since I dont know how to make the softwere to read intensities, colocalization, area, etc. inside nucleolus (primary objects) that are inside nucleus (primary object). I tried masking them, secondary objects, but no success. Integrated intensity dont make any sense.
I just posted a pipeline and the problem, explained.

Preformatted textHi Guys, I have some questions for you and I will appreciate any help you can provide. During few weeks I have built several pipelines that have failed and I have started to think either it might not be possible to do it with CP or I’m making some basic mistake. I want to build a pipeline that messure a few parameter at the nucleolus, nucleoplasm and nucleous (intensity of an interest protein, colocalization with nucleolar marker, granularity, so on). For these I have used several approaches with any success. To detect nucleolus I have a nucleolar marker, fibrillarin, which I used to detect a primary object (Nucleolo_object), then I detect Nucleous using DAPI and I use it as primary object to (Nucleo). Then used the module MaskObject to mask the nucleolus and finally I used the module measureObjectIntensity to see whether is working. the problem is that regardless the combination I used in the masking, the intensities (integrated intensity) of DAPI and Fibrillarin, don’t make any sense (the nucleolus should have almost all the Fibrillarin and non DAPI, and the nucleous should have all DAPI and all fibrillarin too), I’m confuse, since I don’t know what is the softwere reading or if maskingObject is the right module. In addition, I tried to use the nucleous as secondary object, but it did not do the segmentation properly. Can you suggest a workflow? Any help will be highly appreciate it. Regards Nucleolus Pipeline.cppipe (11.4 KB)


Hi Miguel,
I’m not sure I’ll be helpful as I’m still using CP v2 (not broke don’t fix, so until I read a “what’s new” probably won’t switch!).
Here’s a v2 pipeline we use to quantify rRNA synthesis (5-FU incorporation, hopefully switching to click soon!): Nucleoli.cpproj (95.6 KB). But depending on resolution and the condition of nucleoli (disrupted?) I wouldn’t trust this staining much for nucleolar size and shape. Staining for B23 or ribosomal proteins also fills the nucleolar area much more completely than fibrillarin. But, as I said, Pyronin Y or SYTO14 might be easier.
Some comments on the pipeline:
1- MetOH is not a good fixation, so nuclei masking is not as clean as with pfa. I first do a massive Gaussian smoothing of DAPI images, then subtract that image (scaled 50%) from the original DAPI, which gives a nicer contrast. Then I do an adaptive thresholding on DAPI to split areas with different intensities, and finally I use the objects from adaptive to threshold individual nuclei by object. After that, I filter nuclei by size to clean up.
2- I expand nucleoli and shrink nuclei by a few pixels and with that I construct another mask, called nucleoplasm, which I use to quantify staining background within each nucleus.
3- I use SQLite databases (sorry about that!). I can send you scripts for processing.
4- I save all the outlines (if you want, I have an ImageJ plugin that reads a SQLIte database and displays all images, outlines and data for quick browsing).
5- We collect images with Micromanager, so the metadata is arranged by folder as:
Folder \ Treatment \ Replicate \ ImageName \ Position
Then individual files have the channels in their names.
Happy to discuss further.