(n_verts, xyz, min_n_eigs, eigs_ratio)
| 61 | |
| 62 | |
| 63 | def compute_eigens(n_verts, xyz, min_n_eigs, eigs_ratio): |
| 64 | n_eigs = max(min_n_eigs, int(eigs_ratio * n_verts)+1) |
| 65 | assert n_eigs < n_verts |
| 66 | Laplacian, Mass = robust_laplacian.point_cloud_laplacian(xyz) |
| 67 | Laplacian.data += 1e-8 |
| 68 | |
| 69 | eig_vals, eig_vecs = eigsh(Laplacian, n_eigs, Mass, sigma=0) |
| 70 | eig_vals[0] = 0. |
| 71 | eig_vecs_inv = eig_vecs.T @ Mass |
| 72 | |
| 73 | return eig_vals, eig_vecs, eig_vecs_inv |
| 74 | |
| 75 | |
| 76 | def compute_HKS(eigen_vecs, eigen_vals, num_t, t_min=0.1, t_max=1000, scale=1000): |
nothing calls this directly
no outgoing calls
no test coverage detected