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)
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)