Home > src > main > matlab > s2let_hpx_write_real_spin_maps.m

s2let_hpx_write_real_spin_maps

PURPOSE ^

s2let_hpx_rite_real_spin_maps

SYNOPSIS ^

function s2let_hpx_write_real_spin_maps(fQ, fU, filename)

DESCRIPTION ^

 s2let_hpx_rite_real_spin_maps 
 Write a real Healpix map to a FITS file
 Default usage :

   s2let_hpx_write_real_spin_maps(fQ, fU, file)

 f the Healpix map to be written,
 file the name of the output FITS file.

 S2LET package to perform Wavelets transform 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:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function s2let_hpx_write_real_spin_maps(fQ, fU, filename)
0002 
0003 % s2let_hpx_rite_real_spin_maps
0004 % Write a real Healpix map to a FITS file
0005 % Default usage :
0006 %
0007 %   s2let_hpx_write_real_spin_maps(fQ, fU, file)
0008 %
0009 % f the Healpix map to be written,
0010 % file the name of the output FITS file.
0011 %
0012 % S2LET package to perform Wavelets transform on the Sphere.
0013 % Copyright (C) 2012-2015  Boris Leistedt & Jason McEwen
0014 % See LICENSE.txt for license details
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 %[ncards,dummy]=size(header_cards);
0066 %fprintf(header_record(1,:));
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)];

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