3D fractal analysis




I am interested in analysing CT scans of bone to determine the 3D fractal dimension of the space within the bone. I couldn’t find a clear way to do this in the existing list of conversations, although this type of analysis is becoming more common as people become more aware of fractal analysis. I don’t think that 2D analysis is adequate for this type of problem. I’d be very grateful if anyone could steer me in the right direction.


Hi @Winslow,

I think you may want to have a look at the work from @mdoube, BoneJ](http://bonej.org/), especially the fractal dimension function.

hope this helps




Thank you @ThomasBoudier for your prompt reply. I tried to investigate this possibility, but BoneJ is denying the presence of Java3D and wants me to install ImageJ 3D Viewer. This is weird because I downloaded the Java 8 version of Fiji so that this would be automatically installed. I can see ImageJ 3D Viewer is in the plugins folder. Have you come across this problem with BoneJ ?
Thank you once again,



Perhaps take a look at this old Forum post on this same topic:

Try it out and see if it ‘fixes’ the issue…



That’s great, @etarena . It sounds about right. Thank you.



Dear @ThomasBoudier,

Do you have personal experience of using the BoneJ fractal analysis for 3D structures? The description and reference material for this application suggests to me that it is designed for 2D analysis. Please correct me if I am wrong.

Thank you for your help



It works!

Thank you very much for taking the trouble to help



Thank you @ThomasBoudier. After changing to the Java 6 version, BoneJ Fractal Dimension is working very well

I appreciate your help very much

Kind regards



If you are feeling up for it, there is a BoneJ2 version of this functionality that you could try in a ‘sandbox’ installation of ImageJ2/Fiji (just download and install a new ImageJ2/Fiji in a different directory than your normal Fiji, then add the BoneJ2 update site).

Please let me and @rimadoma know how you get on if you try it


Dear @mdoube

Thank you for taking the trouble to offer me advice. Thank you very much also for your work in providing useful software for medical image analysis in a form that is helpful to non programmers.

I am using Mac OS X 10.12.6 on a MacBook with 4MB RAM.
I could use Fiji / Java 6 to work with BoneJ1 or Fiji / Java8 to use 3D Viewer
I have been able to download and use BoneJ2, albeit the fractal dimension analysis only provides a dimension result with no plot.

With BoneJ1 and Bone J2 have been able to gain sensible 2D fractal dimension results that are comparable to those obtain using the Fiji integrated fractal dimension software ( D = 1.4 or so). When I have used BoneJ (either edition) with an image stack, I have obtained improbable results (D= 1.9), when I would expect D= 2.4 or so).
I have prepared my images by using the threshold utility to distinguish the bone cavity from the surrounding bone, I have converted the image to binary and I have manually filled in all of the background space so that only the cavity stands out.

Is this technique the cause of my strange results? Do have any suggestions for obtaining better results.

Thank you once again for your work and care



Hi Winslow,

Does the image in question have an inverted LUT? What kind of results do you get if you (un)invert the LUT with Image > Lookup Tables > Invert LUT?

Best regards,


Hi @rimadoma

Thank you for your valuable time.

I have tried that. It made no real difference, and that may be because I have been manually editing my images so that only the bone space is highlighted. Everything else is background. Is that how you envisaged use of your software?

I have continued to experiment and I am pleased to reassure you that increasing grid translations results in more realistic results (fractal dimension around 2.4).

Can I please ask two questions:

What measure is the fractal dimension specifically measuring? I presume that it is the scaling parameter of the surface area of the three dimensional space?

Can you direct me to reference three dimensional fractal models, so that I can check the manner in which I am using your software against known structures?

Once again, I would like to thank you very much for the work you have done in bringing this excellent software into a domain where even medical researchers can use it.



Hello @rimadoma

I just checked again. It is completely stable on LUT inversion.

Kind regards



Hi Winslow,

Thank you for your kind feedback, and sorry for not getting back to you earlier - I was away on holiday.

Yes, exactly.

My approach was that of an engineer: I was happy when my implementation produced the same figures as the code it was based on. Namely that of Per Christian Henden & Jens Bache-Wiig. I also wrote some automated tests for simple objects such as cubes. Thus, I have no reference images - in the tests they are procedurally generated.

First fractal dimensions lays a fixed grid of boxes on the images, and counts the number of boxes containing foreground (bone) elements n. It iterates this until box size m reaches the set minimum. The method creates
(log(n), -log(m)) value pairs, which are then fitted to a curve. The fractal dimension estimate is the slope of this linear curve.

The method is sensitive to edge effects, grid orientation, and most importantly, the box size parameters. Hopefully fine tuning the parameters will help. Maybe these articles could help you find the correct parameters.

With regards,


Dear Richard

I very much appreciate you taking time to reply. I have spent some time reading about fractals, but it is clearly a different matter when actually trying to make measurements. I have a feeling now rather like when I talk to a statistician. There is all manner of detail of which the journeyman is not aware!!
I guess at this stage I’ll just need to keep playing around with the variables as you suggest.
I am particularly grateful that you have written to help, as I see from other threads that you are repeatedly having to answer similar questions.
Please accept my thanks.



Hi @mdoube and @rimadoma,
I was looking for a Fiji plugin to estimate 3D fractal dimension, too, and the proposed use of BoneJ2 in a ‘sandbox’ installation of Fiji works well for me.
(Well, only after I realised that my sample stack was in xyc order instead of xyz, for which reason the slices(channels) were analysed separately rather than as a single fractal in 3D space, but I cannot blame the software for that…)

I’m on using Mac OS X Yosemite (10.10.5) using the latest Fiji.



Thank you for your feedback Karl! Glad to hear the plugin works for you. Splitting a hyperstack to different channels / frames is going to be the standard practice in the new BoneJ. For example, fractal dimension makes sense for 3D subspaces, but a measure of an objects “fractality” across different channels is conceptually quite challenging (for me).

Best regards,