Example #1
0
def test_contributes_region_mask():
    axis = MapAxis.from_edges(np.logspace(-1, 1, 3), unit=u.TeV, name="energy")
    geom = RegionGeom.create("galactic;circle(0, 0, 0.2)",
                             axes=[axis],
                             binsz_wcs="0.05 deg")

    mask = Map.from_geom(geom, unit="", dtype="bool")
    mask.data[...] = True

    spatial_model1 = GaussianSpatialModel(lon_0="0.2 deg",
                                          lat_0="0 deg",
                                          sigma="0.1 deg",
                                          frame="galactic")
    spatial_model2 = PointSpatialModel(lon_0="0.3 deg",
                                       lat_0="0.3 deg",
                                       frame="galactic")

    model1 = SkyModel(
        spatial_model=spatial_model1,
        spectral_model=PowerLawSpectralModel(),
        name="source-1",
    )
    model2 = SkyModel(
        spatial_model=spatial_model2,
        spectral_model=PowerLawSpectralModel(),
        name="source-2",
    )
    assert model1.contributes(mask, margin=0 * u.deg)
    assert not model2.contributes(mask, margin=0 * u.deg)
    assert model2.contributes(mask, margin=0.3 * u.deg)
Example #2
0
def test_contributes(models):
    center_sky = SkyCoord(3, 4, unit="deg", frame="galactic")
    circle_sky_12 = CircleSkyRegion(center=center_sky, radius=1 * u.deg)
    axis = MapAxis.from_edges(np.logspace(-1, 1, 3), unit=u.TeV, name="energy")
    geom = WcsGeom.create(skydir=(3, 4), npix=(5, 4), frame="galactic", axes=[axis])

    mask = geom.region_mask([circle_sky_12])
    spatial_model = GaussianSpatialModel(
        lon_0="0 deg", lat_0="0 deg", sigma="0.9 deg", frame="galactic"
    )
    assert spatial_model.evaluation_region.height == 2 * spatial_model.evaluation_radius
    model4 = SkyModel(
        spatial_model=spatial_model,
        spectral_model=PowerLawSpectralModel(),
        name="source-4",
    )
    assert model4.contributes(mask, margin=0 * u.deg)