pyFM.refine.zoomout.mesh_zoomout_refine_p2p¶
- pyFM.refine.zoomout.mesh_zoomout_refine_p2p(p2p_21, mesh1, mesh2, k_init, nit=10, step=1, subsample=None, return_p2p=False, n_jobs=None, p2p_on_sub=False, verbose=False)¶
Refine a functional map between meshes with ZoomOut, starting from a p2p map.
This algorithm starts from an initial pointwise map, which it first converts to a functional map before running ZoomOut. Supports subsampling for each mesh, different step size, and approximate nearest neighbor.
- 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 for the functional map.
nit (int, optional) – Number of iterations of ZoomOut.
step (int or tuple, optional) – Increase in dimension at each ZoomOut iteration. A tuple gives separate steps for each shape.
subsample (int or tuple or iterable of size 2, optional) – If an int, size of the farthest point sampling to compute on each mesh. Otherwise, each element gives indices of vertices to sample for faster optimization. If not specified, no subsampling is done.
return_p2p (bool, optional) – If True, also return the vertex to vertex map.
n_jobs (int, optional) – Number of parallel jobs. None (default) decides automatically, -1 uses all processes.
p2p_on_sub (bool, optional) – Whether the initial p2p map is defined on the subsampled vertices.
verbose (bool, optional) – Whether to display progress.
- Returns:
FM_zo (np.ndarray) – ZoomOut-refined functional map.
p2p (np.ndarray) – Only if return_p2p is set to True - the refined pointwise map.