From e0bae785e8f843c961de1ca251a8c17e601da1ba Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Wed, 2 Apr 2025 20:21:07 +0100 Subject: [PATCH 1/2] swap convolver for PSF --- autolens/__init__.py | 1 - autolens/imaging/fit_imaging.py | 6 +- autolens/lens/to_inversion.py | 2 +- autolens/lens/tracer.py | 4 +- test_autolens/conftest.py | 6 +- test_autolens/imaging/test_fit_imaging.py | 12 ++-- .../imaging/test_simulate_and_fit_imaging.py | 8 +-- test_autolens/lens/test_operate.py | 63 ++----------------- test_autolens/lens/test_to_inversion.py | 2 +- 9 files changed, 26 insertions(+), 78 deletions(-) diff --git a/autolens/__init__.py b/autolens/__init__.py index 255e468eb..8986a1b2f 100644 --- a/autolens/__init__.py +++ b/autolens/__init__.py @@ -9,7 +9,6 @@ from autoarray.dataset.dataset_model import DatasetModel from autoarray.mask.mask_1d import Mask1D from autoarray.mask.mask_2d import Mask2D -from autoarray.operators.convolver import Convolver from autoarray.operators.over_sampling.over_sampler import OverSampler # noqa from autoarray.inversion.inversion.dataset_interface import DatasetInterface from autoarray.inversion.inversion.mapper_valued import MapperValued diff --git a/autolens/imaging/fit_imaging.py b/autolens/imaging/fit_imaging.py index 775367fac..70e5ea418 100644 --- a/autolens/imaging/fit_imaging.py +++ b/autolens/imaging/fit_imaging.py @@ -84,7 +84,7 @@ def blurred_image(self) -> aa.Array2D: """ return self.tracer.blurred_image_2d_from( grid=self.grids.lp, - convolver=self.dataset.convolver, + psf=self.dataset.psf, blurring_grid=self.grids.blurring, ) @@ -103,7 +103,7 @@ def tracer_to_inversion(self) -> TracerToInversion: data=self.profile_subtracted_image, noise_map=self.noise_map, grids=self.grids, - convolver=self.dataset.convolver, + psf=self.dataset.psf, w_tilde=self.w_tilde, ) @@ -163,7 +163,7 @@ def galaxy_model_image_dict(self) -> Dict[ag.Galaxy, np.ndarray]: galaxy_blurred_image_2d_dict = self.tracer.galaxy_blurred_image_2d_dict_from( grid=self.grids.lp, - convolver=self.dataset.convolver, + psf=self.dataset.psf, blurring_grid=self.grids.blurring, ) diff --git a/autolens/lens/to_inversion.py b/autolens/lens/to_inversion.py index 2e020775b..480a4b001 100644 --- a/autolens/lens/to_inversion.py +++ b/autolens/lens/to_inversion.py @@ -180,7 +180,7 @@ def lp_linear_func_list_galaxy_dict( data=self.dataset.data, noise_map=self.dataset.noise_map, grids=grids, - convolver=self.convolver, + psf=self.psf, transformer=self.transformer, w_tilde=self.dataset.w_tilde, ) diff --git a/autolens/lens/tracer.py b/autolens/lens/tracer.py index 3e19bf0bb..4e0c2581a 100644 --- a/autolens/lens/tracer.py +++ b/autolens/lens/tracer.py @@ -1106,5 +1106,5 @@ def set_snr_of_snr_light_profiles( ) @aa.profile_func - def convolve_via_convolver(self, image, blurring_image, convolver): - return convolver.convolve_image(image=image, blurring_image=blurring_image) + def convolve_via_psf(self, image, blurring_image, psf): + return psf.convolve_image(image=image, blurring_image=blurring_image) diff --git a/test_autolens/conftest.py b/test_autolens/conftest.py index cf02d168f..84606363d 100644 --- a/test_autolens/conftest.py +++ b/test_autolens/conftest.py @@ -119,9 +119,9 @@ def make_psf_3x3(): return fixtures.make_psf_3x3() -@pytest.fixture(name="convolver_7x7") -def make_convolver_7x7(): - return fixtures.make_convolver_7x7() +@pytest.fixture(name="psf_3x3") +def make_psf_3x3(): + return fixtures.make_psf_3x3() @pytest.fixture(name="imaging_7x7") diff --git a/test_autolens/imaging/test_fit_imaging.py b/test_autolens/imaging/test_fit_imaging.py index d2ada81de..40e55003f 100644 --- a/test_autolens/imaging/test_fit_imaging.py +++ b/test_autolens/imaging/test_fit_imaging.py @@ -480,7 +480,7 @@ def test__galaxy_model_image_dict(masked_imaging_7x7): blurred_image_2d_list = tracer.blurred_image_2d_list_from( grid=masked_imaging_7x7.grids.lp, - convolver=masked_imaging_7x7.convolver, + psf=masked_imaging_7x7.psf, blurring_grid=masked_imaging_7x7.grids.blurring, ) @@ -596,19 +596,19 @@ def test__subtracted_image_of_galaxies_dict(masked_imaging_7x7): g0_image = g0.blurred_image_2d_from( grid=masked_imaging_7x7.grids.lp, blurring_grid=masked_imaging_7x7.grids.blurring, - convolver=masked_imaging_7x7.convolver + psf=masked_imaging_7x7.psf ) g1_image = g1.blurred_image_2d_from( grid=masked_imaging_7x7.grids.lp, blurring_grid=masked_imaging_7x7.grids.blurring, - convolver=masked_imaging_7x7.convolver + psf=masked_imaging_7x7.psf ) g2_image = g2.blurred_image_2d_from( grid=masked_imaging_7x7.grids.lp, blurring_grid=masked_imaging_7x7.grids.blurring, - convolver=masked_imaging_7x7.convolver + psf=masked_imaging_7x7.psf ) assert fit.subtracted_images_of_galaxies_dict[g0] == pytest.approx( @@ -637,7 +637,7 @@ def test__subtracted_image_of_galaxies_dict(masked_imaging_7x7): blurred_image_2d_list = tracer.blurred_image_2d_list_from( grid=masked_imaging_7x7.grids.lp, - convolver=masked_imaging_7x7.convolver, + psf=masked_imaging_7x7.psf, blurring_grid=masked_imaging_7x7.grids.blurring, ) @@ -741,7 +741,7 @@ def test___unmasked_blurred_images(masked_imaging_7x7): blurred_images_of_planes = tracer.blurred_image_2d_list_from( grid=masked_imaging_7x7.grids.lp, - convolver=masked_imaging_7x7.convolver, + psf=masked_imaging_7x7.psf, blurring_grid=masked_imaging_7x7.grids.blurring, ) diff --git a/test_autolens/imaging/test_simulate_and_fit_imaging.py b/test_autolens/imaging/test_simulate_and_fit_imaging.py index f1dc8c990..d98ea341d 100644 --- a/test_autolens/imaging/test_simulate_and_fit_imaging.py +++ b/test_autolens/imaging/test_simulate_and_fit_imaging.py @@ -199,7 +199,7 @@ def test__simulate_imaging_data_and_fit__linear_light_profiles_agree_with_standa lens_galaxy_image = lens_galaxy.blurred_image_2d_from( grid=masked_dataset.grids.lp, - convolver=masked_dataset.convolver, + psf=masked_dataset.psf, blurring_grid=masked_dataset.grids.blurring, ) @@ -217,7 +217,7 @@ def test__simulate_imaging_data_and_fit__linear_light_profiles_agree_with_standa source_galaxy_image = source_galaxy.blurred_image_2d_from( grid=traced_grid_2d_list[1], - convolver=masked_dataset.convolver, + psf=masked_dataset.psf, blurring_grid=traced_blurring_grid_2d_list[1], ) @@ -316,7 +316,7 @@ def test__simulate_imaging_data_and_fit__linear_light_profiles_and_pixelization( lens_galaxy_image = lens_galaxy.blurred_image_2d_from( grid=masked_dataset.grids.lp, - convolver=masked_dataset.convolver, + psf=masked_dataset.psf, blurring_grid=masked_dataset.grids.blurring, ) @@ -464,7 +464,7 @@ def test__simulate_imaging_data_and_fit__linear_light_profiles_and_pixelization_ lens_galaxy_image = lens_galaxy.blurred_image_2d_from( grid=masked_dataset.grids.lp, - convolver=masked_dataset.convolver, + psf=masked_dataset.psf, blurring_grid=masked_dataset.grids.blurring, ) diff --git a/test_autolens/lens/test_operate.py b/test_autolens/lens/test_operate.py index 32268bbc2..280d48ae4 100644 --- a/test_autolens/lens/test_operate.py +++ b/test_autolens/lens/test_operate.py @@ -48,57 +48,6 @@ def test__operate_image__blurred_images_2d_via_psf_from__for_tracer_gives_list_o assert (blurred_image_list[0].native == blurred_image_0.native).all() assert (blurred_image_list[1].native == blurred_image_1.native).all() - -def test__operate_image__blurred_images_2d_via_convolver_from__for_tracer_gives_list_of_planes( - grid_2d_7x7, blurring_grid_2d_7x7, convolver_7x7 -): - g0 = al.Galaxy( - redshift=0.5, - light_profile=al.lp.Sersic(intensity=1.0), - mass_profile=al.mp.IsothermalSph(einstein_radius=1.0), - ) - g1 = al.Galaxy(redshift=1.0, light_profile=al.lp.Sersic(intensity=2.0)) - - blurred_image_0 = g0.blurred_image_2d_from( - grid=grid_2d_7x7, - convolver=convolver_7x7, - blurring_grid=blurring_grid_2d_7x7, - ) - - source_grid_2d_7x7 = g0.traced_grid_2d_from(grid=grid_2d_7x7) - source_blurring_grid_2d_7x7 = g0.traced_grid_2d_from(grid=blurring_grid_2d_7x7) - - blurred_image_1 = g1.blurred_image_2d_from( - grid=source_grid_2d_7x7, - convolver=convolver_7x7, - blurring_grid=source_blurring_grid_2d_7x7, - ) - - tracer = al.Tracer(galaxies=[g0, g1], cosmology=al.cosmo.Planck15()) - - blurred_image = tracer.blurred_image_2d_from( - grid=grid_2d_7x7, - convolver=convolver_7x7, - blurring_grid=blurring_grid_2d_7x7, - ) - - assert blurred_image.native == pytest.approx( - blurred_image_0.native + blurred_image_1.native, 1.0e-4 - ) - - blurred_image_list = tracer.blurred_image_2d_list_from( - grid=grid_2d_7x7, - convolver=convolver_7x7, - blurring_grid=blurring_grid_2d_7x7, - ) - - assert (blurred_image_list[0].slim == blurred_image_0.slim).all() - assert (blurred_image_list[1].slim == blurred_image_1.slim).all() - - assert (blurred_image_list[0].native == blurred_image_0.native).all() - assert (blurred_image_list[1].native == blurred_image_1.native).all() - - def test__operate_image__visibilities_of_planes_from_grid_and_transformer( grid_2d_7x7, transformer_7x7_7 ): @@ -124,7 +73,7 @@ def test__operate_image__visibilities_of_planes_from_grid_and_transformer( def test__operate_image__galaxy_blurred_image_2d_dict_from( - grid_2d_7x7, blurring_grid_2d_7x7, convolver_7x7 + grid_2d_7x7, blurring_grid_2d_7x7, psf_3x3 ): g0 = al.Galaxy(redshift=0.5, light_profile=al.lp.Sersic(intensity=1.0)) g1 = al.Galaxy( @@ -139,19 +88,19 @@ def test__operate_image__galaxy_blurred_image_2d_dict_from( g0_blurred_image = g0.blurred_image_2d_from( grid=grid_2d_7x7, - convolver=convolver_7x7, + psf=psf_3x3, blurring_grid=blurring_grid_2d_7x7, ) g1_blurred_image = g1.blurred_image_2d_from( grid=grid_2d_7x7, - convolver=convolver_7x7, + psf=psf_3x3, blurring_grid=blurring_grid_2d_7x7, ) g2_blurred_image = g2.blurred_image_2d_from( grid=grid_2d_7x7, - convolver=convolver_7x7, + psf=psf_3x3, blurring_grid=blurring_grid_2d_7x7, ) @@ -160,7 +109,7 @@ def test__operate_image__galaxy_blurred_image_2d_dict_from( g3_blurred_image = g3.blurred_image_2d_from( grid=source_grid_2d_7x7, - convolver=convolver_7x7, + psf=psf_3x3, blurring_grid=source_blurring_grid_2d_7x7, ) @@ -168,7 +117,7 @@ def test__operate_image__galaxy_blurred_image_2d_dict_from( blurred_image_dict = tracer.galaxy_blurred_image_2d_dict_from( grid=grid_2d_7x7, - convolver=convolver_7x7, + psf=psf_3x3, blurring_grid=blurring_grid_2d_7x7, ) diff --git a/test_autolens/lens/test_to_inversion.py b/test_autolens/lens/test_to_inversion.py index d8a008583..500eb4310 100644 --- a/test_autolens/lens/test_to_inversion.py +++ b/test_autolens/lens/test_to_inversion.py @@ -463,7 +463,7 @@ def test__inversion_imaging_from(grid_2d_7x7, masked_imaging_7x7): data=masked_imaging_7x7.data, noise_map=masked_imaging_7x7.noise_map, grids=grids, - convolver=masked_imaging_7x7.convolver, + psf=masked_imaging_7x7.psf, ) g_linear = al.Galaxy(redshift=0.5, light_linear=al.lp_linear.Sersic()) From fcf93940e498682aa38cf593f232215d002bb89e Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Wed, 2 Apr 2025 20:58:24 +0100 Subject: [PATCH 2/2] black --- test_autolens/lens/test_operate.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test_autolens/lens/test_operate.py b/test_autolens/lens/test_operate.py index 280d48ae4..794fa8e78 100644 --- a/test_autolens/lens/test_operate.py +++ b/test_autolens/lens/test_operate.py @@ -48,6 +48,7 @@ def test__operate_image__blurred_images_2d_via_psf_from__for_tracer_gives_list_o assert (blurred_image_list[0].native == blurred_image_0.native).all() assert (blurred_image_list[1].native == blurred_image_1.native).all() + def test__operate_image__visibilities_of_planes_from_grid_and_transformer( grid_2d_7x7, transformer_7x7_7 ):