Skip to content

Commit 9bc05aa

Browse files
authored
Merge pull request #332 from Jammy2211/feature/over_sampling_refactor
Feature/over sampling refactor
2 parents e99d806 + 6df27cb commit 9bc05aa

31 files changed

Lines changed: 292 additions & 1061 deletions

autolens/__init__.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,12 @@
55
from autoarray.dataset.interferometer.dataset import (
66
Interferometer,
77
)
8-
from autoarray.dataset.over_sampling import OverSamplingDataset
98
from autoarray.dataset.grids import GridsInterface
109
from autoarray.dataset.dataset_model import DatasetModel
1110
from autoarray.mask.mask_1d import Mask1D
1211
from autoarray.mask.mask_2d import Mask2D
1312
from autoarray.operators.convolver import Convolver
14-
from autoarray.operators.over_sampling.uniform import OverSamplingUniform # noqa
15-
from autoarray.operators.over_sampling.uniform import OverSamplerUniform # noqa
16-
from autoarray.operators.over_sampling.iterate import OverSamplingIterate
17-
from autoarray.operators.over_sampling.iterate import OverSamplerIterate
13+
from autoarray.operators.over_sampling.over_sampler import OverSampler # noqa
1814
from autoarray.inversion.inversion.dataset_interface import DatasetInterface
1915
from autoarray.inversion.inversion.mapper_valued import MapperValued
2016
from autoarray.inversion.pixelization import image_mesh
@@ -30,7 +26,6 @@
3026
from autoarray.inversion.pixelization.mappers.mapper_grids import MapperGrids
3127
from autoarray.inversion.pixelization.mappers.factory import mapper_from as Mapper
3228
from autoarray.inversion.pixelization.border_relocator import BorderRelocator
33-
from autoarray.operators.over_sampling.grid_oversampled import Grid2DOverSampled
3429
from autoarray.operators.transformer import TransformerDFT
3530
from autoarray.operators.transformer import TransformerNUFFT
3631
from autoarray.structures.arrays.uniform_1d import Array1D
@@ -39,8 +34,6 @@
3934
from autoarray.structures.grids.uniform_1d import Grid1D
4035
from autoarray.structures.grids.uniform_2d import Grid2D
4136
from autoarray.structures.grids.irregular_2d import Grid2DIrregular
42-
from autoarray.structures.grids.irregular_2d import Grid2DIrregularUniform
43-
from autoarray.operators.over_sampling.iterate import OverSamplingIterate
4437
from autoarray.structures.mesh.rectangular_2d import Mesh2DRectangular
4538
from autoarray.structures.mesh.voronoi_2d import Mesh2DVoronoi
4639
from autoarray.structures.mesh.delaunay_2d import Mesh2DDelaunay

autolens/analysis/preloads.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -158,16 +158,12 @@ def set_traced_grids_of_planes_for_inversion(self, fit_0, fit_1):
158158

159159
self.traced_grids_of_planes_for_inversion = None
160160

161-
over_sampled_grid = fit_0.grids.pixelization.over_sampling.over_sampler_from(
162-
mask=fit_0.grids.pixelization.mask
163-
).over_sampled_grid
164-
165161
traced_grids_of_planes_0 = fit_0.tracer.traced_grid_2d_list_from(
166-
grid=over_sampled_grid
162+
grid=fit_0.grids.pixelization
167163
)
168164

169165
traced_grids_of_planes_1 = fit_1.tracer.traced_grid_2d_list_from(
170-
grid=over_sampled_grid
166+
grid=fit_0.grids.pixelization
171167
)
172168

173169
if traced_grids_of_planes_0[-1] is not None:

autolens/fixtures.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
from autogalaxy.fixtures import *
44

55

6+
def make_grid_2d_7x7():
7+
return aa.Grid2D.from_mask(mask=make_mask_2d_7x7(), over_sample_size=1)
8+
9+
610
def make_positions_x2():
711
return al.Grid2DIrregular(values=[(1.0, 1.0), (2.0, 2.0)])
812

autolens/imaging/fit_imaging.py

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -84,29 +84,6 @@ def __init__(
8484

8585
self.preloads = preloads
8686

87-
@cached_property
88-
def grids(self) -> aa.GridsInterface:
89-
90-
grids = super().grids
91-
92-
if grids.non_uniform is None:
93-
return grids
94-
95-
uniform = aa.Grid2D(
96-
values=grids.non_uniform,
97-
mask=self.dataset.mask,
98-
over_sampling=self.dataset.over_sampling.non_uniform,
99-
over_sampling_non_uniform=self.dataset.over_sampling.non_uniform
100-
)
101-
102-
return aa.GridsInterface(
103-
uniform=uniform,
104-
non_uniform=grids.non_uniform,
105-
pixelization=grids.pixelization,
106-
blurring=grids.blurring,
107-
border_relocator=grids.border_relocator
108-
)
109-
11087
@property
11188
def blurred_image(self) -> aa.Array2D:
11289
"""
@@ -119,7 +96,7 @@ def blurred_image(self) -> aa.Array2D:
11996
if self.preloads.blurred_image is None:
12097

12198
return self.tracer.blurred_image_2d_from(
122-
grid=self.grids.uniform,
99+
grid=self.grids.lp,
123100
convolver=self.dataset.convolver,
124101
blurring_grid=self.grids.blurring,
125102
)
@@ -201,7 +178,7 @@ def galaxy_model_image_dict(self) -> Dict[ag.Galaxy, np.ndarray]:
201178
"""
202179

203180
galaxy_blurred_image_2d_dict = self.tracer.galaxy_blurred_image_2d_dict_from(
204-
grid=self.grids.uniform,
181+
grid=self.grids.lp,
205182
convolver=self.dataset.convolver,
206183
blurring_grid=self.grids.blurring,
207184
)
@@ -272,7 +249,7 @@ def model_images_of_planes_list(self) -> List[aa.Array2D]:
272249

273250
model_images_of_planes_list = [
274251
aa.Array2D(
275-
values=np.zeros(self.grids.uniform.shape_slim), mask=self.dataset.mask
252+
values=np.zeros(self.grids.lp.shape_slim), mask=self.dataset.mask
276253
)
277254
for i in range(self.tracer.total_planes)
278255
]
@@ -328,7 +305,7 @@ def unmasked_blurred_image(self) -> aa.Array2D:
328305
exc.raise_linear_light_profile_in_unmasked()
329306

330307
return self.tracer.unmasked_blurred_image_2d_from(
331-
grid=self.grids.uniform, psf=self.dataset.psf
308+
grid=self.grids.lp, psf=self.dataset.psf
332309
)
333310

334311
@property
@@ -344,7 +321,7 @@ def unmasked_blurred_image_of_planes_list(self) -> List[aa.Array2D]:
344321
exc.raise_linear_light_profile_in_unmasked()
345322

346323
return self.tracer.unmasked_blurred_image_2d_list_from(
347-
grid=self.grids.uniform, psf=self.dataset.psf
324+
grid=self.grids.lp, psf=self.dataset.psf
348325
)
349326

350327
@property

autolens/imaging/mock/mock_fit_imaging.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ def grid(self):
3030
if self._grid is not None:
3131
return self._grid
3232

33-
return super().grids.uniform
33+
return super().grids.lp
3434

3535
@property
3636
def grids(self) -> aa.GridsInterface:
3737

3838
return aa.GridsInterface(
39-
uniform=self.grid,
39+
lp=self.grid,
4040
pixelization=self.grid,
4141
)
4242

autolens/imaging/model/visualizer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def visualize(
115115
)
116116
plotter_interface.galaxies(
117117
galaxies=tracer.galaxies,
118-
grid=fit.grids.uniform,
118+
grid=fit.grids.lp,
119119
during_analysis=during_analysis,
120120
)
121121
if fit.inversion is not None:

autolens/imaging/simulator.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,15 @@ def via_deflections_and_galaxies_from(self, deflections : aa.VectorYX2D, galaxie
110110
grid = aa.Grid2D.uniform(
111111
shape_native=deflections.shape_native,
112112
pixel_scales=deflections.pixel_scales,
113+
over_sample_size=1
113114
)
114115

115-
deflected_grid = grid - deflections
116+
deflected_grid = aa.Grid2D(
117+
values=grid - deflections,
118+
mask=grid.mask,
119+
over_sample_size=1,
120+
over_sampled=grid - deflections
121+
)
116122

117123
image = sum(map(lambda g: g.image_2d_from(grid=deflected_grid), galaxies))
118124

autolens/interferometer/fit_interferometer.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def profile_visibilities(self) -> aa.Visibilities:
9999
transform to the sum of light profile images.
100100
"""
101101
return self.tracer.visibilities_from(
102-
grid=self.grids.uniform, transformer=self.dataset.transformer
102+
grid=self.grids.lp, transformer=self.dataset.transformer
103103
)
104104

105105
@property
@@ -172,7 +172,7 @@ def galaxy_model_image_dict(self) -> Dict[ag.Galaxy, np.ndarray]:
172172
data being fitted.
173173
"""
174174
galaxy_model_image_dict = self.tracer.galaxy_image_2d_dict_from(
175-
grid=self.grids.uniform
175+
grid=self.grids.lp
176176
)
177177

178178
galaxy_linear_obj_image_dict = self.galaxy_linear_obj_data_dict_from(
@@ -194,7 +194,7 @@ def galaxy_model_visibilities_dict(self) -> Dict[ag.Galaxy, np.ndarray]:
194194
are solved for first via the inversion.
195195
"""
196196
galaxy_model_visibilities_dict = self.tracer.galaxy_visibilities_dict_from(
197-
grid=self.grids.uniform, transformer=self.dataset.transformer
197+
grid=self.grids.lp, transformer=self.dataset.transformer
198198
)
199199

200200
galaxy_linear_obj_visibilities_dict = self.galaxy_linear_obj_data_dict_from(

autolens/interferometer/model/visualizer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,11 @@ def visualize(
109109
tracer = fit.tracer_linear_light_profiles_to_light_profiles
110110

111111
plotter_interface.tracer(
112-
tracer=tracer, grid=fit.grids.uniform, during_analysis=during_analysis
112+
tracer=tracer, grid=fit.grids.lp, during_analysis=during_analysis
113113
)
114114
plotter_interface.galaxies(
115115
galaxies=tracer.galaxies,
116-
grid=fit.grids.uniform,
116+
grid=fit.grids.lp,
117117
during_analysis=during_analysis,
118118
)
119119
if fit.inversion is not None:

autolens/interferometer/plot/fit_interferometer_plotters.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def tracer_plotter(self) -> TracerPlotter:
120120
"""
121121
return TracerPlotter(
122122
tracer=self.tracer,
123-
grid=self.fit.grids.uniform,
123+
grid=self.fit.grids.lp,
124124
mat_plot_2d=self.mat_plot_2d,
125125
visuals_2d=self.visuals_2d,
126126
include_2d=self.include_2d,

0 commit comments

Comments
 (0)