Trouble identifying objects


#1

Hello!

I’m working with fibroblast cells, staining with DAPI and a tubulin antibody that fluoresces green. We are trying to identify changes in morphology as a result of a change in the material the cells are cultured on. Another graduate student and I worked to develop our original pipeline (attached) that seemed to work very well the first time around. This time, I am having issues where there are essentially no primary objects identified, which results in no secondary objects and no results at all. When I have the pipeline show me what it has identified primary objects, it just shows a completely blue image and no objects identified or outlined. I’ve started to think maybe there is an issue with my images being too bright, and that I haven’t changed the right settings in my pipeline to compensate for that. Other than that I don’t have any ideas at the moment, because like I said we had been getting very accurate identifications and seemingly reasonable results.

I’ve attached a blue and green fluorescent image, what CellProfiler shows me after the conversion of these images to gray scale, as well as the results that show after CellProfiler attempts to identify primary and secondary objects. Maybe this is more than you need, but I wanted to give as much information as possible.

Please let me know if you need any more info from me, and thanks in advance for your input!
secondary objects.pdf (125 KB)
primary objects.pdf (45.8 KB)
color to gray green.pdf (83.9 KB)
colortogray blue.pdf (36.9 KB)





PLR Stain Analysis CP pipeline.cp (25.2 KB)


#2

In the IdentifyPrimaryObjects module, your threshold correction factor seems to be dialed up too high and the thresholding method may not be appropriate in this case. Changing the thresholding method is Otsu Global, with two classes and the threshold correction factor as 1.0 seemed to work better. Once this was corrected, the IdentifySecondary results come out closer to expected.

In general, if you are using a pipeline on a different set of images but the same assay, you will need to insure that the acquisition settings are consistent between the two. In other words, settings like exposure times, magnification, etc need to be the same (or close to it). Otherwise, there is no reason to expect that what you optimized on one set of images will produce the same results as another.

Regarding your images specifically: Your green images look fine to me. However, you nuclear stain does look somewhat saturated, so identifying the individual objects may be a bit problematic.

Regards,
-Mark


#3

I’m also having a hard time segmenting my primary objects (DAPI). I have performed an illumination correction and then tried to IdentifyPrimaryObjects using Adaptive or Global Otsu (and many permutations of parameters). After playing with different thresholding strategies for a long time, I’m still not able to identify an acceptable approach to segment the objects. One issue may be the appearance of subnuclear bright spots, however the typical object size is set to the entire nucleus and I’ve tried 3-class Otsu with the middle intensity included in the foreground.

If anyone has any suggestions or tips, I’d really appreciate it. I’ve uploaded the project file and an example image. Thanks!

Trial1[161230].cpproj (1.5 MB)


#4

Also I’m having trouble uploaded the image file… It is under the size limit (~6mb). Is there a server or another way to transfer?

Thanks,
Vince


#5

Can you please try uploading the images on Dropbox/ Google drives /Mediafire and share us a link?


#6

Here’s a link:


#7

Thanks for the link. Just to be sure, this is the image I retrieve. It looks very much different with your original example


#8

That’s the correct image. The previous image was from another individual - I just posted on the thread since it was relevant. The image to segment is the blue image.


Pipeline for Wheat germ agglutinin staining
#9

Hello again,

In this particular image, I have 2 separate suggestions, you may proceed with either:
1- Thanks to a good membrane staining, and thanks to the confluent nature of this cell type, you can actually identify the cell directly, skipping identifying the nuclei. Here is an primitive pipeline to do so, you may fine tune for better result.
Test_segmentation.cpproj (642.3 KB)

2- You can still identify nuclei with its dedicated channel. You were right the bright dots make this job more difficult. You may try to first smooth / morph the image to lessen the effect.
Also, illumination correction is needed.

Hope it helps.


Be a histology hero with CellProfiler
#10

Minh, thanks so much. I actually didn’t see you responded until now(!), so thanks for your prompt help.

The initial segmenting based on the membrane works quite well. I’m still optimizing parameters and images a bit, but this will be the strategy moving forward.

Another question/request:
As you can see in the sample image I gave, there are GFP-positive nuclei, as well as GFP-negative in my data set. I would like to analyze individual cell features in the context of their GFP+ clonal properties (and versus wild-type GFP-). Specifically, I want to measure individual cell shapes while classifying them with respect to 1) if they are part of a clone (i.e. GFP+ or GFP-), and 2) which clone they are part of (and perhaps size/shape of each clone; although just distinguishing and IDing individual cells between multiple clones within one field of view is most important).

I’m trying to figure out the best way to do this. It seems like options are: 1) use ‘ClassifyObjects’, which could be done with individual cells as the input objects and two classification measurements (one for clone number, one for GFP+ vs. GFP-), 2) use ‘RelateObjects’ to relate individual cells (child) with clones (parent) objects, or 3) use PrimaryObjectIdentification (clone) and SecondaryObjectIdentification (individual cell). Do you have thoughts on the best approach? Other ideas? Is their a way to connect previously classified neighbors?

Also I’m having trouble segmenting/identifying ‘whole-clones’ as objects (all GFP+ cells that are touching). Since the nuclei are well-separated, ObjectIdentification wants to grab individual cells, even if the input size estimates are drastically altered.

All help appreciated,
Vince


#11

Hello,
Glad to know that you can use cell membrane to identify the cells.

Regarding your next question about the clone, I suggest doing the following:

  1. Use module “Morph” to blur the group of cells that are close to each other. It will “trick” the segmentation to identify a big group as one single object instead of individual cells.
  2. After segmenting object “clone”, use module “RelateObjects” to group which cell to which clone
  3. Use module “FilterObjects” to identify GFP- clone
  4. Since now you identify clones as objects, you can make any measurement you’d like, including size and shape of the clones.

I attach here the example pipeline based on your provided image. Test_segmentation2.cpproj (647.8 KB)

Here are some results

Cell belongs to GFP+ clone are color-coded to its clone

GFP- cell that not belongs to any clone


Identifying epidermis and hair follicles in skin as primary objects
Detection of Cell Patches in Cell Profiler
#12

This is fantastic! Exactly right! Thank you, and I will continue analyzing. Probably be back on the Forum with more questions.

Best,
Vince


#13

Hello Vince,

We really like your image here and would like to develop an even better segmentation pipeline for it. If you don’t mind, may I link this post as an example to a forthcoming CellProfiler blog?

Many thanks in advance.
Minh