フィルターのクリア

Find 3d branch points - Remove smaller branches

8 ビュー (過去 30 日間)
William
William 2015 年 3 月 17 日
コメント済み: William 2015 年 3 月 31 日
Hello all,
I want to remove small branches from this skeleton of a vessel, and to be left with just the main binary centerline. To do this I want to set a minimum branch length on the centrelines. But to do this I need to find the branch points...
BWMORPH works in 2D to find branch point/ end point locations, but this is a 3D skeleton...
Many thanks,
Will
  2 件のコメント
Sean de Wolski
Sean de Wolski 2015 年 3 月 17 日
Out of curiosity, how did you come up with the 3-dimensional skeleton?

サインインしてコメントする。

採用された回答

Sean de Wolski
Sean de Wolski 2015 年 3 月 17 日
I don't have time right now to implement it, but you should be able to use bwlookup with a 3x3x3 lookup table to identify the branch points.
The algorithm would be: is the middle pixel connected two more than three or more pixels on the periphery of the 3x3x3 box. If it is, then it's a branch point.
  2 件のコメント
William
William 2015 年 3 月 17 日
編集済み: William 2015 年 3 月 17 日
Not sure how to define a lookup table... something like...?
f = @(x) (sum(x(:)) >= 3);
lut = makelut(f,3)
branch_point = bwlookup(skeleton, lut)
William
William 2015 年 3 月 31 日
Found a premade function called Skel2Graph3D which you can define a threshold branch length and then convert it back into a skeleton with Graph2Skel3D.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by