Identifying/Counting Cerebellar Granule Cells

This is my trial-by-fire introduction to CellProfiler 2.0. Currently, I’m tasked with counting immuno-labeled cerebellar granule cells by hand or with a program that does *not *have the specificity to identify single granule cells consistently, let alone differentiate granule cells in clusters. I ran across CellProfiler 2.0 about a month ago, and I immediately recognized its power to save me a lot of time and frustration. My boss, however, isn’t particularly convinced CellProfiler can accurately quantify cerebellar granule cells. I disagree, but I’m also new to high-throughput image processing and analysis. Not only would I like to prove my boss and his mid-1990s cell quantification procedure wrong, I’d also like to learn how to construct an appropriate pipeline for quantifying clusters of cells for my own research.

I’ve attached my sample image and (poorly-constructed) pipeline.

As shown in the original and grayscale images, there are clusters upon clusters of granule cells in this single slice. My (poor-constructed) pipeline does an admirable job of distinguishing single granule cells (pixels min = 2, max =5), as well as clusters of granule cells (pixels min ~10, max ~25). However, I’m stuck on the clusters. Specifically, I know both the size and morphology of single granule cell, but I don’t know which strategy to employ in order to split the clusters into “best guess” single granule cells. At this point, “best guess based on known physical parameters” is better than “pure chance.”

I suspect that there are modules upstream to IdentifyPrimaryObjects that I can use to facilitate accurate quantification of single granule cells in clusters, but as of now, I’m clueless. Any help would be appreciated. Thanks in advance.

KN243_pipeline.cp (5.04 KB)

I’m attaching a pipeline to help get you started; it’s not perfect so some tweaks will still be needed. The strategy is the following:

  • Identify the full tissue region and mask the grayscale image with it, so granule/cluster detection is restriction to the right region of interest.
  • Perform some speckle enhancement to better accentuate the granules/clusters.
  • Identify the granules using the size limits you mentioned.
  • Identify all cells, regardless of size/clustering, using the same thresholding settings as before, but this time with no declumping.
  • Mask the cells with the granules. The remaining objects should be the clusters.

Since your images are so big, be careful of memory errors. Once the pipeline is optimized, you may want to insert a ConserveMemory module to get rid of intermediate images that you don’t need. Also, check out the Help > Using CellProfiler > Troubleshooting Memory and Speed Issues section.

2013_04_01.cp (11.1 KB)

Mark, thanks for the initial suggestions and starter pipeline. For someone new to high-throughput image analysis in general, it’s very informative to see how you constructed the pipeline and understand your rationale for doing so. Great stuff.