Healpix C++  3.82
HEALPix C++ facilities

syn_alm_cxx

This program reads a set of $C_l$ from disk and converts it to a set of $a_{lm}$.

Parameters read by syn_alm_cxx:

nlmax (integer):
  maximum order of l

nmmax (integer):
  maximum order of m (must not be larger than nlmax, default=nlmax)

infile (string):
  input file containing the CMB power spectrum

outfile (string):
  output file name for the calculated a_lm

rand_seed (integer):
  random-number seed

fwhm_arcmin (real):
  FWHM (in arcmin) of a Gaussian beam, which is used to smooth the
  resulting sky a_lm (default=0)

polarisation (bool):
  if false, only the intensity a_lm are generated,
  if true, T, G and C a_lm are generated

if (polarisation)
  full_ps (bool, default=false):
    if false, only TT, GG, CC and TG components of the spectrum are used
    if true, also TC and GC components are used
endif

double_precision (bool, default=false):
  if false, the a_lm are created in single precision,
  otherwise in double precision.

alm2map_cxx

This program reads a set of $a_{lm}$ from disk and converts them to a HEALPix map.

Parameters read by alm2map_cxx:

nlmax (integer):
  maximum order of l

nmmax (integer):
  maximum order of m (must not be larger than nlmax, default=nlmax)

infile (string):
  input file containing the a_lm

outfile (string):
  output file name for the Healpix map(s)

nside (integer):
  nside parameter for the output map(s)

polarisation (bool):
  if false, only the intensity map is generated,
  if true, maps for I, Q and U are generated

fwhm_arcmin (double, default=0):
  FWHM in arc minutes of a Gaussian beam, which is used to smooth
  the a_lm

windowfile (string, default=""):
  if supplied, the pixel window function from this file will be applied
  to the a_lm

double_precision (bool, default=false):
  if false, a_lm and maps are read/written in single precision,
  otherwise in double precision.

anafast_cxx

This program performs harmonic analysis of a HEALPix map up to a user-specified maximum spherical harmonic order $l_{\mbox{max}}$. 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 ${\cal {O}}(N_{\mbox{pix}}^{3/2})$ with a prefactor depending on $l_{\mbox{max}}$.

Anafast_cxx reads a file containing the map(s) and produces a file containing the temperature power spectrum $C^T_l$ and, if requested, also the polarisation power spectra $C^E_l$, $C^B_l$ and $C^{T\times E}_l$. The $a_{lm}$ 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 ( $\vartheta$) and Fast Fourier transforms on longitude ( $\varphi$).

Anafast permits two execution options which allow a significant improvement of accuracy of the approximate quadrature performed by this facility:

Parameters read by anafast_cxx:

nlmax (integer):
  maximum order of l

nmmax (integer):
  maximum order of m (must not be larger than nlmax, default=nlmax)

infile (string):
  input file containing the Healpix map

outfile (string, default=""):
  output file name for power spectrum; if empty, no spectrum is written

outfile_alms (string, default=""):
  output file name for the a_lm; if empty, no a_lm are written

polarisation (bool):
  if false, only the intensity a_lm are generated,
  if true, a_lm for T, G and C component are generated

ringweights (string, default=""):
  if supplied, ring weights will be read from this file
  NOTE: mutually exclusive with "pixelweights".

pixelweights (string, default=""):
  if supplied, compressed pixel weights will be read from this file
  NOTE: mutually exclusive with "ringweights".

iter_order (integer, default=0)
  number of iterations for the analysis (0: standard analysis)

double_precision (bool, default=false):
  if false, maps and a_lm are read/written in single precision,
  otherwise in double precision.

if (polarisation==true && outfile!="")
  full_powerspectrum (bool, default=false):
    if true, write a 6-column power spectrum;
    if false, write a 4-column power spectrum.
endif

remove_monopole (bool, default=false):
  if true, subtract the average pixel value from the temperature map, and add
  the corresponding value to almT(0,0) after the map2alm transform.

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.

Usage:
  map2tga <parameter file>

or:
  map2tga <input file> <output file> [-sig <int>] [-pal <int>]
    [-xsz <int>] [-bar] [-log] [-asinh] [-lon <float>] [-lat <float>]
    [-mul <float>] [-add <float>] [-min <float>] [-max <float>]
    [-res <float>] [-title <string>] [-flippal] [-gnomonic]
    [-interpol] [-equalize] [-viewer <viewer>]


Parameters read by map2tga:

infile (string):
  input file containing the Healpix map

outfile (string):
  output TGA file

sig (integer, default=1):
  column number of the requested Healpix map

pal (integer, default=4):
  number of the color palette

flippal (bool, default=false):
  whether the palette should be flipped

xsz (integer, default=1024):
  number of image pixels in x direction

bar (logical, default=false):
  whether a color bar should be added to the image

log (logical, default=false):
  whether the logarithm of the map values should be displayed

equalize (logical, default=false):
  whether histogram equalisation should be performed

asinh (logical, default=false):
  whether the hyperbolic arcsine of the map values should be displayed

lon (double, default=0):
  the longitude (in degrees) of the image center

lat (double, default=0):
  the latitude (in degrees) of the image center

mul (double, default=1):
  scale factor applied to the data

add (double, default=0):
  offset added to the data (before multiplication)

min (double, optional):
  if specified, this value is used as minimum of the color scale

max (double, optional):
  if specified, this value is used as maximum of the color scale

res (double, default=1):
  only for gnomonic projection: the size (in arcmin) of an image pixel

title (string, optional):
  if specified, this value is used as the image title

viewer (string, optional):
  if specified, this executable is used to show the resulting image

pro (string, default="mollw"):
  if this is equal to "gno", gnomonic projection is used, else Mollweide

interpol (bool, default=false):
  false: no interpolation
  true : bilinear interpolation

alice3

This program visualizes spin-2 fields of the sphere using the line integral convolution (LIC) technique.
It was originally written by David Larson and has later been adjusted to output Healpix maps instead of image files.

Usage:
  alice3 ...
  where ... indicates any combination of the optional parameters below.

  examples:
    alice3 in=wmap_ilc_3yr_v2_r6_sim.fits nside=512 ell=300 out=test

  NOTE: the syntax is slightly different from the one used in alice2!
  There must not be any spaces on either side of the "=" signs!

  [in=<fits file>] FITS file containing the Q and U polarization
  components in the second and third columns.

  [out=<string>] string used as a prefix for output files
  alice3 generates three different output FITS files:
  <out>_background.fits: the texture before the LI convolution
  <out>_texture.fits: the texture after LI convolution
  <out>_mod_texture.fits: the convolved texture, modulated with
    polarization intensity
  By default the code will exit with an error instead of overwriting
  an existing FITS file! If you want to override this behaviour,
  prepend your prefix with an exclamation mark (which may need to be
  protected from shell expansion by a leading backslash).

  [texture=<fits file>] optional input background texture
  if left empty, a texture is generated using the "ell" parameter

  [nside=<int>] nside of all generated maps

  [ell=<int>] ell value at which the generated background texture has power
  if ell==-1, use ell=2*nside
  if not supplied at all, use a Healpix map with given Nside containing white
    noise

  [rand_seed=<int>] seed for the random number generator
  (default=42). Only used when a texture is generated internally.

  [steps=<int>] number of steps to use for each line of the convolution
  (default: 100)

  [kernel_steps=<int>] extent of the convolution kernel (in steps)
  (default: 50)

  [step_arcmin=<float>] arcminutes for each step in the convolution
  (default: 10)

  [polmin=<float>] minimum value for the polarization magnitude

  [polmax=<float>] maximum value for the polarization magnitude

rotalm_cxx

Performs a coordinate transformation on a set of $a_{lm}$.

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)

mult_alm

This program reads a set of (unpolarised or polarised) $a_{lm}$, removes pixel window functions and/or Gaussian beams, applies different pixel window functions or Gaussian beams, and outputs the result.

Parameters read by mult_alm:

infile (string):
  input file containing the a_lm

outfile (string):
  output file name for the calculated a_lm

fwhm_arcmin_in (real, default=0):
  FWHM (in arcmin) of a Gaussian beam, which will be _removed_ from the
  input a_lm

fwhm_arcmin_out (real, default=0):
  FWHM (in arcmin) of a Gaussian beam, which will be used to smoothe the
  output a_lm

pixwin_in (string, default=""):
  if supplied, the pixel window function from this file will be _removed_
  from the input a_lm

pixwin_out (string, default=""):
  if supplied, the pixel window function from this file will be applied
  to the output a_lm

cl_in (string, default=""):
  if supplied, the power spectrum from this file will be _removed_
  from the input a_lm
  NOTE: currently only supported for unpolarised a_lm

cl_out (string, default=""):
  if supplied, the power pectrum from this file will be applied
  to the output a_lm
  NOTE: currently only supported for unpolarised a_lm

polarisation (bool):
  if false, only the intensity a_lm are generated,
  if true, T, G and C a_lm are generated

double_precision (bool, default=false):
  if false, the a_lm are read/written in single precision,
  otherwise in double precision.

smoothing_cxx

This program reads a (unpolarised or polarised) HEALPix map, converts it to $a_{lm}$, performs a smoothing operation with a Gaussian beam, converts the $a_{lm}$ back to a map and outputs the result.

Parameters read by smoothing_cxx:

fwhm_arcmin (double):
  FWHM (in arcmin) of the Gaussian beam used for smoothing. If the value
  is negative, the smoothing of a Gaussian beam with an FWHM of -fwhm_arcmin
  will be _removed_ from the input map.

nlmax (integer):
  maximum order of l

infile (string):
  input file containing the Healpix map

outfile (string, default=""):
  output file for the smoothed Healpix map

polarisation (bool):
  if false, only an intensity map is smoothed
  if true, an IQU map is smoothed

ringweights (string, default=""):
  if supplied, ring weights will be read from this file
  NOTE: mutually exclusive with "pixelweights".

pixelweights (string, default=""):
  if supplied, compressed pixel weights will be read from this file
  NOTE: mutually exclusive with "ringweights".

iter_order (integer, default=0)
  number of iterations for the analysis (0: standard analysis)

double_precision (bool, default=false):
  if false, a_lm are read/written in single precision, otherwise in
  double precision.

calc_powspec

This program reads one or two sets of $a_{lm}$, extracts the (unpolarised or polarised) power spectrum or the unpolarised cross power spectrum, and outputs the result.

Usage: calc_powspec <almfile1> [<almfile2>] <powspec_file>

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.

Usage: median_filter_cxx <input map> <output map> <radius in arcmin>

needlet_tool

This program separates a_lm coefficients into different needlet bands, or reassembles various bands to full a_lm sets.

Parameters read by needlet_tool:

mode (string):
  split:
      a single a_lm file is input and split into needlet bands
  assemble:
      multiple needlet bands are read and combined into a single a_lm file
  write_coefficients:
      needlet coefficients are written to a FITS file

needlet_type (string):
  needatool: use needlets as defined by Pietrobon et al., ApJ 723, 1 (2010),
             following the construction in section 3
  cosine   : use needlets as defined by Basak et al., MNRAS 419, 1163 (2012),
             following the equations in section 3
  sdw      : use needlets as defined by Leistedt et al., A&A 558, A128 (2013),
             following equations 10 to 15
  spline   : use B-spline based wavelets, similar to those defined by Starck et
             al., A&A 446, 1191 (2006), but with band number ascending towards
             higher resolutions.

if (needlet_type=="cosine"):
  llim: string
    For n bands, this list must contain n+2 comma-separated integers:
      - start of band 1
      - start of band 2 == peak of band 1
      - start of band 3 == peak of band 2 == end of band 1
      [...]
      - start of band n == peak of band n-1 == end of band n-2
      - peak of band n == end of band n-1
      - end of band n
    The values must be strictly increasing, with the exception of the first and
    second value, which may both be 0.
else
  B (double):
    B parameter for the respective needlet
    The window for the nth band peaks at l=B^n.
endif

minband, maxband (integer):
  the minimum and maximum needlet scales requested for the operation

if (mode=="write_coefficients"):
  outfile_needlets(string): output file name root for needlet coefficients
else
  infile (string):
    if mode=="split"   : input file containing the a_lm
    if mode=="assemble": root name for the input a_lm files
                         Full names are "<infile>###.fits",
                         where ### is the three-digit number of the band

  outfile (string):
    if mode=="split"   : root name for the output a_lm files
                         Full names are "<outfile>###.fits",
                         where ### is the three-digit number of the band
    if mode=="assemble": output file containing the assembled a_lm

  polarisation (bool, default=false):
    if false, only the intensity a_lm are processed,
    if true, the code currently exits with an error message,
    since polarisation is not yet supported.
endif

double_precision (bool, default=false):
  if false, a_lm are read/written in single precision,
  otherwise in double precision.



General remarks on the code
===========================

In contrast to most other needlet-related codes, needlet_tool does not read and
write map data, but spherical harmonic coefficients. This is done because
 - the code is then independent of a particular pixelisation.
 - the necessary transforms between map and spherical harmonic domain are
   subject to many complications (like choice of band limits, removal of low
   multipoles, masking, pixel weighting, iterative map analysis, choice of
   resolution for the output maps, etc.) so that it would be cumbersome to
   reproduce all these details in needlet_tool.
 - the separation of the transforms and needlet operations does not degrade
   overall performance, so it is just as efficient to let the SHTs be done by
   dedicated codes like anafast/synfast etc.

Splitting and then reassembling a set of a_lm should accurately reproduce the
input a_lm at all l starting from the first peak (which is 1 for "needatool" and
"sdw" needlets, but may be different for "cosine" wavelets).
The remaining information in the input data (monopole for "needatool" and "sdw",
part of the coefficients below the first peak for "cosine") is currently
discarded, but could also be written to an additional output file.

Generated on Thu Jul 28 2022 17:32:07 for Healpix C++