Output underlying distribution from Thickness measurement?

I have been using theTrabecularThickness measure but it only gives a final mean value with corresponding standard deviation. Is there any way to access the thickness data set itself?

Is this information available via the graphical output?

Hi DrBwts,

Yes, if you tic “Show thickness maps” when running BoneJ thickness, the resulting thickness map image will contain the thickness value for each foreground pixel.

Hope this helps,

Is there anyway of getting that information out as a text file?

I don’t know an easy way, although someone else might?

Definitely possible to get the raw data out using a (e.g. Python) script if that is a possibility for you (example python scripts for ImageJ2 here)?

Do you definitely need the raw data? As you may be aware, you can get a histogram by pressing Ctrl+H with entries for mean,mode,max,min and a visual representation of the thickness data to get a feel for the thickness beyond the mean…

Yes I’m after the actual data. I need to see the underlying distribution so I can compare different samples against each other. I did do a stack histogram but this does a pixel by pixel evaluation of the graphical output & not a histogram of the Tb.Th values. As there are often a number of pixels representing one trabecular thickness this introduces an unwanted weight to thicker trabeculae in the histograms.

Wish I could help more, but this is beyond my capacity - apologies. Best I can do is again suggest you try to build your own Python script for this.

As a side note, I have heard people arguing that one can remove that “unwanted weight” by multiplying the thickness map by the skeletonized original image - but I personally have a problem with trying to represent a trabecular architecture with a skeletonization: I am not sure it is a meaningful representation of the original geometry and may be biased in itself. I guess it boils down to “What is a trabecula exactly and where does it end”?
Maybe I am misunderstanding you?

I wonder if the source code for the routine is available?

For the BoneJ trabecular thickness plug-in?
Yes, all BoneJ code is available on Github.
To find how it calculates thickness, I would start by looking at this file.

Thankyou very much for your help

1 Like

The graphical output is just a 3D plot of Tb.Th values. Making a stack histogram creates a histogram of the Tb.Th values.

You are correct that the larger trabeculae are more highly represented in the histogram, because more of the tissue (greater number of pixels) is in thicker trabeculae. In that sense, it is a volume-weighted technique. Removing the volume weighting is non-trivial, and potentially meaningless, because you start asking things that relate to trabeculae as discrete entities, when in reality a single trabecula (if such a thing exists) could never act on its own - it is always part of a porous continuum when the bone organ is loaded in life. Most of the trabeculae I’ve looked at would not readily decompose into nodes and struts - I couldn’t decide where to cut the continuum, so that gives me very little confidence that one could program a computer to decide where to do the cuts in a useful way.