My suggested procedure is:
- First, make your image binary by thresholding (you can use the usual thresholding procedure; note that you are likely to want to use the stack histogram, and not recalculate the threshold per image). Your goal in this first thresholding step is not to get perfect segmentations, but to create an image where each cell is represented by only a single object. This means that your output may be very tiny pieces of each cell, but with each cell only having 1 such piece.
- As @Bio7 points out, there is the 3D ImageJ Suite, specifically see http://imagejdocu.tudor.lu/doku.php?id=plugin:segmentation:3d_spots_segmentation:start and the 3D watershed plugin
- You can use your thresholded cells as the watershed seed image, because you note that they are sparse/isolated, this is a critical assumption. Apply the watershed 3D to your original input image (the non-thresholded one), using the thresholded seed image. The watershed algorithm will grow from each seed based upon the intensity of the input image, or until it collides with the region being grown from an alternative seed. Each of these regions will be treated as individual objects, which is why it was important when creating the thresholded-seed image in the first step such that each cell is only represented by a single contiguous segment.
- This should give you a new image where cells are unified 3D objects.
- Then use the 3D Objects Counter, which will create a results table containing statistics about each object. You can then save this to Excel format.
If you have issues creating your initial seed image with thresholding alone, then you may want to also apply some binary image processing operations, such as erode, dilate, despeckle, etc… These can help you eliminate spurious segments that come from the same cell (remember, when creating your seed image for watershed-ing you only want 1 seed object per cell).
This is a related post, but the above procedure restates all of the relevant steps that you need: Volumic particles density
If the 3D object counter is too slow, see this post which basically says that BoneJ has a fast multithreaded 3D particle analyzer.