Preventing overcounting objects between Z-stacks

It was great hearing about the CellProfiler and Analyst at the SBI2 conference last week.

I have an additional question about what is the best way to make sure that you are not over counting objects between z-stacks. Is there a method in the CellProfiler software to recognize the same object within multiple z-stacks so that it is not counted multiple times?

CellProfiler isn’t truly designed for 3D images yet (very soon though! Our software engineers are hard at work on a lot of fun goodies so stay tuned); the best way to do it as of now is to use TrackObjects to treat your 3D (xyz) as if it were 3D in another way (xyt)- if an object is present in consecutive frames it should be “tracked” with a single label that will allow you to keep overcounting to a minimum.

1 Like

Can CellProfiler can perform pixel-based and object-based segmentation?

Would a certain type of segmentation solve this problem? If object-based segmentation were used, could the same object be recognized in another z-stack?

CellProfiler has a module in the works to do pixel classification, but it’s not quite ready for prime-time yet- it is available on a branch in GitHub if you want to try to download the source code and run it on your own. All of our segmentation is object-based.

Would a certain type of segmentation solve this problem? If object-based segmentation were used, could the same object be recognized in another z-stack?

I don’t entirely understand your question here. Can you give me more details of what you’d like to do?

For example, if you want to colocalize endocytic markers but they are not the same size, the colocalization value may be inaccurate if only one of the markers extends into an additional z-stack. If the particles are segmented in an object-based method, could the object be detected as the same object in the subsequent z-stack. I may need to wait until the 3D version is released, but theoretically if the segmentation is object-based, there should be no overcounting between z-stacks?

If the particles are segmented in an object-based method, could the object be detected as the same object in the subsequent z-stack.

By “subsequent” z-stack, do I assume correctly you mean the next plane in the same stack and not actually a different stack?

It depends on the orientation of the object, but TrackObjects can usually be used to eliminate overcounting by noting that the center of the object in z plane 8 is the same as the center of an object in plate 7 and stitching the two together. Depending on how crowded your objects are (the more crowded, the harder to determine how many objects there are and how to assign them) and the orientation (an object at a pretty oblique angle may be hard to stitch since the center is far away in XY from Z plane to Z plane), CP can usually do a pretty good job of minimizing the overcounting.