示例#1
0
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,
    )
示例#2
0
    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]
示例#3
0
    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)
示例#4
0
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,
    )
示例#5
0
    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
示例#6
0
 def customize_priors(self, results):
     self.gaussians[0] = toy.SphericalGaussian()
示例#7
0
def make_gaussian_1():
    # noinspection PyTypeChecker
    return toy.SphericalGaussian(centre=(0.5, 0.5), intensity=2.0, sigma=1.0)
示例#8
0
 def test__set_instances(self, phase_dataset_7x7):
     phase_dataset_7x7.gaussians = [toy.SphericalGaussian()]
     assert phase_dataset_7x7.model.gaussians == [toy.SphericalGaussian()]