def test__set_traced_grids_of_planes(): # traced grids is None so no Preloading. tracer_0 = al.m.MockTracer(traced_grid_2d_list_from=[None, None]) tracer_1 = al.m.MockTracer(traced_grid_2d_list_from=[None, None]) fit_0 = al.m.MockFitImaging(tracer=tracer_0) fit_1 = al.m.MockFitImaging(tracer=tracer_1) preloads = al.Preloads(traced_grids_of_planes_for_inversion=1) preloads.set_traced_grids_of_planes_for_inversion(fit_0=fit_0, fit_1=fit_1) assert preloads.traced_grids_of_planes_for_inversion is None # traced grids are different, indiciating the model parameters change the grid, so no preloading. tracer_0 = al.m.MockTracer( traced_grid_2d_list_from=[None, np.array([[1.0]])]) tracer_1 = al.m.MockTracer( traced_grid_2d_list_from=[None, np.array([[2.0]])]) fit_0 = al.m.MockFitImaging(tracer=tracer_0) fit_1 = al.m.MockFitImaging(tracer=tracer_1) preloads = al.Preloads(traced_grids_of_planes_for_inversion=1) preloads.set_traced_grids_of_planes_for_inversion(fit_0=fit_0, fit_1=fit_1) assert preloads.traced_grids_of_planes_for_inversion is None # traced grids are the same meaning they are fixed in the model, so do preload. tracer_0 = al.m.MockTracer( traced_grid_2d_list_from=[None, np.array([[1.0]])]) tracer_1 = al.m.MockTracer( traced_grid_2d_list_from=[None, np.array([[1.0]])]) fit_0 = al.m.MockFitImaging(tracer=tracer_0) fit_1 = al.m.MockFitImaging(tracer=tracer_1) preloads = al.Preloads(traced_grids_of_planes_for_inversion=1) preloads.set_traced_grids_of_planes_for_inversion(fit_0=fit_0, fit_1=fit_1) assert preloads.traced_grids_of_planes_for_inversion[0] is None assert (preloads.traced_grids_of_planes_for_inversion[1] == np.array( [[1.0]])).all()
def test__set_sparse_grid_of_planes(): # sparse image plane of grids is None so no Preloading. tracer_0 = al.m.MockTracer(sparse_image_plane_grid_pg_list=[None, None]) tracer_1 = al.m.MockTracer(sparse_image_plane_grid_pg_list=[None, None]) fit_0 = al.m.MockFitImaging(tracer=tracer_0) fit_1 = al.m.MockFitImaging(tracer=tracer_1) preloads = al.Preloads(sparse_image_plane_grid_pg_list=1) preloads.set_sparse_image_plane_grid_pg_list(fit_0=fit_0, fit_1=fit_1) assert preloads.sparse_image_plane_grid_pg_list is None # sparse image plane of grids are different, indiciating the model parameters change the grid, so no preloading. tracer_0 = al.m.MockTracer( sparse_image_plane_grid_pg_list=[None, np.array([[1.0]])]) tracer_1 = al.m.MockTracer( sparse_image_plane_grid_pg_list=[None, np.array([[2.0]])]) fit_0 = al.m.MockFitImaging(tracer=tracer_0) fit_1 = al.m.MockFitImaging(tracer=tracer_1) preloads = al.Preloads(sparse_image_plane_grid_pg_list=1) preloads.set_sparse_image_plane_grid_pg_list(fit_0=fit_0, fit_1=fit_1) assert preloads.sparse_image_plane_grid_pg_list is None # sparse image plane of grids are the same meaning they are fixed in the model, so do preload. tracer_0 = al.m.MockTracer( sparse_image_plane_grid_pg_list=[None, np.array([[1.0]])]) tracer_1 = al.m.MockTracer( sparse_image_plane_grid_pg_list=[None, np.array([[1.0]])]) fit_0 = al.m.MockFitImaging(tracer=tracer_0) fit_1 = al.m.MockFitImaging(tracer=tracer_1) preloads = al.Preloads(sparse_image_plane_grid_pg_list=1) preloads.set_sparse_image_plane_grid_pg_list(fit_0=fit_0, fit_1=fit_1) assert preloads.sparse_image_plane_grid_pg_list[0] is None assert (preloads.sparse_image_plane_grid_pg_list[1] == np.array([[1.0] ])).all()
def test__preloads__refit_with_new_preloads(masked_imaging_7x7): g0 = al.Galaxy( redshift=0.5, light_profile=al.lp.EllSersic(intensity=1.0), mass_profile=al.mp.SphIsothermal(einstein_radius=1.0), ) g1 = al.Galaxy(redshift=1.0, light_profile=al.lp.EllSersic(intensity=1.0)) tracer = al.Tracer.from_galaxies(galaxies=[g0, g1]) fit = al.FitImaging(dataset=masked_imaging_7x7, tracer=tracer) refit = fit.refit_with_new_preloads(preloads=al.Preloads()) assert fit.figure_of_merit == refit.figure_of_merit refit = fit.refit_with_new_preloads(preloads=al.Preloads( blurred_image=fit.blurred_image + 1.0)) assert fit.figure_of_merit != refit.figure_of_merit
def test__preloads__blurred_image_uses_preload_when_passed( masked_imaging_7x7_no_blur): g0 = al.Galaxy(redshift=0.5, light_profile=al.m.MockLightProfile(image_2d=np.ones(1))) tracer = al.Tracer.from_galaxies(galaxies=[g0]) fit = al.FitImaging(dataset=masked_imaging_7x7_no_blur, tracer=tracer) assert (fit.blurred_image == np.array([1.0])).all() blurred_image = np.array([2.0]) preloads = al.Preloads(blurred_image=blurred_image) fit = al.FitImaging(dataset=masked_imaging_7x7_no_blur, tracer=tracer, preloads=preloads) assert (fit.blurred_image == np.array([2.0])).all()
def test__info(): file_path = path.join("{}".format(path.dirname(path.realpath(__file__))), "files") file_preloads = path.join(file_path, "preloads.summary") preloads = al.Preloads( blurred_image=np.zeros(3), w_tilde=None, use_w_tilde=False, traced_grids_of_planes_for_inversion=None, sparse_image_plane_grid_pg_list=None, relocated_grid=None, mapper_list=None, operated_mapping_matrix=None, curvature_matrix_preload=None, ) af.formatter.output_list_of_strings_to_file(file=file_preloads, list_of_strings=preloads.info) results = open(file_preloads) lines = results.readlines() i = 0 assert lines[i] == f"W Tilde = False\n" i += 1 assert lines[i] == f"Use W Tilde = False\n" i += 1 assert lines[i] == f"\n" i += 1 assert lines[i] == f"Blurred Image = False\n" i += 1 assert lines[i] == f"Traced Grids of Planes (For LEq) = False\n" i += 1 assert lines[i] == f"Sparse Image-Plane Grids of Planes = False\n" i += 1 assert lines[i] == f"Relocated Grid = False\n" i += 1 assert lines[i] == f"Mapper = False\n" i += 1 assert lines[i] == f"Blurred Mapping Matrix = False\n" i += 1 assert lines[i] == f"Curvature Matrix Sparse = False\n" i += 1 assert lines[i] == f"Regularization Matrix = False\n" i += 1 assert lines[i] == f"Log Det Regularization Matrix Term = False\n" i += 1 preloads = al.Preloads( blurred_image=1, w_tilde=1, use_w_tilde=True, traced_grids_of_planes_for_inversion=1, relocated_grid=1, sparse_image_plane_grid_pg_list=1, mapper_list=1, operated_mapping_matrix=1, curvature_matrix_preload=1, regularization_matrix=1, log_det_regularization_matrix_term=1, ) af.formatter.output_list_of_strings_to_file(file=file_preloads, list_of_strings=preloads.info) results = open(file_preloads) lines = results.readlines() i = 0 assert lines[i] == f"W Tilde = True\n" i += 1 assert lines[i] == f"Use W Tilde = True\n" i += 1 assert lines[i] == f"\n" i += 1 assert lines[i] == f"Blurred Image = True\n" i += 1 assert lines[i] == f"Traced Grids of Planes (For LEq) = True\n" i += 1 assert lines[i] == f"Sparse Image-Plane Grids of Planes = True\n" i += 1 assert lines[i] == f"Relocated Grid = True\n" i += 1 assert lines[i] == f"Mapper = True\n" i += 1 assert lines[i] == f"Blurred Mapping Matrix = True\n" i += 1 assert lines[i] == f"Curvature Matrix Sparse = True\n" i += 1 assert lines[i] == f"Regularization Matrix = True\n" i += 1 assert lines[i] == f"Log Det Regularization Matrix Term = True\n" i += 1