How to close holes in shapes generated from 3D point cloud data using alphaShape function?

Hello,
I generated a shape from a 3D point cloud using alphaShape function. Following this step, I notice that the shape has few holes; thus the volume of the shape is under estimated. Could you please provide a suggestion on how to close the holes? Please see below for the code snippet:
[MRI] = import_STL('AnkleHisresMRI_1.stl');
Vertices = MRI.solidVertices{1};
Faces = MRI.solidFaces{1};
[~, ind1, ind2] = unique(pround(ATMRIVertices,5), 'rows');
V = V(ind1, :);
F = ind2(F);
shp = alphaShape(V); % shp = alphaShape(V, 'HoleThreshold', 100);
EstimatedVol = volume(shp);
Could you please provide suggestions to solve this issue? Thanks in advance for your time and help.
Cheers, Danny

댓글 수: 1

Hello Guys,
I was able to close the holes by providing an alpha radius value and also specifying the minimum threshold values for the alpha shape function.
In the following post: https://au.mathworks.com/matlabcentral/answers/378376-how-to-fill-the-holes-in-3d-image-reconstructed-from-binary-images-of-ct-slides?s_tid=answers_rc1-1_p1_MLT , it was suggested to use the alphaSpectrum function to identify the max alpha radius values. For my data, I used the max radius value obtained using alphaspectrum function, and shape was not representative. However, I chose the alpha radius to be 3.5 and the shape was fine.
Could you please help on how to identify the appropriate alpha radius in a automated manner? Thank you for your time and help in advance.
Cheers, Danny

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Bounding Regions에 대해 자세히 알아보기

제품

릴리스

R2017b

질문:

2018년 8월 2일

댓글:

2018년 8월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by