xnn.cnn.models.spherical.S2Transform#

class xnn.cnn.models.spherical.S2Transform(b_grid, b_spec)[source]#

Bases: Module

Spherical harmonic transform between the S^2 grid of bandwidth b_grid and spectra of bandwidth b_spec (b_spec <= b_grid).

A spectrum is a complex tensor (..., b_spec, 2 b_spec - 1) holding f^l_m at [l, m + b_spec - 1] (zero where |m| > l).

Parameters:
  • b_grid (int) – Bandwidth of the grid (2 b_grid samples per axis).

  • b_spec (int) – Bandwidth of the spectrum (degrees l < b_spec).

analyze(x)[source]#

Spectrum f^l_m = int f conj(Y^l_m) dx of grid signals (..., 2b, 2b).

Parameters:

x (Tensor)

Return type:

Tensor

synthesize(f_hat, real=True)[source]#

Grid signal f = sum_l (2l + 1) sum_m f^l_m Y^l_m of spectra (..., b_spec, 2 b_spec - 1).

Parameters:
Return type:

Tensor