Calculating thickness for each slice of a stack



Hello everyone,

I’ve recently been using BoneJ to analyse some stacks of CT scanned data for my PhD.

I’ve been using the thickness function, which returns the mean Tb.Th (trabecular thickness), which is the output I’m interested in. Running it on the stack returns a single mean value for the entire stack, however I would like to run it on each slice in the stack, so that I could obtain a mean thickness for slice 1, slice 2, slice 3, etc, all the way to slice n (n being the number of stacks). This would allow me to see the change in “thickness”, or effectively the change in mean pore diameter per slice.

I was wondering if there was a way of running the thickness function in such a way?

Many thanks!



Try BoneJ’s slice geometry, with the 3D thickness option enabled.


Thanks Michael,

I’ll give it a go!



Hi Michael,

i want to do the same thing on trabecular spacing is it possible to get spacing in each slice?



Yes but bear in mind that Slice Geometry will give you summary statistics for each slice based on all the pixels in the slice or within a rectangular ROI. So you have to remove the other features from the images, otherwise your summary stats will be distorted by e.g. cortical bone or outside spaces. It might make more sense to run Thickness on the whole stack of trabeculae (usually I crop the image so it contains only trabeculae right to the stack faces, and nothing else), then gather slice-by-slice summary stats on the thickness output image.


Hi Michael,

thank you for you recommendation. i have another question about getting rid out of partial volume effect, is it a safe method to use erode and then use thickness command ? or by this method we will lose trabecular information?



The best thing to do is image your specimens with a high feature size:pixel spacing ratio.

If you erode and then run Thickness, your trabeculae will be on average 2 pixels thinner than before you ran erode. You really have to do a sensitivity analysis in which you try different steps and parameters, until you find a protocol that is stable and accurate for your images.


thank you for your help, how can i run sensitivity analysis on data?