This is the Python package for generating AC discrepancy maps in the paper
Jan Hamann, Quoc T. Le Gia, Ian H. Sloan, Yu Guang Wang and Robert S. Womersley. A New Probe of Gaussianity and Isotropy for CMB Maps. arXiv preprint arXiv:1911.11442, 2019.
We introduce a new mathematical tool (a direction-dependent probe) to analyse the randomness of purported isotropic Gaussian random fields on the {sphere}. We apply the probe to assess the full-sky cosmic microwave background (CMB) temperature maps produced by the {\it Planck} collaboration (PR2 2015 and PR3 2018), with special attention to the inpainted maps. To study the randomness of the fields represented by each map we use the autocorrelation of the sequence of probe coefficients (which are just the full-sky Fourier coefficients
The codes have been tested in Python 3.6 environment. The CMBProbe relies on healpy package
- healpy: Zonca, A., Singer, L., Lenz, D., Reinecke, M., Rosset, C., Hivon, E., and Gorski, K. (2019). "healpy: equal area pixelization and spherical harmonics transforms for data on the sphere in python. J. Open Source Softw., 4:1298."
Install healpy using
pip install healpy
- To enhance the computational efficiency, we recommend users to run the codes in HPC facility.
-
coeff_cmb.py estimates the Fourier coefficients from CMB map (which is in .fits format).
-
autocorr.py computes autocorrelation for a sequence.
-
ACDcommander15.py, ACDsevem18.py compute the AC discrepancy maps with resolution Nside = 256 for the Commander 2015 and SEVEM 2018 CMB temparature maps from Planck Legacy Archive. They use the Fourier coefficients estimated by coeff_cmb.py.
-
ACDplt.py plots the AC discrepancy map and saves it to .png format.
-
colormap.py configures the colormap for CMB and AC discrepancy maps using platter cmbmap.mat.
-
cmbmap.mat is the colormap (platter) for CMB maps and AC discrepancy maps.
-
Some Parameters in the programs:
map_type - one of four CMB map generating methods: commander, nilc, sevem, smica
vs - year version of CMB map, either '2015' or '2018'
plt_q - flag to choose inpainted or non-inpainted CMB maps, either 'I_inpainted' or 'I_noninpainted'
L - max degree of Fourier coefficients used in computing AC discrepancy
Nside_acd - Nside for the AC discrepancy map; by default Nside_acd = 1024
lag_acd - max lag for AC discrepancy; by default lag_acd = 10
Nside - Nside for CMB maps; by defaulty Nside = 2048
When the dependent packages are installed, users can obtain the Mollweide projection view of the AC discrepancy maps with resolution Nside = 1024 using the following routines for the Commander 2015 and SEVEM 2018 CMB temparature maps respectively.
For example, run
python coeff_cmb.py
to generate Fourier coefficients from CMB map "COM_CMB_IQU-commander_2048_R3.01_full.fits", which can be downloaded from Planck Legacy Archive.
Run
python ACDcommander15.py
to compute AC discrepancies at HEALPix points at resolutioin Nside = 1024 (with about 12,582,912 points).
Then run
python ACDplt.py
to generate the AC discrepancy map for Commander 2015.
All the generated data are in .mat format and stored in the same folder where the program scripts are in. For initial test, try Nside for AC discrepancy map equal to 8 and degree L = 20.
Some of the results in this paper have been derived using the HEALPix package Gorski et al. (2005). The authors acknowledge support from the Australian Research Council under Discovery Project DP180100506.
If you use our codes and datasets, please cite:
@article{CMBProbe,
title={A new Probe of non-Gaussianity for CMB Maps},
author={Sloan, Ian H. and Le Gia, Quoc T. and and Wang, Yu Guang and Womersley, Robert S. and Hamann, Jan},
journal={arXiv preprint arXiv:},
year={2019}
}
If you find any question in programs, please contact Yu Guang Wang (yuguang.wang@unsw.edu.au).
The package CMBProbe may be used for any research purposes under the following conditions:
- The user must acknowledge the use of CMBProbe in publications resulting from the use of the functions/tools.
- The user may not redistribute CMBProbe without separate permission.
- The user may not use this information for any commercial or revenue-bearing purposes without first obtaining permission from us.

