Multipotent Stromal Cells (MSCs)

Hi guys!

I am dealing here with MSCs (Mesenchymal Stem Cells/ Multipotent Stromal Cells). I grow them on petri dishes 60 mm. They are stained with crystal violet afterwards. I am interested basically in two things.

The petri dish itself: How many colonies? --> Pictures taken with a customary SLR camera
Here I just want to creat a pipeline for colony counting.

Single Colonies: --> Images taken by a microscope with brightfield setting (magnification 5x)
In this case I would like to have a look on the following features of the colonies:

  • colony diameter
  • cell number per colony
  • circularity of the colonies (colony forming)
  • confluency of the colonies (dense, sparse)

Especially in the second case the pipeline seems more difficult to construct. Has anyone of you already some experiences with these and can me help out with the settings or a pipeline? I tried a pipeline with modules: LoadImage, Color to grey, Crop, Primary Objects

Thanks for your help

[quote=“Mexx McKey”]The petri dish itself: How many colonies? --> Pictures taken with a customary SLR camera
Here I just want to creat a pipeline for colony counting.[/quote]

In this case, your pipeline would probably something similar to the following (after using LoadImages on the cropped image):

  • ColorToGray: Pick out the color channel with the highest contrast between the colonies and the background. The red channel looks like a candidate.
  • ApplyThreshold: Capture the cropped region of interest (ROI) as a binary image.
  • MaskImage: Mask the channel of choice with the binary image of the ROI.
  • CorrectIlluminationCalculate: To correct the illumination heterogeneities across the ROI. Pick the Regular method, with smoothing filter set to “Median” and the filter size set manually, with a filter size set to ~50.
  • CorrectIllumninationApply: To correct the image, use the masked image as input, select the illumination function produced by CorrectIlluminationCalculate, and the application method as “Divide”. You can adjust the filter size in CorrectIlluminationCalculate until the output of this module has a uniform background illumination.
  • IdentifyPrimaryObjects: Use on the correted image. I’m hoping that other than dropping the lower diameter limit, you won’t have to do too much to make it work well.

In this case, something like the following:

  • ColorToGray: Again, pick the highest contrast channel for the nuclei (the green channel looks good).
  • ImageMath: Use the “Invert” operation to reverse the image intensities for object detection.
  • CorrectIlluminationCalculate/CorrectIlluminationApply: Correct the uneven illumination using the same settings as above (well, maybe a larger filter size like 200).
  • IdentifyPrimaryObjects: Use on the corrected image to identify the nuclei, or at least the interior parts of the cells.This will give you the cell count.
  • You will need a high-contrast channel that represents the cell body; the red channel seems suitable. Perform the same inversion and illumination correction as the green. Then use this corrected channel as input into IdentifySecondary with the prior objects to get the cell bodies.

You could measure the confluency using the MeasureImageAreaOccupied module by measuring of the total object area divided by the image area.Or alternately, measure the per-cell adjacency using MeasureObjectNeighbors. The circularity might be tricky, since it’s not clear what that would mean in the sparse case.

Good luck!

Hi Mark!

Thanks a lot for your help. I could manage to get the first pipeline (petri dish) working to do the counting. Now I would like to classify the objects regarding their shape, size and get absolute numbers for that. It would be also great to measure the area of all particles on the dish to get quantitative evidence regarding the proliferation rate of these cells. Therefore I tried several modules like classify objects or calculate math, but I could not find the right settings to succeed.

The second pipeline which shall be applied on the microscope images does not work properly. I could stabilize the background after playing around with the settings. But unfortunately I could not detect neither primary (using green channel) nor secondary objects (using red channel). I tried several settings regarding the threshold (pixel intensity) or seize of the objects. I used mainly the otsu per object as it worked pretty well in the other pipeline. But in this case it did not. I attached my pipeline to that message. Perhaps you have some advice for me.

pipeline for microscope image.cp (7.5 KB)

The MeasureObjectSizeShape module calculates morphological measurements for all objects given as input. ClassifyObjects can then take these measurements as input and lets you specify the ranges for the bins in which you want group the data,for a given measurement (e.g., area)

I’m attaching a pipeline which should get you closer; I’ll leave it to you to work out the details.

2013_08_02b.cp (9.44 KB)