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 comentario

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

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Productos

Versión

R2017b

Preguntada:

el 2 de Ag. de 2018

Comentada:

el 3 de Ag. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by