pyFM.spectral.shape_difference.compute_SD

pyFM.spectral.shape_difference.compute_SD(mesh1, mesh2, k1=None, k2=None, p2p=None, SD_type='spectral')

Compute shape difference operators from a vertex to vertex map.

Parameters:
  • mesh1 (pyFM.mesh.TriMesh) – Source mesh with computed eigenvectors.

  • mesh2 (pyFM.mesh.TriMesh) – Target mesh object with computed eigenvectors.

  • k1 (int, optional) – Dimension to use on the source basis. If None, use all the computed eigenvectors.

  • k2 (int, optional) – Dimension to use on the source basis if SD_type is ‘spectral’. If None and SD_type is ‘spectral’, uses 3*k1.

  • p2p ((n2,) np.ndarray, optional) – Vertex to vertex map between the two meshes. If None, set to the identity mapping.

  • SD_type ({'spectral', 'semican'}, optional) – The first option uses the LB basis on the target shape. The second option uses the canonical basis on the target shape.

Returns:

  • SD_a ((k1, k1) np.ndarray) – Area based shape difference operator.

  • SD_c ((k1, k1) np.ndarray) – Conformal shape difference operator.