Home > src > main > matlab > s2let_plot_denoising_demo.m

s2let_plot_denoising_demo

PURPOSE ^

% Preparation

SYNOPSIS ^

This is a script file.

DESCRIPTION ^

% Preparation

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 %% Preparation
0002 
0003 % How many sigmas of the spin signal data should be contained in the
0004 % color bar.
0005 sigmas = 2;
0006 
0007 position = [ 500 500 700 400 ];
0008 set(0, 'DefaultFigurePosition', position);
0009 plot_root = '../../../figs/';
0010 plot_size = [0 0 29 10];
0011 
0012 % Set working directory to script's location
0013 % (assumed to be src/main/matlab)
0014 
0015 cd(fileparts(mfilename('fullpath')))
0016 
0017 %% Plot spin map results
0018 
0019 [f_Q, L] = s2let_mw_read_real_map('../../../data/spin_signal_real_input.fits');
0020 [f_Q_noise, ~] = s2let_mw_read_real_map('../../../data/spin_signal_real_noise.fits');
0021 [f_Q_input_noise, ~] = s2let_mw_read_real_map('../../../data/spin_signal_real_input_noise.fits');
0022 [f_Q_denoised, ~] = s2let_mw_read_real_map('../../../data/spin_signal_real_denoised.fits');
0023 
0024 f_error = log(abs(f_Q_denoised./f_Q - 1));
0025 
0026 mean_f = mean(f_Q_input_noise(:));
0027 stddev_f = std(f_Q_input_noise(:));
0028 range = [mean_f-sigmas*stddev_f mean_f+sigmas*stddev_f];
0029 
0030 figure
0031 ssht_plot_mollweide(f_Q, L, 'Mode', 1)
0032 colorbar;
0033 caxis(range)
0034 title('Spin signal (Q) - Input map');
0035 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0036 colormap(jet);set(gca,'FontSize',18)
0037 fname = [plot_root, 'denoising_spin_signal_Q_input_jet.png'];
0038 print('-r300', '-dpng', fname)
0039 
0040 figure
0041 ssht_plot_mollweide(f_Q_noise, L, 'Mode', 1)
0042 colorbar;
0043 caxis(range);
0044 title('Spin signal (Q) - Noise map');
0045 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0046 colormap(jet);set(gca,'FontSize',18)
0047 fname = [plot_root, 'denoising_spin_signal_Q_noise_jet.png'];
0048 print('-r300', '-dpng', fname)
0049 
0050 figure
0051 ssht_plot_mollweide(f_Q_input_noise, L, 'Mode', 1)
0052 colorbar;
0053 caxis(range);
0054 title('Spin signal (Q) - Input map with added noise');
0055 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0056 colormap(jet);set(gca,'FontSize',18)
0057 fname = [plot_root, 'denoising_spin_signal_Q_input_noise_jet.png'];
0058 print('-r300', '-dpng', fname)
0059 
0060 figure
0061 ssht_plot_mollweide(f_Q_denoised, L, 'Mode', 1)
0062 colorbar;
0063 caxis(range);
0064 title('Spin signal (Q) - Denoised map');
0065 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0066 colormap(jet);set(gca,'FontSize',18)
0067 fname = [plot_root, 'denoising_spin_signal_Q_denoised_jet.png'];
0068 print('-r300', '-dpng', fname)
0069 
0070 figure
0071 ssht_plot_mollweide(f_error, L, 'Mode', 1)
0072 colorbar;
0073 title('Spin signal (Q) - Logarithmic relative error');
0074 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0075 colormap(jet);set(gca,'FontSize',18)
0076 fname = [plot_root, 'denoising_spin_signal_Q_error_jet.png'];
0077 print('-r300', '-dpng', fname)
0078 
0079 [f_U, ~] = s2let_mw_read_real_map('../../../data/spin_signal_imag_input.fits');
0080 [f_U_noise, ~] = s2let_mw_read_real_map('../../../data/spin_signal_imag_noise.fits');
0081 [f_U_input_noise, ~] = s2let_mw_read_real_map('../../../data/spin_signal_imag_input_noise.fits');
0082 [f_U_denoised, ~] = s2let_mw_read_real_map('../../../data/spin_signal_imag_denoised.fits');
0083 
0084 f_error = log(abs(f_U_denoised./f_U - 1));
0085 
0086 mean_f = mean(f_U_input_noise(:));
0087 stddev_f = std(f_U_input_noise(:));
0088 range = [mean_f-sigmas*stddev_f mean_f+sigmas*stddev_f];
0089 
0090 figure
0091 ssht_plot_mollweide(f_U, L, 'Mode', 1)
0092 colorbar;
0093 caxis(range);
0094 title('Spin signal (U) - Input map');
0095 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0096 colormap(jet);set(gca,'FontSize',18)
0097 fname = [plot_root, 'denoising_spin_signal_U_input_jet.png'];
0098 print('-r300', '-dpng', fname)
0099 
0100 figure
0101 ssht_plot_mollweide(f_U_noise, L, 'Mode', 1)
0102 colorbar;
0103 caxis(range);
0104 title('Spin signal (U) - Noise map');
0105 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0106 colormap(jet);set(gca,'FontSize',18)
0107 fname = [plot_root, 'denoising_spin_signal_U_noise_jet.png'];
0108 print('-r300', '-dpng', fname)
0109 
0110 figure
0111 ssht_plot_mollweide(f_U_input_noise, L, 'Mode', 1)
0112 colorbar;
0113 caxis(range);
0114 title('Spin signal (U) - Input map with added noise');
0115 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0116 colormap(jet);set(gca,'FontSize',18)
0117 fname = [plot_root, 'denoising_spin_signal_U_input_noise_jet.png'];
0118 print('-r300', '-dpng', fname)
0119 
0120 figure
0121 ssht_plot_mollweide(f_U_denoised, L, 'Mode', 1)
0122 colorbar;
0123 caxis(range);
0124 title('Spin signal (U) - Denoised map');
0125 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0126 colormap(jet);set(gca,'FontSize',18)
0127 fname = [plot_root, 'denoising_spin_signal_U_denoised_jet.png'];
0128 print('-r300', '-dpng', fname)
0129 
0130 figure
0131 ssht_plot_mollweide(f_error, L, 'Mode', 1)
0132 colorbar;
0133 title('Spin signal (U) - Logarithmic relative error');
0134 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0135 colormap(jet);set(gca,'FontSize',18)
0136 fname = [plot_root, 'denoising_spin_signal_U_error_jet.png'];
0137 print('-r300', '-dpng', fname)
0138 
0139 %% Plot Q + iU map
0140 
0141 subL = 32;
0142 
0143 f_QU = f_Q + 1i*f_U;
0144 f_QU_noise = f_Q_noise + 1i*f_U_noise;
0145 f_QU_input_noise = f_Q_input_noise + 1i*f_U_input_noise;
0146 f_QU_denoised = f_Q_denoised + 1i*f_U_denoised;
0147 
0148 f_error = log(abs(f_QU_denoised./f_QU - 1));
0149 
0150 mean_f = abs(mean(f_QU_input_noise(:)));
0151 stddev_f = abs(std(f_QU_input_noise(:)));
0152 range = [0 mean_f+sigmas*stddev_f];
0153 
0154 figure
0155 ssht_plot_mollweide(f_QU, L, 'Mode', 3, 'SubL', subL)
0156 colorbar;
0157 caxis(range);
0158 title('Spin signal (Q + iU) - Input map');
0159 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0160 colormap(jet);set(gca,'FontSize',18)
0161 fname = [plot_root, 'denoising_spin_signal_QU_input_jet.png'];
0162 print('-r300', '-dpng', fname)
0163 
0164 figure
0165 ssht_plot_mollweide(f_QU_noise, L, 'Mode', 3, 'SubL', subL)
0166 colorbar;
0167 caxis(range);
0168 title('Spin signal (Q + iU) - Noise map');
0169 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0170 colormap(jet);set(gca,'FontSize',18)
0171 fname = [plot_root, 'denoising_spin_signal_QU_noise_jet.png'];
0172 print('-r300', '-dpng', fname)
0173 
0174 figure
0175 ssht_plot_mollweide(f_QU_input_noise, L, 'Mode', 3, 'SubL', subL)
0176 colorbar;
0177 caxis(range);
0178 title('Spin signal (Q + iU) - Input map with added noise');
0179 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0180 colormap(jet);set(gca,'FontSize',18)
0181 fname = [plot_root, 'denoising_spin_signal_QU_input_noise_jet.png'];
0182 print('-r300', '-dpng', fname)
0183 
0184 figure
0185 ssht_plot_mollweide(f_QU_denoised, L, 'Mode', 3, 'SubL', subL)
0186 colorbar;
0187 caxis(range);
0188 title('Spin signal (Q + iU) - Denoised map');
0189 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0190 colormap(jet);set(gca,'FontSize',18)
0191 fname = [plot_root, 'denoising_spin_signal_QU_denoised_jet.png'];
0192 print('-r300', '-dpng', fname)
0193 
0194 figure
0195 ssht_plot_mollweide(f_error, L, 'Mode', 1)
0196 colorbar;
0197 title('Spin signal (Q + iU) - Logarithmic relative error');
0198 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0199 colormap(jet);set(gca,'FontSize',18)
0200 fname = [plot_root, 'denoising_spin_signal_QU_error_jet.png'];
0201 print('-r300', '-dpng', fname)
0202 
0203 stop
0204 
0205 %% Plot real map results
0206 
0207 [f, L] = s2let_mw_read_real_map('../../../data/real_signal_input.fits');
0208 [f_noise, ~] = s2let_mw_read_real_map('../../../data/real_signal_noise.fits');
0209 [f_input_noise, ~] = s2let_mw_read_real_map('../../../data/real_signal_input_noise.fits');
0210 [f_denoised, ~] = s2let_mw_read_real_map('../../../data/real_signal_denoised.fits');
0211 
0212 % Precompute Wigner small-d functions
0213 sqrt_tbl = sqrt([0:2*(L-1)+1])';
0214 signs = ones(L+1,1);
0215 signs(2:2:end) = -1;
0216 
0217 d = zeros(L, 2*L-1, 2*L-1);
0218 d(1,:,:) = ssht_dl(squeeze(d(1,:,:)), L, 0, 0, ...
0219   'SqrtTable', sqrt_tbl, 'SignTable', signs);
0220 for el = 1:L-1
0221   d(el+1,:,:) = ssht_dl(squeeze(d(el,:,:)), L, el, 0, ...
0222      'SqrtTable', sqrt_tbl, 'SignTable', signs);
0223 end
0224 
0225 % Rotate maps by 180°
0226 f = ssht_inverse(ssht_rotate_flm(ssht_forward(f, L, 'Reality', true), d, pi, 0), L, 'Reality', true);
0227 f_noise = ssht_inverse(ssht_rotate_flm(ssht_forward(f_noise, L, 'Reality', true), d, pi, 0), L, 'Reality', true);
0228 f_input_noise = ssht_inverse(ssht_rotate_flm(ssht_forward(f_input_noise, L, 'Reality', true), d, pi, 0), L, 'Reality', true);
0229 f_denoised = ssht_inverse(ssht_rotate_flm(ssht_forward(f_denoised, L, 'Reality', true), d, pi, 0), L, 'Reality', true);
0230 
0231 f_error = log(abs(f_denoised./f - 1));
0232 
0233 figure
0234 ssht_plot_mollweide(f, L, 'Mode', 1)
0235 colorbar;
0236 title('Real signal - Input map');
0237 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0238 colormap(jet);set(gca,'FontSize',18)
0239 fname = [plot_root, 'denoising_real_signal_input_jet.png'];
0240 print('-r300', '-dpng', fname)
0241 
0242 figure
0243 ssht_plot_mollweide(f_noise, L, 'Mode', 1)
0244 colorbar;
0245 title('Real signal - Noise map');
0246 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0247 colormap(jet);set(gca,'FontSize',18)
0248 fname = [plot_root, 'denoising_real_signal_noise_jet.png'];
0249 print('-r300', '-dpng', fname)
0250 
0251 figure
0252 ssht_plot_mollweide(f_input_noise, L, 'Mode', 1)
0253 colorbar;
0254 title('Real signal - Input map with added noise');
0255 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0256 colormap(jet);set(gca,'FontSize',18)
0257 fname = [plot_root, 'denoising_real_signal_input_noise_jet.png'];
0258 print('-r300', '-dpng', fname)
0259 
0260 figure
0261 ssht_plot_mollweide(f_denoised, L, 'Mode', 1)
0262 colorbar;
0263 title('Real signal - Denoised map');
0264 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0265 colormap(jet);set(gca,'FontSize',18)
0266 fname = [plot_root, 'denoising_real_signal_denoised_jet.png'];
0267 print('-r300', '-dpng', fname)
0268 
0269 figure
0270 ssht_plot_mollweide(f_error, L, 'Mode', 1)
0271 colorbar;
0272 title('Real signal - Logarithmic relative error');
0273 set(gcf, 'PaperUnits', 'centimeters', 'PaperPosition', plot_size);
0274 colormap(jet);set(gca,'FontSize',18)
0275 fname = [plot_root, 'denoising_real_signal_error_jet.png'];
0276 print('-r300', '-dpng', fname)
0277 
0278 
0279 %% Clean up
0280 
0281 close all
0282 
0283 clear position plot_root plot_size
0284 clear f f_noise f_input_noise f_denoised f_error
0285 clear f_Q f_Q_noise f_Q_input_noise f_Q_denoised
0286 clear f_U f_U_noise f_U_input_noise f_U_denoised
0287 clear f_QU f_QU_noise f_QU_input_noise f_QU_denoised
0288 clear L
0289 clear fname
0290 clear d el signs sqrt_tbl
0291 clear sigmas mean_f stddev_f range

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