Fourier-Wigner Transform#

s2fft.precompute_transforms.fourier_wigner.forward_transform(f: ndarray, DW: ndarray, L: int, N: int, reality: bool = False, sampling: str = 'mw') ndarray#

Computes the forward Wigner transform using the Fourier decomposition algorithm.

Parameters:
  • f (np.ndarray) – Function sampled on the rotation group.

  • DW (Tuple[np.ndarray, np.ndarray], optional) – Fourier coefficients of the reduced Wigner d-functions and the corresponding upsampled quadrature weights.

  • L (int) – Harmonic band-limit.

  • N (int) – Azimuthal band-limit.

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

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

Returns:

Wigner coefficients of function f.

Return type:

np.ndarray

s2fft.precompute_transforms.fourier_wigner.forward_transform_jax(f: Array, DW: Array, L: int, N: int, reality: bool = False, sampling: str = 'mw') Array#

Computes the forward Wigner transform using the Fourier decomposition algorithm (JAX).

Parameters:
  • f (jnp.ndarray) – Function sampled on the rotation group.

  • DW (Tuple[jnp.ndarray, jnp.ndarray]) – Fourier coefficients of the reduced Wigner d-functions and the corresponding upsampled quadrature weights.

  • L (int) – Harmonic band-limit.

  • N (int) – Azimuthal band-limit.

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

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

Returns:

Wigner coefficients of function f.

Return type:

jnp.ndarray

s2fft.precompute_transforms.fourier_wigner.inverse_transform(flmn: ndarray, DW: ndarray, L: int, N: int, reality: bool = False, sampling: str = 'mw') ndarray#

Computes the inverse Wigner transform using the Fourier decomposition algorithm.

Parameters:
  • flmn (np.ndarray) – Wigner coefficients.

  • DW (Tuple[np.ndarray, np.ndarray]) – Fourier coefficients of the reduced Wigner d-functions and the corresponding upsampled quadrature weights.

  • L (int) – Harmonic band-limit.

  • N (int) – Azimuthal band-limit.

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

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

Returns:

Pixel-space function sampled on the rotation group.

Return type:

np.ndarray

s2fft.precompute_transforms.fourier_wigner.inverse_transform_jax(flmn: Array, DW: Array, L: int, N: int, reality: bool = False, sampling: str = 'mw') Array#

Computes the inverse Wigner transform using the Fourier decomposition algorithm (JAX).

Parameters:
  • flmn (jnp.ndarray) – Wigner coefficients.

  • DW (Tuple[np.ndarray, np.ndarray]) – Fourier coefficients of the reduced Wigner d-functions and the corresponding upsampled quadrature weights.

  • L (int) – Harmonic band-limit.

  • N (int) – Azimuthal band-limit.

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

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

Returns:

Pixel-space function sampled on the rotation group.

Return type:

jnp.ndarray