Identify Primary Object Issue in Adipose Tissue


I am new to CellProfiler and have recently started trying to measure adipocyte area in some H&E stained tissues. I have created a pipeline that runs successfully up until the Identify Primary Object part where it should be highlighting each adipocyte. I have attached one of my images here and my current pipeline. I would really appreciate any advice or help!

Thank you :slight_smile: 3-1 sq.tif (19.2 MB) Untitled1.cpproj (644.3 KB)

Hi Carly,

It will be easiest to help you if you describe what you think is going well and what you think is NOT, perhaps with some screenshots, so that we have a better idea of what aspects of your analysis need to be optimized! Thanks so much.

Hi Beth,

Thanks for your response!

My goal is to obtain the area for each cell, so I created the pipeline from an image of an H&E stained adipose tissue section to change the image to black and white, correct the illumination then invert the section to better highlight the adipocytes and smooth to decrease the graininess of the image (screenshot 1). After this, I thought that individual adipocytes would be highlighted using identify primary objects but unfortunately I it just comes up with a black screen (screenshot 2).

I’ve also tried another pipeline (attached here)

Pipeline for adipose size.cpproj (646.4 KB) made by a colleague that has been used successfully to calculate the area of adipocytes from her images, but it doesn’t work on mine either.

Please let me know if you have some advice on how to fix this issue!

You may want to check out the thread linked below (and other responses in it) - the tissue type is different, but the images and proposed tweaks are very similar!

Hi Beth,

Thanks for your suggestion. I tried the approaches laid out in that thread and unfortunately have not had success. It seems that some of the adipocyte perimeters are being highlighted but it doesn’t make up the complete circle so the identified objects end up a mess or not identified at all.

Hi @cmknuth,

I took a look at your original pipeline and I think I identified some key problems that likely affected your ability to implement @bcimini’s recommendations.

My #1 best recommendation is to watch our Intro to CellProfiler tutorial on YouTube. This video tutorial will lay the groundwork for your image analysis task, to help you understand the principles of segmentation (in general and specifically within CellProfiler). It will also help you to understand how and why things can fail, which will make troubleshooting easier! And finally, it will show you how to access the help within CellProfiler, which details what each module does. Available here, on the COBA YouTube channel: CellProfiler Workshop - YouTube

Next, some specifics for your first pipeline:

  • Your CorrectIlluminationCalculate module creates an image where the pixel intensity values are > 1 because you’ve set “Rescale the illumination function” to “Yes” (this rescale operation rescales the pixel intensity values from 1 → infinity, see the help for more explanation about why). Below I’ve included a screenshot showing the CorrectIlluminationApply output image and a histogram showing that the values range from 1 to > 6:

  • As a result, when you invert your image in the following step using ImageMath, the output actually has pixel intensity values ranging 0 to -5:

  • Your IdentifyPrimaryObjects module was then set to use a manual threshold of 0 intensity. However, all of the pixels in your image have intensities < 0, which means that every pixel is identified has background. As a result, no objects are identified!

A few quick suggestions:

  • My experiments suggest that an inversion can be performed on your original image
  • This inverted image can be used within IdentifyPrimaryObjects
  • An automated method for identifying the threshold would likely generalize to other images more consistently
  • Adjusting the diameter to fit the typical diameter of your objects should help
  • Finally, you may need to adjust the declumping parameters

Good luck and hope this helps! And don’t forget to watch the tutorial!