pyFM.refine.zoomout.mesh_zoomout_refine

pyFM.refine.zoomout.mesh_zoomout_refine(FM_12, mesh1, mesh2, nit=10, step=1, subsample=None, return_p2p=False, n_jobs=None, verbose=False)

Refine a functional map between meshes with ZoomOut.

Supports subsampling for each mesh, different step size, and approximate nearest neighbor.

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

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