![]() |
s2let
2.2.0
Fast wavelets on the sphere
|
#include "s2let.h"
#include <ssht/ssht.h>
#include <assert.h>
#include <complex.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <so3/so3.h>
Functions | |
void | s2let_tiling_axisym_test (int B, int L, int J_min) |
void | s2let_tiling_direction_test (int L, int N) |
void | s2let_tiling_wavelet_test (int B, int L, int J_min, int N, int spin) |
void | s2let_binomial_coefficient_test (int n_max) |
void | s2let_transform_axisym_lm_wav_test (int B, int L, int J_min, int seed) |
void | s2let_transform_axisym_lm_wav_multires_test (int B, int L, int J_min, int seed) |
void | s2let_wav_transform_wavlm_manual_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_transform_harmonic_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_transform_harmonic_multires_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_transform_axisym_wav_test (int B, int L, int J_min, int seed) |
void | s2let_transform_axisym_wav_real_test (int B, int L, int J_min, int seed) |
void | s2let_transform_axisym_wav_multires_test (int B, int L, int J_min, int seed) |
void | s2let_transform_axisym_wav_multires_real_test (int B, int L, int J_min, int seed) |
void | s2let_wav_transform_mw_test (int B, int L, int J_min, int N, int spin, int seed) |
complex double | s2let_dot_product_complex (complex double *v1, complex double *v2, int N_length) |
complex double | s2let_dot_product_real (double *v1, double *v2, int N_length) |
void | s2let_wav_analysis_adjoint_lm_lmn_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_synthesis_adjoint_lm_lmn_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_analysis_adjoint_mw_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_analysis_adjoint_mw_real_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_synthesis_adjoint_lm2wav_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_synthesis_adjoint_mw_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_synthesis_adjoint_mw_real_test (int B, int L, int J_min, int N, int spin, int seed) |
void | so3_test_gen_flmn_complex (complex double *flmn, const so3_parameters_t *parameters, int seed) |
void | s2let_wav_so3_forward_adjoint_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_transform_mw_real_test (int B, int L, int J_min, int N, int seed) |
void | s2let_wav_transform_mw_multires_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_transform_mw_multires_real_test (int B, int L, int J_min, int N, int seed) |
void | s2let_wav_transform_mwss_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_transform_mwss_real_test (int B, int L, int J_min, int N, int seed) |
void | s2let_wav_transform_mwss_multires_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_transform_mwss_multires_real_test (int B, int L, int J_min, int N, int seed) |
void | s2let_wav_transform_lm2wav_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_transform_lm2wav_real_test (int B, int L, int J_min, int N, int seed) |
void | s2let_wav_transform_lm2wav_multires_test (int B, int L, int J_min, int N, int spin, int seed) |
void | s2let_wav_transform_lm2wav_multires_real_test (int B, int L, int J_min, int N, int seed) |
void | s2let_transform_axisym_vs_directional_mw_test (B, L, J_min, seed) |
void | s2let_transform_axisym_vs_directional_mw_multires_test (B, L, J_min, seed) |
void | s2let_transform_performance_test (int B, int J_min, int NREPEAT, int NSCALE, int seed) |
void | s2let_transform_performance_multires_test (int B, int J_min, int NREPEAT, int NSCALE, int seed) |
void | s2let_transform_lm_performance_test (int B, int J_min, int NREPEAT, int NSCALE, int seed) |
void | s2let_transform_lm_performance_multires_test (int B, int J_min, int NREPEAT, int NSCALE, int seed) |
int | main (int argc, char *argv[]) |
int main | ( | int | argc, |
char * | argv[] | ||
) |
void s2let_binomial_coefficient_test | ( | int | n_max | ) |
complex double s2let_dot_product_complex | ( | complex double * | v1, |
complex double * | v2, | ||
int | N_length | ||
) |
complex double s2let_dot_product_real | ( | double * | v1, |
double * | v2, | ||
int | N_length | ||
) |
void s2let_tiling_axisym_test | ( | int | B, |
int | L, | ||
int | J_min | ||
) |
Test the identity relation of the wavelet tiling in harmonic space.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
none |
void s2let_tiling_direction_test | ( | int | L, |
int | N | ||
) |
Test the identity relation of the directionality components for the wavelet tiling in harmonic space.
[in] | L | Angular harmonic band-limit. |
[in] | N | Azimuthal band-limit. |
none |
void s2let_tiling_wavelet_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin | ||
) |
Test the identity relation of the directional wavelets for the wavelet tiling in harmonic space.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
none |
void s2let_transform_axisym_lm_wav_multires_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | seed | ||
) |
Test the exactness of the multiresolution wavelet transform in harmonic space.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | seed | Random seed. |
none |
void s2let_transform_axisym_lm_wav_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | seed | ||
) |
Test the exactness of the full resolution wavelet transform in harmonic space.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | seed | Random seed. |
none |
void s2let_transform_axisym_vs_directional_mw_multires_test | ( | B | , |
L | , | ||
J_min | , | ||
seed | |||
) |
Test that the directional multi-resolution algorithms reduce to the axisymmetric ones, provided spin = 0, N = 1
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | seed | Random seed. |
none |
void s2let_transform_axisym_vs_directional_mw_test | ( | B | , |
L | , | ||
J_min | , | ||
seed | |||
) |
Test that the directional algorithms reduce to the axisymmetric ones, provided spin = 0, N = 1
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | seed | Random seed. |
none |
void s2let_transform_axisym_wav_multires_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | seed | ||
) |
Test the exactness of the multiresolution wavelet transform in real space for real functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | seed | Random seed. |
none |
void s2let_transform_axisym_wav_multires_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | seed | ||
) |
Test the exactness of the multiresolution wavelet transform in real space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | seed | Random seed. |
none |
void s2let_transform_axisym_wav_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | seed | ||
) |
Test the exactness of the full resolution wavelet transform in real space for real functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | seed | Random seed. |
none |
void s2let_transform_axisym_wav_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | seed | ||
) |
Test the exactness of the full resolution wavelet transform in real space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | seed | Random seed. |
none |
void s2let_transform_lm_performance_multires_test | ( | int | B, |
int | J_min, | ||
int | NREPEAT, | ||
int | NSCALE, | ||
int | seed | ||
) |
void s2let_transform_lm_performance_test | ( | int | B, |
int | J_min, | ||
int | NREPEAT, | ||
int | NSCALE, | ||
int | seed | ||
) |
void s2let_transform_performance_multires_test | ( | int | B, |
int | J_min, | ||
int | NREPEAT, | ||
int | NSCALE, | ||
int | seed | ||
) |
void s2let_transform_performance_test | ( | int | B, |
int | J_min, | ||
int | NREPEAT, | ||
int | NSCALE, | ||
int | seed | ||
) |
void s2let_wav_analysis_adjoint_lm_lmn_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the full resolution directional wavelet transform in pixel space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_analysis_adjoint_mw_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
void s2let_wav_analysis_adjoint_mw_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
void s2let_wav_so3_forward_adjoint_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
void s2let_wav_synthesis_adjoint_lm2wav_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
void s2let_wav_synthesis_adjoint_lm_lmn_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the full resolution directional wavelet transform in pixel space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_synthesis_adjoint_mw_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
void s2let_wav_synthesis_adjoint_mw_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
void s2let_wav_transform_harmonic_multires_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the multi-resolution directional wavelet transform in harmonic space.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_harmonic_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the full resolution directional wavelet transform in harmonic space.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_lm2wav_multires_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | seed | ||
) |
Test the exactness of the multi-resolution directional wavelet transform in pixel space for real functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_lm2wav_multires_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the multi-resolution directional wavelet transform in pixel space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_lm2wav_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | seed | ||
) |
Test the exactness of the full resolution directional wavelet transform in pixel space for real functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_lm2wav_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the full resolution directional harmonic-to-wavelet transform in pixel space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_mw_multires_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | seed | ||
) |
Test the exactness of the multi-resolution directional wavelet transform in pixel space for real functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_mw_multires_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the multi-resolution directional wavelet transform in pixel space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_mw_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | seed | ||
) |
Test the exactness of the full resolution directional wavelet transform in pixel space for real functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_mw_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the full resolution directional wavelet transform in pixel space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_mwss_multires_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | seed | ||
) |
Test the exactness of the multi-resolution directional wavelet transform in pixel space for real functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_mwss_multires_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the multi-resolution directional wavelet transform in pixel space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_mwss_real_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | seed | ||
) |
Test the exactness of the full resolution directional wavelet transform in pixel space for real functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_mwss_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the full resolution directional wavelet transform in pixel space for complex functions.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void s2let_wav_transform_wavlm_manual_test | ( | int | B, |
int | L, | ||
int | J_min, | ||
int | N, | ||
int | spin, | ||
int | seed | ||
) |
Test the exactness of the multiresolution, manual tiling directional wavelet transform in harmonic space.
[in] | B | Wavelet parameter. |
[in] | L | Angular harmonic band-limit. |
[in] | J_min | First wavelet scale to be used. |
[in] | N | Azimuthal band-limit. |
[in] | spin | Spin number. |
[in] | seed | Random seed. |
none |
void so3_test_gen_flmn_complex | ( | complex double * | flmn, |
const so3_parameters_t * | parameters, | ||
int | seed | ||
) |