Thanks for looking into it and reporting back, that’s very helpful.
That’s correct. The main thing that you can change for Particle Analyser to give a non-0 result is the mesh smoothing. It’s likely that your fine and small particles are getting smoothed to oblivion so then no mesh gets fitted and you get a 0 surface area. You can try reducing the Surface resampling value in the setup dialog.
If I remember it correctly, 3D OC calculates surface area based on finding surface pixels, modelling them as little cubes then adding up the exposed faces of the cubes.
Whether a single pixel has any surface area at all, and if so what it should be, is a matter of some debate that turns up here and on the old email list from time to time. If you consider a pixel as a ‘little cube’, which some consider a kind of heresy against digital imaging, then 1 pixel has 6 × 1 px^2 surface area. But, if you consider it as an infinitesimal point in space that represents a kind of fuzzy blob domain in the imaged object (the MTF, limited by instrument resolution), you might model its surface differently e.g. as a sphere with d = 1, so area = 4π(d/2)^2 = π px^2 (or as something else entirely - surface area of an Airy function, anyone?)
The above analysis suggests that you ought to be very careful indeed (by which I mean, consider not doing it) about trying to measure lengths, areas and volumes when pixel spacing approaches feature size. It’s like trying to measure peas with a ruler that has 1cm hatch marks. This is Mandelbrot’s “Coast of Britain” problem taken to the extreme of a very large ruler.
I’m curious to know whether you noticed a speed difference between BoneJ and 3D OC, and how big and complex your images are (numbers of pixels and numbers of particles).