def make__gaussian__sub_gaussian(sub_size): data_type = "gaussian__sub_gaussian" # This lens-only system has a Dev Vaucouleurs spheroid / bulge. gaussian_0 = toy.SphericalGaussian(centre=(0.0, 0.0), intensity=10.0, sigma=1.0) gaussian_1 = toy.SphericalGaussian(centre=(0.5, 0.5), intensity=0.2, sigma=0.1) simulate_imaging_from_gaussian_and_output_to_fits( gaussians=[gaussian_0, gaussian_1], pixel_scales=0.1, shape_2d=(40, 40), data_type=data_type, sub_size=sub_size, )
def test__customize(self, mask_7x7, results_7x7, results_collection_7x7, imaging_7x7): class MyPlanePhaseAnd(toy.PhaseImaging): def customize_priors(self, results): self.gaussians = results.last.instance.gaussians gaussian = toy.SphericalGaussian() gaussian_model = af.PriorModel(cls=toy.SphericalGaussian) setattr(results_7x7.instance, "gaussians", [gaussian]) setattr(results_7x7.model, "gaussians", [gaussian_model]) phase_dataset_7x7 = MyPlanePhaseAnd( phase_name="test_phase", optimizer_class=mock_pipeline.MockNLO) phase_dataset_7x7.make_analysis(dataset=imaging_7x7, mask=mask_7x7, results=results_collection_7x7) phase_dataset_7x7.customize_priors(results_collection_7x7) assert phase_dataset_7x7.gaussians == [gaussian] class MyPlanePhaseAnd(toy.PhaseImaging): def customize_priors(self, results): self.gaussians = results.last.model.gaussians gaussian = toy.SphericalGaussian() gaussian_model = af.PriorModel(cls=toy.SphericalGaussian) setattr(results_7x7.instance, "gaussians", [gaussian]) setattr(results_7x7.model, "gaussians", [gaussian_model]) phase_dataset_7x7 = MyPlanePhaseAnd( phase_name="test_phase", optimizer_class=mock_pipeline.MockNLO) phase_dataset_7x7.make_analysis(dataset=imaging_7x7, mask=mask_7x7, results=results_collection_7x7) phase_dataset_7x7.customize_priors(results_collection_7x7) assert phase_dataset_7x7.gaussians == [gaussian_model]
def test__results_of_phase_are_available_as_properties( self, imaging_7x7, mask_7x7): clean_images() phase_dataset_7x7 = toy.PhaseImaging( optimizer_class=mock_pipeline.MockNLO, gaussians=[toy.SphericalGaussian()], phase_name="test_phase_2", ) result = phase_dataset_7x7.run(dataset=imaging_7x7, mask=mask_7x7) assert isinstance(result, toy.AbstractPhase.Result)
def make__gaussian_x1__input_sigma(sub_size, sigma): data_type = "gaussian_x1__sigma_" + str(sigma) # This lens-only system has a Dev Vaucouleurs spheroid / bulge. gaussian = toy.SphericalGaussian(centre=(0.0, 0.0), intensity=10.0, sigma=sigma) simulate_imaging_from_gaussian_and_output_to_fits( gaussians=[gaussian], pixel_scales=0.1, shape_2d=(25, 25), data_type=data_type, sub_size=sub_size, )
def test__fit_figure_of_merit__matches_correct_fit_given_gaussian_profiles( self, imaging_7x7, mask_7x7): gaussian = toy.SphericalGaussian(intensity=0.1) phase_imaging_7x7 = toy.PhaseImaging(gaussians=[gaussian], sub_size=2, phase_name="test_phase") analysis = phase_imaging_7x7.make_analysis(dataset=imaging_7x7, mask=mask_7x7) instance = phase_imaging_7x7.model.instance_from_unit_vector([]) fit_figure_of_merit = analysis.fit(instance=instance) mask = phase_imaging_7x7.meta_imaging_fit.mask_with_phase_sub_size_from_mask( mask=mask_7x7) masked_imaging = aa.masked.imaging(imaging=imaging_7x7, mask=mask) model_image = gaussian.profile_image_from_grid( grid=masked_imaging.grid) fit = fit_masked_dataset(masked_dataset=masked_imaging, model_data=model_image.in_1d_binned) assert fit.likelihood == fit_figure_of_merit
def customize_priors(self, results): self.gaussians[0] = toy.SphericalGaussian()
def make_gaussian_1(): # noinspection PyTypeChecker return toy.SphericalGaussian(centre=(0.5, 0.5), intensity=2.0, sigma=1.0)
def test__set_instances(self, phase_dataset_7x7): phase_dataset_7x7.gaussians = [toy.SphericalGaussian()] assert phase_dataset_7x7.model.gaussians == [toy.SphericalGaussian()]