├── .gitignore
├── CMakeInstall
├── CMakeLists.txt
├── INSTALL
├── LICENSE.txt
├── README
├── S2LET.sublime-project
├── bin
└── .gitignore
├── data
├── .gitignore
├── earth_tomo_mw_128.fits
├── earth_tomo_mw_128_rot.fits
├── somecmbsimu_hpx_128.fits
├── wmap_mcmc_base_k_synch_stk_q_9yr_v5.fits
└── wmap_mcmc_base_k_synch_stk_u_9yr_v5.fits
├── doc
├── c
│ ├── annotated.html
│ ├── classes.html
│ ├── dir_120ed4da3e3217b1e7fc0b4f48568e79.html
│ ├── dir_2756d41f8717da58192571bd3d5ae320.html
│ ├── dir_5eb159725f84c66aafd839904a4acdd0.html
│ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html
│ ├── dir_7420a7c8f71871d771403938d4d24c4a.html
│ ├── dir_d44c64559bbebec7f509842c48db8b23.html
│ ├── doxygen.css
│ ├── dynsections.js
│ ├── files.html
│ ├── functions.html
│ ├── functions_vars.html
│ ├── globals.html
│ ├── globals_0x62.html
│ ├── globals_0x66.html
│ ├── globals_0x67.html
│ ├── globals_0x68.html
│ ├── globals_0x69.html
│ ├── globals_0x6d.html
│ ├── globals_0x6e.html
│ ├── globals_0x70.html
│ ├── globals_0x72.html
│ ├── globals_0x73.html
│ ├── globals_0x77.html
│ ├── globals_b.html
│ ├── globals_defs.html
│ ├── globals_enum.html
│ ├── globals_eval.html
│ ├── globals_f.html
│ ├── globals_func.html
│ ├── globals_func_0x66.html
│ ├── globals_func_0x67.html
│ ├── globals_func_0x68.html
│ ├── globals_func_0x6d.html
│ ├── globals_func_0x6e.html
│ ├── globals_func_0x70.html
│ ├── globals_func_0x72.html
│ ├── globals_func_0x73.html
│ ├── globals_func_0x77.html
│ ├── globals_func_f.html
│ ├── globals_func_g.html
│ ├── globals_func_h.html
│ ├── globals_func_m.html
│ ├── globals_func_n.html
│ ├── globals_func_p.html
│ ├── globals_func_r.html
│ ├── globals_func_s.html
│ ├── globals_func_w.html
│ ├── globals_g.html
│ ├── globals_h.html
│ ├── globals_i.html
│ ├── globals_m.html
│ ├── globals_n.html
│ ├── globals_p.html
│ ├── globals_r.html
│ ├── globals_s.html
│ ├── globals_type.html
│ ├── globals_vars.html
│ ├── globals_w.html
│ ├── index.html
│ ├── installdox
│ ├── jquery.js
│ ├── s2let_8h.html
│ ├── s2let_8h_source.html
│ ├── s2let__about_8c.html
│ ├── s2let__about_8c_source.html
│ ├── s2let__alloc_8c.html
│ ├── s2let__alloc_8c_source.html
│ ├── s2let__alloc_8h.html
│ ├── s2let__alloc_8h_source.html
│ ├── s2let__analysis_8c.html
│ ├── s2let__analysis_8c_source.html
│ ├── s2let__analysis_8h.html
│ ├── s2let__analysis_8h_source.html
│ ├── s2let__axisym__denoising__demo_8c.html
│ ├── s2let__axisym__denoising__demo_8c_source.html
│ ├── s2let__denoising__demo_8c.html
│ ├── s2let__denoising__demo_8c_source.html
│ ├── s2let__error_8h.html
│ ├── s2let__error_8h_source.html
│ ├── s2let__fits_8c.html
│ ├── s2let__fits_8c_source.html
│ ├── s2let__fits_8h.html
│ ├── s2let__fits_8h_source.html
│ ├── s2let__helper_8c.html
│ ├── s2let__helper_8c_source.html
│ ├── s2let__helper_8h.html
│ ├── s2let__helper_8h_source.html
│ ├── s2let__hpx_8c.html
│ ├── s2let__hpx_8c_source.html
│ ├── s2let__hpx_8h.html
│ ├── s2let__hpx_8h_source.html
│ ├── s2let__hpx__demo_8c.html
│ ├── s2let__hpx__demo_8c_source.html
│ ├── s2let__hpx__test_8c.html
│ ├── s2let__hpx__test_8c_source.html
│ ├── s2let__idl__hpx_8c.html
│ ├── s2let__idl__hpx_8c_source.html
│ ├── s2let__idl__hpx_8h.html
│ ├── s2let__idl__hpx_8h_source.html
│ ├── s2let__idl__mw_8c.html
│ ├── s2let__idl__mw_8c_source.html
│ ├── s2let__idl__mw_8h.html
│ ├── s2let__idl__mw_8h_source.html
│ ├── s2let__lm_8c.html
│ ├── s2let__lm_8c_source.html
│ ├── s2let__lm_8h.html
│ ├── s2let__lm_8h_source.html
│ ├── s2let__math_8c.html
│ ├── s2let__math_8c_source.html
│ ├── s2let__math_8h.html
│ ├── s2let__math_8h_source.html
│ ├── s2let__mex_8h.html
│ ├── s2let__mex_8h_source.html
│ ├── s2let__mw_8c.html
│ ├── s2let__mw_8c_source.html
│ ├── s2let__mw_8h.html
│ ├── s2let__mw_8h_source.html
│ ├── s2let__so3_8h.html
│ ├── s2let__so3_8h_source.html
│ ├── s2let__spin__denoising__demo_8c.html
│ ├── s2let__spin__denoising__demo_8c_source.html
│ ├── s2let__synthesis_8c.html
│ ├── s2let__synthesis_8c_source.html
│ ├── s2let__synthesis_8h.html
│ ├── s2let__synthesis_8h_source.html
│ ├── s2let__test_8c.html
│ ├── s2let__test_8c_source.html
│ ├── s2let__test__csv_8c.html
│ ├── s2let__test__csv_8c_source.html
│ ├── s2let__tiling_8c.html
│ ├── s2let__tiling_8c_source.html
│ ├── s2let__tiling_8h.html
│ ├── s2let__tiling_8h_source.html
│ ├── s2let__transform__axisym__analysis__hpx__real_8c.html
│ ├── s2let__transform__axisym__analysis__hpx__real_8c_source.html
│ ├── s2let__transform__axisym__analysis__mw__real_8c.html
│ ├── s2let__transform__axisym__analysis__mw__real_8c_source.html
│ ├── s2let__transform__axisym__hpx_8c.html
│ ├── s2let__transform__axisym__hpx_8c_source.html
│ ├── s2let__transform__axisym__hpx_8h.html
│ ├── s2let__transform__axisym__hpx_8h_source.html
│ ├── s2let__transform__axisym__lm_8c.html
│ ├── s2let__transform__axisym__lm_8c_source.html
│ ├── s2let__transform__axisym__lm_8h.html
│ ├── s2let__transform__axisym__lm_8h_source.html
│ ├── s2let__transform__axisym__mw_8c.html
│ ├── s2let__transform__axisym__mw_8c_source.html
│ ├── s2let__transform__axisym__mw_8h.html
│ ├── s2let__transform__axisym__mw_8h_source.html
│ ├── s2let__transform__axisym__synthesis__hpx__real_8c.html
│ ├── s2let__transform__axisym__synthesis__hpx__real_8c_source.html
│ ├── s2let__transform__axisym__synthesis__mw__real_8c.html
│ ├── s2let__transform__axisym__synthesis__mw__real_8c_source.html
│ ├── s2let__types_8h.html
│ ├── s2let__types_8h_source.html
│ ├── search
│ │ ├── all_0.html
│ │ ├── all_0.js
│ │ ├── all_1.html
│ │ ├── all_1.js
│ │ ├── all_10.html
│ │ ├── all_10.js
│ │ ├── all_11.html
│ │ ├── all_11.js
│ │ ├── all_2.html
│ │ ├── all_2.js
│ │ ├── all_3.html
│ │ ├── all_3.js
│ │ ├── all_4.html
│ │ ├── all_4.js
│ │ ├── all_5.html
│ │ ├── all_5.js
│ │ ├── all_6.html
│ │ ├── all_6.js
│ │ ├── all_61.html
│ │ ├── all_62.html
│ │ ├── all_64.html
│ │ ├── all_66.html
│ │ ├── all_67.html
│ │ ├── all_68.html
│ │ ├── all_69.html
│ │ ├── all_6a.html
│ │ ├── all_6c.html
│ │ ├── all_6d.html
│ │ ├── all_6e.html
│ │ ├── all_6f.html
│ │ ├── all_7.html
│ │ ├── all_7.js
│ │ ├── all_70.html
│ │ ├── all_72.html
│ │ ├── all_73.html
│ │ ├── all_75.html
│ │ ├── all_76.html
│ │ ├── all_77.html
│ │ ├── all_8.html
│ │ ├── all_8.js
│ │ ├── all_9.html
│ │ ├── all_9.js
│ │ ├── all_a.html
│ │ ├── all_a.js
│ │ ├── all_b.html
│ │ ├── all_b.js
│ │ ├── all_c.html
│ │ ├── all_c.js
│ │ ├── all_d.html
│ │ ├── all_d.js
│ │ ├── all_e.html
│ │ ├── all_e.js
│ │ ├── all_f.html
│ │ ├── all_f.js
│ │ ├── classes_0.html
│ │ ├── classes_0.js
│ │ ├── classes_73.html
│ │ ├── defines_0.html
│ │ ├── defines_0.js
│ │ ├── defines_1.html
│ │ ├── defines_1.js
│ │ ├── defines_2.html
│ │ ├── defines_2.js
│ │ ├── defines_3.html
│ │ ├── defines_3.js
│ │ ├── defines_4.html
│ │ ├── defines_4.js
│ │ ├── defines_5.html
│ │ ├── defines_5.js
│ │ ├── defines_61.html
│ │ ├── defines_69.html
│ │ ├── defines_6d.html
│ │ ├── defines_6e.html
│ │ ├── defines_70.html
│ │ ├── defines_73.html
│ │ ├── enums_0.html
│ │ ├── enums_0.js
│ │ ├── enums_73.html
│ │ ├── enumvalues_0.html
│ │ ├── enumvalues_0.js
│ │ ├── enumvalues_1.html
│ │ ├── enumvalues_1.js
│ │ ├── enumvalues_6e.html
│ │ ├── enumvalues_73.html
│ │ ├── files_0.html
│ │ ├── files_0.js
│ │ ├── files_73.html
│ │ ├── functions_0.html
│ │ ├── functions_0.js
│ │ ├── functions_1.html
│ │ ├── functions_1.js
│ │ ├── functions_2.html
│ │ ├── functions_2.js
│ │ ├── functions_3.html
│ │ ├── functions_3.js
│ │ ├── functions_4.html
│ │ ├── functions_4.js
│ │ ├── functions_5.html
│ │ ├── functions_5.js
│ │ ├── functions_6.html
│ │ ├── functions_6.js
│ │ ├── functions_62.html
│ │ ├── functions_66.html
│ │ ├── functions_67.html
│ │ ├── functions_68.html
│ │ ├── functions_6d.html
│ │ ├── functions_6e.html
│ │ ├── functions_7.html
│ │ ├── functions_7.js
│ │ ├── functions_70.html
│ │ ├── functions_72.html
│ │ ├── functions_73.html
│ │ ├── functions_77.html
│ │ ├── functions_8.html
│ │ ├── functions_8.js
│ │ ├── functions_9.html
│ │ ├── functions_9.js
│ │ ├── nomatches.html
│ │ ├── search.css
│ │ ├── search.js
│ │ ├── searchdata.js
│ │ ├── typedefs_0.html
│ │ ├── typedefs_0.js
│ │ ├── typedefs_69.html
│ │ ├── variables_0.html
│ │ ├── variables_0.js
│ │ ├── variables_1.html
│ │ ├── variables_1.js
│ │ ├── variables_2.html
│ │ ├── variables_2.js
│ │ ├── variables_3.html
│ │ ├── variables_3.js
│ │ ├── variables_4.html
│ │ ├── variables_4.js
│ │ ├── variables_5.html
│ │ ├── variables_5.js
│ │ ├── variables_6.html
│ │ ├── variables_6.js
│ │ ├── variables_62.html
│ │ ├── variables_64.html
│ │ ├── variables_6a.html
│ │ ├── variables_6c.html
│ │ ├── variables_6e.html
│ │ ├── variables_6f.html
│ │ ├── variables_7.html
│ │ ├── variables_7.js
│ │ ├── variables_72.html
│ │ ├── variables_73.html
│ │ ├── variables_75.html
│ │ ├── variables_76.html
│ │ ├── variables_8.html
│ │ ├── variables_8.js
│ │ ├── variables_9.html
│ │ └── variables_9.js
│ ├── structs2let__parameters__t.html
│ ├── tab_b.gif
│ ├── tab_l.gif
│ ├── tab_r.gif
│ └── tabs.css
├── c_doc.html
├── idl
│ └── index.html
├── idl_doc.html
├── images
│ ├── Ridgeletj3.png
│ ├── Ridgeletj4.png
│ ├── curvelet_L512_B2_Jmin2.png
│ ├── download_icon.gif
│ ├── earth1.png
│ ├── earth2.png
│ ├── earth3.png
│ ├── earth4.png
│ ├── needlets.png
│ ├── newlogo.png
│ ├── photo_boris.jpeg
│ ├── photo_jason.jpg
│ ├── tiling2.png
│ ├── tiling_compar.png
│ └── wav.png
├── index.html
├── java_doc.html
├── matlab
│ ├── demoicon.gif
│ ├── doxysearch.php
│ ├── index.html
│ ├── m2html.css
│ ├── matlabicon.gif
│ ├── simulinkicon.gif
│ └── src
│ │ └── main
│ │ └── matlab
│ │ ├── fitswrite.html
│ │ ├── index.html
│ │ ├── make_card.html
│ │ ├── s2let_bandlimit.html
│ │ ├── s2let_check_axisym_tiling.html
│ │ ├── s2let_check_cur_tiling.html
│ │ ├── s2let_check_tiling.html
│ │ ├── s2let_compute_scal.html
│ │ ├── s2let_compute_wav.html
│ │ ├── s2let_curvelet_tiling.html
│ │ ├── s2let_curvelet_transform_test_lm2cur_cur2lm.html
│ │ ├── s2let_curvelet_transform_test_lm2lmn_lmn2lm.html
│ │ ├── s2let_curvelet_transform_test_px2cur_cur2px.html
│ │ ├── s2let_demo1.html
│ │ ├── s2let_demo2.html
│ │ ├── s2let_demo3.html
│ │ ├── s2let_demo4.html
│ │ ├── s2let_demo5.html
│ │ ├── s2let_demo6.html
│ │ ├── s2let_demo7_curvelet_Plot_Funcs_and_Tiling.html
│ │ ├── s2let_demo8_curvelet_Mollweide_EarthTopography.html
│ │ ├── s2let_demo_covariance.html
│ │ ├── s2let_demo_curvelet_covariance.html
│ │ ├── s2let_demo_curvelet_evaluate_performance.html
│ │ ├── s2let_demo_ridgelet_evaluate.html
│ │ ├── s2let_demo_ridgelet_plot.html
│ │ ├── s2let_elmin.html
│ │ ├── s2let_fulltest.html
│ │ ├── s2let_fulltest_curvelet.html
│ │ ├── s2let_hpx2mw.html
│ │ ├── s2let_hpx_alm2map.html
│ │ ├── s2let_hpx_alm2map_spin.html
│ │ ├── s2let_hpx_map2alm.html
│ │ ├── s2let_hpx_map2alm_spin.html
│ │ ├── s2let_hpx_plot_mollweide.html
│ │ ├── s2let_hpx_read_real_map.html
│ │ ├── s2let_hpx_read_real_spin_maps.html
│ │ ├── s2let_hpx_sampling_ring.html
│ │ ├── s2let_hpx_write_real_map.html
│ │ ├── s2let_hpx_write_real_spin_maps.html
│ │ ├── s2let_hpxtest.html
│ │ ├── s2let_jmax.html
│ │ ├── s2let_make_doc.html
│ │ ├── s2let_mw2hpx.html
│ │ ├── s2let_mw_arr2vec.html
│ │ ├── s2let_mw_read_real_map.html
│ │ ├── s2let_mw_vec2arr.html
│ │ ├── s2let_mw_write_real_map.html
│ │ ├── s2let_mwss_arr2vec.html
│ │ ├── s2let_mwss_read_real_map.html
│ │ ├── s2let_mwss_vec2arr.html
│ │ ├── s2let_mwss_write_real_map.html
│ │ ├── s2let_perf_tests.html
│ │ ├── s2let_plot_axisym_tiling.html
│ │ ├── s2let_plot_curvelet_on_sphere.html
│ │ ├── s2let_plot_curvelet_parametric.html
│ │ ├── s2let_plot_curvelet_tiling.html
│ │ ├── s2let_plot_denoising_demo.html
│ │ ├── s2let_plot_mollweide.html
│ │ ├── s2let_plot_sphere.html
│ │ ├── s2let_plot_wavs.html
│ │ ├── s2let_radon_inverse.html
│ │ ├── s2let_radon_transform.html
│ │ ├── s2let_ridgelet_analysis.html
│ │ ├── s2let_ridgelet_compute_wav.html
│ │ ├── s2let_ridgelet_synthesis.html
│ │ ├── s2let_smoothing.html
│ │ ├── s2let_transform_analysis_lm2wav.html
│ │ ├── s2let_transform_analysis_mw.html
│ │ ├── s2let_transform_axisym_analysis_hpx.html
│ │ ├── s2let_transform_axisym_analysis_mw.html
│ │ ├── s2let_transform_axisym_synthesis_hpx.html
│ │ ├── s2let_transform_axisym_synthesis_mw.html
│ │ ├── s2let_transform_axisym_tiling.html
│ │ ├── s2let_transform_curvelet_analysis_lm2cur.html
│ │ ├── s2let_transform_curvelet_analysis_lm2lmn.html
│ │ ├── s2let_transform_curvelet_analysis_px2cur.html
│ │ ├── s2let_transform_curvelet_synthesis_cur2lm.html
│ │ ├── s2let_transform_curvelet_synthesis_cur2px.html
│ │ ├── s2let_transform_curvelet_synthesis_lmn2lm.html
│ │ ├── s2let_transform_synthesis_lm2wav.html
│ │ ├── s2let_transform_synthesis_mw.html
│ │ └── s2let_wavelet_tiling.html
├── matlab_doc.html
├── scratch_install.html
└── style.css
├── figs
└── .gitignore
├── include
├── s2let.h
├── s2let_alloc.h
├── s2let_analysis.h
├── s2let_error.h
├── s2let_fits.h
├── s2let_helper.h
├── s2let_hpx.h
├── s2let_idl_hpx.h
├── s2let_idl_mw.h
├── s2let_lm.h
├── s2let_math.h
├── s2let_mex.h
├── s2let_mw.h
├── s2let_so3.h
├── s2let_synthesis.h
├── s2let_tiling.h
├── s2let_transform_axisym_hpx.h
├── s2let_transform_axisym_lm.h
├── s2let_transform_axisym_mw.h
└── s2let_types.h
├── lib
└── .gitignore
├── makefile
├── pom.xml
├── run_denoising_demos.sh
├── run_timing_error.py
├── s2let_timing_plots.py
├── setup.cfg
├── setup.py
└── src
├── doxygen.config
├── main
├── c
│ ├── s2let_about.c
│ ├── s2let_alloc.c
│ ├── s2let_analysis.c
│ ├── s2let_axisym_denoising_demo.c
│ ├── s2let_denoising_demo.c
│ ├── s2let_fits.c
│ ├── s2let_helper.c
│ ├── s2let_hpx.c
│ ├── s2let_hpx_demo.c
│ ├── s2let_idl_hpx.c
│ ├── s2let_idl_mw.c
│ ├── s2let_lm.c
│ ├── s2let_math.c
│ ├── s2let_mw.c
│ ├── s2let_spin_denoising_demo.c
│ ├── s2let_synthesis.c
│ ├── s2let_tiling.c
│ ├── s2let_transform_axisym_analysis_hpx_real.c
│ ├── s2let_transform_axisym_analysis_mw_real.c
│ ├── s2let_transform_axisym_hpx.c
│ ├── s2let_transform_axisym_lm.c
│ ├── s2let_transform_axisym_mw.c
│ ├── s2let_transform_axisym_synthesis_hpx_real.c
│ └── s2let_transform_axisym_synthesis_mw_real.c
├── f90
│ └── s2let_hpx.f90
├── idl
│ ├── s2let_axisym_hpx_wav_analysis.pro
│ ├── s2let_axisym_hpx_wav_synthesis.pro
│ ├── s2let_axisym_mw_wav_analysis.pro
│ ├── s2let_axisym_mw_wav_analysis_multires.pro
│ ├── s2let_axisym_mw_wav_analysis_multires_real.pro
│ ├── s2let_axisym_mw_wav_analysis_real.pro
│ ├── s2let_axisym_mw_wav_synthesis.pro
│ ├── s2let_axisym_mw_wav_synthesis_multires.pro
│ ├── s2let_axisym_mw_wav_synthesis_multires_real.pro
│ ├── s2let_axisym_mw_wav_synthesis_real.pro
│ ├── s2let_demo1.pro
│ ├── s2let_demo2.pro
│ ├── s2let_dylib_exists.pro
│ ├── s2let_get_dylib.pro
│ ├── s2let_get_mw_bandlimit.pro
│ ├── s2let_get_wav_bandlimit.pro
│ ├── s2let_healpix2mw.pro
│ ├── s2let_hpx_alm2map_real.pro
│ ├── s2let_hpx_demo.pro
│ ├── s2let_hpx_map2alm_real.pro
│ ├── s2let_j_max.pro
│ ├── s2let_make_doc.pro
│ ├── s2let_mw_alm2map.pro
│ ├── s2let_mw_alm2map_real.pro
│ ├── s2let_mw_map2alm.pro
│ ├── s2let_mw_map2alm_real.pro
│ ├── s2let_mw_pixel_edges.pro
│ ├── s2let_mw_plot_mollweide.pro
│ ├── s2let_mw_read_real_map.pro
│ ├── s2let_mw_sampling.pro
│ ├── s2let_mw_write_real_map.pro
│ ├── s2let_test.pro
│ └── s2let_valid_wav_parameters.pro
├── java
│ └── org
│ │ └── s2let
│ │ ├── AxisymmetricWaveletTransform.java
│ │ ├── PixelizedMap.java
│ │ ├── SamplingScheme.java
│ │ └── SphericalHarmonicTransform.java
├── jnaerator
│ └── config.jnaerator
├── matlab
│ ├── EGM2008_Topography_flms_L0128.mat
│ ├── fitswrite.m
│ ├── kappas_need.mat
│ ├── kappas_s2dw.mat
│ ├── kappas_spline.mat
│ ├── make_card.m
│ ├── s2let_bandlimit.m
│ ├── s2let_bandlimit_mex.c
│ ├── s2let_check_axisym_tiling.m
│ ├── s2let_check_cur_tiling.m
│ ├── s2let_check_tiling.m
│ ├── s2let_compute_scal.m
│ ├── s2let_compute_wav.m
│ ├── s2let_curvelet_tiling.m
│ ├── s2let_curvelet_transform_test_lm2cur_cur2lm.m
│ ├── s2let_curvelet_transform_test_lm2lmn_lmn2lm.m
│ ├── s2let_curvelet_transform_test_px2cur_cur2px.m
│ ├── s2let_demo1.m
│ ├── s2let_demo2.m
│ ├── s2let_demo3.m
│ ├── s2let_demo4.m
│ ├── s2let_demo5.m
│ ├── s2let_demo6.m
│ ├── s2let_demo7_curvelet_Plot_Funcs_and_Tiling.m
│ ├── s2let_demo8_curvelet_Mollweide_EarthTopography.m
│ ├── s2let_demo_covariance.m
│ ├── s2let_demo_curvelet_covariance.m
│ ├── s2let_demo_curvelet_evaluate_performance.m
│ ├── s2let_demo_ridgelet_evaluate.m
│ ├── s2let_demo_ridgelet_plot.m
│ ├── s2let_elmin.m
│ ├── s2let_fulltest.m
│ ├── s2let_fulltest_curvelet.m
│ ├── s2let_hpx2mw.m
│ ├── s2let_hpx_alm2map.m
│ ├── s2let_hpx_alm2map_mex.c
│ ├── s2let_hpx_alm2map_spin.m
│ ├── s2let_hpx_alm2map_spin_mex.c
│ ├── s2let_hpx_map2alm.m
│ ├── s2let_hpx_map2alm_mex.c
│ ├── s2let_hpx_map2alm_spin.m
│ ├── s2let_hpx_map2alm_spin_mex.c
│ ├── s2let_hpx_plot_mollweide.m
│ ├── s2let_hpx_read_real_map.m
│ ├── s2let_hpx_read_real_spin_maps.m
│ ├── s2let_hpx_sampling_ring.m
│ ├── s2let_hpx_write_real_map.m
│ ├── s2let_hpx_write_real_spin_maps.m
│ ├── s2let_hpxtest.m
│ ├── s2let_jmax.m
│ ├── s2let_jmax_mex.c
│ ├── s2let_make_doc.m
│ ├── s2let_mw2hpx.m
│ ├── s2let_mw_arr2vec.m
│ ├── s2let_mw_read_real_map.m
│ ├── s2let_mw_vec2arr.m
│ ├── s2let_mw_write_real_map.m
│ ├── s2let_mwss_arr2vec.m
│ ├── s2let_mwss_read_real_map.m
│ ├── s2let_mwss_vec2arr.m
│ ├── s2let_mwss_write_real_map.m
│ ├── s2let_perf_tests.m
│ ├── s2let_plot_axisym_tiling.m
│ ├── s2let_plot_curvelet_on_sphere.m
│ ├── s2let_plot_curvelet_parametric.m
│ ├── s2let_plot_curvelet_tiling.m
│ ├── s2let_plot_denoising_demo.m
│ ├── s2let_plot_mollweide.m
│ ├── s2let_plot_sphere.m
│ ├── s2let_plot_wavs.m
│ ├── s2let_radon_inverse.m
│ ├── s2let_radon_transform.m
│ ├── s2let_ridgelet_analysis.m
│ ├── s2let_ridgelet_compute_wav.m
│ ├── s2let_ridgelet_synthesis.m
│ ├── s2let_smoothing.m
│ ├── s2let_transform_analysis_lm2wav.m
│ ├── s2let_transform_analysis_lm2wav_mex.c
│ ├── s2let_transform_analysis_mw.m
│ ├── s2let_transform_analysis_mw_mex.c
│ ├── s2let_transform_axisym_analysis_hpx.m
│ ├── s2let_transform_axisym_analysis_hpx_mex.c
│ ├── s2let_transform_axisym_analysis_mw.m
│ ├── s2let_transform_axisym_analysis_mw_mex.c
│ ├── s2let_transform_axisym_synthesis_hpx.m
│ ├── s2let_transform_axisym_synthesis_hpx_mex.c
│ ├── s2let_transform_axisym_synthesis_mw.m
│ ├── s2let_transform_axisym_synthesis_mw_mex.c
│ ├── s2let_transform_axisym_tiling.m
│ ├── s2let_transform_axisym_tiling_mex.c
│ ├── s2let_transform_curvelet_analysis_lm2cur.m
│ ├── s2let_transform_curvelet_analysis_lm2lmn.m
│ ├── s2let_transform_curvelet_analysis_px2cur.m
│ ├── s2let_transform_curvelet_synthesis_cur2lm.m
│ ├── s2let_transform_curvelet_synthesis_cur2px.m
│ ├── s2let_transform_curvelet_synthesis_lmn2lm.m
│ ├── s2let_transform_synthesis_lm2wav.m
│ ├── s2let_transform_synthesis_lm2wav_mex.c
│ ├── s2let_transform_synthesis_mw.m
│ ├── s2let_transform_synthesis_mw_mex.c
│ ├── s2let_wavelet_tiling.m
│ └── s2let_wavelet_tiling_mex.c
└── python
│ ├── pys2let.pyx
│ ├── pys2let_test_axisym_hpx.py
│ ├── pys2let_test_directional.py
│ ├── pys2let_test_directional_manual.py
│ └── pys2let_test_mw.py
└── test
├── c
├── s2let_hpx_test.c
├── s2let_test.c
├── s2let_test.c~
└── s2let_test_csv.c
└── java
└── org
└── s2let
├── AxisymmetricWaveletTransformTest.java
├── HealpixMapTest.java
├── MWMapTest.java
└── S2letLibraryTest.java
/.gitignore:
--------------------------------------------------------------------------------
1 | *.sublime-workspace
2 | *.zip
3 | *checkpoint.ipynb
4 | *.egg-info
5 | *.tif
6 | *fort.6
7 | *.orig
8 | *.fits
9 | *.csv
10 | *.so
11 | *.pdf
12 | *.png
13 | *.DS_Store
14 | *.o
15 | *.mexa64
16 | *.mexmaci64
17 | *~
18 |
19 | core
20 | vgcore.*
21 |
--------------------------------------------------------------------------------
/CMakeInstall:
--------------------------------------------------------------------------------
1 |
2 | # S2LET Installation script - CMake
3 |
4 | # Cleaning directories and previous build
5 | rm -rf build
6 |
7 | # Running CMake and make
8 | mkdir build
9 | cd build
10 | cmake ..
11 | make clean all VERBOSE=1
12 |
13 | # Cleaning directories
14 | rm -rf build
--------------------------------------------------------------------------------
/S2LET.sublime-project:
--------------------------------------------------------------------------------
1 | {
2 | "detect_indentation": false,
3 | "tab_size": 4,
4 | "translate_tabs_to_spaces": true,
5 | "folders":
6 | [
7 | {
8 | "path": ".",
9 | "file_exclude_patterns": ["*.mexa64", "*~"]
10 | },
11 | {
12 | "path": "../so3"
13 | },
14 | {
15 | "path": "../ssht"
16 | }
17 | ],
18 |
19 | "build_systems":
20 | [
21 | {
22 | "name": "S2LET",
23 | "cmd": ["make", "all"],
24 | "file_regex": "^([^:\n]*):(\\d+):(?:(\\d+):)? ((?:(?:fatal )?error|note|warning): .*)$",
25 | "working_dir": "$project_path",
26 | "variants": [
27 | {
28 | "name": "Run",
29 | "cmd": ["make", "runtest"]
30 | },
31 | {
32 | "name": "Run unit tests",
33 | "cmd": ["make", "rununittest"]
34 | },
35 | {
36 | "name": "Clean",
37 | "cmd": ["make", "clean"]
38 | }
39 | ]
40 | }
41 | ]
42 | }
43 |
--------------------------------------------------------------------------------
/bin/.gitignore:
--------------------------------------------------------------------------------
1 | s2let_*
2 |
--------------------------------------------------------------------------------
/data/.gitignore:
--------------------------------------------------------------------------------
1 | spin_signal_*
2 | real_signal_*
3 |
--------------------------------------------------------------------------------
/data/earth_tomo_mw_128.fits:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/data/earth_tomo_mw_128.fits
--------------------------------------------------------------------------------
/data/earth_tomo_mw_128_rot.fits:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/data/earth_tomo_mw_128_rot.fits
--------------------------------------------------------------------------------
/data/somecmbsimu_hpx_128.fits:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/data/somecmbsimu_hpx_128.fits
--------------------------------------------------------------------------------
/data/wmap_mcmc_base_k_synch_stk_q_9yr_v5.fits:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/data/wmap_mcmc_base_k_synch_stk_q_9yr_v5.fits
--------------------------------------------------------------------------------
/data/wmap_mcmc_base_k_synch_stk_u_9yr_v5.fits:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/data/wmap_mcmc_base_k_synch_stk_u_9yr_v5.fits
--------------------------------------------------------------------------------
/doc/c/search/all_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['abs',['ABS',['../s2let__math_8h.html#ae2f08dc603ae93c402abd918ba4e23e1',1,'s2let_math.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/all_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['b',['B',['../structs2let__parameters__t.html#a5aa59dd22d193213c138188e4a85282a',1,'s2let_parameters_t']]],
4 | ['b3_5fspline',['b3_spline',['../s2let__math_8c.html#a77bf2f88aa8abaede094b8d4c98f641b',1,'s2let_math.c']]],
5 | ['binomial_5fcoefficient',['binomial_coefficient',['../s2let__math_8c.html#a89bd27b2a137f59ca4c8aa8e3f1c485f',1,'binomial_coefficient(int n, int k, int exact): s2let_math.c'],['../s2let__math_8h.html#a89bd27b2a137f59ca4c8aa8e3f1c485f',1,'binomial_coefficient(int n, int k, int exact): s2let_math.c']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/c/search/all_10.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_10.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['verbosity',['verbosity',['../structs2let__parameters__t.html#a6198529ad111be476461d3d249d3fa0a',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/all_11.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_11.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['waveletpower',['waveletpower',['../s2let__denoising__demo_8c.html#aa037f9325b8399e224222f8d5b9a2788',1,'waveletpower(complex double *wav_lm, int L): s2let_denoising_demo.c'],['../s2let__spin__denoising__demo_8c.html#aa037f9325b8399e224222f8d5b9a2788',1,'waveletpower(complex double *wav_lm, int L): s2let_spin_denoising_demo.c']]],
4 | ['write_5fhealpix_5fmap_5f',['write_healpix_map_',['../s2let__hpx_8c.html#a8b5ed98a88a7f8a79c0d31338f972b19',1,'s2let_hpx.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/all_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['dl_5fmethod',['dl_method',['../structs2let__parameters__t.html#a6d39d3d306f418f81d599d2fad31158d',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/all_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['f_5fneedlet',['f_needlet',['../s2let__math_8c.html#acba5b02a49e931413dc0cde1fce77234',1,'s2let_math.c']]],
4 | ['f_5fs2dw',['f_s2dw',['../s2let__math_8c.html#a3a626259154382ef236e7d9ab33cca49',1,'s2let_math.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/all_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['get_5fmax_5ferror',['get_max_error',['../s2let__test__csv_8c.html#a4d00c945ef5468ad68184f0bc1ada91a',1,'s2let_test_csv.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/all_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['hard_5fthreshold',['hard_threshold',['../s2let__spin__denoising__demo_8c.html#a6efb36935c405dca5e9dd591164f79a0',1,'s2let_spin_denoising_demo.c']]],
4 | ['hard_5fthreshold_5freal',['hard_threshold_real',['../s2let__denoising__demo_8c.html#a067d9bf357dbfd7a4986d3f62a9e8c45',1,'s2let_denoising_demo.c']]],
5 | ['healpix_5fforward_5freal_5f',['healpix_forward_real_',['../s2let__hpx_8c.html#ad1de3129addcea74634d9f809615948b',1,'s2let_hpx.c']]],
6 | ['healpix_5fforward_5fspin_5freal_5f',['healpix_forward_spin_real_',['../s2let__hpx_8c.html#a3c1aa5d1d8986ea812c873bd8dd429fa',1,'s2let_hpx.c']]],
7 | ['healpix_5finverse_5freal_5f',['healpix_inverse_real_',['../s2let__hpx_8c.html#aeb1da4714bc41184ec236de731756560',1,'s2let_hpx.c']]],
8 | ['healpix_5finverse_5fspin_5freal_5f',['healpix_inverse_spin_real_',['../s2let__hpx_8c.html#a27eaaf7d94a6fa9c382fea95ad13d9a0',1,'s2let_hpx.c']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/doc/c/search/all_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['idl_5fint',['IDL_INT',['../s2let__idl__hpx_8c.html#a02b9546523fe5ea064e9cc44ce4ad751',1,'IDL_INT(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a02b9546523fe5ea064e9cc44ce4ad751',1,'IDL_INT(): s2let_idl_mw.c']]],
4 | ['idl_5flong',['IDL_LONG',['../s2let__idl__hpx_8c.html#a2d29aee49d7de2cb7d11978dd8dfe4a3',1,'IDL_LONG(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a2d29aee49d7de2cb7d11978dd8dfe4a3',1,'IDL_LONG(): s2let_idl_mw.c']]],
5 | ['idl_5fsizeof_5fc_5flong',['IDL_SIZEOF_C_LONG',['../s2let__idl__hpx_8c.html#a313037b4edc7817a7a40c3a4615ebdfa',1,'IDL_SIZEOF_C_LONG(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a313037b4edc7817a7a40c3a4615ebdfa',1,'IDL_SIZEOF_C_LONG(): s2let_idl_mw.c']]],
6 | ['idl_5fsizeof_5fc_5fptr',['IDL_SIZEOF_C_PTR',['../s2let__idl__hpx_8c.html#a40d088f282782bc6c35262aea13548c6',1,'IDL_SIZEOF_C_PTR(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a40d088f282782bc6c35262aea13548c6',1,'IDL_SIZEOF_C_PTR(): s2let_idl_mw.c']]],
7 | ['idl_5fuint',['IDL_UINT',['../s2let__idl__hpx_8c.html#a5a626e989d3e813bd723db23edabbe08',1,'IDL_UINT(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a5a626e989d3e813bd723db23edabbe08',1,'IDL_UINT(): s2let_idl_mw.c']]],
8 | ['idl_5fulong',['IDL_ULONG',['../s2let__idl__hpx_8c.html#abac63fddf94105cf1190b69730bb6a1c',1,'IDL_ULONG(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#abac63fddf94105cf1190b69730bb6a1c',1,'IDL_ULONG(): s2let_idl_mw.c']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/doc/c/search/all_61.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
ABS
13 |
s2let_math.h
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_64.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
dl_method
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_66.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
f_needlet
13 |
s2let_math.c
14 |
15 |
16 |
17 |
18 |
f_s2dw
19 |
s2let_math.c
20 |
21 |
22 |
Searching...
23 |
No Matches
24 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/doc/c/search/all_67.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_6a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
J_min
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_6c.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
L
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_6f.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['j_5fmin',['J_min',['../structs2let__parameters__t.html#a9146ca6b1dd496925173a0ab1feeccf7',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/all_75.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
upsample
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_76.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
verbosity
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['l',['L',['../structs2let__parameters__t.html#a018fcd55bd13a231c2c71f16cca5c53b',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/all_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['n',['N',['../structs2let__parameters__t.html#a93d528e7cc428bfc6783e9a01567b748',1,'s2let_parameters_t']]],
4 | ['needlet',['NEEDLET',['../s2let__tiling_8c.html#aa95dc83ea2d993b343828e5c6ca4879aa1ab4d051220837ebef5b7bbc03e7f2ac',1,'s2let_tiling.c']]],
5 | ['needletpower',['needletpower',['../s2let__axisym__denoising__demo_8c.html#a16c08eb6db78637aae2b6ffdfd13cfe2',1,'s2let_axisym_denoising_demo.c']]],
6 | ['normalization',['normalization',['../structs2let__parameters__t.html#a22f2592dbf99e937ae0e67fe4ee2de93',1,'s2let_parameters_t']]],
7 | ['nrepeat',['NREPEAT',['../s2let__test__csv_8c.html#a9fa6466347dd349266768c7f7f0b0e4e',1,'s2let_test_csv.c']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/doc/c/search/all_b.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_b.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['original_5fspin',['original_spin',['../structs2let__parameters__t.html#a9b083a6f2ac9139fbe25605685c97b4e',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/all_c.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['pi',['PI',['../s2let__math_8h.html#a598a3330b3c21701223ee0ca14316eca',1,'PI(): s2let_math.h'],['../s2let__tiling_8h.html#a598a3330b3c21701223ee0ca14316eca',1,'PI(): s2let_tiling.h']]],
4 | ['printerror',['printerror',['../s2let__fits_8c.html#aca57f410eb9f3d6ec61c1c17d4aea3da',1,'s2let_fits.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/all_d.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_d.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ran2_5fdp',['ran2_dp',['../s2let__math_8c.html#a8f1de4509d2d559e1cf392353eae7afa',1,'ran2_dp(int idum): s2let_math.c'],['../s2let__test__csv_8c.html#a8f1de4509d2d559e1cf392353eae7afa',1,'ran2_dp(int idum): s2let_math.c'],['../s2let__math_8h.html#a8f1de4509d2d559e1cf392353eae7afa',1,'ran2_dp(int idum): s2let_math.c']]],
4 | ['read_5fhealpix_5fmap_5f',['read_healpix_map_',['../s2let__hpx_8c.html#ae43fcaf0a30b8979a329c9d8a639f9aa',1,'s2let_hpx.c']]],
5 | ['reality',['reality',['../structs2let__parameters__t.html#a7718737039d19e05501792535b32ef6d',1,'s2let_parameters_t']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/c/search/all_e.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_f.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/all_f.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['upsample',['upsample',['../structs2let__parameters__t.html#aec567c0f2af65ec246fd92169ae66216',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/classes_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/classes_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['s2let_5fparameters_5ft',['s2let_parameters_t',['../structs2let__parameters__t.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/classes_73.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
15 |
Searching...
16 |
No Matches
17 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/doc/c/search/defines_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/defines_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['abs',['ABS',['../s2let__math_8h.html#ae2f08dc603ae93c402abd918ba4e23e1',1,'s2let_math.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/defines_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/defines_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['idl_5fsizeof_5fc_5flong',['IDL_SIZEOF_C_LONG',['../s2let__idl__hpx_8c.html#a313037b4edc7817a7a40c3a4615ebdfa',1,'IDL_SIZEOF_C_LONG(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a313037b4edc7817a7a40c3a4615ebdfa',1,'IDL_SIZEOF_C_LONG(): s2let_idl_mw.c']]],
4 | ['idl_5fsizeof_5fc_5fptr',['IDL_SIZEOF_C_PTR',['../s2let__idl__hpx_8c.html#a40d088f282782bc6c35262aea13548c6',1,'IDL_SIZEOF_C_PTR(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a40d088f282782bc6c35262aea13548c6',1,'IDL_SIZEOF_C_PTR(): s2let_idl_mw.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/defines_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/defines_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['max',['MAX',['../s2let__math_8h.html#afa99ec4acc4ecb2dc3c2d05da15d0e3f',1,'s2let_math.h']]],
4 | ['min',['MIN',['../s2let__math_8h.html#a3acffbd305ee72dcd4593c0d8af64a4f',1,'s2let_math.h']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/defines_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/defines_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['nrepeat',['NREPEAT',['../s2let__test__csv_8c.html#a9fa6466347dd349266768c7f7f0b0e4e',1,'s2let_test_csv.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/defines_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/defines_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['pi',['PI',['../s2let__math_8h.html#a598a3330b3c21701223ee0ca14316eca',1,'PI(): s2let_math.h'],['../s2let__tiling_8h.html#a598a3330b3c21701223ee0ca14316eca',1,'PI(): s2let_tiling.h']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/defines_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/defines_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['s2let_5ferror_5fgeneric',['S2LET_ERROR_GENERIC',['../s2let__error_8h.html#a1fc4ad04b2aec1f0fd461d11cee161c6',1,'s2let_error.h']]],
4 | ['s2let_5ferror_5fmem_5falloc_5fcheck',['S2LET_ERROR_MEM_ALLOC_CHECK',['../s2let__error_8h.html#a0aeaf94328b5e5b821266c1d97cbe96c',1,'s2let_error.h']]],
5 | ['s2let_5fsampling_5fmw_5fss_5fstr',['S2LET_SAMPLING_MW_SS_STR',['../s2let__mex_8h.html#aef877ec016bc062e71412e295efbe843',1,'s2let_mex.h']]],
6 | ['s2let_5fsampling_5fmw_5fstr',['S2LET_SAMPLING_MW_STR',['../s2let__mex_8h.html#a965fb52ef2d665d3443bd08e8ec47548',1,'s2let_mex.h']]],
7 | ['s2let_5fso3_5fn_5forder',['S2LET_SO3_N_ORDER',['../s2let__so3_8h.html#a0c50a5de20f171c266985a92764153b3',1,'s2let_so3.h']]],
8 | ['s2let_5fso3_5fstorage',['S2LET_SO3_STORAGE',['../s2let__so3_8h.html#a234c5518a86c602ca220a16b33dc2e22',1,'s2let_so3.h']]],
9 | ['s2let_5fstring_5flen',['S2LET_STRING_LEN',['../s2let__mex_8h.html#a3bd7f5fbd27ea58ab3a23a1eb7a6f4cd',1,'s2let_mex.h']]]
10 | ];
11 |
--------------------------------------------------------------------------------
/doc/c/search/defines_61.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
ABS
13 |
s2let_math.h
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/defines_6d.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
MAX
13 |
s2let_math.h
14 |
15 |
16 |
17 |
18 |
MIN
19 |
s2let_math.h
20 |
21 |
22 |
Searching...
23 |
No Matches
24 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/doc/c/search/defines_6e.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
NREPEAT
13 |
s2let_test_csv.c
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/defines_70.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
19 |
Searching...
20 |
No Matches
21 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/doc/c/search/enums_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/enums_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['s2let_5fkernel_5ftype',['s2let_kernel_type',['../s2let__tiling_8c.html#aa95dc83ea2d993b343828e5c6ca4879a',1,'s2let_tiling.c']]],
4 | ['s2let_5fsampling_5ft',['s2let_sampling_t',['../s2let__types_8h.html#a1bdf3bdc527d0a90b16cf5f3f507001e',1,'s2let_types.h']]],
5 | ['s2let_5fwav_5fnorm_5ft',['s2let_wav_norm_t',['../s2let__types_8h.html#add00361eb2a713b43c379284c2c07810',1,'s2let_types.h']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/c/search/enums_73.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
16 |
22 |
Searching...
23 |
No Matches
24 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/doc/c/search/enumvalues_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/enumvalues_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['needlet',['NEEDLET',['../s2let__tiling_8c.html#aa95dc83ea2d993b343828e5c6ca4879aa1ab4d051220837ebef5b7bbc03e7f2ac',1,'s2let_tiling.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/enumvalues_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/enumvalues_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['s2dw',['S2DW',['../s2let__tiling_8c.html#aa95dc83ea2d993b343828e5c6ca4879aad2e1e459d07d91ca00e5f09caf8b4558',1,'s2let_tiling.c']]],
4 | ['s2let_5fsampling_5fmw',['S2LET_SAMPLING_MW',['../s2let__types_8h.html#a1bdf3bdc527d0a90b16cf5f3f507001ea061a427ab87d0615aeea0bbc9ef5a8bc',1,'s2let_types.h']]],
5 | ['s2let_5fsampling_5fmw_5fss',['S2LET_SAMPLING_MW_SS',['../s2let__types_8h.html#a1bdf3bdc527d0a90b16cf5f3f507001ea4735249ce28fc1c5b443806760f8fcd8',1,'s2let_types.h']]],
6 | ['s2let_5fsampling_5fsize',['S2LET_SAMPLING_SIZE',['../s2let__types_8h.html#a1bdf3bdc527d0a90b16cf5f3f507001ea1eb522fb952502e38119d2a315cce842',1,'s2let_types.h']]],
7 | ['s2let_5fwav_5fnorm_5fdefault',['S2LET_WAV_NORM_DEFAULT',['../s2let__types_8h.html#add00361eb2a713b43c379284c2c07810ad4f518290807ff6b67dc975abc427df1',1,'s2let_types.h']]],
8 | ['s2let_5fwav_5fnorm_5fsize',['S2LET_WAV_NORM_SIZE',['../s2let__types_8h.html#add00361eb2a713b43c379284c2c07810a3132564605e276ddc8295963d16d1522',1,'s2let_types.h']]],
9 | ['s2let_5fwav_5fnorm_5fspin_5flowered',['S2LET_WAV_NORM_SPIN_LOWERED',['../s2let__types_8h.html#add00361eb2a713b43c379284c2c07810a8ea0959683521822b68c6f919dd755e6',1,'s2let_types.h']]],
10 | ['spline',['SPLINE',['../s2let__tiling_8c.html#aa95dc83ea2d993b343828e5c6ca4879aa4d8b3b9406a35793dead4b293d793463',1,'s2let_tiling.c']]]
11 | ];
12 |
--------------------------------------------------------------------------------
/doc/c/search/enumvalues_6e.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
NEEDLET
13 |
s2let_tiling.c
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/files_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['b3_5fspline',['b3_spline',['../s2let__math_8c.html#a77bf2f88aa8abaede094b8d4c98f641b',1,'s2let_math.c']]],
4 | ['binomial_5fcoefficient',['binomial_coefficient',['../s2let__math_8c.html#a89bd27b2a137f59ca4c8aa8e3f1c485f',1,'binomial_coefficient(int n, int k, int exact): s2let_math.c'],['../s2let__math_8h.html#a89bd27b2a137f59ca4c8aa8e3f1c485f',1,'binomial_coefficient(int n, int k, int exact): s2let_math.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/functions_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['f_5fneedlet',['f_needlet',['../s2let__math_8c.html#acba5b02a49e931413dc0cde1fce77234',1,'s2let_math.c']]],
4 | ['f_5fs2dw',['f_s2dw',['../s2let__math_8c.html#a3a626259154382ef236e7d9ab33cca49',1,'s2let_math.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/functions_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['get_5fmax_5ferror',['get_max_error',['../s2let__test__csv_8c.html#a4d00c945ef5468ad68184f0bc1ada91a',1,'s2let_test_csv.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/functions_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['hard_5fthreshold',['hard_threshold',['../s2let__spin__denoising__demo_8c.html#a6efb36935c405dca5e9dd591164f79a0',1,'s2let_spin_denoising_demo.c']]],
4 | ['hard_5fthreshold_5freal',['hard_threshold_real',['../s2let__denoising__demo_8c.html#a067d9bf357dbfd7a4986d3f62a9e8c45',1,'s2let_denoising_demo.c']]],
5 | ['healpix_5fforward_5freal_5f',['healpix_forward_real_',['../s2let__hpx_8c.html#ad1de3129addcea74634d9f809615948b',1,'s2let_hpx.c']]],
6 | ['healpix_5fforward_5fspin_5freal_5f',['healpix_forward_spin_real_',['../s2let__hpx_8c.html#a3c1aa5d1d8986ea812c873bd8dd429fa',1,'s2let_hpx.c']]],
7 | ['healpix_5finverse_5freal_5f',['healpix_inverse_real_',['../s2let__hpx_8c.html#aeb1da4714bc41184ec236de731756560',1,'s2let_hpx.c']]],
8 | ['healpix_5finverse_5fspin_5freal_5f',['healpix_inverse_spin_real_',['../s2let__hpx_8c.html#a27eaaf7d94a6fa9c382fea95ad13d9a0',1,'s2let_hpx.c']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/doc/c/search/functions_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['needletpower',['needletpower',['../s2let__axisym__denoising__demo_8c.html#a16c08eb6db78637aae2b6ffdfd13cfe2',1,'s2let_axisym_denoising_demo.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/functions_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['printerror',['printerror',['../s2let__fits_8c.html#aca57f410eb9f3d6ec61c1c17d4aea3da',1,'s2let_fits.c']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/functions_66.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
f_needlet
13 |
s2let_math.c
14 |
15 |
16 |
17 |
18 |
f_s2dw
19 |
s2let_math.c
20 |
21 |
22 |
Searching...
23 |
No Matches
24 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/doc/c/search/functions_67.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_6e.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
needletpower
13 |
s2let_axisym_denoising_demo.c
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['ran2_5fdp',['ran2_dp',['../s2let__math_8c.html#a8f1de4509d2d559e1cf392353eae7afa',1,'ran2_dp(int idum): s2let_math.c'],['../s2let__test__csv_8c.html#a8f1de4509d2d559e1cf392353eae7afa',1,'ran2_dp(int idum): s2let_math.c'],['../s2let__math_8h.html#a8f1de4509d2d559e1cf392353eae7afa',1,'ran2_dp(int idum): s2let_math.c']]],
4 | ['read_5fhealpix_5fmap_5f',['read_healpix_map_',['../s2let__hpx_8c.html#ae43fcaf0a30b8979a329c9d8a639f9aa',1,'s2let_hpx.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/functions_70.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/functions_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['waveletpower',['waveletpower',['../s2let__denoising__demo_8c.html#aa037f9325b8399e224222f8d5b9a2788',1,'waveletpower(complex double *wav_lm, int L): s2let_denoising_demo.c'],['../s2let__spin__denoising__demo_8c.html#aa037f9325b8399e224222f8d5b9a2788',1,'waveletpower(complex double *wav_lm, int L): s2let_spin_denoising_demo.c']]],
4 | ['write_5fhealpix_5fmap_5f',['write_healpix_map_',['../s2let__hpx_8c.html#a8b5ed98a88a7f8a79c0d31338f972b19',1,'s2let_hpx.c']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/nomatches.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/doc/c/search/searchdata.js:
--------------------------------------------------------------------------------
1 | var indexSectionsWithContent =
2 | {
3 | 0: "abdfghijlmnoprsuvw",
4 | 1: "s",
5 | 2: "s",
6 | 3: "bfghmnprsw",
7 | 4: "bdjlnorsuv",
8 | 5: "i",
9 | 6: "s",
10 | 7: "ns",
11 | 8: "aimnps"
12 | };
13 |
14 | var indexSectionNames =
15 | {
16 | 0: "all",
17 | 1: "classes",
18 | 2: "files",
19 | 3: "functions",
20 | 4: "variables",
21 | 5: "typedefs",
22 | 6: "enums",
23 | 7: "enumvalues",
24 | 8: "defines"
25 | };
26 |
27 | var indexSectionLabels =
28 | {
29 | 0: "All",
30 | 1: "Data Structures",
31 | 2: "Files",
32 | 3: "Functions",
33 | 4: "Variables",
34 | 5: "Typedefs",
35 | 6: "Enumerations",
36 | 7: "Enumerator",
37 | 8: "Macros"
38 | };
39 |
40 |
--------------------------------------------------------------------------------
/doc/c/search/typedefs_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/typedefs_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['idl_5fint',['IDL_INT',['../s2let__idl__hpx_8c.html#a02b9546523fe5ea064e9cc44ce4ad751',1,'IDL_INT(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a02b9546523fe5ea064e9cc44ce4ad751',1,'IDL_INT(): s2let_idl_mw.c']]],
4 | ['idl_5flong',['IDL_LONG',['../s2let__idl__hpx_8c.html#a2d29aee49d7de2cb7d11978dd8dfe4a3',1,'IDL_LONG(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a2d29aee49d7de2cb7d11978dd8dfe4a3',1,'IDL_LONG(): s2let_idl_mw.c']]],
5 | ['idl_5fuint',['IDL_UINT',['../s2let__idl__hpx_8c.html#a5a626e989d3e813bd723db23edabbe08',1,'IDL_UINT(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#a5a626e989d3e813bd723db23edabbe08',1,'IDL_UINT(): s2let_idl_mw.c']]],
6 | ['idl_5fulong',['IDL_ULONG',['../s2let__idl__hpx_8c.html#abac63fddf94105cf1190b69730bb6a1c',1,'IDL_ULONG(): s2let_idl_hpx.c'],['../s2let__idl__mw_8c.html#abac63fddf94105cf1190b69730bb6a1c',1,'IDL_ULONG(): s2let_idl_mw.c']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/doc/c/search/variables_0.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['b',['B',['../structs2let__parameters__t.html#a5aa59dd22d193213c138188e4a85282a',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/variables_1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['dl_5fmethod',['dl_method',['../structs2let__parameters__t.html#a6d39d3d306f418f81d599d2fad31158d',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/variables_2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['j_5fmin',['J_min',['../structs2let__parameters__t.html#a9146ca6b1dd496925173a0ab1feeccf7',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/variables_3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['l',['L',['../structs2let__parameters__t.html#a018fcd55bd13a231c2c71f16cca5c53b',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/variables_4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['n',['N',['../structs2let__parameters__t.html#a93d528e7cc428bfc6783e9a01567b748',1,'s2let_parameters_t']]],
4 | ['normalization',['normalization',['../structs2let__parameters__t.html#a22f2592dbf99e937ae0e67fe4ee2de93',1,'s2let_parameters_t']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doc/c/search/variables_5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['original_5fspin',['original_spin',['../structs2let__parameters__t.html#a9b083a6f2ac9139fbe25605685c97b4e',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/variables_6.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['reality',['reality',['../structs2let__parameters__t.html#a7718737039d19e05501792535b32ef6d',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/variables_62.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
B
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_64.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
dl_method
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_6a.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
J_min
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_6c.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
L
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_6e.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
N
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_6f.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_7.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['s2let_5fkernel',['s2let_kernel',['../s2let__tiling_8c.html#ab2ff4854b8611353b7ba607e99a742f3',1,'s2let_tiling.c']]],
4 | ['sampling_5fscheme',['sampling_scheme',['../structs2let__parameters__t.html#a32942243b855116a10cc6b8b81a90b87',1,'s2let_parameters_t']]],
5 | ['spin',['spin',['../structs2let__parameters__t.html#a4fd720e3d7a947dab5bbfd0f51c3dcf7',1,'s2let_parameters_t']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doc/c/search/variables_72.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
reality
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_75.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
upsample
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_76.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Loading...
10 |
11 |
12 |
verbosity
13 |
s2let_parameters_t
14 |
15 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_8.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['upsample',['upsample',['../structs2let__parameters__t.html#aec567c0f2af65ec246fd92169ae66216',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/search/variables_9.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Loading...
12 |
13 |
16 |
Searching...
17 |
No Matches
18 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/doc/c/search/variables_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['verbosity',['verbosity',['../structs2let__parameters__t.html#a6198529ad111be476461d3d249d3fa0a',1,'s2let_parameters_t']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doc/c/tab_b.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/c/tab_b.gif
--------------------------------------------------------------------------------
/doc/c/tab_l.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/c/tab_l.gif
--------------------------------------------------------------------------------
/doc/c/tab_r.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/c/tab_r.gif
--------------------------------------------------------------------------------
/doc/images/Ridgeletj3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/Ridgeletj3.png
--------------------------------------------------------------------------------
/doc/images/Ridgeletj4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/Ridgeletj4.png
--------------------------------------------------------------------------------
/doc/images/curvelet_L512_B2_Jmin2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/curvelet_L512_B2_Jmin2.png
--------------------------------------------------------------------------------
/doc/images/download_icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/download_icon.gif
--------------------------------------------------------------------------------
/doc/images/earth1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/earth1.png
--------------------------------------------------------------------------------
/doc/images/earth2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/earth2.png
--------------------------------------------------------------------------------
/doc/images/earth3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/earth3.png
--------------------------------------------------------------------------------
/doc/images/earth4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/earth4.png
--------------------------------------------------------------------------------
/doc/images/needlets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/needlets.png
--------------------------------------------------------------------------------
/doc/images/newlogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/newlogo.png
--------------------------------------------------------------------------------
/doc/images/photo_boris.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/photo_boris.jpeg
--------------------------------------------------------------------------------
/doc/images/photo_jason.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/photo_jason.jpg
--------------------------------------------------------------------------------
/doc/images/tiling2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/tiling2.png
--------------------------------------------------------------------------------
/doc/images/tiling_compar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/tiling_compar.png
--------------------------------------------------------------------------------
/doc/images/wav.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/images/wav.png
--------------------------------------------------------------------------------
/doc/matlab/demoicon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/matlab/demoicon.gif
--------------------------------------------------------------------------------
/doc/matlab/m2html.css:
--------------------------------------------------------------------------------
1 | body {
2 | background: white;
3 | color: black;
4 | font-family: arial,sans-serif;
5 | margin: 0;
6 | padding: 1ex;
7 | }
8 |
9 | div.fragment {
10 | width: 98%;
11 | border: 1px solid #CCCCCC;
12 | background-color: #f5f5f5;
13 | padding-left: 4px;
14 | margin: 4px;
15 | }
16 |
17 | div.box {
18 | width: 98%;
19 | background-color: #f5f5f5;
20 | border: 1px solid #CCCCCC;
21 | color: black;
22 | padding: 4px;
23 | }
24 |
25 | .comment {
26 | color: #228B22;
27 | }
28 | .string {
29 | color: #B20000;
30 | }
31 | .keyword {
32 | color: #0000FF;
33 | }
34 |
35 | .keywordtype { color: #604020; }
36 | .keywordflow { color: #e08000; }
37 | .preprocessor { color: #806020; }
38 | .stringliteral { color: #002080; }
39 | .charliteral { color: #008080; }
40 |
41 | a {
42 | text-decoration: none;
43 | }
44 |
45 | a:hover {
46 | background-color: #006699;
47 | color:#FFFFFF;
48 | }
49 |
50 | a.code {
51 | font-weight: normal;
52 | color: #A020F0;
53 | }
54 |
55 | a.code:hover {
56 | background-color: #FF0000;
57 | color: #FFFFFF;
58 | }
59 |
60 | h1 {
61 | background: transparent;
62 | color: #006699;
63 | font-size: x-large;
64 | text-align: center;
65 | }
66 |
67 | h2 {
68 | background: transparent;
69 | color: #006699;
70 | font-size: large;
71 | }
72 |
73 | address {
74 | font-size:small;
75 | }
76 |
77 | form.search {
78 | margin-bottom: 0px;
79 | margin-top: 0px;
80 | }
81 | input.search {
82 | font-size: 75%;
83 | color: #000080;
84 | font-weight: normal;
85 | background-color: #eeeeff;
86 | }
87 |
88 | li {
89 | padding-left:5px;
90 | }
--------------------------------------------------------------------------------
/doc/matlab/matlabicon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/matlab/matlabicon.gif
--------------------------------------------------------------------------------
/doc/matlab/simulinkicon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/matlab/simulinkicon.gif
--------------------------------------------------------------------------------
/doc/matlab/src/main/matlab/s2let_transform_curvelet_synthesis_lmn2lm.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/doc/matlab/src/main/matlab/s2let_transform_curvelet_synthesis_lmn2lm.html
--------------------------------------------------------------------------------
/figs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 |
--------------------------------------------------------------------------------
/include/s2let.h:
--------------------------------------------------------------------------------
1 | #ifndef S2LET
2 | #define S2LET
3 |
4 | #include "s2let_error.h"
5 | #include "s2let_types.h"
6 | #include "s2let_helper.h"
7 | #include "s2let_so3.h"
8 | #include "s2let_alloc.h"
9 | #include "s2let_analysis.h"
10 | #include "s2let_synthesis.h"
11 | #include "s2let_transform_axisym_hpx.h"
12 | #include "s2let_transform_axisym_lm.h"
13 | #include "s2let_transform_axisym_mw.h"
14 | #include "s2let_fits.h"
15 | #include "s2let_hpx.h"
16 | #include "s2let_lm.h"
17 | #include "s2let_mw.h"
18 | #include "s2let_idl_hpx.h"
19 | #include "s2let_idl_mw.h"
20 | #include "s2let_math.h"
21 | #include "s2let_tiling.h"
22 |
23 | #endif
24 |
--------------------------------------------------------------------------------
/include/s2let_alloc.h:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #ifndef S2LET_ALLOC
6 | #define S2LET_ALLOC
7 |
8 | #include
9 |
10 | /** Pixel space allocation **/
11 |
12 | void s2let_allocate_mw(complex double **f, int L);
13 | void s2let_allocate_mw_real(double **f, int L);
14 |
15 | void s2let_allocate_mwss(complex double **f, int L);
16 | void s2let_allocate_mwss_real(double **f, int L);
17 |
18 | /** Harmonic space allocation **/
19 |
20 | void s2let_allocate_lm(complex double **flm, int L);
21 |
22 | /** Wigner space allocation **/
23 |
24 | void s2let_allocate_lmn_f_wav(
25 | complex double **f_wav_lmn,
26 | complex double **f_scal_lm,
27 | const s2let_parameters_t *parameters
28 | );
29 |
30 | /** Wavelet space allocation **/
31 |
32 | void s2let_allocate_f_wav(
33 | complex double **f_wav,
34 | complex double **f_scal,
35 | const s2let_parameters_t *parameters
36 | );
37 |
38 | void s2let_allocate_f_wav_real(
39 | double **f_wav,
40 | double **f_scal,
41 | const s2let_parameters_t *parameters
42 | );
43 |
44 | void s2let_allocate_f_wav_manual(
45 | complex double **f_wav,
46 | complex double **f_scal,
47 | int *wav_bandlimits,
48 | int scal_bandlimit,
49 | int N,
50 | int J,
51 | s2let_parameters_t *parameters
52 | );
53 |
54 | #endif
55 |
--------------------------------------------------------------------------------
/include/s2let_error.h:
--------------------------------------------------------------------------------
1 | #ifndef S2LET_ERROR
2 | #define S2LET_ERROR
3 |
4 | #include
5 |
6 | // Put this macro in a block so that it can be used with single-line
7 | // if-statements.
8 | #define S2LET_ERROR_GENERIC(comment) \
9 | { \
10 | printf("ERROR: %s.\n", comment); \
11 | printf("ERROR: %s <%s> %s %s %s %d.\n", \
12 | "Occurred in function", \
13 | __PRETTY_FUNCTION__, \
14 | "of file", __FILE__, \
15 | "on line", __LINE__); \
16 | exit(1); \
17 | }
18 |
19 | #define S2LET_ERROR_MEM_ALLOC_CHECK(pointer) \
20 | if(pointer == NULL) { \
21 | S2LET_ERROR_GENERIC("Memory allocation failed") \
22 | }
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/include/s2let_helper.h:
--------------------------------------------------------------------------------
1 | #ifndef S2LET_HELPER
2 | #define S2LET_HELPER
3 |
4 | int s2let_n_phi(const s2let_parameters_t *parameters);
5 | int s2let_n_theta(const s2let_parameters_t *parameters);
6 | int s2let_n_px(const s2let_parameters_t *parameters);
7 |
8 | int s2let_n_lm(const s2let_parameters_t *parameters);
9 |
10 | int s2let_n_lm_scal(const s2let_parameters_t *parameters);
11 | int s2let_n_lmn_wav(const s2let_parameters_t *parameters);
12 |
13 | int s2let_n_gamma(const s2let_parameters_t *parameters);
14 | int s2let_n_scal(const s2let_parameters_t *parameters);
15 | int s2let_n_wav(const s2let_parameters_t *parameters);
16 |
17 | int s2let_n_wav_j(int j, const s2let_parameters_t *parameters);
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/include/s2let_idl_hpx.h:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #ifndef S2LET_IDL_HPX
6 | #define S2LET_IDL_HPX
7 |
8 | /*!
9 | * IDL interface to s2let_axisym_hpx_wav_analysis_real
10 | */
11 | int s2let_idl_hpx_axisym_wav_analysis_real(int argc, void* argv[]);
12 |
13 | /*!
14 | * IDL interface to s2let_axisym_hpx_wav_synthesis_real
15 | */
16 | int s2let_idl_hpx_axisym_wav_synthesis_real(int argc, void* argv[]);
17 |
18 | /*!
19 | * IDL interface to s2let_hpx_map2alm_real
20 | */
21 | int s2let_idl_hpx_map2alm_real(int argc, void* argv[]);
22 |
23 | /*!
24 | * IDL interface to s2let_hpx_alm2map_real
25 | */
26 | int s2let_idl_hpx_alm2map_real(int argc, void* argv[]);
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/include/s2let_idl_mw.h:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #ifndef S2LET_IDL_MW
6 | #define S2LET_IDL_MW
7 |
8 | /*!
9 | * IDL interface to s2let_mw_axisym_wav_analysis_mw_real
10 | */
11 | int s2let_idl_transform_axisym_wav_analysis_mw_real(int argc, void* argv[]);
12 |
13 | /*!
14 | * IDL interface to s2let_mw_axisym_wav_synthesis_mw_real
15 | */
16 | int s2let_idl_transform_axisym_wav_synthesis_mw_real(int argc, void* argv[]);
17 |
18 | /*!
19 | * IDL interface to s2let_mw_axisym_wav_analysis_mw
20 | */
21 | int s2let_idl_transform_axisym_wav_analysis_mw(int argc, void* argv[]);
22 |
23 | /*!
24 | * IDL interface to s2let_mw_axisym_wav_synthesis_mw
25 | */
26 | int s2let_idl_transform_axisym_wav_synthesis_mw(int argc, void* argv[]);
27 |
28 |
29 | /*!
30 | * IDL interface to s2let_mw_axisym_wav_analysis_mw_multires_real
31 | */
32 | int s2let_idl_transform_axisym_wav_analysis_mw_multires_real(int argc, void* argv[]);
33 |
34 | /*!
35 | * IDL interface to s2let_mw_axisym_wav_synthesis_mw_multires_real
36 | */
37 | int s2let_idl_transform_axisym_wav_synthesis_mw_multires_real(int argc, void* argv[]);
38 |
39 | /*!
40 | * IDL interface to s2let_mw_axisym_wav_analysis_mw_multires
41 | */
42 | int s2let_idl_transform_axisym_wav_analysis_mw_multires(int argc, void* argv[]);
43 |
44 | /*!
45 | * IDL interface to s2let_mw_axisym_wav_synthesis_mw_multires
46 | */
47 | int s2let_idl_transform_axisym_wav_synthesis_mw_multires(int argc, void* argv[]);
48 |
49 | /*!
50 | * IDL interface to s2let_mw_map2alm_real
51 | */
52 | int s2let_idl_transform_map2alm_real(int argc, void* argv[]);
53 |
54 | /*!
55 | * IDL interface to s2let_mw_alm2map_real
56 | */
57 | int s2let_idl_transform_alm2map_real(int argc, void* argv[]);
58 |
59 | /*!
60 | * IDL interface to s2let_mw_map2alm
61 | */
62 | int s2let_idl_transform_map2alm(int argc, void* argv[]);
63 |
64 | /*!
65 | * IDL interface to s2let_mw_alm2map
66 | */
67 | int s2let_idl_transform_alm2map(int argc, void* argv[]);
68 |
69 | #endif
70 |
--------------------------------------------------------------------------------
/include/s2let_lm.h:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #ifndef S2LET_LM
6 | #define S2LET_LM
7 |
8 | double s2let_lm_power(complex double *flm, int L);
9 |
10 | void s2let_lm_random_flm(complex double *flm, int L, int spin, int seed);
11 | void s2let_lm_random_flm_real(complex double *flm, int L, int seed);
12 |
13 | #endif
14 |
--------------------------------------------------------------------------------
/include/s2let_math.h:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #ifndef S2LET_MATH
6 | #define S2LET_MATH
7 |
8 | #define PI 3.141592653589793238462643383279502884197
9 |
10 | #define MIN(a,b) ((a) < (b) ? (a) : (b))
11 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
12 | #define ABS(a) ((a) > (0.0) ? (a) : (-(a)))
13 |
14 |
15 | double s2let_math_kappa0_quadtrap_s2dw(double a, double b, int n, double B);
16 |
17 | double s2let_math_kappa0_quadtrap_needlet(double a, double b, int n);
18 |
19 | double s2let_math_spline_scalingfct(double x, double y);
20 |
21 | double ran2_dp(int idum);
22 |
23 | double maxerr_cplx(complex double *a, complex double *b, int size);
24 |
25 | double maxerr(double *a, double *b, int size);
26 |
27 | unsigned long binomial_coefficient(int n, int k, int exact);
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/include/s2let_mex.h:
--------------------------------------------------------------------------------
1 | #ifndef S2LET_MEX
2 | #define S2LET_MEX
3 |
4 | #define S2LET_SAMPLING_MW_STR "MW"
5 | #define S2LET_SAMPLING_MW_SS_STR "MWSS"
6 |
7 | #define S2LET_STRING_LEN 128
8 |
9 |
10 | #endif
11 |
--------------------------------------------------------------------------------
/include/s2let_mw.h:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #ifndef S2LET_MW
6 | #define S2LET_MW
7 |
8 |
9 | /** Interfaces to SSHT (required by the Java interface to S2LET) **/
10 | void s2let_mw_map2alm_real(complex double* flm, const double* f, int L);
11 | void s2let_mw_alm2map_real(double* f, const complex double* flm, int L);
12 | void s2let_mw_alm2map(complex double* f, const complex double* flm, int L, int spin);
13 | void s2let_mw_map2alm(complex double* flm, const complex double* f, int L, int spin);
14 |
15 | /** Helper functions for pixel-space computations in MW sampling **/
16 | double s2let_mw_power(complex double *flm, int L);
17 | double s2let_mw_power_real(double *flm, int L);
18 |
19 | #endif
20 |
--------------------------------------------------------------------------------
/include/s2let_so3.h:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2014
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #ifndef S2LET_SO3
6 | #define S2LET_SO3
7 |
8 | #include
9 |
10 | // Define a few macros for fixed SO3 configuration used
11 | // throughout S2LET.
12 | #define S2LET_SO3_N_ORDER SO3_N_ORDER_NEGATIVE_FIRST
13 | #define S2LET_SO3_STORAGE SO3_STORAGE_COMPACT
14 |
15 | /*!
16 | * A static helper function to prepopulate an so3_parameters_t
17 | * struct with data from an s2let_parameters_t struct.
18 | */
19 | static inline void fill_so3_parameters(so3_parameters_t *so3_parameters, const s2let_parameters_t *parameters)
20 | {
21 | so3_parameters->verbosity = parameters->verbosity;
22 | so3_parameters->L = parameters->L;
23 | so3_parameters->N = parameters->N;
24 | so3_parameters->sampling_scheme = parameters->sampling_scheme;
25 | so3_parameters->n_order = S2LET_SO3_N_ORDER;
26 | so3_parameters->storage = S2LET_SO3_STORAGE;
27 | so3_parameters->dl_method = parameters->dl_method;
28 | so3_parameters->reality = parameters->reality;
29 | so3_parameters->steerable = 1;
30 |
31 | if (parameters->N % 2)
32 | so3_parameters->n_mode = SO3_N_MODE_EVEN;
33 | else
34 | so3_parameters->n_mode = SO3_N_MODE_ODD;
35 | }
36 |
37 | #endif
38 |
--------------------------------------------------------------------------------
/include/s2let_tiling.h:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #ifndef S2LET_TILING
6 | #define S2LET_TILING
7 |
8 | #define PI 3.141592653589793238462643383279502884197
9 |
10 | void s2let_switch_wavtype(int typenum);
11 |
12 | int s2let_bandlimit(int j, const s2let_parameters_t *parameters);
13 |
14 | int s2let_L0(int j, const s2let_parameters_t *parameters);
15 |
16 | int s2let_j_max(const s2let_parameters_t *parameters);
17 |
18 | void s2let_tiling_axisym_allocate(double **kappa, double **kappa0, const s2let_parameters_t *parameters);
19 |
20 | void s2let_tiling_axisym(double *kappa, double *kappa0, const s2let_parameters_t *parameters);
21 |
22 | void s2let_tiling_direction_allocate(complex double **s_elm, const s2let_parameters_t *parameters);
23 |
24 | void s2let_tiling_direction(complex double *s_elm, const s2let_parameters_t *parameters);
25 |
26 | void s2let_tiling_wavelet_allocate(complex double **psi, double **phi, const s2let_parameters_t *parameters);
27 |
28 | void s2let_tiling_wavelet(complex double *psi, double *phi, const s2let_parameters_t *parameters);
29 |
30 | double s2let_tiling_axisym_check_identity(double *kappa, double *kappa0, const s2let_parameters_t *parameters);
31 |
32 | double s2let_tiling_direction_check_identity(complex double *s_elm, const s2let_parameters_t *parameters);
33 |
34 | double s2let_tiling_wavelet_check_identity(complex double *psi, double *phi, const s2let_parameters_t *parameters);
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/include/s2let_transform_axisym_lm.h:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #ifndef S2LET_transform_AXISYM_LM
6 | #define S2LET_transform_AXISYM_LM
7 |
8 | #include
9 |
10 |
11 | void s2let_transform_axisym_lm_allocate_f_wav(
12 | complex double **f_wav_lm,
13 | complex double **f_scal_lm,
14 | const s2let_parameters_t *parameters
15 | );
16 |
17 | void s2let_transform_axisym_lm_allocate_f_wav_multires(
18 | complex double **f_wav_lm,
19 | complex double **f_scal_lm,
20 | const s2let_parameters_t *parameters
21 | );
22 |
23 | void s2let_transform_axisym_lm_allocate_wav(double **wav_lm, double **scal_lm, const s2let_parameters_t *parameters);
24 | void s2let_transform_axisym_lm_wav(double *wav_lm, double *scal_lm, const s2let_parameters_t *parameters);
25 |
26 | void s2let_transform_axisym_lm_wav_analysis(
27 | complex double *f_wav_lm,
28 | complex double *f_scal_lm,
29 | const complex double *flm,
30 | const double *wav_lm,
31 | const double *scal_lm,
32 | const s2let_parameters_t *parameters
33 | );
34 | void s2let_transform_axisym_lm_wav_synthesis(
35 | complex double *flm,
36 | const complex double *f_wav_lm,
37 | const complex double *f_scal_lm,
38 | const double *wav_lm,
39 | const double *scal_lm,
40 | const s2let_parameters_t *parameters
41 | );
42 |
43 | void s2let_transform_axisym_lm_wav_analysis_multires(
44 | complex double *f_wav_lm,
45 | complex double *f_scal_lm,
46 | const complex double *flm,
47 | const double *wav_lm,
48 | const double *scal_lm,
49 | const s2let_parameters_t *parameters
50 | );
51 | void s2let_transform_axisym_lm_wav_synthesis_multires(
52 | complex double *flm,
53 | const complex double *f_wav_lm,
54 | const complex double *f_scal_lm,
55 | const double *wav_lm,
56 | const double *scal_lm,
57 | const s2let_parameters_t *parameters
58 | );
59 |
60 | #endif
61 |
--------------------------------------------------------------------------------
/lib/.gitignore:
--------------------------------------------------------------------------------
1 | libs2let.a
2 |
--------------------------------------------------------------------------------
/run_denoising_demos.sh:
--------------------------------------------------------------------------------
1 | make mw_bin
2 | bin/s2let_denoising_demo
3 | bin/s2let_spin_denoising_demo
4 |
5 | matlab -nodesktop -nosplash -r "s2let_plot_denoising_demo;exit"
6 |
--------------------------------------------------------------------------------
/run_timing_error.py:
--------------------------------------------------------------------------------
1 |
2 | import numpy as np
3 | import subprocess
4 | import os
5 |
6 | # params : L spin B N
7 | names = ['L', 's', 'B', 'N']
8 | L = 1024
9 | for spin in [0, 2]:
10 | for B in [2]:
11 | for N in [5]:
12 | params = [L, spin, B, N]
13 | outfilename = '_'.join(['timings', 'errors'] + [nm+str(x) for nm, x in zip(names, params)] ) + '.csv'
14 | command = ' '.join(['bin/s2let_test_csv'] + [str(x) for x in params] )
15 | print 'Executing ', command
16 | print 'Writing to ', outfilename
17 | outfile = open(outfilename,'w+')
18 | p = subprocess.Popen(command, stdout=outfile, shell=True)
19 |
20 |
--------------------------------------------------------------------------------
/setup.cfg:
--------------------------------------------------------------------------------
1 | [install]
2 | prefix=./
--------------------------------------------------------------------------------
/setup.py:
--------------------------------------------------------------------------------
1 |
2 | import sys
3 | import os
4 | import shutil
5 |
6 | from distutils.core import setup, Extension
7 | from Cython.Distutils import build_ext
8 | from Cython.Build import cythonize
9 |
10 | import numpy
11 |
12 | # clean previous build
13 | for root, dirs, files in os.walk("./src/main/python/", topdown=False):
14 | for name in dirs:
15 | if (name == "build"):
16 | shutil.rmtree(name)
17 |
18 |
19 | include_dirs = [
20 | numpy.get_include(),
21 | "./include",
22 | os.environ['SSHT']+"/include/c",
23 | os.environ['SO3']+"/include/c"
24 | ]
25 |
26 | extra_link_args=[
27 | "-L./lib",
28 | "-L"+os.environ['FFTW']+"/lib",
29 | "-L"+os.environ['SSHT']+"/lib/c",
30 | "-L"+os.environ['SO3']+"/lib/c"
31 | ]
32 |
33 | setup(
34 | name = "pys2let",
35 | version = "2.0",
36 | prefix='.',
37 | cmdclass={'build_ext': build_ext},
38 | ext_modules=cythonize([Extension(
39 | "src/main/python/pys2let",
40 | package_dir=['src'],
41 | sources=["src/main/python/pys2let.pyx"],
42 | include_dirs=include_dirs,
43 | libraries=["s2let", "so3", "ssht", "fftw3"],
44 | extra_link_args=extra_link_args,
45 | extra_compile_args=[]
46 | )])
47 | )
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/main/c/s2let_about.c:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | /*!
6 | * \file s2let_about.c
7 | * Print information about the S2LET package, including version
8 | * and build numbers.
9 | *
10 | * Usage: s2let_about
11 | *
12 | */
13 |
14 | #include
15 |
16 | int main(int argc, char *argv[]) {
17 |
18 | printf("%s\n", "==========================================================");
19 | printf("%s\n", " S2LET package");
20 | printf("%s\n", " Fast Wavelets on the Sphere");
21 | printf("%s\n", " By Boris Leistedt & Jason McEwen");
22 |
23 | printf("%s\n", " See LICENSE.txt for license details.");
24 |
25 | printf("%s%s\n", " Version: ", S2LET_VERSION);
26 | printf("%s%s\n", " Build: ", S2LET_BUILD);
27 | printf("%s\n", "==========================================================");
28 |
29 | return 0;
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/c/s2let_hpx.c:
--------------------------------------------------------------------------------
1 | // S2LET package
2 | // Copyright (C) 2012
3 | // Boris Leistedt & Jason McEwen
4 |
5 | #include "s2let.h"
6 | #include
7 | #include
8 |
9 | // Fortran interfaces to Healpix F90 library ; see s2let_hpx.f90
10 | extern void healpix_inverse_real_();
11 | extern void healpix_forward_real_();
12 | extern void healpix_inverse_spin_real_();
13 | extern void healpix_forward_spin_real_();
14 | extern void write_healpix_map_();
15 | extern void read_healpix_map_();
16 | extern void read_healpix_maps_();
17 | extern void healpix_forward_real_();
18 |
19 | void s2let_hpx_alm2map_real(double* f, const complex double* flm, int nside, int L)
20 | {
21 | healpix_inverse_real_(f, flm, &nside, &L);
22 | }
23 |
24 | void s2let_hpx_map2alm_real(complex double* flm, const double* f, int nside, int L)
25 | {
26 | healpix_forward_real_(flm, f, &nside, &L);
27 | }
28 |
29 | void s2let_hpx_alm2map_spin_real(double* fQ, double* fU, const complex double* flmE, const complex double* flmB, int nside, int L, int spin)
30 | {
31 | healpix_inverse_spin_real_(fQ, fU, flmE, flmB, &nside, &L, &spin);
32 | }
33 |
34 | void s2let_hpx_map2alm_spin_real(complex double* flmE, complex double* flmB, const double* fQ, const double* fU, int nside, int L, int spin)
35 | {
36 | healpix_forward_spin_real_(flmE, flmB, fQ, fU, &nside, &L, &spin);
37 | }
38 |
39 | void s2let_hpx_read_maps(double* f, char* file, int nside, int nmaps)
40 | {
41 | read_healpix_maps_(f, file, &nside, &nmaps);
42 | }
43 |
44 | void s2let_hpx_read_map(double* f, char* file, int nside)
45 | {
46 | read_healpix_map_(f, file, &nside);
47 | }
48 |
49 | void s2let_hpx_write_map(char* file, const double* f, int nside)
50 | {
51 | write_healpix_map_(file, f, &nside);
52 | }
53 |
54 | void s2let_hpx_allocate_real(double **f, int nside)
55 | {
56 | *f = calloc(12*nside*nside, sizeof **f);
57 | }
58 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_dylib_exists.pro:
--------------------------------------------------------------------------------
1 | function s2let_dylib_exists
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_dylib_exists
8 | ;
9 | ; PURPOSE:
10 | ; Check if the s2let dynamic library exists somewhere in the path
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; status = s2let_dylib_exists()
14 | ;
15 | ; OUTPUT
16 | ; 1 if found, 0 otherwise
17 | ;
18 | ;----------------------------------------------------------------------
19 |
20 | loc = GETENV('S2LET')
21 |
22 | r1 = file_test(loc + '/lib/libs2let.so')
23 | r2 = file_test(loc + '/lib/libs2let.dylib')
24 |
25 | if loc eq '' then begin
26 | print,'You must define environment variable S2LET (base directory of s2let)'
27 | return, 0
28 | endif
29 |
30 | if (r1 eq 0 and r2 eq 0) then begin
31 | print, 'You must build the dynamic library for s2let
32 | return, 0
33 | endif
34 |
35 | return, 1
36 |
37 | end
38 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_get_dylib.pro:
--------------------------------------------------------------------------------
1 | function s2let_get_dylib
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_get_dylib
8 | ;
9 | ; PURPOSE:
10 | ; Get the location/name of the s2let dynamic library
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; location = s2let_get_dylib()
14 | ;
15 | ;----------------------------------------------------------------------
16 |
17 | loc = GETENV('S2LET')
18 |
19 | r1 = file_test(loc + '/lib/libs2let.so')
20 | r2 = file_test(loc + '/lib/libs2let.dylib')
21 |
22 | if loc eq '' or (r1 eq 0 and r2 eq 0) then begin
23 | print,'You must define environment variance S2LET (base directory of s2let)'
24 | return, 0
25 | endif
26 |
27 | if r1 eq 1 then soname = loc + '/lib/libs2let.so'
28 | if r1 eq 0 then soname = loc + '/lib/libs2let.dylib'
29 |
30 | return, soname
31 |
32 | end
33 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_get_mw_bandlimit.pro:
--------------------------------------------------------------------------------
1 | function s2let_get_mw_bandlimit, f
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_get_mw_bandlimit
8 | ;
9 | ; PURPOSE:
10 | ; Detect the resolution/bandlimit L of an input MW map
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; L = s2let_get_mw_bandlimit(f)
14 | ;
15 | ; INPUT:
16 | ; f - array/map of size L*(2*L-1)
17 | ;
18 | ; OUTPUT
19 | ; L - the resolution/bandlimit
20 | ;
21 | ;----------------------------------------------------------------------
22 |
23 |
24 | delta = sqrt(1 + 8*((size(f))(1)))
25 | L = fix(( 1 + delta ) / 4)
26 |
27 | return, L
28 | end
29 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_get_wav_bandlimit.pro:
--------------------------------------------------------------------------------
1 | function s2let_get_wav_bandlimit, B, j
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_get_wav_bandlimit
8 | ;
9 | ; PURPOSE:
10 | ; Compute the bandlimit of the j-th wavelet constructed with parameter B
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; bl = s2let_get_wav_bandlimit(B, j)
14 | ;
15 | ; OUTPUT
16 | ; The bandlimit of the j-th wavelet constructed with parameter B
17 | ;
18 | ;----------------------------------------------------------------------
19 |
20 | return, ceil(B^float(j+1))
21 | end
22 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_healpix2mw.pro:
--------------------------------------------------------------------------------
1 | function s2let_healpix2mw, hpxmap, lmax=lmax
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_healpix2mw
8 | ;
9 | ; PURPOSE:
10 | ; Convert a real Healpix map to an MW map
11 | ; through the spherical harmonic transform
12 | ;
13 | ; CALLING SEQUENCE:
14 | ; mwmap = s2let_healpix2mw(hpxmap, lmax=lmax)
15 | ;
16 | ; INPUT:
17 | ; hpxmap - The Healpix map (npix = 12*nside*nside)
18 | ; lmax - The bandlimit of the SHA transform, thus the
19 | ; resolution of the MW map
20 | ;
21 | ; OUTPUT
22 | ; mwmap - The MW map (npix = lmax*(2*lmax-1))
23 | ;
24 | ;----------------------------------------------------------------------
25 |
26 | ;print, 'MAP -> ALM'
27 | flm = s2let_hpx_map2alm_real(hpxmap, lmax)
28 |
29 | if not keyword_set(lmax) then begin
30 | nside = fix(sqrt(((size(hpxmap))(1))/12.0))
31 | lmax = 2*nside
32 | endif
33 |
34 | ;print, 'ALM -> MAP'
35 | mwmap = s2let_mw_alm2map_real(flm)
36 |
37 | return, mwmap
38 | end
39 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_hpx_alm2map_real.pro:
--------------------------------------------------------------------------------
1 | function s2let_hpx_alm2map_real, flm, nside
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_hpx_alm2map_real
8 | ;
9 | ; PURPOSE:
10 | ; Reconstruct a real Healpix map from its spherical harmonic
11 | ; transform (nb: not an exact transform due to healpix)
12 | ;
13 | ; CALLING SEQUENCE:
14 | ; f = s2let_hpx_alm2map_real(alm, nside)
15 | ;
16 | ; INPUT:
17 | ; alm - a complex array containing the spherical harmonic transform
18 | ; alm_{el em} can be accessed at alm(ind) with ind = el*el + el + em
19 | ; nside - resolution for the output map
20 | ;
21 | ; OUTPUT
22 | ; f - The Healpix map (npix = 12*nside*nside)
23 | ;
24 | ;----------------------------------------------------------------------
25 |
26 |
27 | if s2let_dylib_exists() eq 1 then begin
28 |
29 | soname = s2let_get_dylib()
30 | sz = (size(flm))(1)
31 | L = fix(sqrt(sz))
32 |
33 | f = dblarr(12*nside*nside)
34 |
35 | r = call_external(soname, 's2let_idl_hpx_alm2map_real', f, flm, nside, L, /CDECL)
36 |
37 | return, f
38 |
39 | endif
40 |
41 | end
42 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_hpx_demo.pro:
--------------------------------------------------------------------------------
1 | pro s2let_hpx_demo, B=B, L=L, J_min=J_min, wavtype=wavtype
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_hpx_demo
8 | ;
9 | ; PURPOSE:
10 | ; Demo : test all HPX spherical harmonics and wavelet transforms
11 | ; (not exact due to healpix) for a simulated CMB map and plot the wavelet maps
12 | ;
13 | ; OPTIONAL KEYWORDS:
14 | ; L - The bandlimit for the spherical harmonic transforms
15 | ; B - The wavelet parameter for the test
16 | ; J_min - The first wavelet scale to be used for the transform
17 | ; wavtype - Wavelet type (1: scale-discretised, 2:needlets, 3: cubic splines)
18 | ; DEFAULT VALUES: L=192, B=7, J_min=2, wavtype=1
19 | ;
20 | ;----------------------------------------------------------------------
21 |
22 | if not keyword_set(B) then B = 7
23 | if not keyword_set(L) then L = 192
24 | if not keyword_set(J_min) then J_min = 2
25 | if not keyword_set(wavtype) then wavtype = 1
26 |
27 | if s2let_dylib_exists() eq 1 then begin
28 |
29 | loc = GETENV('S2LET')
30 | file = loc + '/data/somecmbsimu_hpx_128.fits'
31 | read_fits_map, file, f
32 |
33 | f_wav = s2let_axisym_hpx_wav_analysis(f, B, L, J_min, wavtype=wavtype)
34 | f_rec = s2let_axisym_hpx_wav_synthesis(f_wav)
35 |
36 | J_max = s2let_j_max(L, B)
37 | mollview, f_rec, title='Band-limited map'
38 | mollview, f_wav.scal, title='Scaling map'
39 | for j=0, J_max-J_min do begin
40 | mollview, f_wav.(j), title='Wavelet map '+strtrim(j+1,2)+' on '+strtrim(J_max-J_min+1,2)
41 | endfor
42 |
43 | endif
44 |
45 | end
46 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_hpx_map2alm_real.pro:
--------------------------------------------------------------------------------
1 | function s2let_hpx_map2alm_real, f, lmax
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_mw_map2alm_real
8 | ;
9 | ; PURPOSE:
10 | ; Compute the spherical harmonic transform of a real Healpix map
11 | ; (nb: not an exact transform due to healpix)
12 | ;
13 | ; CALLING SEQUENCE:
14 | ; alm = s2let_hpx_map2alm_real(f, lmax)
15 | ;
16 | ; INPUTS
17 | ; f - The input healpix map (npix = 12*nside*nside, nside is detected)
18 | ;
19 | ; OUTPUT:
20 | ; alm - a complex array containing the spherical harmonic transform
21 | ; alm_{el em} can be accessed at alm(ind) with ind = el*el + el + em
22 | ;
23 | ; COMMENT:
24 | ; The resolution nside is automatically detected
25 | ;
26 | ;----------------------------------------------------------------------
27 |
28 |
29 | if s2let_dylib_exists() eq 1 then begin
30 |
31 | soname = s2let_get_dylib()
32 |
33 | nside = fix(sqrt(((size(f))(1))/12.0))
34 | print, 'nside = ', nside
35 | print, 'lmax = ', lmax
36 | flm = dcomplex(dblarr(lmax^2.0))
37 |
38 | r = call_external(soname, 's2let_idl_hpx_map2alm_real', flm, double(f), nside, lmax, /CDECL)
39 |
40 | return, flm
41 |
42 | endif
43 |
44 | end
45 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_j_max.pro:
--------------------------------------------------------------------------------
1 | function s2let_j_max, L, B
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_j_max
8 | ;
9 | ; PURPOSE:
10 | ; Compute the maximum wavelet to be used, given a bandlimit L and a
11 | ; wavelet parameter B
12 | ;
13 | ; CALLING SEQUENCE:
14 | ; J_max = s2let_j_max(L, B)
15 | ;
16 | ; OUTPUT
17 | ; Compute the maximum wavelet to be used, given a bandlimit L and a
18 | ; wavelet parameter B;
19 | ;
20 | ;----------------------------------------------------------------------
21 |
22 |
23 | return, fix(ceil(alog10(L) / alog10(B)))
24 |
25 | end
26 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_make_doc.pro:
--------------------------------------------------------------------------------
1 | pro s2let_make_doc
2 |
3 | loc = GETENV('S2LET')
4 |
5 | if loc eq '' then begin
6 | print,'You must define environment variable S2LET (base directory of s2let)'
7 | endif else begin
8 | codeloc = loc + '/src/main/idl/'
9 | docfile = loc + '/doc/idl/index.html'
10 | MK_HTML_HELP, codeloc, docfile, /verbose, title='S2LET library : documentation for IDL routines and interfaces'
11 | endelse
12 |
13 | end
14 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_mw_alm2map.pro:
--------------------------------------------------------------------------------
1 | function s2let_mw_alm2map, flm
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_mw_alm2map
8 | ;
9 | ; PURPOSE:
10 | ; Reconstruct a complex MW map from its exact spherical harmonic transform
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; f = s2let_mw_alm2map(alm)
14 | ;
15 | ; INPUT:
16 | ; alm - a complex array containing the spherical harmonic transform
17 | ; alm_{el em} can be accessed at alm(ind) with ind = el*el + el + em
18 | ;
19 | ; OUTPUT
20 | ; f - The MW map (npix = L*(2*L-1), L is detected)
21 | ;
22 | ; COMMENT:
23 | ; The resolution/bandlimit L is automatically detected
24 | ;
25 | ;----------------------------------------------------------------------
26 |
27 |
28 | if s2let_dylib_exists() eq 1 then begin
29 |
30 | soname = s2let_get_dylib()
31 | sz = (size(flm))(1)
32 | delta = sqrt(1 + 8*(sz))
33 | L = fix(sqrt(sz))
34 |
35 | f = dcomplex(dblarr(L*(2*L-1)))
36 |
37 | r = call_external(soname, 's2let_idl_mw_alm2map', f, flm, L, /CDECL)
38 |
39 | return, f
40 |
41 | endif
42 |
43 | end
44 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_mw_alm2map_real.pro:
--------------------------------------------------------------------------------
1 | function s2let_mw_alm2map_real, flm
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_mw_alm2map_real
8 | ;
9 | ; PURPOSE:
10 | ; Reconstruct a real MW map from its exact spherical harmonic transform
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; f = s2let_mw_alm2map_real(alm)
14 | ;
15 | ; INPUT:
16 | ; alm - a complex array containing the spherical harmonic transform
17 | ; alm_{el em} can be accessed at alm(ind) with ind = el*el + el + em
18 | ;
19 | ; OUTPUT
20 | ; f - The MW map (npix = L*(2*L-1), L is detected)
21 | ;
22 | ; COMMENT:
23 | ; The resolution/bandlimit L is automatically detected
24 | ;
25 | ;----------------------------------------------------------------------
26 |
27 |
28 | if s2let_dylib_exists() eq 1 then begin
29 |
30 | soname = s2let_get_dylib()
31 | sz = (size(flm))(1)
32 | delta = sqrt(1 + 8*(sz))
33 | L = long(sqrt(sz))
34 |
35 | f = dblarr(L*(2*L-1))
36 |
37 | r = call_external(soname, 's2let_idl_mw_alm2map_real', f, flm, L, /CDECL)
38 |
39 | return, f
40 |
41 | endif
42 |
43 | end
44 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_mw_map2alm.pro:
--------------------------------------------------------------------------------
1 | function s2let_mw_map2alm, f
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_mw_map2alm_real
8 | ;
9 | ; PURPOSE:
10 | ; Compute exact spherical harmonic transform of a complex MW map
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; alm = s2let_mw_map2alm(f)
14 | ;
15 | ; INPUTS
16 | ; f - The input MW map (npix = L*(2*L-1), L is detected)
17 | ;
18 | ; OUTPUT:
19 | ; alm - a complex array containing the spherical harmonic transform
20 | ; alm_{el em} can be accessed at alm(ind) with ind = el*el + el + em
21 | ;
22 | ; COMMENT:
23 | ; The resolution/bandlimit L is automatically detected
24 | ;
25 | ;----------------------------------------------------------------------
26 |
27 |
28 | if s2let_dylib_exists() eq 1 then begin
29 |
30 | soname = s2let_get_dylib()
31 |
32 | sz = (size(f))(1)
33 | delta = sqrt(1 + 8*(sz))
34 | L = fix(( 1 + delta ) / 4)
35 | npix = long(L*(2*L-1))
36 |
37 | flm = dcomplex(dblarr(L*L))
38 |
39 | r = call_external(soname, 's2let_idl_mw_map2alm', flm, dcomplex(f), L, /CDECL)
40 |
41 | return, flm
42 |
43 | endif
44 |
45 | end
46 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_mw_map2alm_real.pro:
--------------------------------------------------------------------------------
1 | function s2let_mw_map2alm_real, f
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_mw_map2alm_real
8 | ;
9 | ; PURPOSE:
10 | ; Compute exact spherical harmonic transform of a real MW map
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; alm = s2let_mw_map2alm_real(f)
14 | ;
15 | ; INPUTS
16 | ; f - The input MW map (npix = L*(2*L-1), L is detected)
17 | ;
18 | ; OUTPUT:
19 | ; alm - a complex array containing the spherical harmonic transform
20 | ; alm_{el em} can be accessed at alm(ind) with ind = el*el + el + em
21 | ;
22 | ; COMMENT:
23 | ; The resolution/bandlimit L is automatically detected
24 | ;
25 | ;----------------------------------------------------------------------
26 |
27 |
28 | if s2let_dylib_exists() eq 1 then begin
29 |
30 | soname = s2let_get_dylib()
31 |
32 | sz = (size(f))(1)
33 | delta = sqrt(1 + 8*(sz))
34 | L = fix(( 1 + delta ) / 4)
35 | npix = long(L*(2*L-1))
36 |
37 | flm = dcomplex(dblarr(L*L))
38 |
39 | r = call_external(soname, 's2let_idl_mw_map2alm_real', flm, double(f), L, /CDECL)
40 |
41 | return, flm
42 |
43 | endif
44 |
45 | end
46 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_mw_pixel_edges.pro:
--------------------------------------------------------------------------------
1 | function s2let_mw_pixel_edges, L, i
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_mw_pixel_edges
8 | ;
9 | ; PURPOSE:
10 | ; Get (theta, phi) coordinates for the corners of the i-th pixel in
11 | ; the MW sampling
12 | ;
13 | ; CALLING SEQUENCE:
14 | ; arr = s2let_mw_pixel_edges(L, i)
15 | ;
16 | ; INPUTS
17 | ; L - resolution/bandlimit of the MW map
18 | ; i - pixel index
19 | ;
20 | ; OUTPUT:
21 | ; arr - an array containing four numbers: theta1, theta2, phi1 and phi2
22 | ; which are the locations of the corners of the pixel
23 | ;
24 | ;----------------------------------------------------------------------
25 |
26 | t = i / (2*L-1)
27 | p = i mod (2*L-1)
28 |
29 | theta_mid = (2.0*t + 1.0) * !pi / (2.0*L - 1.0)
30 | phi_mid = 2.0 * p * !pi / (2.0*L - 1.0)
31 |
32 | theta1 = theta_mid - !pi / (2.0*L - 1.0)
33 | theta2 = theta_mid + !pi / (2.0*L - 1.0)
34 | phi1 = phi_mid - !pi / (2.0*L - 1.0)
35 | phi2 = phi_mid + !pi / (2.0*L - 1.0)
36 |
37 | return, [ theta1, theta2, phi1, phi2 ]
38 |
39 | end
40 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_mw_read_real_map.pro:
--------------------------------------------------------------------------------
1 | function s2let_mw_read_real_map, file
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_read_mw_real_map
8 | ;
9 | ; PURPOSE:
10 | ; Read a real MW map from a FITS file
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; f = s2let_mw_read_real_map(file)
14 | ;
15 | ; INPUTS
16 | ; file - filename for the FITS
17 | ;
18 | ; OUTPUT:
19 | ; map - MW map (npix=L*(2*L-1), L is detected)
20 | ;
21 | ;----------------------------------------------------------------------
22 |
23 | r = mrdfits(file, 1)
24 |
25 | mapvec = r.(0)
26 | sz = (size(mapvec))(1)
27 |
28 | delta = sqrt(1 + 8*(sz))
29 | L = ( 1 + delta ) / 4
30 |
31 | ;maparr = dblarr(L, 2*L-1)
32 | ;for el = 0, L-1 do begin
33 | ; maparr(el,*) = mapvec(el*(2*L-1):(el+1)*(2*L-1)-1)
34 | ;endfor
35 |
36 | return, mapvec
37 | end
38 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_mw_sampling.pro:
--------------------------------------------------------------------------------
1 | pro s2let_mw_sampling, L, thetas, phis
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_mw_sampling
8 | ;
9 | ; PURPOSE:
10 | ; Compute the coordinates of the nodes of the MW sampling for a
11 | ; given bandlimit/resolution
12 | ;
13 | ; CALLING SEQUENCE:
14 | ; s2let_mw_sampling, L, thetas, phis
15 | ;
16 | ; INPUT:
17 | ; L - resolution/bandlimit
18 | ;
19 | ; OUTPUT
20 | ; thetas - The theta coordinates of the nodes
21 | ; phis - The phi coordinates of the nodes
22 | ;
23 | ;----------------------------------------------------------------------
24 |
25 | thetas = dblarr(L)
26 | phis = dblarr(2*L-1)
27 |
28 | ;t = long(0)
29 | ;repeat begin
30 | for t = 0, L-1 do begin
31 | thetas(t) = (2.0*t + 1.0) * !pi / (2.0*L - 1.0)
32 | endfor
33 | ; t = t + 1
34 | ;endrep until t eq L - 1
35 |
36 | ;p = long(0)
37 | ;repeat begin
38 | for p = 0, 2*L-2 do begin
39 | phis(p) = 2.0 * p * !pi / (2.0*L - 1.0);
40 | endfor
41 | ; p = p + 1
42 | ;endrep until p eq 2 * L - 2
43 |
44 | end
45 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_mw_write_real_map.pro:
--------------------------------------------------------------------------------
1 | pro s2let_mw_write_real_map, mapvec, file
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_mw_write_real_map
8 | ;
9 | ; PURPOSE:
10 | ; Write a real MW map to a FITS file
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; s2let_mw_write_real_map, map, file
14 | ;
15 | ; INPUTS:
16 | ; map - input MW map (npix=L*(2*L-1), L is detected)
17 | ; file - filename for the FITS
18 | ;
19 | ;----------------------------------------------------------------------
20 |
21 | L = (size(maparr))(1)
22 |
23 | ;mapvec = dblarr(L*(2*L-1))
24 | ;for el = 0, L-1 do begin
25 | ; mapvec(el*(2*L-1):(el+1)*(2*L-1)-1) = maparr(el,*)
26 | ;endfor
27 |
28 | sxaddpar, hdr, 'L', L
29 |
30 | s = {data: mapvec}
31 | mwrfits_chunks, s, file, hdr, /silent
32 |
33 | end
34 |
--------------------------------------------------------------------------------
/src/main/idl/s2let_valid_wav_parameters.pro:
--------------------------------------------------------------------------------
1 | pro s2let_valid_wav_parameters, B, L, J_min, wavtype
2 | ;+
3 | ; S2LET package - Copyright (C) 2012
4 | ; Boris Leistedt & Jason McEwen
5 | ;
6 | ; NAME:
7 | ; s2let_valid_wav_parameters
8 | ;
9 | ; PURPOSE:
10 | ; Check and test a set of wavelet parameters
11 | ;
12 | ; CALLING SEQUENCE:
13 | ; status = s2let_valid_wav_parameters(B, L, J_min)
14 | ;
15 | ; INPUTS:
16 | ; B - Wavelet parameter
17 | ; L - Band-limit to be used for the spherical harmonic transforms
18 | ; J_min - First wavelet scale to be used
19 | ; wavtype - Wavelet type (1: scale-discretised, 2:needlets, 3: cubic splines)
20 | ;
21 | ;----------------------------------------------------------------------
22 |
23 | if not valid_num(B,/integer) or B lt 2 then stop, 'Error: Parameter B must be a positive integer'
24 | if not valid_num(L,/integer) or L lt 2 then stop, 'Error: Parameter L must be a positive integer'
25 | if not valid_num(J_min,/integer) or J_min lt 0 then stop, 'Error: Parameter J_min must be a positive integer'
26 | if not valid_num(wavtype,/integer) or wavtype gt 3 or wavtype lt 1 then stop, 'Error: Parameter wavtype must be 1, 2 or 3'
27 | J_max = s2let_j_max(L, B)
28 | msg = 'Error: Parameter B must be greater than J_max='+strtrim(J_max,2)
29 | if J_max lt 1 then stop, msg
30 | msg = 'Error: Parameter J_min must be lower than J_max='+strtrim(J_max,2)
31 | if J_min ge J_max then stop, msg
32 |
33 | end
34 |
--------------------------------------------------------------------------------
/src/main/java/org/s2let/SamplingScheme.java:
--------------------------------------------------------------------------------
1 | /*
2 | * To change this template, choose Tools | Templates
3 | * and open the template in the editor.
4 | */
5 | package org.s2let;
6 |
7 | /**
8 | *
9 | * @author bl
10 | */
11 | public enum SamplingScheme {
12 | HEALPIX, MW
13 | };
14 |
--------------------------------------------------------------------------------
/src/main/jnaerator/config.jnaerator:
--------------------------------------------------------------------------------
1 | -library s2let
2 |
3 | //-Dcomplex=
4 |
5 | -parseChunks
6 |
7 | -I $(DIR)/../../../include
8 | $(DIR)/../../../include/s2let.h
9 |
10 | -I /usr/local/include
11 |
12 | -I $(SSHT)/include/c
13 | $(SSHT)/include/c/ssht.h
14 |
15 | -I $(HEALPIX)/include
16 |
17 | -arch darwin_universal
18 | $(DIR)/../../../lib/libs2let.dylib
19 |
20 | -package org.s2let.bindings
21 |
--------------------------------------------------------------------------------
/src/main/matlab/EGM2008_Topography_flms_L0128.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/src/main/matlab/EGM2008_Topography_flms_L0128.mat
--------------------------------------------------------------------------------
/src/main/matlab/kappas_need.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/src/main/matlab/kappas_need.mat
--------------------------------------------------------------------------------
/src/main/matlab/kappas_s2dw.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/src/main/matlab/kappas_s2dw.mat
--------------------------------------------------------------------------------
/src/main/matlab/kappas_spline.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/src/main/matlab/kappas_spline.mat
--------------------------------------------------------------------------------
/src/main/matlab/s2let_bandlimit.m:
--------------------------------------------------------------------------------
1 | function bl = s2let_bandlimit(j, J_min, B, L)
2 |
3 | % s2let_bandlimit
4 | % Return the band-limit of a specific wavelet scale j
5 | %
6 | % Default usage:
7 | % bl = s2let_bandlimit(j, J_min, B, L)
8 | %
9 | % j the scale of interest,
10 | % J_min the minimal wavelet scale,
11 | % B is the wavelet parameter,
12 | % L is the band-limit for the transform.
13 | %
14 | % S2LET package to perform Wavelets transform on the Sphere.
15 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
16 | % See LICENSE.txt for license details
17 |
18 | bl = s2let_bandlimit_mex(j, J_min, B, L);
19 |
20 | end
21 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_check_axisym_tiling.m:
--------------------------------------------------------------------------------
1 | function error_on_axisym_tiling = s2let_check_axisym_tiling(kappa, kappa0, L, J)
2 |
3 | % s2let_check_axisym_tiling - Checks exactness of the tiling.
4 | % -- Axisymmetric wavelets on the sphere.
5 | %
6 | % S2LET package to perform Wavelets transform on the Sphere.
7 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
8 | % See LICENSE.txt for license details
9 |
10 | identity = kappa0.^2;
11 | for j=0:J
12 | identity(1,:) = identity(1,:) + kappa(j+1,:).^2;
13 | end
14 |
15 | error_on_axisym_tiling = 0;
16 | for l=1:L
17 | error_on_axisym_tiling = error_on_axisym_tiling + identity(1,l) - 1.0;
18 | end
19 |
20 | end
21 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_check_cur_tiling.m:
--------------------------------------------------------------------------------
1 | function error_on_cur_tiling = s2let_check_cur_tiling(cur_lm, scal_l, L, Spin, J, J_min)
2 | % s2let_check_cur_tiling - Checks the admissibity condition is satisfied.
3 | % -----------------------------------------------------------
4 | % S2LET package to perform wavelets transform on the Sphere.
5 | % Copyright (C) 2012-2016 Boris Leistedt, Jennifer Chan & Jason McEwen
6 | % See LICENSE.txt for license details
7 | % -----------------------------------------------------------
8 |
9 | % Scaling function
10 | identity = zeros(1,L);
11 | for el=abs(Spin):L-1
12 | identity(1,el+1) = identity(1,el+1)+4.*pi/(2*el+1)*scal_l(el^2+el+1,1)*conj(scal_l(el^2+el+1,1));
13 | end
14 |
15 |
16 | % Curvelet functions
17 | for j= J_min: J
18 | ind = Spin*Spin + 1;
19 | for el=abs(Spin):L-1
20 | for m= -el:el
21 | identity(1,el+1) = identity(1,el+1)+(8.*pi^2/(2*el+1))* cur_lm{j-J_min+1}(ind)*conj(cur_lm{j-J_min+1}(ind));
22 | ind = ind + 1;
23 | end
24 | end
25 | end
26 |
27 | error_on_cur_tiling = 0;
28 | for el=abs(Spin):L-1
29 | error_on_cur_tiling = error_on_cur_tiling+(identity(1,el+1) - 1.0);
30 | end
31 |
32 |
33 | end
34 |
35 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_check_tiling.m:
--------------------------------------------------------------------------------
1 | function error_on_tiling = s2let_check_tiling(psi, phi, L, spin, J)
2 |
3 | % s2let_check_tiling - Checks exactness of the directional wavelet tiling.
4 | % -- Spin directional wavelets on the sphere.
5 | %
6 | % S2LET package to perform Wavelets transform on the Sphere.
7 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
8 | % See LICENSE.txt for license details
9 |
10 | identity = zeros(1,L);
11 | for l=abs(spin):L-1
12 | identity(1,l+1) = identity(1,l+1) + 4*pi/(2*l+1) * phi(l+1) * conj(phi(l+1));
13 | end
14 |
15 | for j=0:J
16 | ind = spin*spin + 1;
17 | for l=abs(spin):L-1
18 | for m=-l:l
19 | identity(1,l+1) = identity(1,l+1) + 8*pi^2/(2*l+1) * psi(ind, j+1) * conj(psi(ind, j+1));
20 | ind = ind + 1;
21 | end
22 | end
23 | end
24 |
25 | error_on_tiling = 0;
26 | for l=abs(spin):L-1
27 | error_on_tiling = error_on_tiling + identity(1,l+1) - 1.0;
28 | end
29 |
30 | end
31 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_demo2.m:
--------------------------------------------------------------------------------
1 | % s2let_demo2
2 | % Compute and plot the harmonic tiling and the wavelet kernels.
3 | %
4 | % S2LET package to perform Wavelets on the Sphere.
5 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
6 | % See LICENSE.txt for license details
7 |
8 | B = 3;
9 | zoomfactor = 1.4;
10 | J_min = 2;
11 | L = 128;
12 | J = s2let_jmax(L, B);
13 | type = 'colour';
14 | lighting = true;
15 |
16 | ns = ceil(sqrt(2+J-J_min+1)) ;
17 | nx = ns - 1 + rem(2+J-J_min + 1, ns) ;
18 | ny = ns;
19 |
20 | [kappa kappa0] = s2let_transform_axisym_tiling(B, L, J_min);
21 |
22 | s2let_plot_axisym_tiling(B, L, J_min);
23 |
24 | figure('Position',[100 100 1100 700])
25 |
26 | h=subplot(nx, ny, 1);
27 | flm = zeros(L^2,1);
28 | for l = 0:L-1
29 | flm(l^2+l+1,1) = kappa0(l+1);
30 | end
31 | f = ssht_inverse(flm, L, 'Reality', true);
32 | ssht_plot_sphere(f, L, 'Type', type, 'Lighting', lighting);
33 | zoom(zoomfactor)
34 | v = caxis;
35 | temp = max(abs(v));
36 | caxis([-temp temp])
37 | %title('k0')
38 | locate = get(h,'title');
39 | pos = get(locate,'position');
40 | pos(1,2) = pos(1,2)+0.7;
41 | pos(1,1) = pos(1,1)-0.7;
42 | set(locate,'pos',pos);
43 |
44 | for j = J_min:5
45 | h=subplot(nx, ny, j-J_min+2);
46 | flm = zeros(L^2,1);
47 | for l = 0:L-1
48 | flm(l^2+l+1,1) = kappa(j+1,l+1);
49 | end
50 | f = ssht_inverse(flm, L, 'Reality', true);
51 | ssht_plot_sphere(f, L, 'Type', type, 'Lighting', lighting);
52 | v = caxis;
53 | temp = max(abs(v));
54 | caxis([-temp temp])
55 | colormap(jet)
56 | %title(['j',int2str(j)-J_min+1])
57 | locate = get(h,'title');
58 | pos = get(locate,'position');
59 | pos(1,2) = pos(1,2)+0.7;
60 | pos(1,1) = pos(1,1)-0.7;
61 | set(locate,'pos',pos);
62 | zoom(zoomfactor)
63 | end
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_demo3.m:
--------------------------------------------------------------------------------
1 | % s2let_demo3
2 | % Analyse some CMB simulation from a valid HEALPIX map
3 | % Compute the output wavelets as Healpix maps and plot them.
4 | %
5 | % S2LET package to perform Wavelets on the Sphere.
6 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
7 | % See LICENSE.txt for license details
8 |
9 | L = 192;
10 | B = 3;
11 | J_min = 2;
12 | nside_recon = 128;
13 | s2let_path = '.'
14 | inputfile = strcat(s2let_path,'/data/somecmbsimu_hpx_128.fits')
15 |
16 | % Read the file
17 | [f_ini, nside] = s2let_hpx_read_real_map(inputfile);
18 |
19 | % Band limit the data
20 | flm = s2let_hpx_map2alm(f_ini, 'L', L);
21 | f = s2let_hpx_alm2map(flm, nside_recon, 'L', L);
22 |
23 | % Perform decomposition
24 | [f_wav, f_scal] = s2let_transform_axisym_analysis_hpx(f,'B',B,'L',L,'J_min',J_min);
25 |
26 | % Plot
27 | J = s2let_jmax(L, B);
28 | zoomfactor = 1.2;
29 | ns = ceil(sqrt(2+J-J_min+1)) ;
30 | ny = ns - 1 ;
31 | nx = ns ;
32 | figure('Position',[100 100 1300 1000])
33 |
34 | subplot(nx, ny, 1);
35 | s2let_hpx_plot_mollweide(f);
36 | campos([0 0 -1]); camup([0 1 0]); zoom(zoomfactor)
37 | title('Initial band-limited data')
38 |
39 | subplot(nx, ny, 2);
40 | s2let_hpx_plot_mollweide(f_scal);
41 | campos([0 0 -1]); camup([0 1 0]); zoom(zoomfactor)
42 | title('Scaling fct')
43 |
44 | for j = J_min:J
45 | subplot(nx, ny, j-J_min+3);
46 | s2let_hpx_plot_mollweide(f_wav{j-J_min+1});
47 | campos([0 0 -1]); camup([0 1 0]); zoom(zoomfactor)
48 | title(['Wavelet scale : ',int2str(j)-J_min+1])
49 | end
50 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_demo_ridgelet_plot.m:
--------------------------------------------------------------------------------
1 |
2 | % s2let_demo_ridgelet_plot
3 | % Compute and plot the ridgelet wavelet and scaling functions.
4 | %
5 | % S2LET package to perform Wavelets on the Sphere.
6 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
7 | % See LICENSE.txt for license details
8 |
9 | % close all;
10 |
11 | L = 256
12 | B = 2;
13 | J_min = 3;
14 | J = s2let_jmax(L, B);
15 | sampling_method = 'MWSS';
16 | % sphere_plot_type = 'parametric';
17 | sphere_plot_type = 'colour';
18 | sphere_plot_lighting = true;
19 | sphere_plot_scale = 1;
20 | save_plots = false;
21 | spin = 2
22 | reality = false
23 |
24 | % plot_component = @(x) (x);
25 | plot_component = @(x) real(x);
26 | % plot_component = @(x) imag(x);
27 | % plot_component = @(x) abs(x);
28 |
29 | [ridgelet_wav, ridgelet_scal] = s2let_ridgelet_compute_wav(L, ...
30 | 'B', B, 'J_min', J_min, ...
31 | 'Spin', spin, 'Reality', reality, 'Sampling', sampling_method);
32 |
33 | figure
34 | ssht_plot_sphere(plot_component(ridgelet_scal), L, ...
35 | 'Lighting', sphere_plot_lighting, ...
36 | 'Type', sphere_plot_type, 'ParametricScale', sphere_plot_scale, ...
37 | 'Method', sampling_method, ...
38 | 'ColourBar', true);
39 | c = caxis;
40 | caxis([-1 1].*max(abs(c)));
41 | view(-37.5,10)
42 | if save_plots, print('-r300', '-dpng', 'ridgelet_scal_Jmin03.png'); end
43 |
44 | for j = J_min:J
45 |
46 | figure
47 | ssht_plot_sphere(plot_component(ridgelet_wav{j-J_min+1}), L, ...
48 | 'Lighting', sphere_plot_lighting, ...
49 | 'Type', sphere_plot_type, 'ParametricScale', sphere_plot_scale, ...
50 | 'ParametricMin', true, ...
51 | 'Method', sampling_method, ...
52 | 'ColourBar', true);
53 | c = caxis;
54 | caxis([-1 1].*max(abs(c)));
55 | view(-37.5,10)
56 |
57 | plot_filename = sprintf('plots/ridgelet_wav_j%2.2d.png', j);
58 | if save_plots, print('-r300', '-dpng', plot_filename); end
59 |
60 | end
61 |
62 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_elmin.m:
--------------------------------------------------------------------------------
1 | function elmin = s2let_elmin(B, j)
2 |
3 | % s2let_elmin
4 | % Return the lowest harmonic index el supported by the given
5 | % wavelet scale.
6 | %
7 | % Default usage:
8 | % elmin = s2let_elmin(B, j)
9 | %
10 | % B is the wavelet parameter,
11 | % j the scale of interest.
12 | %
13 | % S2LET package to perform Wavelets transform on the Sphere.
14 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
15 | % See LICENSE.txt for license details
16 |
17 | elmin = floor(B^(j-1) + 1);
18 |
19 | end
20 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_hpx2mw.m:
--------------------------------------------------------------------------------
1 | function f_mw = s2let_hpx2mw(f, varargin)
2 |
3 | % s2let_hpx2mw
4 | % Converts Healpix map into MW map
5 | %
6 | % Default usage :
7 | %
8 | % f_mw = s2let_hpx2mw(f_hpx, )
9 | %
10 | % f is the input map -- HEALPIX sampling,
11 | % f is the output map -- MW sampling.
12 | %
13 | % Option :
14 | % 'nside' = { HEALPIX resolution; (default=guessed)}
15 | % 'L' = { Harmonic band-limit; L > 1 (default=2*nside) }
16 |
17 | % S2LET package to perform Wavelets transform on the Sphere.
18 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
19 | % See LICENSE.txt for license details
20 |
21 | sz = size(f);
22 | nsideguessed = sqrt(max(sz)/12);
23 | Lguessed = 2*nsideguessed;
24 |
25 | p = inputParser;
26 | p.addRequired('f', @isnumeric);
27 | p.addParamValue('nside', nsideguessed, @isnumeric);
28 | p.addParamValue('L', Lguessed, @isnumeric);
29 | p.parse(f, varargin{:});
30 | args = p.Results;
31 |
32 | flm = s2let_hpx_map2alm(f, 'nside', args.nside, 'L', args.L);
33 | %flm = s2let_hpx_map2alm_mex(f, args.nside, args.L);
34 | f_mw = ssht_inverse(flm, args.L, 'Reality', true);
35 |
36 | end
37 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_hpx_alm2map.m:
--------------------------------------------------------------------------------
1 | function f = s2let_hpx_alm2map(flm, nside, varargin)
2 |
3 | % s2let_axisym_synthesis
4 | % Compute axisymmetric wavelet transform, output as HEALPIX maps.
5 | %
6 | % Default usage :
7 | %
8 | % f = s2let_hpx_alm2map(flm, nside, )
9 | %
10 | % flm is the input spherical harmonic decomposition,
11 | % nside is the HEALPIX resolution for the output map,
12 | % f is the corresponding output map.
13 | %
14 | % Option :
15 | % 'L' = { Harmonic band-limit; L > 1 (default=2*nside) }
16 | %
17 | % S2LET package to perform Wavelets transform on the Sphere.
18 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
19 | % See LICENSE.txt for license details
20 |
21 |
22 | sz = size(flm);
23 | Lguessed = sqrt(sz(1));
24 |
25 | p = inputParser;
26 | p.addRequired('flm',@isnumeric);
27 | p.addRequired('nside', @isnumeric);
28 | p.addParamValue('L', Lguessed, @isnumeric);
29 | p.parse(flm, nside, varargin{:});
30 | args = p.Results;
31 |
32 | f = s2let_hpx_alm2map_mex(flm, nside, args.L);
33 |
34 | end
--------------------------------------------------------------------------------
/src/main/matlab/s2let_hpx_alm2map_spin.m:
--------------------------------------------------------------------------------
1 | function [fQ, fU] = s2let_hpx_alm2map(flmQ, flmU, nside, varargin)
2 |
3 | % s2let_axisym_synthesis_spin
4 | % Compute axisymmetric wavelet transform, output as HEALPIX maps.
5 | %
6 | % Default usage :
7 | %
8 | % fQ, fU = s2let_hpx_alm2map(flm, nside, )
9 | %
10 | % flm is the input spherical harmonic decomposition,
11 | % nside is the HEALPIX resolution for the output map,
12 | % f is the corresponding output map.
13 | %
14 | % Option :
15 | % 'L' = { Harmonic band-limit; L > 1 (default=2*nside) }
16 | % 'Spin' = { Spin; (default=2)}
17 | %
18 | % S2LET package to perform Wavelets transform on the Sphere.
19 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
20 | % See LICENSE.txt for license details
21 |
22 |
23 | sz = size(flmQ);
24 | Lguessed = sqrt(sz(1));
25 |
26 | p = inputParser;
27 | p.addRequired('flmQ',@isnumeric);
28 | p.addRequired('flmU',@isnumeric);
29 | p.addRequired('nside', @isnumeric);
30 | p.addParamValue('Spin', 2, @isnumeric);
31 | p.addParamValue('L', Lguessed, @isnumeric);
32 | p.parse(flmQ, flmU, nside, varargin{:});
33 | args = p.Results;
34 |
35 | [fQ, fU] = s2let_hpx_alm2map_spin_mex(flmQ, flmU, nside, args.L, args.Spin);
36 |
37 | end
38 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_hpx_map2alm.m:
--------------------------------------------------------------------------------
1 | function flm = s2let_hpx_map2alm(f, varargin)
2 |
3 | % s2let_hpx_axisym_analysis
4 | % Compute axisymmetric wavelet transform, output as HEALPIX maps.
5 | %
6 | % Default usage :
7 | %
8 | % flm = s2let_hpx_map2alm(f, )
9 | %
10 | % f is the input field -- HEALPIX sampling,
11 | % flm is the output spherical harmonic decomposition.
12 | %
13 | % Option :
14 | % 'nside' = { HEALPIX resolution; (default=guessed)}
15 | % 'L' = { Harmonic band-limit; L > 1 (default=2*nside) }
16 |
17 | % S2LET package to perform Wavelets transform on the Sphere.
18 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
19 | % See LICENSE.txt for license details
20 |
21 | sz = size(f);
22 | nsideguessed = sqrt(max(sz)/12);
23 | Lguessed = 2*nsideguessed;
24 |
25 | p = inputParser;
26 | p.addRequired('f', @isnumeric);
27 | p.addParamValue('nside', nsideguessed, @isnumeric);
28 | p.addParamValue('L', Lguessed, @isnumeric);
29 | p.parse(f, varargin{:});
30 | args = p.Results;
31 |
32 | flm = s2let_hpx_map2alm_mex(f, args.nside, args.L);
33 |
34 | end
--------------------------------------------------------------------------------
/src/main/matlab/s2let_hpx_map2alm_spin.m:
--------------------------------------------------------------------------------
1 | function [flmQ, flmU] = s2let_hpx_map2alm_spin(fQ, fU, varargin)
2 | % s2let_hpx_axisym_analysis_spin
3 | %
4 | % Default usage :
5 | %
6 | % flmQ, flmU = s2let_hpx_map2alm_spin(fQ, fU, )
7 | %
8 | % f is the input field -- HEALPIX sampling,
9 | % flm is the output spherical harmonic decomposition.
10 | %
11 | % Option :
12 | % 'nside' = { HEALPIX resolution; (default=guessed)}
13 | % 'Spin' = { Spin; (default=2)}
14 | % 'L' = { Harmonic band-limit; L > 1 (default=2*nside) }
15 |
16 | % S2LET package to perform Wavelets transform on the Sphere.
17 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
18 | % See LICENSE.txt for license details
19 |
20 | sz = size(fQ);
21 | nsideguessed = sqrt(max(sz)/12);
22 | Lguessed = 2*nsideguessed;
23 |
24 | p = inputParser;
25 | p.addRequired('fQ', @isnumeric);
26 | p.addRequired('fU', @isnumeric);
27 | p.addParamValue('nside', nsideguessed, @isnumeric);
28 | p.addParamValue('Spin', 2, @isnumeric);
29 | p.addParamValue('L', Lguessed, @isnumeric);
30 | p.parse(fQ, fU, varargin{:});
31 | args = p.Results;
32 |
33 | [flmQ, flmU] = s2let_hpx_map2alm_spin_mex(fQ, fU, args.nside, args.L, args.Spin);
34 |
35 | end
36 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_hpx_plot_mollweide.m:
--------------------------------------------------------------------------------
1 | function s2let_hpx_plot_mollweide(f)
2 |
3 | % s2let_hpx_plot_mollweide
4 | % Plot a real Healpix map using Mollweide projection.
5 | %
6 | % S2LET package to perform Wavelets transform on the Sphere.
7 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
8 | % See LICENSE.txt for license details
9 |
10 | sz = size(f);
11 | nside = sqrt(max(sz)/12);
12 |
13 | [thetas, phis] = s2let_hpx_sampling_ring(nside);
14 |
15 | [x, y] = ssht_mollweide(thetas, phis);
16 |
17 | gridDelaunay = delaunay(x,y);
18 | h = trisurf(gridDelaunay,x,y,f*0.0,f);
19 |
20 | set(h, 'LineStyle', 'none')
21 | axis equal
22 | axis off
23 | campos([0 0 1])
24 | camup([0 1 0])
25 |
26 |
27 | function [x, y] = ssht_mollweide(thetas, phis)
28 | % ssht_mollweide - Compute Mollweide projection
29 | %
30 | % Compute Mollweide projection of spherical coordinates.
31 | %
32 | % Usage is given by
33 | %
34 | % [x,y] = ssht_mollweide(thetas, phis)
35 | %
36 | % where thetas and phis are spherical coordinates and x and y are the
37 | % projected Mollweide coordinates.
38 | %
39 | % Author: Jason McEwen (www.jasonmcewen.org)
40 |
41 | MAX_ITERATIONS = 1e5;
42 | TOL = 1e-10;
43 |
44 | % Convert theta to longitude.
45 | thetas = pi/2 - thetas;
46 | phis = phis - pi;
47 |
48 | t = thetas;
49 | for it = 1:MAX_ITERATIONS
50 |
51 | dt = (t + sin(t) - pi.*sin(thetas)) ./ (1 + cos(t));
52 | t = t - dt;
53 |
54 | if(max(abs(dt)) < TOL)
55 | break;
56 | end
57 |
58 | end
59 | t = t/2;
60 | x = 2 .* sqrt(2) ./ pi .* phis .* cos(t);
61 | y = sqrt(2) .* sin(t);
62 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_hpx_read_real_map.m:
--------------------------------------------------------------------------------
1 | function [healpixmap, nside]= s2let_hpx_read_real_map(file)
2 |
3 | % s2let_hpx_read_real_map
4 | % Read a Healpix real map from a FITS file
5 | % Default usage :
6 | %
7 | % [healpixmap, L]= s2let_hpx_read_real_map(file)
8 | %
9 | % file the name of the input FITS file,
10 | % healpixmap the output signal read from the file,
11 | % nside its resolution.
12 | %
13 | % S2LET package to perform Wavelets transform on the Sphere.
14 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
15 | % See LICENSE.txt for license details
16 |
17 | datacell = fitsread(file,'binarytable');
18 | data = datacell{1};
19 | sz = size(data);
20 |
21 | healpixmap = [];
22 | for col = 1:sz(1)
23 | healpixmap = [healpixmap data(col,:)];
24 | end
25 |
26 | nside = sqrt((sz(1) * sz(2)) / 12);
27 |
28 | end
29 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_hpx_read_real_spin_maps.m:
--------------------------------------------------------------------------------
1 | function [fQ, fU, nside]= s2let_hpx_read_real_spin_maps(file)
2 |
3 | % s2let_hpx_read_real_spin_maps
4 | % Read a Healpix real map from a FITS file
5 | % Default usage :
6 | %
7 | % [fQ, fU, nside]= s2let_hpx_read_real_spin_maps(file)
8 | %
9 | % file the name of the input FITS file,
10 | % healpixmap the output signal read from the file,
11 | % nside its resolution.
12 | %
13 | % S2LET package to perform Wavelets transform on the Sphere.
14 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
15 | % See LICENSE.txt for license details
16 |
17 |
18 | datacell = fitsread(file,'binarytable');
19 |
20 | data = datacell{1};
21 | sz = size(data);
22 | fQ = [];
23 | for col = 1:sz(1)
24 | fQ = [fQ data(col,:)];
25 | end
26 | data = datacell{2};
27 | sz = size(data);
28 | fU = [];
29 | for col = 1:sz(1)
30 | fU = [fU data(col,:)];
31 | end
32 |
33 | nside = sqrt((sz(1) * sz(2)) / 12);
34 |
35 | end
36 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_hpx_write_real_map.m:
--------------------------------------------------------------------------------
1 | function s2let_hpx_write_real_map(f, file)
2 |
3 | % s2let_hpx_rite_real_map
4 | % Write a real Healpix map to a FITS file
5 | % Default usage :
6 | %
7 | % s2let_hpx_write_real_map(f, file)
8 | %
9 | % f the Healpix map to be written,
10 | % file the name of the output FITS file.
11 | %
12 | % S2LET package to perform Wavelets transform on the Sphere.
13 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
14 | % See LICENSE.txt for license details
15 |
16 | sz = size(f);
17 | szb = max([sz(1), sz(2)]);
18 | nside = floor(sqrt(szb/12.0));
19 |
20 | fitswrite(f, file, 'NSIDE', nside);
21 |
22 | end
--------------------------------------------------------------------------------
/src/main/matlab/s2let_jmax.m:
--------------------------------------------------------------------------------
1 | function J = s2let_jmax(L, B)
2 |
3 | % s2let_jmax
4 | % Return the maximum scale for a wavelet transform
5 | %
6 | % Default usage:
7 | % J_max = s2let_jmax(L, B)
8 | %
9 | % L is the band-limit for the transform,
10 | % B is the wavelet parameter.
11 | %
12 | % S2LET package to perform Wavelets transform on the Sphere.
13 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
14 | % See LICENSE.txt for license details
15 |
16 | J = s2let_jmax_mex(L, B);
17 |
18 | end
19 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_make_doc.m:
--------------------------------------------------------------------------------
1 | function s2let_make_doc(s2letpath)
2 |
3 | % s2let_make_doc
4 | % Generate Matlab documentation
5 | %
6 | % Default usage :
7 | %
8 | % s2let_make_doc(s2letpath)
9 | %
10 | % s2letpath is the path for the S2LET package (root)
11 | %
12 | % S2LET package to perform Wavelets transform on the Sphere.
13 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
14 | % See LICENSE.txt for license details
15 |
16 | cd(s2letpath)
17 | m2html('mfiles', 'src/main/matlab', 'htmldir', 'doc/matlab');
18 |
19 | end
--------------------------------------------------------------------------------
/src/main/matlab/s2let_mw2hpx.m:
--------------------------------------------------------------------------------
1 | function f_hpx = s2let_mw2hpx(f, nside, varargin)
2 |
3 | % s2let_mw2hpx
4 | % Converts MW map into Healpix map
5 | %
6 | % Default usage :
7 | %
8 | % f_hpx = s2let_hpx2mw(f_mw, )
9 | %
10 | % f is the input map -- MW sampling,
11 | % f is the output map -- Healpix sampling.
12 | %
13 | % Option :
14 | % 'L' = { Harmonic band-limit; L > 1 (default=guessed) }
15 |
16 | % S2LET package to perform Wavelets transform on the Sphere.
17 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
18 | % See LICENSE.txt for license details
19 |
20 | sz = size(f);
21 | Lguessed = min([sz(1) sz(2)]);
22 |
23 | p = inputParser;
24 | p.addRequired('f', @isnumeric);
25 | p.addParamValue('L', Lguessed, @isnumeric);
26 | p.parse(f, varargin{:});
27 | args = p.Results;
28 |
29 | [flm] = ssht_forward(f, args.L, 'Reality', true);
30 | f_hpx = s2let_hpx_alm2map(flm, nside, 'L', args.L);
31 |
32 | end
33 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_mw_arr2vec.m:
--------------------------------------------------------------------------------
1 | function vec = s2let_mw_arr2vec(arr)
2 |
3 | sz = size(arr);
4 |
5 | if sz(1) == 2*sz(2)-1 % array 2L-1 x L
6 |
7 | L = sz(2);
8 | vec = zeros(L*(2*L-1),1);
9 | for t = 1:L
10 | for p = 1:2*L-1
11 | vec((t-1)*(2*L-1)+p,1) = arr(p,t);
12 | end
13 | end
14 |
15 | end
16 |
17 | if sz(2) == 2*sz(1)-1 % array L x 2L-1
18 |
19 | L = sz(1);
20 | vec = zeros(L*(2*L-1),1);
21 | for t = 1:L
22 | for p = 1:2*L-1
23 | vec((t-1)*(2*L-1)+p,1) = arr(t,p);
24 | end
25 | end
26 |
27 | end
28 |
29 | end
--------------------------------------------------------------------------------
/src/main/matlab/s2let_mw_read_real_map.m:
--------------------------------------------------------------------------------
1 | function [mwmaparr, L]= s2let_mw_read_real_map(file)
2 |
3 | % s2let_mw_read_real_map
4 | % Read an MW real map from a FITS file
5 | % Default usage :
6 | %
7 | % [mwmaparr, L]= s2let_mw_read_real_map(file)
8 | %
9 | % file the name of the input FITS file,
10 | % mwmaparr the output signal read from the file,
11 | % L its resolution.
12 | %
13 | % S2LET package to perform Wavelets transform on the Sphere.
14 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
15 | % See LICENSE.txt for license details
16 |
17 | datacell = fitsread(file,'binarytable');
18 | data = datacell{1};
19 | sz = size(data);
20 |
21 | mwmap = [];
22 | for col = 1:sz(1)
23 | mwmap = [mwmap data(col,:)];
24 | end
25 |
26 | mwmaparr = s2let_mw_vec2arr(mwmap);
27 | sz = size(mwmaparr);
28 | L = sz(1);
29 |
30 | end
--------------------------------------------------------------------------------
/src/main/matlab/s2let_mw_vec2arr.m:
--------------------------------------------------------------------------------
1 | function arr = s2let_mw_vec2arr(vec)
2 |
3 | len = length(vec(:));
4 |
5 | delta = sqrt(1 + 8*len);
6 | L = ( 1 + delta ) / 4;
7 |
8 | arr = zeros(L, 2*L-1);
9 |
10 | for t = 1:L
11 | for p = 1:2*L-1
12 | arr(t,p) = vec((t-1)*(2*L-1)+p);
13 | end
14 | end
15 |
16 |
17 | end
18 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_mw_write_real_map.m:
--------------------------------------------------------------------------------
1 | function s2let_mw_write_real_map(f, file)
2 |
3 | % s2let_mw_write_real_map
4 | % Write an MW real map to a FITS file
5 | % Default usage :
6 | %
7 | % s2let_mw_write_real_map(f, file)
8 | %
9 | % f the MW map to be written,
10 | % file the name of the output FITS file.
11 | %
12 | % S2LET package to perform Wavelets transform on the Sphere.
13 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
14 | % See LICENSE.txt for license details
15 |
16 | sz = size(f);
17 | L = min([sz(1), sz(2)]);
18 |
19 | mwmap = [];
20 | for l = 1:L
21 | mwmap = [mwmap f(l,:)];
22 | end
23 |
24 | fitswrite(mwmap, file, 'L', L);
25 |
26 | end
--------------------------------------------------------------------------------
/src/main/matlab/s2let_mwss_arr2vec.m:
--------------------------------------------------------------------------------
1 | function vec = s2let_mwss_arr2vec(arr)
2 |
3 | sz = size(arr);
4 |
5 | if sz(1) == 2*(sz(2)-1) % array 2L x L+1
6 |
7 | L = sz(2)-1;
8 | vec = zeros((L+1)*2*L,1);
9 | for t = 1:L+1
10 | for p = 1:2*L
11 | vec((t-1)*2*L+p,1) = arr(p,t);
12 | end
13 | end
14 |
15 | end
16 |
17 | if sz(2) == 2*(sz(1)-1) % array L+1 x 2L
18 |
19 | L = sz(1)-1;
20 | vec = zeros((L+1)*2*L,1);
21 | for t = 1:L+1
22 | for p = 1:2*L
23 | vec((t-1)*2*L+p,1) = arr(t,p);
24 | end
25 | end
26 |
27 | end
28 |
29 | end
30 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_mwss_read_real_map.m:
--------------------------------------------------------------------------------
1 | function [mwmaparr, L]= s2let_mwss_read_real_map(file)
2 |
3 | % s2let_mw_read_real_map
4 | % Read an MW real map from a FITS file
5 | % Default usage :
6 | %
7 | % [mwmaparr, L]= s2let_mw_read_real_map(file)
8 | %
9 | % file the name of the input FITS file,
10 | % mwmaparr the output signal read from the file,
11 | % L its resolution.
12 | %
13 | % S2LET package to perform Wavelets transform on the Sphere.
14 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
15 | % See LICENSE.txt for license details
16 |
17 | datacell = fitsread(file,'binarytable');
18 | data = datacell{1};
19 | sz = size(data);
20 |
21 | mwmap = [];
22 | for col = 1:sz(1)
23 | mwmap = [mwmap data(col,:)];
24 | end
25 |
26 | mwmaparr = s2let_mwss_vec2arr(mwmap);
27 | sz = size(mwmaparr);
28 | L = sz(1)-1;
29 |
30 | end
31 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_mwss_vec2arr.m:
--------------------------------------------------------------------------------
1 | function arr = s2let_mwss_vec2arr(vec)
2 |
3 | len = length(vec(:));
4 |
5 | delta = sqrt(1 + 2*len);
6 | L = ( delta - 1 ) / 2;
7 |
8 | arr = zeros(L+1, 2*L);
9 |
10 | for t = 1:L+1
11 | for p = 1:2*L
12 | arr(t,p) = vec((t-1)*2*L+p);
13 | end
14 | end
15 |
16 |
17 | end
18 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_mwss_write_real_map.m:
--------------------------------------------------------------------------------
1 | function s2let_mwss_write_real_map(f, file)
2 |
3 | % s2let_mw_write_real_map
4 | % Write an MW real map to a FITS file
5 | % Default usage :
6 | %
7 | % s2let_mw_write_real_map(f, file)
8 | %
9 | % f the MW map to be written,
10 | % file the name of the output FITS file.
11 | %
12 | % S2LET package to perform Wavelets transform on the Sphere.
13 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
14 | % See LICENSE.txt for license details
15 |
16 | sz = size(f);
17 | L = min([sz(1), sz(2)])-1;
18 |
19 | mwmap = [];
20 | for l = 1:L+1
21 | mwmap = [mwmap f(l,:)];
22 | end
23 |
24 | fitswrite(mwmap, file, 'L', L);
25 |
26 | end
27 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_plot_axisym_tiling.m:
--------------------------------------------------------------------------------
1 | function s2let_plot_axisym_tiling(B, L, J_min)
2 |
3 | % plot_axisym_tiling - Plot tiling in harmonic space.
4 | % -- Axisymmetric wavelets on the sphere.
5 | %
6 | % Default usage :
7 | %
8 | % plot_axisym_tiling(B, L, J_min)
9 | %
10 | % B is the wavelet parameter,
11 | % L is the angular band-limit,
12 | % J_min the first wavelet to be used.
13 | %
14 | % S2LET package to perform Wavelet transform on the Sphere.
15 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
16 | % See LICENSE.txt for license details
17 |
18 | [kappa kappa0] = s2let_transform_axisym_tiling(B, L, J_min);
19 |
20 | J = s2let_jmax(L, B);
21 | xi = 0:0.01:L-1;
22 | x = 0:L-1;
23 |
24 | figure('Position',[100 100 900 450])
25 | %semilogx(0:L-1, kappa0, 'k', 'LineWidth', 2);
26 | yi = interp1(x,kappa0,xi,'pchip');
27 | semilogx(xi, yi, 'k', 'LineWidth', 2);
28 | %h = text(2, 1.07, 'k0', 'Color', [0 0 0]);
29 | hold on;
30 | for j = J_min:J
31 | colour = rand(1,3)*0.9;
32 | %plot(0:L-1, kappa(j+1,:), 'LineWidth', 2, 'Color', colour);
33 | yi = interp1(x,kappa(j+1,:),xi,'pchip');
34 | plot(xi, yi, 'LineWidth', 2, 'Color', colour);
35 | %h = text(B.^j, 1.07, strcat('j',num2str(j+1)), 'Color', colour);
36 | end
37 | %title('Harmonic tiling');
38 | %xlabel('el');
39 | axis([0 L -0.05 1.15]);
40 | set(gca,'XTick',2.^[0:(J+2)]);
41 |
42 | end
43 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_smoothing.m:
--------------------------------------------------------------------------------
1 | function map_sm = s2let_smoothing(map, L, fwhm, varargin)
2 |
3 | p = inputParser;
4 | p.addParamValue('Reality', false, @islogical);
5 | p.addParamValue('Method', 'MW', @ischar);
6 | p.parse(varargin{:});
7 | args = p.Results;
8 |
9 | map_lm = ssht_forward(map, L, 'Reality', true, 'Method', args.Method);
10 | map_sm_lm = zeros(size(map_lm));
11 | sigma = fwhm / 2.355;
12 |
13 | ind = 1;
14 | for el = 0:L-1
15 | for m = -el:el
16 | map_sm_lm(ind) = map_lm(ind) * exp(-el*(el+1) * sigma^2 / 2);
17 | ind = ind+1;
18 | end
19 | end
20 |
21 | map_sm = ssht_inverse(map_sm_lm, L, 'Reality', args.Reality, 'Method', args.Method);
22 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_transform_axisym_analysis_hpx.m:
--------------------------------------------------------------------------------
1 | function [f_wav, f_scal] = s2let_transform_axisym_analysis_hpx(f, varargin)
2 |
3 | % s2let_transform_axisym_analysis_hpx
4 | % Compute axisymmetric wavelet transform, output as HEALPIX maps.
5 | %
6 | % Default usage :
7 | %
8 | % [f_wav, f_scal] = s2let_transform_axisym_analysis_hpx(f, )
9 | %
10 | % f is the input field -- HEALPIX sampling,
11 | % f_wav contains the output wavelet contributions,
12 | % f_scal contains the output scaling contributions,
13 | %
14 | % Option :
15 | % 'nside' = { HEALPIX resolution; (default=guessed)}
16 | % 'B' = { Dilation factor; B > 1 (default=2) }
17 | % 'L' = { Harmonic band-limit; L > 1 (default=2*nside) }
18 | % 'J_min' = { Minimum wavelet scale to consider;
19 | % 0 <= J_min < log_B(L) (default=0) }
20 | %
21 | % S2LET package to perform Wavelets transform on the Sphere.
22 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
23 | % See LICENSE.txt for license details
24 |
25 | sz = size(f);
26 | nsideguessed = sqrt(max(sz)/12);
27 | Lguessed = 2*nsideguessed;
28 |
29 | p = inputParser;
30 | p.addRequired('f', @isnumeric);
31 | p.addParamValue('nside', nsideguessed, @isnumeric);
32 | p.addParamValue('B', 2, @isnumeric);
33 | p.addParamValue('L', Lguessed, @isnumeric);
34 | p.addParamValue('J_min', 0, @isnumeric);
35 | p.parse(f, varargin{:});
36 | args = p.Results;
37 |
38 | [f_wav_vec, f_scal] = s2let_transform_axisym_analysis_hpx_mex(f, args.nside, args.B, args.L, args.J_min);
39 |
40 | J = s2let_jmax(args.L, args.B);
41 | npix = 12*args.nside*args.nside;
42 | f_wav = cell(J+1-args.J_min, 1);
43 | offset = 1;
44 | for j = args.J_min:J
45 | f_wav{j+1-args.J_min} = f_wav_vec(offset:offset+npix-1);
46 | offset = offset + npix;
47 | end
48 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_transform_axisym_synthesis_hpx.m:
--------------------------------------------------------------------------------
1 | function f = s2let_transform_axisym_synthesis_hpx(f_wav, f_scal, varargin)
2 |
3 | % s2let_axisym_synthesis
4 | % Compute axisymmetric wavelet transform, input/outputs as HEALPIX maps.
5 | %
6 | % Default usage :
7 | %
8 | % f = s2let_transform_axisym_synthesis_hpx(f_wav, f_scal, )
9 | %
10 | % f_wav contains the input wavelet contributions -- HEALPIX sampling,
11 | % f_scal contains the input scaling contributions -- HEALPIX sampling,
12 | % f is the output field -- HEALPIX sampling,
13 | %
14 | % Option :
15 | % 'nside' = { HEALPIX resolution; (default=guessed)}
16 | % 'B' = { Dilation factor; B > 1 (default=2) }
17 | % 'L' = { Harmonic band-limit; L > 1 (default=2*nside) }
18 | % 'J_min' = { Minimum wavelet scale to consider;
19 | % 0 <= J_min < log_B(L) (default=0) }
20 | %
21 | % S2LET package to perform Wavelets transform on the Sphere.
22 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
23 | % See LICENSE.txt for license details
24 |
25 |
26 | len = size(f_wav);
27 | temp = f_wav{len};
28 | sz = size(temp);
29 | nsideguessed = sqrt(max(sz)/12);
30 | Lguessed = 2*nsideguessed;
31 |
32 | p = inputParser;
33 | p.addRequired('f_wav');
34 | p.addRequired('f_scal', @isnumeric);
35 | p.addParamValue('nside', nsideguessed, @isnumeric);
36 | p.addParamValue('B', 2, @isnumeric);
37 | p.addParamValue('L', 2*nsideguessed, @isnumeric);
38 | p.addParamValue('J_min', 0, @isnumeric);
39 | p.parse(f_wav, f_scal, varargin{:});
40 | args = p.Results;
41 |
42 |
43 | J = s2let_jmax(args.L, args.B);
44 | f_wav_vec = [];
45 | for j = args.J_min:J
46 | temp = f_wav{j+1-args.J_min};
47 | f_wav_vec = [f_wav_vec temp];
48 | end
49 |
50 | f = s2let_transform_axisym_synthesis_hpx_mex(f_wav_vec, f_scal, args.nside, args.B, args.L, args.J_min);
51 |
52 | end
53 |
--------------------------------------------------------------------------------
/src/main/matlab/s2let_transform_axisym_tiling.m:
--------------------------------------------------------------------------------
1 | function [kappa kappa0] = s2let_axisym_tiling(B, L, J_min)
2 |
3 | % s2let_axisym_tiling - Compute tiling in harmonic space.
4 | % -- Axisymmetric wavelets on the sphere.
5 | %
6 | % Default usage :
7 | %
8 | % [kappa kappa0] = s2let_axisym_tiling(B, L, J_min)
9 | %
10 | % kappa is an array containing wavelet tiling .
11 | % kappa0 contains the scaling function.
12 | % B is the wavelet parameter,
13 | % L is the angular band-limit,
14 | % J_min the first wavelet to be used.
15 | %
16 | % S2LET package to perform Wavelets transform on the Sphere.
17 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
18 | % See LICENSE.txt for license details
19 |
20 | p = inputParser;
21 | p.addRequired('B', @isnumeric);
22 | p.addRequired('L', @isnumeric);
23 | p.addRequired('J_min', @isnumeric);
24 | p.parse(B, L, J_min);
25 | args = p.Results;
26 |
27 | [kappa kappa0] = s2let_transform_axisym_tiling_mex(B, L, J_min);
28 |
29 | end
--------------------------------------------------------------------------------
/src/main/matlab/s2let_transform_curvelet_synthesis_lmn2lm.m:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/astro-informatics/s2let-archive/8170280a521f227c8dbb864be117c2b14812fcfc/src/main/matlab/s2let_transform_curvelet_synthesis_lmn2lm.m
--------------------------------------------------------------------------------
/src/main/matlab/s2let_wavelet_tiling.m:
--------------------------------------------------------------------------------
1 | function [psi_lm phi_l] = s2let_wavelet_tiling(B, L, N, Spin, J_min, varargin)
2 |
3 | % s2let_wavelet_tiling - Compute tiling in harmonic space.
4 | % -- Spin directional wavelets on the sphere.
5 | %
6 | % Default usage :
7 | %
8 | % [psi_lm phi_l] = s2let_wavelet_tiling(B, L, N, Spin, J_min, )
9 | %
10 | % psi_lm is an array containing the wavelet spherical harmonic coefficients.
11 | % phi_l is an array containing the scaling function spherical harmonic coefficients (l only).
12 | % B is the wavelet parameter,
13 | % L is the angular band-limit,
14 | % N is the azimuthal/directional band-limit,
15 | % Spin is the spin number,
16 | % J_min the first wavelet to be used.
17 | %
18 | % Options consist of parameter type and value pairs.
19 | % Valid options include:
20 | % 'OriginalSpin' = [integer; if the SpinLowered option is used, this
21 | % option indicates which spin number the wavelets
22 | % should be lowered from (default = 0)]
23 | %
24 | % S2LET package to perform Wavelets transform on the Sphere.
25 | % Copyright (C) 2012-2015 Boris Leistedt & Jason McEwen
26 | % See LICENSE.txt for license details
27 |
28 | p = inputParser;
29 | p.addRequired('B', @isnumeric);
30 | p.addRequired('L', @isnumeric);
31 | p.addRequired('N', @isnumeric);
32 | p.addRequired('Spin', @isnumeric);
33 | p.addRequired('J_min', @isnumeric);
34 | p.addParamValue('OriginalSpin', 0, @isnumeric);
35 | p.parse(B, L, N, Spin, J_min, varargin{:});
36 | args = p.Results;
37 |
38 | [psi_lm phi_l] = s2let_wavelet_tiling_mex(B, L, N, Spin, J_min, args.OriginalSpin);
39 |
40 | end
41 |
--------------------------------------------------------------------------------
/src/main/python/pys2let_test_axisym_hpx.py:
--------------------------------------------------------------------------------
1 |
2 | import healpy as hp
3 | from pys2let import *
4 | import math
5 | import matplotlib.pyplot as plt
6 |
7 | nside = 128
8 | L = 128
9 | J_min = 1
10 | B = 3
11 | J = pys2let_j_max(B, L, J_min)
12 |
13 | # The filename of some random healpix map
14 | fname = '/Users/bl/Dropbox/Wavelets/s2let/data/somecmbsimu_hpx_128.fits'
15 |
16 | # Read healpix map and compute alms.
17 | # f_lm has size L*(L+1)/2
18 | f_ini = hp.read_map(fname) # Initial map
19 | f_lm = hp.map2alm(f_ini, lmax=L-1) # Its alms
20 | f = hp.alm2map(f_lm, nside=nside, lmax=L-1) # Band limited version
21 |
22 | hp.mollview(f)
23 |
24 | # Call pys2let and compute wavelet transform. Returns the harmonic coefficients of the wavelets.
25 | # f_scal_lm has size L*(L+1)/2
26 | # f_wav_lm has size L*(L+1)/2 by J-J_min+1
27 | f_wav_lm, f_scal_lm = analysis_axisym_lm_wav(f_lm, B, L, J_min)
28 |
29 | # Reconstruct healpix maps on the sphere and plot them
30 | f_scal = hp.alm2map(f_scal_lm, nside=nside, lmax=L-1)
31 | hp.mollview(f_scal)
32 | f_wav = np.empty([12*nside*nside, J-J_min+1])
33 | for j in range(J-J_min+1):
34 | flm = f_wav_lm[:,j].ravel()
35 | f_wav[:,j] = hp.alm2map(flm, nside=nside, lmax=L-1)
36 | hp.mollview(f_wav[:,j])
37 |
38 | # Uses synthesis to reconstruct the input map.
39 | f_lm_rec = synthesis_axisym_lm_wav(f_wav_lm, f_scal_lm, B, L, J_min)
40 | f_rec = hp.alm2map(f_lm_rec, nside=nside, lmax=L-1)
41 | hp.mollview(f_rec)
42 |
43 | plt.show()
--------------------------------------------------------------------------------
/src/test/java/org/s2let/HealpixMapTest.java:
--------------------------------------------------------------------------------
1 |
2 | package org.s2let;
3 |
4 | import org.bridj.Pointer;
5 | import org.junit.*;
6 | import static org.junit.Assert.*;
7 |
8 | /**
9 | * @author Boris Leistedt
10 | */
11 | public class HealpixMapTest {
12 |
13 | @Test
14 | public void test_Healpix_SphericalHarmonicTransform() {
15 | boolean verbosity = true;
16 | test_Healpix_SphericalHarmonicTransform(64, 16, verbosity);
17 | test_Healpix_SphericalHarmonicTransform(256, 128, verbosity);
18 | }
19 | /**
20 | * Test that the spherical harmonic transform works well on the Healpix sampling (real signals).
21 | * @param nside the resolution of the Healpix maps
22 | * @param bandlimit the bandlimit of the decomposition to generate and work with
23 | * @param verbosity
24 | */
25 | public void test_Healpix_SphericalHarmonicTransform(int nside, int bandlimit, boolean verbosity) {
26 | SphericalHarmonicTransform flm = SphericalHarmonicTransform.randomReal(bandlimit);
27 | PixelizedMap map = PixelizedMap.fromHarmonics(flm, SamplingScheme.HEALPIX, nside);
28 | SphericalHarmonicTransform flm_rec = SphericalHarmonicTransform.fromMap(map, bandlimit);
29 | double error = flm_rec.maxAbsoluteDifferenceWith(flm);
30 | if(verbosity){
31 | System.out.println("MaxAbsErr of HPX-SHA with L=" + bandlimit + " and nside=" +nside + " : " + error);
32 | }
33 | assertEquals(error, 0.0, 1e-1);
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------