1/*! \mainpage HEALPix C++ documentation 2 <ul> 3 <li>\ref components "Programming interface" 4 <li>\ref uselib "How to use the library in your own codes" 5 <li>\ref facilities "Facilities" 6 </ul> 7 */ 8 9/*! \page components Code components 10 11 Classes: 12 - Healpix_Base contains all functionality related to the HEALPix 13 pixelisation which does not require actual map data. 14 - Healpix_Base2 is analogous to Healpix_Base, but allows for much 15 higher resolutions. 16 - Healpix_Map is derived from Healpix_Base and implements 17 additional functionality like change of the ordering scheme, up- and 18 degrading and interpolation. 19 - Alm is used to store spherical harmonic coefficients. 20 - PowSpec is used to store \f$C_l\f$ coefficients. 21 22 Conversions between different data types: 23 - \ref alm_healpix_group "HEALPix maps <-> a_lm". 24 - \ref alm_ps_group "power spectra <-> a_lm". 25 26 FITS I/O: 27 - for \ref healpix_map_fitsio_group "HEALPix Maps" 28 - for \ref alm_fitsio_group "spherical harmonic coefficients" 29 - for \ref powspec_fitsio_group "power spectra" 30*/ 31 32/*! \page uselib Using Healpix C++ in your own codes 33 34 In order to use the Healpix library in your own C++ codes, you have to do two 35 things: 36 - \c #include the appropriate header files in your sources. From this 37 documentation it should be evident which ones you have to include for a 38 specific task. 39 - Specify the required libraries when linking your executable. For this 40 release of the software, this should be (order is important!): 41 \verbatim-lhealpix_cxx -lcxxsupport -lsharp -lfftpack -lc_utils -lcfitsio\endverbatim 42*/ 43 44/*! \page facilities HEALPix C++ facilities 45 46 \section syn_alm_cxx 47 This program reads a set of \f$C_l\f$ from disk and converts it to 48 a set of \f$a_{lm}\f$. 49 50 \verbinclude syn_alm_cxx.par.txt 51 52 \section alm2map_cxx 53 This program reads a set of \f$a_{lm}\f$ from disk and converts them to 54 a HEALPix map. 55 56 \verbinclude alm2map_cxx.par.txt 57 58 \section anafast_cxx 59 This program performs harmonic analysis of a HEALPix map up to a 60 user-specified maximum spherical harmonic order \f$l_{\mbox{max}}\f$. 61 The integrals are computed on the whole sphere. 62 Scalar, or scalar and tensor, spherical harmonic coefficients are evaluated 63 from the map(s) if the input provides, respectively, only the temperature, 64 or temperature and polarisation maps. 65 The total operation count scales as \f${\cal {O}}(N_{\mbox{pix}}^{3/2})\f$ 66 with a prefactor depending on \f$l_{\mbox{max}}\f$. 67 68 Anafast_cxx reads a file containing the map(s) and produces a file 69 containing the temperature power spectrum \f$C^T_l\f$ and, if requested, 70 also the polarisation power spectra \f$C^E_l\f$, \f$C^B_l\f$ and 71 \f$C^{T\times E}_l\f$. The \f$a_{lm}\f$ coefficients computed during the 72 execution also can be written to a file if requested. 73 74 Anafast_cxx executes an approximate, discrete point-set quadrature on 75 a sphere sampled at the HEALPix pixel centers. 76 Spherical harmonic transforms are computed using recurrence relations for 77 Legendre polynomials on co-latitude (\f$\vartheta\f$) and Fast Fourier 78 transforms on longitude (\f$\varphi\f$). 79 80 Anafast permits two execution options which allow a significant 81 improvement of accuracy of the approximate quadrature performed by 82 this facility: 83 84 - An improved analysis using the provided ring weights, which correct the 85 quadrature on latitude, and/or 86 - An iterative scheme using in succession several backward and forward 87 harmonic transforms of the maps. 88 89 \verbinclude anafast_cxx.par.txt 90 91 \section map2tga 92 This program reads in a HEALPix sky map in FITS format and generates an 93 image in TGA format. map2tga allows the selection of the projection 94 scheme (Mollweide or Gnomonic for small patches of the sky), color 95 table, color bar inclusion, linear or log scaling, maximum and 96 minimum range for the plot and plot-title. The facility provides 97 a command-line interface, but can also read a parameter file. 98 99 \verbinclude map2tga.par.txt 100 101 \section alice3 102 This program visualizes spin-2 fields of the sphere using the line integral 103 convolution (LIC) technique.<br> It was originally written by David Larson and 104 has later been adjusted to output Healpix maps instead of image files. 105 106 \verbinclude alice3_usage.txt 107 108 \section rotalm_cxx 109 Performs a coordinate transformation on a set of \f$a_{lm}\f$. 110 111 \verbatim 112Usage: rotalm_cxx <infile> <outfile> <itransform> <pol> 113Transform 1: Equatorial (2000) -> Galactic (2000) 114 2: Galactic (2000) -> Equatorial (2000) 115 3: Equatorial (2000) -> Ecliptic (2000) 116 4: Ecliptic (2000) -> Equatorial (2000) 117 5: Ecliptic (2000) -> Galactic (2000) 118 6: Galactic (2000) -> Ecliptic (2000) 119 7: Equatorial (1950) -> Galactic (1950) 120 8: Galactic (1950) -> Equatorial (1950) 121 9: Equatorial (1950) -> Ecliptic (1950) 122 10: Ecliptic (1950) -> Equatorial (1950) 123 11: Ecliptic (1950) -> Galactic (1950) 124 12: Galactic (1950) -> Ecliptic (1950) 125 \endverbatim 126 127 \section mult_alm 128 This program reads a set of (unpolarised or polarised) \f$a_{lm}\f$, 129 removes pixel window functions and/or Gaussian beams, applies different 130 pixel window functions or Gaussian beams, and outputs the result. 131 132 \verbinclude mult_alm.par.txt 133 134 \section smoothing_cxx 135 This program reads a (unpolarised or polarised) HEALPix map, converts it 136 to \f$a_{lm}\f$, performs a smoothing operation with a Gaussian beam, 137 converts the \f$a_{lm}\f$ back to a map and outputs the result. 138 139 \verbinclude smoothing_cxx.par.txt 140 141 \section calc_powspec 142 This program reads one or two sets of \f$a_{lm}\f$, extracts the 143 (unpolarised or polarised) power spectrum or the unpolarised cross power 144 spectrum, and outputs the result. 145 146 \verbatim Usage: calc_powspec <almfile1> [<almfile2>] <powspec_file>\endverbatim 147 148 \section median_filter_cxx 149 This program inputs a HEALPix map, runs a median filter with the desired 150 radius on it and saves the result to another file. 151 152 \verbatim Usage: median_filter_cxx <input map> <output map> <radius in arcmin>\endverbatim 153*/ 154