# How do you calculate the radius in a 3D tubular structure?

12 views (last 30 days)
charles on 5 Sep 2017
Answered: Afiq Azaibi on 8 Sep 2017
I'm trying to calculate the radius at every point in a root of a plant. What I have is a 3D image of that root. I have already segmented the root, so that every branche is seperated and can be viewed individually. However, I still cannot think of a proper way to calculate the radius at every point.
Right now I have some code, using bwdist on a binary image of the root, after which I multiply it with the skeleton of the root. This gives me the minimum radius at every point, however I also want to know the average and maximum radius.
I was thinking of slicing every branche up in small pieces and calculating the volume, so I could obtain the data about the average radius if I know the length of those pieces. But in order to do so I would need to 'cut' the root orthogonal to the direction, and I cannot figure out how to do that.
Does someone have an idea how I could accomplish 'cutting' the root in those small pieces? Or maybe know of another method which works better? Any help is very welcome!
Charles

Afiq Azaibi on 8 Sep 2017
Given that every point on the branch has a cross section that can be measured, I would suggest using the 'slice' function:
https://www.mathworks.com/help/matlab/ref/slice.html
This allows an orthogonal slice through the root.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by