Internal linear combination for cmb data analysis
This repository provides tools for performing Needlets Internal Linear Combination (NILC). Below is an overview of the key components and guidelines for using them effectively.
nilc.py
: The main module to perform NILC.
-
./needlets
:- Defines the cosine needlets configuration.
- Important Rules:
- Each row's
lmin
andlpeak
must match the previous row'slpeak
andlmax
. - The last
lmax
should matchlmax
in your NILC settings.
- Each row's
- Resolution Note:
Ensure yournside
is greater thanlmax / 2
because different needlet bins may have varying resolutions. The calculations forlmax
are valid only whenlmax < 2 * nside
.
-
./bandinfo.csv
:- Experimental configuration file that includes parameters like frequency and beam.
- Ensure
lmax_alm
is greater than your NILClmax
. - Usage: This file is primarily for testing the NILC effect without beam corrections.
-
./bandinfo_beam.csv
:- Experimental configuration file for cases considering beam corrections.
- Important Rules:
- Set
lmax_alm
carefully to avoid numerical errors at largeell
values (e.g., forbeam=60
,lmax_alm ~ 500
). - Ensure to use the bigger band-limited lmax (when you do deconvolve and convolve your map) than
lmax_alm
- Set
-
test_nilc.py
:
A basic (though currently incomplete) tutorial on using NILC. -
test_nilc_beam.py
:
A tutorial demonstrating how to perform NILC with beam considerations.
-
Set up
./needlets
configuration:
Ensure consistency betweenlmin
,lpeak
, andlmax
across rows and align with your NILC parameters. -
Verify
nside
:
It should be at leastlmax / 2
for accurate results. -
Check beam parameters:
When working with./bandinfo_beam.csv
, account for potential numerical errors at highell
. -
Run Tutorials:
Use thetest_nilc.py
andtest_nilc_beam.py
scripts to understand the process and verify your setup.
- large memory usage in NILC
- slow rate when calculating beta covariance matrix in NILC
- use pytest
- add other ILC
SHT can be replace by other package or use healpy build from sources:
- see https://github.com/healpy/healpy/blob/main/INSTALL.rst#generating-native-binaries first
- download
cfitsio
version 4.5.0, then run ./configure --disable-curl;make;make install - download
healpix
version 3.8.3, configure with yourcfitsio
fitsio.h and cfitsio lib to build healpix cxx - add PKG_CONFIG_PATH for
cfitsio
andhealpix
- pip install --no-binary healpy healpy