src/c/so3_core.h File Reference

# so3_core.h File Reference

`#include "ssht.h"`
`#include <complex.h>`

Go to the source code of this file.

## Functions
void | so3_core_inverse_via_ssht (complex double *f, const complex double *flmn, const so3_parameters_t *parameters)
void | so3_core_forward_via_ssht (complex double *flmn, const complex double *f, const so3_parameters_t *parameters)
void | so3_core_inverse_via_ssht_real (double *f, const complex double *flmn, const so3_parameters_t *parameters)
void | so3_core_forward_via_ssht_real (complex double *flmn, const double *f, const so3_parameters_t *parameters)
void | so3_core_inverse_direct (complex double *f, const complex double *flmn, const so3_parameters_t *parameters)
void | so3_core_forward_direct (complex double *flmn, const complex double *f, const so3_parameters_t *parameters)
void | so3_core_inverse_direct_real (double *f, const complex double *flmn, const so3_parameters_t *parameters)
void | so3_core_forward_direct_real (complex double *flmn, const double *f, const so3_parameters_t *parameters)

## Function Documentation

void so3_core_forward_direct | ( | complex double * | flmn,
|  | const complex double * | f,
|  | const so3_parameters_t * | parameters |
| ) |  |  |

Compute forward Wigner transform for a complex signal directly (without using SSHT).

Parameters:

  `[out]` | flmn | Harmonic coefficients. If n_mode is different from SO3_N_MODE_ALL, this array has to be nulled before being passed to the function.
  `[in]` | f | Function on sphere. Provide a buffer of size (2*L-1)*L*(2*N-1).
  `[in]` | parameters | A fully populated parameters object. The reality flag is ignored. Use so3_core_forward_via_ssht_real instead for real signals.

Return values:

  | none |

Author:
  Martin Büttner
  Jason McEwen

Definition at line 1354 of file so3_core.c.

References so3_parameters_t::dl_method, so3_parameters_t::L, so3_parameters_t::L0, MAX, MIN, so3_parameters_t::N, so3_parameters_t::n_mode, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_ERROR_MEM_ALLOC_CHECK, SO3_N_MODE_ALL, SO3_N_MODE_EVEN, SO3_N_MODE_L, SO3_N_MODE_MAXIMUM, SO3_N_MODE_ODD, SO3_PION2, SO3_PROMPT, so3_sampling_elmn2ind(), so3_sampling_weight(), so3_parameters_t::steerable, so3_parameters_t::storage, and so3_parameters_t::verbosity.

Referenced by main().

void so3_core_forward_direct_real | ( | complex double * | flmn,
|  | const double * | f,
|  | const so3_parameters_t * | parameters |
| ) |  |  |

Compute forward Wigner transform for a real signal directly (without using SSHT).

Parameters:

  `[out]` | flmn | Harmonic coefficients. If n_mode is different from SO3_N_MODE_ALL, this array has to be nulled before being past to the function.
  `[in]` | f | Function on sphere. Provide a buffer of size (2*L-1)*L*(2*N-1).
  `[in]` | parameters | A fully populated parameters object. The reality flag is ignored. Use so3_core_forward_direct instead for complex signals.

Return values:

  | none |

Author:
  Martin Büttner
  Jason McEwen

Definition at line 2255 of file so3_core.c.

References so3_parameters_t::dl_method, so3_parameters_t::L, so3_parameters_t::L0, MIN, so3_parameters_t::N, so3_parameters_t::n_mode, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_ERROR_MEM_ALLOC_CHECK, SO3_N_MODE_ALL, SO3_N_MODE_EVEN, SO3_N_MODE_L, SO3_N_MODE_MAXIMUM, SO3_N_MODE_ODD, SO3_PION2, SO3_PROMPT, so3_sampling_elmn2ind_real(), so3_sampling_weight(), so3_parameters_t::steerable, so3_parameters_t::storage, and so3_parameters_t::verbosity.

Referenced by main().

void so3_core_forward_via_ssht | ( | complex double * | flmn,
|  | const complex double * | f,
|  | const so3_parameters_t * | parameters |
| ) |  |  |

Compute forward Wigner transform for a complex signal via SSHT.

Parameters:

  `[out]` | flmn | Harmonic coefficients. If n_mode is different from SO3_N_MODE_ALL, this array has to be nulled before being past to the function.
  `[in]` | f | Function on sphere. Provide a buffer of size (2*L-1)*L*(2*N-1).
  `[in]` | parameters | A fully populated parameters object. The reality flag is ignored. Use so3_core_forward_via_ssht_real instead for real signals.

Return values:

  | none |

Author:
  Martin Büttner
  Jason McEwen

Definition at line 253 of file so3_core.c.

References so3_parameters_t::dl_method, so3_parameters_t::L, so3_parameters_t::L0, MAX, so3_parameters_t::N, so3_parameters_t::n_mode, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_ERROR_MEM_ALLOC_CHECK, SO3_N_MODE_EVEN, SO3_N_MODE_MAXIMUM, SO3_N_MODE_ODD, SO3_PI, SO3_PROMPT, so3_sampling_elmn2ind(), SO3_SAMPLING_MW, SO3_SAMPLING_MW_SS, SO3_STORAGE_COMPACT, SO3_STORAGE_PADDED, so3_parameters_t::steerable, so3_parameters_t::storage, and so3_parameters_t::verbosity.

Referenced by main().

void so3_core_forward_via_ssht_real | ( | complex double * | flmn,
|  | const double * | f,
|  | const so3_parameters_t * | parameters |
| ) |  |  |

Compute forward Wigner transform for a real signal via SSHT.

Parameters:

  `[out]` | flmn | Harmonic coefficients. If n_mode is different from SO3_N_MODE_ALL, this array has to be nulled before being past to the function.
  `[in]` | f | Function on sphere. Provide a buffer of size (2*L-1)*L*(2*N-1).
  `[in]` | parameters | A fully populated parameters object. The reality flag is ignored. Use so3_core_forward_via_ssht instead for complex signals.

Return values:

  | none |

Author:
  Martin Büttner
  Jason McEwen

Definition at line 700 of file so3_core.c.

References so3_parameters_t::dl_method, so3_parameters_t::L, so3_parameters_t::L0, MAX, so3_parameters_t::N, so3_parameters_t::n_mode, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_ERROR_MEM_ALLOC_CHECK, SO3_N_MODE_EVEN, SO3_N_MODE_MAXIMUM, SO3_N_MODE_ODD, SO3_PI, SO3_PROMPT, so3_sampling_elmn2ind_real(), SO3_SAMPLING_MW, SO3_SAMPLING_MW_SS, SO3_STORAGE_COMPACT, SO3_STORAGE_PADDED, so3_parameters_t::steerable, so3_parameters_t::storage, and so3_parameters_t::verbosity.

Referenced by main().

void so3_core_inverse_direct | ( | complex double * | f,
|  | const complex double * | flmn,
|  | const so3_parameters_t * | parameters |
| ) |  |  |

Compute inverse Wigner transform for a complex signal directly (without using SSHT).

Parameters:

  `[out]` | f | Function on sphere. Provide a buffer of size (2*L-1)*L*(2*N-1).
  `[in]` | flmn | Harmonic coefficients.
  `[in]` | parameters | A fully populated parameters object. The reality flag is ignored. Use so3_core_inverse_via_ssht_real instead for real signals.

Return values:

  | none |

Author:
  Martin Büttner
  Jason McEwen

Definition at line 951 of file so3_core.c.

References so3_parameters_t::dl_method, so3_parameters_t::L, so3_parameters_t::L0, MAX, MIN, so3_parameters_t::N, so3_parameters_t::n_mode, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_ERROR_MEM_ALLOC_CHECK, SO3_N_MODE_ALL, SO3_N_MODE_EVEN, SO3_N_MODE_L, SO3_N_MODE_MAXIMUM, SO3_N_MODE_ODD, SO3_PI, SO3_PION2, SO3_PROMPT, so3_sampling_elmn2ind(), so3_parameters_t::steerable, so3_parameters_t::storage, and so3_parameters_t::verbosity.

Referenced by main().

void so3_core_inverse_direct_real | ( | double * | f,
|  | const complex double * | flmn,
|  | const so3_parameters_t * | parameters |
| ) |  |  |

Compute inverse Wigner transform for a real signal directly (without using SSHT).

Parameters:

  `[out]` | f | Function on sphere. Provide a buffer of size (2*L-1)*L*(2*N-1).
  `[in]` | flmn | Harmonic coefficients for n >= 0. Note that for n = 0, these have to respect the symmetry flm0* = (-1)^(m+n)*fl-m0, and hence fl00 has to be real.
  `[in]` | parameters | A fully populated parameters object. The reality flag is ignored. Use so3_core_inverse_direct instead for complex signals.

Return values:

  | none |

Author:
  Martin Büttner
  Jason McEwen

Definition at line 1850 of file so3_core.c.

References so3_parameters_t::dl_method, so3_parameters_t::L, so3_parameters_t::L0, MIN, so3_parameters_t::N, so3_parameters_t::n_mode, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_ERROR_MEM_ALLOC_CHECK, SO3_N_MODE_ALL, SO3_N_MODE_EVEN, SO3_N_MODE_L, SO3_N_MODE_MAXIMUM, SO3_N_MODE_ODD, SO3_PI, SO3_PION2, SO3_PROMPT, so3_sampling_elmn2ind_real(), so3_parameters_t::steerable, so3_parameters_t::storage, and so3_parameters_t::verbosity.

Referenced by main().

void so3_core_inverse_via_ssht | ( | complex double * | f,
|  | const complex double * | flmn,
|  | const so3_parameters_t * | parameters |
| ) |  |  |

Compute inverse Wigner transform for a complex signal via SSHT.

Parameters:

  `[out]` | f | Function on sphere. Provide a buffer of size (2*L-1)*L*(2*N-1).
  `[in]` | flmn | Harmonic coefficients.
  `[in]` | parameters | A fully populated parameters object. The reality flag is ignored. Use so3_core_inverse_via_ssht_real instead for real signals.

Return values:

  | none |

Author:
  Martin Büttner
  Jason McEwen

Definition at line 48 of file so3_core.c.

References so3_parameters_t::dl_method, so3_parameters_t::L, so3_parameters_t::L0, MAX, so3_parameters_t::N, so3_parameters_t::n_mode, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_ERROR_MEM_ALLOC_CHECK, SO3_N_MODE_EVEN, SO3_N_MODE_MAXIMUM, SO3_N_MODE_ODD, SO3_PI, SO3_PROMPT, so3_sampling_elmn2ind(), SO3_SAMPLING_MW, SO3_SAMPLING_MW_SS, SO3_STORAGE_COMPACT, SO3_STORAGE_PADDED, so3_parameters_t::steerable, so3_parameters_t::storage, and so3_parameters_t::verbosity.

Referenced by main().

void so3_core_inverse_via_ssht_real | ( | double * | f,
|  | const complex double * | flmn,
|  | const so3_parameters_t * | parameters |
| ) |  |  |

Compute inverse Wigner transform for a real signal via SSHT.

Parameters:

  `[out]` | f | Function on sphere. Provide a buffer of size (2*L-1)*L*(2*N-1).
  `[in]` | flmn | Harmonic coefficients for n >= 0. Note that for n = 0, these have to respect the symmetry flm0* = (-1)^(m+n)*fl-m0, and hence fl00 has to be real.
  `[in]` | parameters | A fully populated parameters object. The reality flag is ignored. Use so3_core_inverse_via_ssht instead for complex signals.

Return values:

  | none |

Author:
  Martin Büttner
  Jason McEwen

Definition at line 475 of file so3_core.c.

References so3_parameters_t::dl_method, so3_parameters_t::L, so3_parameters_t::L0, MAX, so3_parameters_t::N, so3_parameters_t::n_mode, so3_parameters_t::sampling_scheme, SO3_ERROR_GENERIC, SO3_ERROR_MEM_ALLOC_CHECK, SO3_N_MODE_EVEN, SO3_N_MODE_MAXIMUM, SO3_N_MODE_ODD, SO3_PI, SO3_PROMPT, so3_sampling_elmn2ind_real(), SO3_SAMPLING_MW, SO3_SAMPLING_MW_SS, SO3_STORAGE_COMPACT, SO3_STORAGE_PADDED, so3_parameters_t::steerable, so3_parameters_t::storage, and so3_parameters_t::verbosity.

Referenced by main().