Example #1
0
def models_gauss():
    model1 = SkyModel.create("pl", "gauss", name="source-1")
    model1.spatial_model.sigma.value = 0.1
    model1.spatial_model.lon_0.value = 0
    model1.spatial_model.lat_0.value = 0

    model2 = SkyModel.create("pl", "gauss", name="source-2")
    model2.spatial_model.sigma.value = 0.1
    model2.spatial_model.lon_0.value = 1.1
    model2.spatial_model.lat_0.value = 0

    model3 = SkyModel.create("pl", "gauss", name="source-3")
    model3.spatial_model.sigma.value = 0.1
    model3.spatial_model.lon_0.value = -1.8
    model3.spatial_model.lat_0.value = 0
    return Models([model1, model2, model3])
Example #2
0
def test_npred_spatial_model(spectrum_dataset):
    model = SkyModel.create("pl", "point", name="test")

    spectrum_dataset.models = [model]

    npred = spectrum_dataset.npred()

    assert_allclose(npred.data.sum(), 3000)
    assert spectrum_dataset.evaluators["test"].psf is None
Example #3
0
def test_npred_spatial_model(spectrum_dataset):
    model = SkyModel.create("pl", "gauss", name="test")

    spectrum_dataset.models = [model]

    npred = spectrum_dataset.npred()
    model.spatial_model.sigma.value = 1.0
    npred_large_sigma = spectrum_dataset.npred()

    assert_allclose(npred.data.sum(), 3000)
    assert_allclose(npred_large_sigma.data.sum(), 3000)
    assert spectrum_dataset.evaluators["test"].psf is None
Example #4
0
def test_flux_estimator_norm_range():
    model = SkyModel.create("pl", "gauss", name="test")

    model.spectral_model.amplitude.min = 1e-15
    model.spectral_model.amplitude.max = 1e-10

    estimator = FluxEstimator(source="test",
                              selection_optional=[],
                              reoptimize=True)

    scale_model = estimator.get_scale_model(Models([model]))

    assert_allclose(scale_model.norm.min, 1e-3)
    assert_allclose(scale_model.norm.max, 1e2)
    assert scale_model.norm.interp == "log"
Example #5
0
def test_sky_model_create():
    m = SkyModel.create("pl", "point", name="my-source")
    assert isinstance(m.spatial_model, PointSpatialModel)
    assert isinstance(m.spectral_model, PowerLawSpectralModel)
    assert m.name == "my-source"
Example #6
0
 def reference_model_default(cls):
     """Default reference model: a point source with index = 2  (`SkyModel`)"""
     return SkyModel.create("pl", "point")