pyFM.refine.icp.icp_refine¶
- pyFM.refine.icp.icp_refine(FM_12, evects1, evects2, A2=None, nit=10, tol=1e-10, use_adj=False, return_p2p=False, n_jobs=None, verbose=False)¶
Refine a functional map using the standard ICP algorithm.
One can use the adjoint instead of the functional map for pointwise map computation.
- Parameters:
FM_12 ((k2, k1) np.ndarray) – Functional map from first to second basis.
evects1 ((n1, k1') np.ndarray) – First k1’ eigenvectors of the first basis (k1’ > k1).
evects2 ((n2, k2') np.ndarray) – First k2’ eigenvectors of the second basis (k2’ > k2).
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.