How do you calculate the radius in a 3D tubular structure?
2 次查看(过去 30 天)
显示 更早的评论
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!
Thanks in advance,
Charles
0 个评论
回答(1 个)
Afiq Azaibi
2017-9-8
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.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!