spectralbrain.compute_hks#

spectralbrain.compute_hks(decomp, t_values=None, *, n_times=100, normalize=False)[source]#

Heat Kernel Signature — multi-scale per-vertex descriptor.

The HKS measures how much heat remains at a point after diffusing for time t. Small t captures local geometry (curvature); large t captures global shape.

\[\text{HKS}(x, t) = \sum_{i=0}^{k-1} e^{-\lambda_i t}\, \varphi_i^2(x)\]
Parameters:
  • decomp (SpectralDecomposition)

  • t_values (ndarray, shape (T,), optional) – Time scales. None = auto log-spaced from eigenvalues.

  • n_times (int) – Number of auto time scales (ignored if t_values given).

  • normalize (bool) – If True, normalise each column (time slice) to unit L2 norm.

Returns:

ndarray, shape (N, T) – HKS evaluated at each vertex and time.

Return type:

ndarray[tuple[Any, …], dtype[floating]]

References

Sun J, Ovsjanikov M, Guibas L. A concise and provably informative multi-scale signature based on heat diffusion. SGP 2009.