|
so3
1.3.0
Fast and exact Wigner transforms
|
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <complex.h>#include "so3/so3_types.h"#include "so3/so3_error.h"#include "so3/so3_sampling.h"#include "so3/so3_core.h"#include <ssht/ssht.h>
Macros | |
| #define | MAX(a, b) ((a > b) ? (a) : (b)) |
| #define | MIN(a, b) ((a < b) ? (a) : (b)) |
Functions | |
| void | so3_conv_harmonic_convolution (SO3_COMPLEX(double) *hlmn, const so3_parameters_t *h_parameters, const SO3_COMPLEX(double) *flmn, const so3_parameters_t *f_parameters, const SO3_COMPLEX(double) *glmn, const so3_parameters_t *g_parameters) |
| so3_parameters_t | so3_conv_get_parameters_of_convolved_lmn (const so3_parameters_t *f_parameters, const so3_parameters_t *g_parameters) |
| void | so3_conv_get_parameters_of_convolved_lmn_void (so3_parameters_t *h_parameters, const so3_parameters_t *f_parameters, const so3_parameters_t *g_parameters) |
| void | so3_conv_convolution (SO3_COMPLEX(double) *h, const so3_parameters_t *h_parameters, const SO3_COMPLEX(double) *f, const so3_parameters_t *f_parameters, const SO3_COMPLEX(double) *g, const so3_parameters_t *g_parameters) |
| void | so3_conv_s2toso3_harmonic_convolution (SO3_COMPLEX(double) *hlmn, const so3_parameters_t *h_parameters, const SO3_COMPLEX(double) *flm, const SO3_COMPLEX(double) *glm) |
Core algorithms to perform Wigner transform on the rotation group SO(§).
| #define MAX | ( | a, | |
| b | |||
| ) | ((a > b) ? (a) : (b)) |
| #define MIN | ( | a, | |
| b | |||
| ) | ((a < b) ? (a) : (b)) |
| void so3_conv_convolution | ( | SO3_COMPLEX(double) * | h, |
| const so3_parameters_t * | h_parameters, | ||
| const SO3_COMPLEX(double) * | f, | ||
| const so3_parameters_t * | f_parameters, | ||
| const SO3_COMPLEX(double) * | g, | ||
| const so3_parameters_t * | g_parameters | ||
| ) |
Compute the convolution of one signal with another in real space by doing the convolution in harmonic space h = f (*) g
| [out] | h | real space (alpha, beta, gamma) |
| [in] | parameters | of h A fully populated parameters object. |
| [in] | f | real space (alpha, beta, gamma) |
| [in] | parameters | of f A fully populated parameters object. |
| [in] | g | real space (alpha, beta, gamma) |
| [in] | parameters | of g A fully populated parameters object. |
| none |
| so3_parameters_t so3_conv_get_parameters_of_convolved_lmn | ( | const so3_parameters_t * | f_parameters, |
| const so3_parameters_t * | g_parameters | ||
| ) |
Compute the parameters for the hlmn for the convolution of one signal with another in harmonic space h = f (*) g
| [in] | parameters | for glmn Harmonic coefficients. |
| [out] | parameters | for hlmn Harmonic coefficients |
| [in] | parameters | for flmn Harmonic coefficients. |
| none |
| void so3_conv_get_parameters_of_convolved_lmn_void | ( | so3_parameters_t * | h_parameters, |
| const so3_parameters_t * | f_parameters, | ||
| const so3_parameters_t * | g_parameters | ||
| ) |
| void so3_conv_harmonic_convolution | ( | SO3_COMPLEX(double) * | hlmn, |
| const so3_parameters_t * | h_parameters, | ||
| const SO3_COMPLEX(double) * | flmn, | ||
| const so3_parameters_t * | f_parameters, | ||
| const SO3_COMPLEX(double) * | glmn, | ||
| const so3_parameters_t * | g_parameters | ||
| ) |
Compute the convolution of one signal with another in harmonic space h = f (*) g
| [out] | hlmn | Harmonic coefficients. Provide a buffer of size (L*L*(2*N-1). |
| [in] | parameters | of hlmn A fully populated parameters object. |
| [in] | flmn | Harmonic coefficients. |
| [in] | parameters | of flmn A fully populated parameters object. |
| [in] | glmn | Harmonic coefficients. |
| [in] | parameters | of glmn A fully populated parameters object. |
| none |
| void so3_conv_s2toso3_harmonic_convolution | ( | SO3_COMPLEX(double) * | hlmn, |
| const so3_parameters_t * | h_parameters, | ||
| const SO3_COMPLEX(double) * | flm, | ||
| const SO3_COMPLEX(double) * | glm | ||
| ) |