Cell profiler pipeline for Paxilin segmentation

Hi everyone :slight_smile:

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? :slight_smile: Thank you!!

Hi @Ays,

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:

I hope some of these ideas help to move your analysis pipeline along!

2 Likes

Dear Pearl,

Thank you so much! Indeed, it was a huge help!

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 :confused: 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 :confused:

For instance:
Enhanced:


Mask
mask
Convert image to objects:

Just another question that would also help me :slight_smile: I am mainly interested in the focal adhesions at the end of the actin stress fibers not the ones in the cytoplasm

stress fibers vs cytoplasm.tif (646.4 KB)

Is there a way in CP that would allow me to select/omit a certain part of an object apart from the Crop option?

Thank you very much!! :slight_smile:

I took a look at your pipeline and see a few differences in your Threshold module that I think are responsible for our different results:

  • I used a “Global” thresholding strategy rather than “Adaptive”
  • I did not use any smoothing (“Threshold smoothing scale” set to 0)
  • I did not log transform prior to thresholding (this will pick up very dim intensities).

Additionally, something I should have mentioned before is that you could certainly use IdentifyPrimaryObjects to detect these focal adhesions and you may want to try that module too.

Here’s a screenshot of what I did in the threshold module:

And the resulting thresholded image:

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 hope these ideas are helpful!

Thanks Pearl!! :slight_smile: All worked out :slight_smile:

Hello Everyone,

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.

Thanks,
Kamila

A3_Plate_R_p00_0_A03f03d0.TIF (3.0 MB) A3_Plate_R_p00_0_A03f03d2.TIF (5.2 MB) A3_Plate_R_p00_0_A03f03d3.TIF (4.5 MB)

PAX_20x.cpproj (698.4 KB)

Hi @Kamila.

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,

  1. I think you may not require illumination steps for your images if all the images that you would be using is of same quality.
  2. 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.
  3. 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.
  4. 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


    PAX_20x_LB.cpproj (672.6 KB)

Hope this helps. In case of more clarification is required feel free to write here.

Regards,
Lakshmi
www.wakoautomation.com

Hi Lakshmi,

thank you very much for your time and all the suggestions, especially the one regarding Nuclei segmentation. I will try to implement it into my other pipelines as well.

Thank you.

Best regards,
Kamila