pyFM.signatures.HKS_functions

Functions

HKS(evals, evects, time_list[, scaled])

Returns the Heat Kernel Signature for num_T different values.

auto_HKS(evals, evects, num_T[, landmarks, ...])

Compute HKS with an automatic choice of tile values

lm_HKS(evals, evects, landmarks, time_list)

Returns the Heat Kernel Signature for some landmarks and time values.

mesh_HKS(mesh, num_T[, landmarks, k])

Compute the Heat Kernel Signature for a mesh

pyFM.signatures.HKS_functions.HKS(evals, evects, time_list, scaled=False)

Returns the Heat Kernel Signature for num_T different values. The values of the time are interpolated in logscale between the limits given in the HKS paper. These limits only depends on the eigenvalues.

Parameters:
  • evals – (K,) array of the K eigenvalues

  • evecs – (N,K) array with the K eigenvectors

  • time_list – (num_T,) Time values to use

  • scaled – (bool) whether to scale for each time value

Returns:

HKS – (N,num_T) array where each line is the HKS for a given t

Return type:

np.ndarray

pyFM.signatures.HKS_functions.lm_HKS(evals, evects, landmarks, time_list, scaled=False)

Returns the Heat Kernel Signature for some landmarks and time values.

Parameters:
  • evects – (N,K) array with the K eigenvectors of the Laplace Beltrami operator

  • evals – (K,) array of the K corresponding eigenvalues

  • landmarks – (p,) indices of landmarks to compute

  • time_list – (num_T,) values of t to use

Returns:

landmarks_HKS – (N,num_E*p) array where each column is the HKS for a given t for some landmark

Return type:

np.ndarray

pyFM.signatures.HKS_functions.auto_HKS(evals, evects, num_T, landmarks=None, scaled=True)

Compute HKS with an automatic choice of tile values

Parameters:
  • evals – (K,) array of K eigenvalues

  • evects – (N,K) array with K eigenvectors

  • landmarks – (p,) if not None, indices of landmarks to compute.

  • num_T – (int) number values of t to use

Returns:

HKS or lm_HKS

(N,num_E) or (N,p*num_E) array where each column is the WKS for a given e

for some landmark

Return type:

np.ndarray

pyFM.signatures.HKS_functions.mesh_HKS(mesh, num_T, landmarks=None, k=None)

Compute the Heat Kernel Signature for a mesh

Parameters:
  • mesh (TriMesh) – mesh on which to compute the HKS

  • num_T (int) – number of time values to use

  • landmarks (np.ndarray, optional) – (p,) indices of landmarks to use

  • k (int, optional) – number of eigenvalues to use

Returns:

HKS – (N,num_T) array where each line is the HKS for a given t

Return type:

np.ndarray