pyFM.refine.icp.mesh_icp_refine_p2p¶
- pyFM.refine.icp.mesh_icp_refine_p2p(p2p_21, mesh1, mesh2, k_init, nit=10, tol=1e-10, use_adj=False, return_p2p=False, n_jobs=None, verbose=False)¶
Refine a functional map starting from an initial pointwise map.
This algorithm starts from an initial pointwise map instead of a functional map, which it first converts to a functional map before running ICP.
- Parameters:
p2p_21 ((n2,) np.ndarray) – Initial pointwise map from mesh2 to mesh1.
mesh1 (TriMesh) – Source mesh.
mesh2 (TriMesh) – Target mesh.
k_init (int) – Initial number of eigenvectors to use.
nit (int, optional) – Number of iterations to perform. If not specified, uses the tol parameter.
tol (float, optional) – Maximum change in a functional map to stop refinement (only used if nit is not specified).
use_adj (bool, optional) – Use the adjoint method.
return_p2p (bool, optional) – If True, also return the vertex to vertex map from mesh2 to mesh1.
n_jobs (int, optional) – Number of parallel jobs. None (default) decides automatically, -1 uses all processes.
verbose (bool, optional) – Whether to display progress and per-iteration diagnostics.
- Returns:
FM_12_icp ((k2, k1) np.ndarray) – ICP-refined functional map.
p2p_21_icp ((n2,) np.ndarray) – Only if return_p2p is set to True - the refined pointwise map from basis 2 to basis 1.