As of this point, CellProfiler doesn’t handle Z-stacks directly. But this functionality might be approximated using TrackObjects. Provided (a) your objects are reasonably well-defined from Z-slice to Z-slice, and (b) you feed in the images in Z-order, I think TrackObjects will serve to identify objects that are continuous in Z-space. However, TrackObjects is in a very beta form in the latest compiled release (although we’ve done a lot of development on it since then).
If that doesn’t work, and your objects are not stacked on top of one another, you might use CorrectIllumination_Calculate without smooth to create a averaged projection of the Z-series, which can then be segmented for your object count.
Alternately, this projection can be used as a binary mask, and then re-loaded with LoadSingleImage into a second pipeline to mask each Z-slice in turn, Relate the objects found in the slice as children to the “parent” objects in the mask, and perhaps distinguish the 3-D objects by which 2-D parent object in the mask they match up with.
There are probably additional ways to approach this issue, but it’s a start!