Counting and quantification of distinct cell populations

Dear all,

I have been trying to count and quantify two distinct cell populations (CD68, CD90) from IF photographs. The idea is to quantify the total number of CD90+ and CD68+ cells and in addition determine the number of CD90+ cells that are directly associated with CD68+ cells. Additionally, I would laso like to modify the pipeline to include a measurement (distance in pixels) from a CD90+ cell to the nearest CD68+ cell.

I have been using the follwing modules in my pipeline:
LoadImages (to load the CD90 file),
IdentifyPrimaryObjects (to identify the CD90 objects),
IdentifySecondaryObjects (to identify the CD68 objects in a 10px radius),
ExportToSpreadsheet (to collect data).

I know the distance parameter is semi-ideal and should better be set as propagation. However, my main issue is with the count itself. All of my files give me the same counts for both populations, which is not possible. Also, I haven’t found a way to address the distance in pixel problem.

I would apppreciate any suggestions of pipelines that I could try. Unfortunatly, I know too little about CP to take advantage of its capabilities beyond basic counting.
Please find my test files below.

Thanks in advance.


13-04-15 test pipeline.cp (6.98 KB)

You’re on the right track. The problem is that IdentifySecondaryObjects is not identifying CD68 objects, but only expanding the CD90 objects you already have. This is why the object counts are coming out as equal.

Instead, you would need to do something like the following:

  • Use IdentifyPrimaryObjects again to identify the CD98 objects
  • Use RelateObjects to establish a parent-child relationship between the 10-px expanded CD90 objects you created via IdentifySecondary (parents) and the CD68 objects (children). A child count of N is assigned to each parent object if it overlaps with N child objects.
  • Use FilterObjects to filter the CD90 expanded objects on the basis of their child count. By setting a minimum cutoff limit of 1, those CD90 objects which have 1 or more CD68 children will be retained. The per-image count of these retained objects is also output.

Unfortunately, it is not possible with the currently released version of CellProfiler to measure the distance from an object to its neighbor from a different object set. However, you can download and use the latest “bleeding-edge” version of CellProfiler from here, subject to the caveats on that page. With this unreleased version, you can use MeasureObjectNeighbors to input two object sets and measure the distance between nearest neighbors.


Thanks for looking at this, Mark. I’ll give this pipeline a try and also see whether the “bleeding-edge” version gives me a more quantifiable data that I’ m after.