3d skeleton branchpoints

13 views (last 30 days)
Marco Festugato
Marco Festugato on 1 May 2019
Hi all,
I have a 3d skeleton of which I want to calculate the number of branchpoints. Is it ok to use this code?
bp = bwmorph3(skel, 'branchpoints');
cc = bwconncomp(skel,18);
numberOfBranches = cc.NumObjects; % 1object = 1 branchpoint??
I attach an image of my 3d skeleton and of the branchpoints
Thanks in advance for any help!
sk.png
bp.png

Answers (2)

Constantino Carlos Reyes-Aldasoro
Something does not look right. Specifically, the skeleton should be a line, and you do not seem to have any lines, just disconnected points.
Why don't you first detect the skeleton and display it, then manually count your branching points and then you can validate that the result of the branching points obtained with matlab is correct.
  1 Comment
Marco Festugato
Marco Festugato on 9 May 2019
Edited: Marco Festugato on 9 May 2019
Hi Constantino and thank u for your answer. I don't know why the skeleton looks like that (maybe it's because of the bad quality of the original images?), I just used the MATLAB function (for what I know, it's the only 3D skeletonization function in MATLAB, is that correct?) and I dont know how to improve the skeletonization!
Any suggestions?
Best Regards

Sign in to comment.


Constantino Carlos Reyes-Aldasoro
I would suggest that you do a maximum intensity projection into 2D, i.e.
data_2D = max(data_3D, [ ] ,3);
and then check the skeleton. In 2D you should have something standard like the ones shown here
Then you know if it is the data or the code that you are using

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!