Trabeculae analysis of pelican beak

Hi! I’m hoping someone can help. I am researching trabeculae in pelican beaks. The beak is made from bone, albeit of varying mineral densities but I’m wondering if maybe it’s not suitable for analysis in BoneJ for some reason, as I’ve not been able to obtain the results I’m after. I’ve attached some photos showing one of the sections in Amira, and one of just the trabeculae. The file is 8-bit binary exported from Amira. I’ve tried doing ITA in BoneJ on a section I’ve segmented containing just trabeculae but got a few hundred angles when there are significantly fewer (less than 50) trabeculae. Am I doing something wrong, or not reading the results correctly?

I also tried doing a thickness analysis on the trabeculae, but just got a ‘NaN’ result. What could the reason for this be? I’m guessing I’m not doing something right or the model isn’t suitable.

Also when doing Degree of Anisotropy, should I be using a model that includes the cortical and the trabeculae, or one that just has trabeculae?

Thank you.


1 Like

Hi!
Would you mind attaching a representative binary image of one of your samples if that is possible?
And specifying the versions of FIJI and BoneJ you are using, and the operating system?
That would help a lot with trying to solve your issue!

A priori, from the images you’ve attached, I’d say the typical thing to do is to measure thickness in the trabeculae only (and possibly also in the cortex only)?

Not sure the images are suitable for ITA and for degree of anisotropy, as you’d want to measure distributions across a higher “number” of trabeculae (“texture”). For degree of anisotropy, e.g., you’d want to encounter at least ~10 trabeculae in any direction along which you traverse the sample.

Hi Alessandro, thanks for your reply.
I’m using the latest ImageJ 1.53c, running on Windows 10. The BoneJ plugin was downloaded in the last month, but I’m not sure exactly which version it is.

Unfortunately it won’t measure the thickness of just the trabeculae either (I haven’t tried cortical only).

It is helpful to know that you don’t think the images are suitable for ITA. I was thinking that the image probably isn’t typical of bone and so maybe wouldn’t work with so few trabeculae.

Thanks for your help.

OK, no worries - you’re welcome.

I am right in thinking that you’ve installed BoneJ via the “update site” (i.e. following these instructions)?
Could you upload the image as the .am file that you open in FIJI please, so I can try to see what is going on? I’m sure we can get to a point where at least “Thickness” works as expected…

Yes you’re right I did follow those instructions.

Unfortunately .am file types are not supported to upload to this site. I can export from Amira as a 2d.tiff, a 3D.tiff or png would either of those be any use?

Thanks again.

A 3D Tiff would be best out of those!
Or alternatively, link to the .am on a dropbox/oneDrive/… location?
Either should be fine.

Here’s the dropbox link, let me know if it doesn’t work.

Thank you.

https://www.dropbox.com/s/1r556bok5ef2qhp/Peli6%20struts%20only.am?dl=0

That worked, thanks!

I think the problem is that your .am file exports the background as pixel value 0 and the bone as pixel value 1, but BoneJ expects background 0 and bone as 255.

You should threshold the image (Image > Adjust > Threshold or Ctrl+Shift+T) and check the pixel values match 0 for background and 255 for bone (the pixel values are shown in the ImageJ window when you hover over an image) before running BoneJ plugins on it.

Hope this helps - let us know if not.

1 Like

This can be fixed by multiplying by 255 with Process > Math > Multiply (0s stay as 0; 1 * 255 = 255).

I agree with @alessandrofelder , this sample is not well suited to anisotropy measurements, which expect a volume filled with texture. You could try measuring your trabeculae with Ellipsoid Factor instead (I forget, Ale, whether EF can output each ellipsoid’s eigenvector matrix, or whether we would have to hack a bit to get there. It might also be helpful to be able to visualise the eigenvector matrices somehow, and provide a mean orientation, although that is not trivial to calculate).

You should check the output of Skeletonize 3D and Analyze Skeleton to get an idea of how your trabeculae decompose into a strut & node model needed to calculate ITA. Even though your sample is better suited than most to this kind of decomposition, being peculiarly strut-like, in general trabecular bone is not well represented by struts and nodes especially once trabeculae become more plate-like. You might have to smooth your data a bit prior to doing the skeletonisation to reduce spurious branches.

You could also count your trabeculae using BoneJ’s Connectivity tool. Make sure to use the unsegmented version of your image with cortex and trabeculae intact, run Purify, then Connectivity. Note that what you see as individual struts may or may not be interpreted as individual trabeculae by the Euler analysis, which is counting ‘loops’ (or holes/handles) rather than ‘things that look like individual beams’.

2 Likes

Ah I see, thank you. I thought as I’d thresholded it in Amira that it wouldn’t need doing again.

Thanks very much both, really appreciate your help.

1 Like

I forget, Ale, whether EF can output each ellipsoid’s eigenvector matrix, or whether we would have to hack a bit to get there. It might also be helpful to be able to visualise the eigenvector matrices somehow, and provide a mean orientation, although that is not trivial to calculate

We’d need to hack EF a bit… I agree both of these ideas would be interesting.