0001 function s2let_hpx_write_real_spin_maps(fQ, fU, filename)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 sz = size(fQ);
0017 szb = max([sz(1), sz(2)]);
0018 nside = floor(sqrt(szb/12.0));
0019
0020
0021 [nrow, ncol]=size(fQ);
0022
0023 header_cards = [make_card('SIMPLE','T'); ...
0024 make_card('BITPIX',16); ...
0025 make_card('NAXIS',0); ...
0026 make_card('EXTEND','T'); ...
0027 make_card('END');];
0028
0029 [nrowbis,ncolbis] = size(header_cards);
0030 n_blanks = 36 - rem(nrowbis,36);
0031 blank_line = setstr(ones(1,80)*32);
0032 header_cards2 = [header_cards; repmat(blank_line,n_blanks,1)];
0033
0034 npix = 12*nside*nside;
0035
0036 header_cards2 = [header_cards2; ...
0037 make_card('XTENSION','BINTABLE'); ...
0038 make_card('BITPIX',8); ...
0039 make_card('NAXIS',2); ...
0040 make_card('NAXIS1',16); ...
0041 make_card('NAXIS2',ncol); ...
0042 make_card('PCOUNT',0); ...
0043 make_card('GCOUNT',1); ...
0044 make_card('TFIELDS',2); ...
0045 make_card('TTYPE1','Q_POLARISATION'); ...
0046 make_card('TFORM1','1D'); ...
0047 make_card('TUNIT1',' '); ...
0048 make_card('TTYPE2','U_POLARISATION'); ...
0049 make_card('TFORM2','1D'); ...
0050 make_card('TUNIT2',' '); ...
0051 make_card('EXTNAME','BINTABLE'); ...
0052 make_card('POLCCONV','COSMO'); ...
0053 make_card('PIXTYPE','HEALPIX'); ...
0054 make_card('ORDERING','RING'); ...
0055 make_card('NSIDE', nside); ...
0056 make_card('NPIX', npix); ...
0057 make_card('OBJECT', 'FULLSKY'); ...
0058 make_card('FIRTSPIX', 0); ...
0059 make_card('LASTPIX', npix-1); ...
0060 make_card('INDXSCHM', 'IMPLICIT'); ...
0061 make_card('BAD_DATA', -1.63750E+30); ...
0062 make_card('END')];
0063
0064 header_record = make_header_record(header_cards2);
0065
0066
0067
0068 fid=fopen(filename,'w');
0069 fwrite(fid,header_record','char');
0070 fwrite(fid, [fQ; fU], 'double', 0, 'B');
0071 fclose(fid);
0072
0073 function hrec=make_header_record(card_matrix)
0074
0075 [nrow,ncol] = size(card_matrix);
0076 n_blanks = 36 - rem(nrow,36);
0077 blank_line = setstr(ones(1,80)*32);
0078 hrec = [card_matrix; repmat(blank_line,n_blanks,1)];