vide_public/external/healpix/Healpix_cxx/Healpix_cxx.dox
2012-10-30 13:56:48 -04:00

133 lines
5.3 KiB
Text

/*! \mainpage HEALPix C++ documentation
<ul>
<li>\ref components "Programming interface"
<li>\ref facilities "Facilities"
</ul>
*/
/*! \page components Code components
Classes:
- Healpix_Base contains all functionality related to the HEALPix
pixelisation which does not require actual map data.
- Healpix_Base2 is analogous to Healpix_Base, but allows for much
higher resolutions.
- Healpix_Map is derived from Healpix_Base and implements
additional functionality like change of the ordering scheme, up- and
degrading and interpolation.
- Alm is used to store spherical harmonic coefficients.
- PowSpec is used to store \f$C_l\f$ coefficients.
Conversions between different data types:
- \ref alm_healpix_group "HEALPix maps <-> a_lm".
- \ref alm_ps_group "power spectra <-> a_lm".
FITS I/O:
- for \ref healpix_map_fitsio_group "HEALPix Maps"
- for \ref alm_fitsio_group "spherical harmonic coefficients"
- for \ref powspec_fitsio_group "power spectra"
*/
/*! \page facilities HEALPix C++ facilities
\section syn_alm_cxx
This program reads a set of \f$C_l\f$ from disk and converts it to
a set of \f$a_{lm}\f$.
\verbinclude syn_alm_cxx.par.txt
\section alm2map_cxx
This program reads a set of \f$a_{lm}\f$ from disk and converts them to
a HEALPix map.
\verbinclude alm2map_cxx.par.txt
\section anafast_cxx
This program performs harmonic analysis of a HEALPix map up to a
user-specified maximum spherical harmonic order \f$l_{\mbox{max}}\f$.
The integrals are computed on the whole sphere.
Scalar, or scalar and tensor, spherical harmonic coefficients are evaluated
from the map(s) if the input provides, respectively, only the temperature,
or temperature and polarisation maps.
The total operation count scales as \f${\cal {O}}(N_{\mbox{pix}}^{3/2})\f$
with a prefactor depending on \f$l_{\mbox{max}}\f$.
Anafast_cxx reads a file containing the map(s) and produces a file
containing the temperature power spectrum \f$C^T_l\f$ and, if requested,
also the polarisation power spectra \f$C^E_l\f$, \f$C^B_l\f$ and
\f$C^{T\times E}_l\f$. The \f$a_{lm}\f$ coefficients computed during the
execution also can be written to a file if requested.
Anafast_cxx executes an approximate, discrete point-set quadrature on
a sphere sampled at the HEALPix pixel centers.
Spherical harmonic transforms are computed using recurrence relations for
Legendre polynomials on co-latitude (\f$\vartheta\f$) and Fast Fourier
transforms on longitude (\f$\varphi\f$).
Anafast permits two execution options which allow a significant
improvement of accuracy of the approximate quadrature performed by
this facility:
- An improved analysis using the provided ring weights, which correct the
quadrature on latitude, and/or
- An iterative scheme using in succession several backward and forward
harmonic transforms of the maps.
\verbinclude anafast_cxx.par.txt
\section map2tga
This program reads in a HEALPix sky map in FITS format and generates an
image in TGA format. map2tga allows the selection of the projection
scheme (Mollweide or Gnomonic for small patches of the sky), color
table, color bar inclusion, linear or log scaling, maximum and
minimum range for the plot and plot-title. The facility provides
a command-line interface, but can also read a parameter file.
\verbinclude map2tga.par.txt
\section rotalm_cxx
Performs a coordinate transformation on a set of \f$a_{lm}\f$.
\verbatim
Usage: rotalm_cxx <infile> <outfile> <itransform> <pol>
Transform 1: Equatorial (2000) -> Galactic (2000)
2: Galactic (2000) -> Equatorial (2000)
3: Equatorial (2000) -> Ecliptic (2000)
4: Ecliptic (2000) -> Equatorial (2000)
5: Ecliptic (2000) -> Galactic (2000)
6: Galactic (2000) -> Ecliptic (2000)
7: Equatorial (1950) -> Galactic (1950)
8: Galactic (1950) -> Equatorial (1950)
9: Equatorial (1950) -> Ecliptic (1950)
10: Ecliptic (1950) -> Equatorial (1950)
11: Ecliptic (1950) -> Galactic (1950)
12: Galactic (1950) -> Ecliptic (1950)
\endverbatim
\section mult_alm
This program reads a set of (unpolarised or polarised) \f$a_{lm}\f$,
removes pixel window functions and/or Gaussian beams, applies different
pixel window functions or Gaussian beams, and outputs the result.
\verbinclude mult_alm.par.txt
\section smoothing_cxx
This program reads a (unpolarised or polarised) HEALPix map, converts it
to \f$a_{lm}\f$, performs a smoothing operation with a Gaussian beam,
converts the \f$a_{lm}\f$ back to a map and outputs the result.
\verbinclude smoothing_cxx.par.txt
\section calc_powspec
This program reads one or two sets of \f$a_{lm}\f$, extracts the
(unpolarised or polarised) power spectrum or the unpolarised cross power
spectrum, and outputs the result.
\verbatim Usage: calc_powspec <almfile1> [<almfile2>] <powspec_file>\endverbatim
\section median_filter_cxx
This program inputs a HEALPix map, runs a median filter with the desired
radius on it and saves the result to another file.
\verbatim Usage: median_filter_cxx <input map> <output map> <radius in arcmin>\endverbatim
*/