Branch points of a 3D voxelated Image
5 ビュー (過去 30 日間)
古いコメントを表示
Hi all,
I created 5 voxelated lines as shown in the 1st image and tried to find the branch points of the voxelated models. Cleary, I have 6 intersections only as shown in the image. However, I received 8 branch points as shown in the second image, when I used the below code to find the branch points.
My intension is to find the number of branch points with its exact locations.
Apprecaite your kind support and help!
B1=logical(3D_Image); %Convert the image into binary image
B2=bwskel(B1); %Skeleton of the image
B3=bwmorph3(B2,'branchpoints'); %Get the branch Points
stats_Branchpoints=regionprops3(B3,'Volume','VoxelList','VoxelIdx'); %Details of the branch points as shown in the second image
0 件のコメント
回答 (1 件)
aditi bagora
2023 年 10 月 9 日
Hello Hege,
I understand that you are trying to identify intersections in voxelated lines. Based on the provided image, it seems that there are 6 branch points, but when using the “bwmorph3” function to find branch points, you are getting 8 points.
This behaviour could be due to the binary skeleton not being minimally connected, resulting in additional intersections.
To address this, you can try applying thinning to remove unnecessary pixels using the "thin" argument of the “bwmorph()” function:
thin = bwmorph(B2, 'thin');
B3 = bwmorph3(thin, 'branchpoints');
By incorporating thinning, you may obtain a more accurate representation of the branch points.
You can refer to the below documentation to understand how “bwmorph” defines a branch point.
I hope this helps.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!