Is it possible to use a 3D reconstructed model as an input for BoneJ Thickness plugin?


I am trying to estimate the cross-sectional thickness of the hollow struts of open-cell iron foams using BoneJ plugin in fiji. I use a stack of micro-CT slices as input and choose the trabecular thickness (Tb.Th) measurement option in BoneJ. However, the measured thickness values should not be very accurate, as the struts are not oriented normal to the slice planes. So, it would be more accurate if I introduce the 3D model_created by the same slices_ to BoneJ so it estimate the strut thicknesses directly from the volume without considering the orientation of the struts (for example, by fitting spheres inside the structure). I tried to use the 3D model created by 3D-view plugin, but, apparently, BoneJ does not read it. Is it possible for BoneJ to read a 3D model reconstructed by 2D slices? I appreciate your inputs.

Orientation of the struts does not matter because Local Thickness fits spheres, not circles in the xy plane. You can see that in the BoneJ logo, which is a thickness map of trabecular bone - a kind of biological open-cell foam.

Just binarise your 3D greyscale XMT image and run Plugins>BoneJ>Thickness. The only assumptions are that your pixel spacing is isotropic (same in x, y and z), and that you have adequate resolution (no less than ≃5 pixel width per feature).

Thank you Michael for your answer. Yes, I read in one of the BoneJ references that it fits spheres for 3D image. However, technically I do not have a 3D image, I have a sequence of 2D slices stacked on top of each other. So, I thought that it would not be possible to fit an sphere in a 2D plane. What I have been doing is as follows:

1- Import image sequence and convert to 8-bit
2- Process>Binary>Make Binary
3- Plugins>BoneJ>Thickness
4- Choose Tb.Th

My understanding was that BoneJ calculate the cross-sectional thicknesses for each strut cross-section available in 2D slices, then return the average and standard deviation, etc as output. It does not work like that?

@mdoube Following my last response to your comment, I would like to attach this link:

My problem is that I can not wrap my head around how BoneJ does direct 3D measurement of struts_as put in the article: direct 3D algorithm_ when it has access to 2D slices of the sample as input and not to a 3D image.

ImageJ treats a sequences of 2D images (an image ‘stack’) as a 3D image. Position in the sequence is the z coordinate. So, you have a 3D image.

1 Like

Just to reiterate - a sequence of 2D slices stacked on top of each other is treated as a 3D image in ImageJ.

1 Like