|
My Project
|
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <complex.h>#include <fftw3.h>#include "ssht/ssht.h"#include "so3_types.h"#include "so3_error.h"#include "so3_sampling.h"Go to the source code of this file.
Macros | |
| #define | MIN(a, b) ((a < b) ? (a) : (b)) |
| #define | MAX(a, b) ((a > b) ? (a) : (b)) |
Typedefs | |
| typedef void(* | inverse_complex_ssht) (complex double *, const complex double *, int, int, int, ssht_dl_method_t, int) |
| typedef void(* | inverse_real_ssht) (double *, const complex double *, int, int, ssht_dl_method_t, int) |
| typedef void(* | forward_complex_ssht) (complex double *, const complex double *, int, int, int, ssht_dl_method_t, int) |
| typedef void(* | forward_real_ssht) (complex double *, const double *, int, int, ssht_dl_method_t, int) |
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) |
Core algorithms to perform Wigner transform on the rotation group SO(§).
Definition in file so3_core.c.
| #define MAX | ( | a, | |
| b | |||
| ) | ((a > b) ? (a) : (b)) |
Definition at line 27 of file so3_core.c.
| #define MIN | ( | a, | |
| b | |||
| ) | ((a < b) ? (a) : (b)) |
Definition at line 26 of file so3_core.c.
| typedef void(* forward_complex_ssht) (complex double *, const complex double *, int, int, int, ssht_dl_method_t, int) |
Definition at line 31 of file so3_core.c.
| typedef void(* forward_real_ssht) (complex double *, const double *, int, int, ssht_dl_method_t, int) |
Definition at line 32 of file so3_core.c.
| typedef void(* inverse_complex_ssht) (complex double *, const complex double *, int, int, int, ssht_dl_method_t, int) |
Definition at line 29 of file so3_core.c.
| typedef void(* inverse_real_ssht) (double *, const complex double *, int, int, ssht_dl_method_t, int) |
Definition at line 30 of file so3_core.c.
| 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).
| [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. |
| none |
Definition at line 1354 of file so3_core.c.
References MAX, MIN, so3_sampling_elmn2ind(), and so3_sampling_weight().
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).
| [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. |
| none |
Definition at line 2255 of file so3_core.c.
References MIN, so3_sampling_elmn2ind_real(), and so3_sampling_weight().
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.
| [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. |
| none |
Definition at line 253 of file so3_core.c.
References MAX, and so3_sampling_elmn2ind().
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.
| [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. |
| none |
Definition at line 700 of file so3_core.c.
References MAX, and so3_sampling_elmn2ind_real().
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).
| [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. |
| none |
Definition at line 951 of file so3_core.c.
References MAX, MIN, and so3_sampling_elmn2ind().
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).
| [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. |
| none |
Definition at line 1850 of file so3_core.c.
References MIN, and so3_sampling_elmn2ind_real().
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.
| [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. |
| none |
Definition at line 48 of file so3_core.c.
References MAX, and so3_sampling_elmn2ind().
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.
| [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. |
| none |
Definition at line 475 of file so3_core.c.
References MAX, and so3_sampling_elmn2ind_real().
Referenced by main().