From 1c0c840bdec9a2e0dfecb7545ca1baa7d7033b28 Mon Sep 17 00:00:00 2001 From: Birendra Dhanasingham Date: Tue, 12 Sep 2023 23:56:36 -0600 Subject: [PATCH 1/7] Update realization_extensions.py --- pyHalo/realization_extensions.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pyHalo/realization_extensions.py b/pyHalo/realization_extensions.py index e5615366..171645af 100644 --- a/pyHalo/realization_extensions.py +++ b/pyHalo/realization_extensions.py @@ -523,8 +523,6 @@ def corr_kappa_with_mask(kappa_map, map_size, r, mu, apply_mask = True, r_min = _R = np.linspace(-map_size/2, map_size/2, kappa_map.shape[0]) XX_, YY_ = np.meshgrid(_R, _R) - - assert kappa_map.shape == XX_.shape, f"Convergence map must NOT be computed using the window!" X_ = XX_[0] Y_ = YY_[:,0] From e46ff87ee08c87b9feffdc26eb3bec0cede92476 Mon Sep 17 00:00:00 2001 From: Birendra Dhanasingham Date: Tue, 12 Sep 2023 23:57:58 -0600 Subject: [PATCH 2/7] Update realization_extensions.py --- pyHalo/realization_extensions.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pyHalo/realization_extensions.py b/pyHalo/realization_extensions.py index 171645af..a0a3de61 100644 --- a/pyHalo/realization_extensions.py +++ b/pyHalo/realization_extensions.py @@ -546,11 +546,9 @@ def corr_kappa_with_mask(kappa_map, map_size, r, mu, apply_mask = True, r_min = if apply_mask == True: mask = mask_annular(center_x, center_y, XX_, YY_, r_min, r_max) mask_interp = RectBivariateSpline(X_, Y_, mask, kx=1, ky=1, s=0) - else: mask = np.ones(XX_.shape) - kappa_interp = RectBivariateSpline(X_, Y_, kappa_map, kx=5, ky=5, s=0) corr = np.zeros((r.shape[0], mu.shape[0])) From 27dc5f97fc4d488bc4e0a87ced5aff3e89a3b10b Mon Sep 17 00:00:00 2001 From: Birendra Dhanasingham Date: Sat, 16 Sep 2023 14:15:17 -0600 Subject: [PATCH 3/7] Update test_utilities.py --- tests/test_utilities.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/test_utilities.py b/tests/test_utilities.py index ca9752c0..7ee5d157 100644 --- a/tests/test_utilities.py +++ b/tests/test_utilities.py @@ -1,10 +1,12 @@ from lenstronomy.LensModel.lens_model import LensModel import numpy.testing as npt +from scipy.integrate import simps import numpy as np from pyHalo.utilities import interpolate_ray_paths, de_broglie_wavelength, delta_sigma, ITSampling, \ inverse_transform_sampling, delta_kappa, nfw_velocity_dispersion from pyHalo.Cosmology.cosmology import Cosmology from pyHalo.Halos.lens_cosmo import LensCosmo +from pyHalo.utilities import mask_annular import pytest class TestUtilities(object): @@ -87,6 +89,29 @@ def test_ITSampling(self): npt.assert_almost_equal(np.mean(x_samples)/mu, 1.0, 2) npt.assert_almost_equal(np.std(x_samples)/sigma, 1.0, 2) + def test_mask_annular(self): + npix = 1000 + window_size = 4 + delta_pix = window_size/npix + _R = np.linspace(-window_size/2, window_size/2, npix) + XX, YY = np.meshgrid(_R, _R) + r_min, r_max = 0.5, 1.5 + + no_mask = mask_annular(0, 0, XX, YY, r_min = 0, r_max = None) + mask_1 = mask_annular(0, 0, XX, YY, r_min, r_max = None) + mask_2 = mask_annular(0, 0, XX, YY, r_min, r_max) + + area_no_mask = simps(simps(no_mask, _R, axis=0), _R, axis=-1) + area_mask_1 = simps(simps(mask_1, _R, axis=0), _R, axis=-1) + area_mask_2 = simps(simps(mask_2, _R, axis=0), _R, axis=-1) + + area_no_mask_real = window_size**2 + area_mask_1_real = window_size**2 - np.pi*r_min**2 + area_mask_2_real = np.pi*(r_max**2 - r_min**2) + + npt.assert_array_almost_equal(area_no_mask_real,area_no_mask, decimal=3) + npt.assert_array_almost_equal(area_mask_1_real,area_mask_1, decimal=3) + npt.assert_array_almost_equal(area_mask_2_real,area_mask_2, decimal=3) if __name__ == '__main__': From eb9d4ac39ef4ca6e30d1e871c47ef9c8a8a44048 Mon Sep 17 00:00:00 2001 From: Birendra Dhanasingham Date: Sat, 16 Sep 2023 14:17:21 -0600 Subject: [PATCH 4/7] Update test_realization_extensions.py --- tests/test_realization_extensions.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/test_realization_extensions.py b/tests/test_realization_extensions.py index 200bff2b..e8aacdd0 100644 --- a/tests/test_realization_extensions.py +++ b/tests/test_realization_extensions.py @@ -417,6 +417,8 @@ def kappa_GRF(delta_pix, num_pix, alpha): kappa = kappa_GRF(delta_pix, npix, alpha) corr = corr_kappa_with_mask(kappa, window_size, r, mu, apply_mask = False, r_min = 0, r_max = None, normalization = False) + corr_mask = corr_kappa_with_mask(kappa, window_size, r, mu, apply_mask = True, r_min = 0.5, r_max = None, normalization = False) + corr_mask_ann = corr_kappa_with_mask(kappa, window_size, r, mu, apply_mask = True, r_min = 0.5, r_max = 1.5, normalization = False) xi_0_real = delta_pix**(2-alpha)/(2*np.pi*r) @@ -426,7 +428,9 @@ def kappa_GRF(delta_pix, num_pix, alpha): corr_real = xi_l_grid*T_l_grid - npt.assert_array_almost_equal(corr_real,corr, decimal=2) + npt.assert_array_almost_equal(corr_real, corr, decimal=2) + npt.assert_array_almost_equal(corr_real, corr_mask, decimal=2) + npt.assert_array_almost_equal(corr_real, corr_mask_ann, decimal=2) def test_xi_l(self): mu = np.linspace(-1, 1, 100) From 8b3d2b8f0505568cf11fec44c9d6ed88dec890c2 Mon Sep 17 00:00:00 2001 From: Birendra Dhanasingham Date: Sat, 16 Sep 2023 18:08:30 -0600 Subject: [PATCH 5/7] Update test_realization_extensions.py --- tests/test_realization_extensions.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/test_realization_extensions.py b/tests/test_realization_extensions.py index e8aacdd0..ddc32d95 100644 --- a/tests/test_realization_extensions.py +++ b/tests/test_realization_extensions.py @@ -419,6 +419,9 @@ def kappa_GRF(delta_pix, num_pix, alpha): corr = corr_kappa_with_mask(kappa, window_size, r, mu, apply_mask = False, r_min = 0, r_max = None, normalization = False) corr_mask = corr_kappa_with_mask(kappa, window_size, r, mu, apply_mask = True, r_min = 0.5, r_max = None, normalization = False) corr_mask_ann = corr_kappa_with_mask(kappa, window_size, r, mu, apply_mask = True, r_min = 0.5, r_max = 1.5, normalization = False) + corr_norm = corr_kappa_with_mask(kappa, window_size, r, mu, apply_mask = False, r_min = 0, r_max = None, normalization = True) + corr_mask_norm = corr_kappa_with_mask(kappa, window_size, r, mu, apply_mask = True, r_min = 0.5, r_max = None, normalization = True) + corr_mask_ann_norm = corr_kappa_with_mask(kappa, window_size, r, mu, apply_mask = True, r_min = 0.5, r_max = 1.5, normalization = True) xi_0_real = delta_pix**(2-alpha)/(2*np.pi*r) @@ -427,10 +430,14 @@ def kappa_GRF(delta_pix, num_pix, alpha): xi_l_grid = np.transpose([xi_0_real] *mu.shape[0]) corr_real = xi_l_grid*T_l_grid + corr_real_norm = np.linalg.norm(corr_real, 1)*corr_real npt.assert_array_almost_equal(corr_real, corr, decimal=2) npt.assert_array_almost_equal(corr_real, corr_mask, decimal=2) npt.assert_array_almost_equal(corr_real, corr_mask_ann, decimal=2) + npt.assert_array_almost_equal(corr_real_norm,corr_norm, 1) + npt.assert_array_almost_equal(corr_real_norm,corr_mask_norm, 1) + npt.assert_array_almost_equal(corr_real_norm,corr_mask_ann_norm, 1) def test_xi_l(self): mu = np.linspace(-1, 1, 100) From 603e6d31473e63bb58ad2aa7d98e63bf1c11f74f Mon Sep 17 00:00:00 2001 From: Birendra Dhanasingham Date: Wed, 20 Sep 2023 11:49:08 -0600 Subject: [PATCH 6/7] Update realization_extensions.py --- pyHalo/realization_extensions.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pyHalo/realization_extensions.py b/pyHalo/realization_extensions.py index a0a3de61..83ba784b 100644 --- a/pyHalo/realization_extensions.py +++ b/pyHalo/realization_extensions.py @@ -503,7 +503,7 @@ def _get_fluctuation_halos(realization, fluctuation_amplitude, fluctuation_size, return fluctuations -def corr_kappa_with_mask(kappa_map, map_size, r, mu, apply_mask = True, r_min = 0, r_max = None, normalization = True): +def corr_kappa_with_mask(kappa_map, map_size, r, mu, apply_mask = True, r_min = 0.5, r_max = 1.5, normalization = False): """ This function computes the two-point correlation function from a convergence map. @@ -514,7 +514,8 @@ def corr_kappa_with_mask(kappa_map, map_size, r, mu, apply_mask = True, r_min = of the angles between 0 and 180 degrees. :param apply_mask: if True, apply the mask on the convergence map. :param r_min: inner radius of mask in units of grid coordinates - :param r_max: outer radius of mask in units of grid coordinates + :param r_max: outer radius of mask in units of grid coordinates. If r_max = None, the size of the convergence map's outside + boundary becomes the mask's outer boundary. :param normalization: if True, apply normalization to the correlation function. :return: the two-point correlation function on the (mu, r) coordinate grid. """ From 9b77527d97baf170c9df2b1df200dfb8b952af79 Mon Sep 17 00:00:00 2001 From: Birendra Dhanasingham Date: Wed, 20 Sep 2023 22:19:30 -0600 Subject: [PATCH 7/7] Update test_realization_extensions.py --- tests/test_realization_extensions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_realization_extensions.py b/tests/test_realization_extensions.py index 8521d4f6..261bf427 100644 --- a/tests/test_realization_extensions.py +++ b/tests/test_realization_extensions.py @@ -1,6 +1,6 @@ import pytest from pyHalo.single_realization import SingleHalo -from pyHalo.realization_extensions import RealizationExtensions, corr_kappa_with_mask, _xi_l, _xi_l_to_Pk_l, fit_correlation_multipole +from pyHalo.realization_extensions import RealizationExtensions, corr_kappa_with_mask, xi_l, xi_l_to_Pk_l, fit_correlation_multipole from pyHalo.Cosmology.cosmology import Cosmology from scipy.interpolate import interp1d import numpy.testing as npt