pyFM.refine.icp.mesh_icp_refine

pyFM.refine.icp.mesh_icp_refine(FM_12, mesh1, mesh2, nit=10, tol=1e-10, use_adj=False, return_p2p=False, n_jobs=None, verbose=False)

Refine a functional map between meshes using the ICP algorithm.

Parameters:
  • FM_12 ((k2, k1) np.ndarray) – Functional map from mesh1 to mesh2.

  • mesh1 (TriMesh) – Source mesh.

  • mesh2 (TriMesh) – Target mesh.

  • 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.