s2fft is currently in an open beta, please provide feedback on GitHub

Wigner Transform#

s2fft.base_transforms.wigner.forward(f: ndarray, L: int, N: int, L_lower: int = 0, sampling: str = 'mw', reality: bool = False, nside: int | None = None) ndarray#

Compute the forward Wigner transform, i.e. Fourier transform on \(SO(3)\).

Note

Importantly, the convention adopted for storage of f is \([\gamma, \beta, \alpha]\), for Euler angles \((\alpha, \beta, \gamma)\) following the \(zyz\) Euler convention, in order to simplify indexing for internal use. For a given \(\gamma\) we thus recover a signal on the sphere indexed by \([\theta, \phi]\), i.e. we associate \(\beta\) with \(\theta\) and \(\alpha\) with \(\phi\).

Parameters:
  • f (np.ndarray) – Signal on the on \(SO(3)\) with shape \([n_{\gamma}, n_{\beta}, n_{\alpha}]\), where \(n_\xi\) denotes the number of samples for angle \(\xi\).

  • L (int) – Harmonic bandlimit.

  • N (int) – Directional band-limit.

  • L_lower (int, optional) – Harmonic lower bound. Defaults to 0.

  • sampling (str, optional) – Sampling scheme. Supported sampling schemes include {“mw”, “mwss”, “dh”}. Defaults to “mw”.

  • reality (bool, optional) – Whether the signal on the sphere is real. If so, conjugate symmetry is exploited to reduce computational costs. Defaults to False.

  • nside (int, optional) – HEALPix Nside resolution parameter. Only required if sampling=”healpix”. Defaults to None.

Raises:

ValueError – Sampling scheme not currently supported.

Returns:

Wigner coefficients flmn with shape \([2N-1, L, 2L-1]\).

Return type:

np.ndarray

s2fft.base_transforms.wigner.inverse(flmn: ndarray, L: int, N: int, L_lower: int = 0, sampling: str = 'mw', reality: bool = False, nside: int | None = None) ndarray#

Compute the inverse Wigner transform, i.e. inverse Fourier transform on \(SO(3)\).

Note

Importantly, the convention adopted for storage of f is \([\gamma, \beta, \alpha]\), for Euler angles \((\alpha, \beta, \gamma)\) following the \(zyz\) Euler convention, in order to simplify indexing for internal use. For a given \(\gamma\) we thus recover a signal on the sphere indexed by \([\theta, \phi]\), i.e. we associate \(\beta\) with \(\theta\) and \(\alpha\) with \(\phi\).

Parameters:
  • flmn (np.ndarray) – Wigner coefficients with shape \([2N-1, L, 2L-1]\).

  • L (int) – Harmonic bandlimit.

  • N (int) – Directional band-limit.

  • L_lower (int, optional) – Harmonic lower bound. Defaults to 0.

  • sampling (str, optional) – Sampling scheme. Supported sampling schemes include {“mw”, “mwss”, “dh”, “gl”}. Defaults to “mw”.

  • reality (bool, optional) – Whether the signal on the sphere is real. If so, conjugate symmetry is exploited to reduce computational costs. Defaults to False.

  • nside (int, optional) – HEALPix Nside resolution parameter. Only required if sampling=”healpix”. Defaults to None.

Raises:

ValueError – Sampling scheme not currently supported.

Returns:

Signal on the on \(SO(3)\) with shape \([n_{\gamma}, n_{\beta}, n_{\alpha}]\), where \(n_\xi\) denotes the number of samples for angle \(\xi\).

Return type:

np.ndarray