SurfaceSmooth

版本 1.2.0.0 (5.8 KB) 作者: Marc Lalancette
Restricted smoothing of a triangulated surface
1.5K 次下载
更新时间 2018/10/20

查看许可证

Transforms a closed triangulated surface by displacing the vertices in the direction normal to the surface, up to a limit specified by the user as a "voxel size". This is meant to smooth out the blocky appearance of a segmented volume without over smoothing and aims to maintain the enclosed volume. As such even an unrestricted smoothing operation would not tend to shrink, but would rather gradually converge to a sphere of near identical volume. The function can also be used to make a triangulation more uniform (in terms of triangle size and shape), as tangential motion can be left unrestricted during the smoothing process. Normal and tangential motion can be allowed independently and it is indeed more accurate to process a surface separately for these 2 operations (smoothing and making it more uniform). More details in the function help.

Note that this function is quite new and there may be bugs, but it was successfully used on a surface obtained from a skull segmentation with isosurface, with over 100000 vertices.

The aim of this function was accuracy over speed, but it can be quite fast on small surfaces or if the voxel size is made slightly larger. A few iterations only may be required.

引用格式

Marc Lalancette (2024). SurfaceSmooth (https://www.mathworks.com/matlabcentral/fileexchange/45416-surfacesmooth), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2011b
兼容任何版本
平台兼容性
Windows macOS Linux
致谢

参考作品: Volume of a surface triangulation

启发作品: Improved surface smooth

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.2.0.0

Finally fixed the sparse error for some surfaces.

1.1.0.0

Last 2 input arguments were reversed in help description vs actual function definition. Kept help order (Verbose last).

1.0.0.0