| Algorithm 1: Optimization algorithm |
| Input: Noisy point cloud , number of patches m, number of nearest neighbors k, |
| number of adjacent patches , trace constraint . |
| Output: Denoised point cloud Y. |
| 1 Initialize Y with ; |
| 2 for iter = 1, 2,… do |
| 3 estimate normal for Y;
|
| 4 initialize m empty patches V;
|
| 5 find the adjacent patches; |
| 6 initialize M with identity matrix; |
| 7 compute the feature distance for each vertex pair(i,j); |
| 8 solve M; |
| 9 compute adjacency matrix W over all patches; |
| 10 compute Laplacian matrix L; |
| 11 solve Y with (14); |
| 12 end |