This adds an efficient Wiener filter to the convergence map function, which should provide an optimal mass map reconstruction. Right now it just does optimal kappa_e, but could instead output a joint kappa_e and kappa_b reconstruction with tiny modification. The implementation is inspired by 1810.00503, but the code isn't the same as that in the paper (which is C++, complicated, many difficult to install dependencies, and harder to extend). The main technical difference is there is a smoothing scale used on the reconstructed maps to control numerical noise; it should be tested that the features of interest aren't affected by this choice.
The main driver for the optimization is based on the vmad and abopt libraries developed primarily by Yu Feng.
Unlike the Kaiser-Squires implementation there are lots of additional parameters needed for the Wiener filter map. These are listed in the weiner.py file and hopefully self explanatory. The most important additional information needed for optimization is nmap; a map of the inverse noise variance per pixel in gamma1 and gamma2 to use in the chi-squared function. Mask information should also be included in this file.
At this point it should be considered inoperable in terms of interacting with the rest of the code, and unstable in terms of amount of testing of this particular optimization implementation. It is here for development reasons. Beyond compatibility and stability checks/improvements, the power spectra estimation scheme of 1810.00503 should be eventually included.
This adds an efficient Wiener filter to the convergence map function, which should provide an optimal mass map reconstruction. Right now it just does optimal kappa_e, but could instead output a joint kappa_e and kappa_b reconstruction with tiny modification. The implementation is inspired by 1810.00503, but the code isn't the same as that in the paper (which is C++, complicated, many difficult to install dependencies, and harder to extend). The main technical difference is there is a smoothing scale used on the reconstructed maps to control numerical noise; it should be tested that the features of interest aren't affected by this choice.
The main driver for the optimization is based on the vmad and abopt libraries developed primarily by Yu Feng.
Unlike the Kaiser-Squires implementation there are lots of additional parameters needed for the Wiener filter map. These are listed in the weiner.py file and hopefully self explanatory. The most important additional information needed for optimization is nmap; a map of the inverse noise variance per pixel in gamma1 and gamma2 to use in the chi-squared function. Mask information should also be included in this file.
At this point it should be considered inoperable in terms of interacting with the rest of the code, and unstable in terms of amount of testing of this particular optimization implementation. It is here for development reasons. Beyond compatibility and stability checks/improvements, the power spectra estimation scheme of 1810.00503 should be eventually included.