Home > src > main > matlab > s2let_hpxtest.m

s2let_hpxtest

PURPOSE ^

s2let_hpxtest

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

 s2let_hpxtest
 Run test for HEALPIX data.
 The wavelet transforms will not be exact but should
 at least reconstruct the input maps with correct precision.

 S2LET package to perform Wavelets on the Sphere.
 Copyright (C) 2012-2015  Boris Leistedt & Jason McEwen
 See LICENSE.txt for license details

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 % s2let_hpxtest
0002 % Run test for HEALPIX data.
0003 % The wavelet transforms will not be exact but should
0004 % at least reconstruct the input maps with correct precision.
0005 %
0006 % S2LET package to perform Wavelets on the Sphere.
0007 % Copyright (C) 2012-2015  Boris Leistedt & Jason McEwen
0008 % See LICENSE.txt for license details
0009 
0010 clear all;
0011 close all;
0012 
0013 setenv('HEALPIX','/Users/bl/software/Healpix_2.20a')
0014 setenv('HEALPIXDATA','/Users/bl/software/Healpix_2.20a/data')
0015 
0016 % Main parameters
0017 L = 4;
0018 nside = 2;
0019 B = 2;
0020 J_min = 1;
0021 J = s2let_jmax(L, B);
0022 npix = 12*nside*nside;
0023 Spin = 2;
0024 
0025 
0026 TT_l = rand(L,1);
0027 EE_l = rand(L,1);
0028 TE_l = rand(L,1);
0029 BB_l = rand(L,1);
0030 for l = 0:Spin-1
0031     TT_l(l+1) = 0;
0032     EE_l(l+1) = 0;
0033     TE_l(l+1) = 0;
0034     BB_l(l+1) = 0;
0035 end
0036 [T_lm, E_lm, B_lm] = ebsep_sim_maps(TT_l, EE_l, TE_l, BB_l, L);
0037 [QpU_lm] = ebsep_compute_QpU_fullsky(E_lm, B_lm);
0038 [QmU_lm] = ebsep_compute_QmU_fullsky(E_lm, B_lm);
0039 
0040 
0041 disp('Perform spin spherical harmonic decomposition with default parameters')
0042 [fQ, fU] = s2let_hpx_alm2map_spin(E_lm, B_lm, nside, 'L', L);
0043 file = 'mapsQUtemp.fits';
0044 s2let_hpx_write_real_spin_maps(fQ, fU, file);
0045 [fQ_bis, fU_bis, nside]= s2let_hpx_read_real_spin_maps(file);
0046 stop
0047 [E_lm_rec, B_lm_rec] = s2let_hpx_map2alm_spin(fQ_bis, fU_bis, 'L', L);
0048 default = max(max(abs(E_lm-E_lm_rec)))
0049 default = max(max(abs(B_lm-B_lm_rec)))
0050 
0051 
0052 disp('Perform spin spherical harmonic decomposition with custom parameters')
0053 [fQ, fU] = s2let_hpx_alm2map_spin(E_lm, B_lm, nside, 'L', L, 'Spin', Spin);
0054 [E_lm_rec, B_lm_rec] = s2let_hpx_map2alm_spin(fQ, fU, 'L', L, 'Spin', Spin);
0055 default = max(max(abs(E_lm-E_lm_rec)))
0056 default = max(max(abs(B_lm-B_lm_rec)))
0057 
0058 
0059 
0060 
0061 disp('Generates band-limited function')
0062 flm = zeros(L^2,1); 
0063 flm = rand(size(flm)) + sqrt(-1)*rand(size(flm));
0064 flm = 2.*(flm - (1+sqrt(-1))./2);
0065 
0066 disp('Constraint on flms to generate real signal')
0067 for el = 0:L-1
0068    ind = el*el + el + 1;
0069    flm(ind,1) = real(flm(ind,1));
0070    for m = 1:el
0071       ind_pm = el*el + el + m + 1;
0072       ind_nm = el*el + el - m + 1;
0073       flm(ind_nm,1) = (-1)^m * conj(flm(ind_pm,1));
0074    end  
0075 end
0076 
0077 
0078 disp('Perform spherical harmonic decomposition with default parameters')
0079 f = s2let_hpx_alm2map(flm, nside, 'L', L);
0080 flm_rec = s2let_hpx_map2alm(f, 'L', L);
0081 default = max(max(abs(flm-flm_rec)))
0082 
0083 
0084 disp('Perform spherical harmonic decomposition with custom parameters')
0085 f = s2let_hpx_alm2map(flm, nside, 'L', L);
0086 flm_rec = s2let_hpx_map2alm(f, 'nside', nside, 'L', L);
0087 custom = max(max(abs(flm-flm_rec)))
0088  
0089 
0090 disp('Perform axisym wavelet transform with default parameters')
0091 [f_wav, f_scal] = s2let_transform_axisym_analysis_hpx(f);
0092 f_rec = s2let_transform_axisym_synthesis_hpx(f_wav, f_scal);
0093 default = max(max(abs(f-f_rec)))
0094 
0095 
0096 disp('Perform axisym wavelet transform with custom parameters')
0097 [f_wav, f_scal] = s2let_transform_axisym_analysis_hpx(f, 'B', B, 'L', L, 'J_min', J_min);
0098 f_rec = s2let_transform_axisym_synthesis_hpx(f_wav, f_scal, 'B', B, 'L', L, 'J_min', J_min);
0099 custom = max(max(abs(f-f_rec)))

Generated on Fri 11-Nov-2016 11:50:36 by m2html © 2005