Setting Threshold for Slice Geometry in BoneJ


I am using BoneJ’s slice geometry feature to measure cross-sectional area and second moments of area. Perhaps this is a very basic question, but is there a recommended ‘best method’ for setting the minimum greyscale value? I have tried manually setting the threshold and also using ‘Optimise Threshold.’ However, I noticed in the original publication presenting BoneJ, Optimise Threshold is not given as part of the workflow when measuring slice geometry. Are there any caveats to using optimise threshold with slice geometry?


Yes - it’s sensitive to the ratio of foreground to background, making it unreliable for this kind of analysis. Optimise threshold is designed to find a threshold that minimises connectivity, meaning little bits of noise occurring on the surface of trabeculae in particular.

If your images are Hounsfield unit calibrated then you can pick sensible minimum and maximum values that you apply to all the images, something like 0HU min and 4096 HU max should do it. Otherwise you have to eyeball it a bit, or come up with a method that works for all your images - e.g. measuring the mean background greylevel and the mean cortical bone grey level and setting a threshold a fixed ratio between those values.