Here in these images, human mesenchymal stem cells were cultured on a flat surface and surfaces possessing topographies created by UV-patterning. We stained these cells with DAPI (channel 3), Phalloidin (Channel 2) and Paxillin (Channel 1). Here are some of the tiff images belonging to the above-mentioned conditions. Sample_012.tif (1.2 MB) Flat_001.tif (1.2 MB) Sample_002.tif (1.2 MB)
We would like to analyze the focal adhesion (Paxillin) length and area per cell.
However, we have certain problems in segmenting the focal adhesions. We have tried several options during optimizing the pipeline CP_analysis-FA_01.12.2020.cpproj (156.0 KB)
Despite our efforts, we are still seeing this mis-segmentations or non-segmentations below: paxilin.tif (1.0 MB)
Could you please help us to optimize our pipeline? Thank you!!
For your Paxilin segmentation, I think the following approach may be more fruitful:
Instead of using IdentifyPrimaryObjects to segment focal adhesions, you can instead use the Threshold module followed by ConvertImageToObjects. Here’s a step-by-step for what I found most helpful:
On the image you submitted, I found that EnhanceOrSuppressFeatures using the “Feature Type” of “Speckles” and “Feature size of 4” worked well to enhance the vinculin signal (you may or may not agree; your understanding of this data is best!).
However,I did not get the same images when applied your suggestions to my pipeline CP_analysis-FA_01.12.2020.cpproj (1001.7 KB). This, therefore, results in an overestimation of the size of the FAs To make sure, I tried to fine-tune the numerical parameters to optimize the pipeline but still could not manage to get the same/similar images as you posted
From your shared image, I’m not sure exactly which FA signal you would want to keep vs discard. But in general, you could use the MaskObjects module to keep only certain objects or only parts of objects that are not covered by a mask. To use this approach, you would need to be able to somehow threshold the area that you are not interested in measuring (create a mask where the cytoplasmic focal adhesions area is identified w/ value = 1 and everything else is background, value = 0) and then use that mask to discard any focal adhesion objects w/in the cytoplasm.
Alternatively, if you can identify the actin stress fibers as objects, you could use the RelateObjects module to relate the actin stress fiber “parent objects” to any overlapping “child” focal adhesion objects and discard all focal adhesion objects that are not in contact with a stress fiber. This approach has the advantage of being able to relate each focal adhesion to a particular stress fiber, but it can’t discriminate that the focal adhesion is at the end of the fiber (unless you have a way to mask only the ends of the actin stress fibers.
I am just starting my adventure with CellProfiler so I will be very grateful for any suggestions and help!
I am trying to do Paxilin segmentation. I have tested recommendations from comments above and also tried to optimized it in other ways but I am worried that the size of the FAs is still overestimated… I would be very grateful for any suggestions on how to optimize it.
I checked your pipeline and images. Your approach was almost right. I have made few changes to get your segmentation better. The problem you were facing was lot of local background in your Pax channel, though you had tried EnhanceSuppress features to suppress them it didn’t work properly. This is due to the features you had selected in the module i.e. speckles. In the version that I had shared following are the changes I tried,
I think you may not require illumination steps for your images if all the images that you would be using is of same quality.
I have changed a background subtraction method for Nuclei channel i.e. I compute the intensity from the original image (using Measure Intensity module) and subtract the Mean intensity from the original image using Image Math module. This makes your Nuclei segmentation easier. Using EnhanceSuppress is not a bad idea, but it takes longer time.
With your Pax channel too, I have used a similar approach for BG subtraction (using ImageMath) and then used for EnhanceSuppress feature. There I used a neurites instead of speckles.
In your Threshold step, I used a Otsu method.
I think the results looks better.
And all your raw images are already in gray scale, then why you need “ColorToGray” module.
Here is the screenshots & modified pipeline