예제 #1
0
def test_sky_shell2():
    width = 2 * u.deg
    rad = 2 * u.deg
    model = Shell2SpatialModel(lon_0="1 deg", lat_0="45 deg", r_0=rad + width, eta=0.5)
    lon = [1, 2, 4] * u.deg
    lat = 45 * u.deg
    val = model(lon, lat)
    assert val.unit == "deg-2"
    desired = [55.979449, 57.831651, 94.919895]
    assert_allclose(val.to_value("sr-1"), desired)
    radius = model.evaluation_radius
    assert radius.unit == "deg"
    assert_allclose(radius.value, rad.value + width.value)
    assert_allclose(model.r_in.value, rad.value)
    assert isinstance(model.to_region(), CircleAnnulusSkyRegion)
예제 #2
0
    Shell2SpatialModel,
    SkyModel,
)

tags = [
    r"Disk-like, $\eta \rightarrow 0$",
    r"Shell, $\eta=0.25$",
    r"Peaked, $\eta\rightarrow 1$",
]
eta_range = [0.001, 0.25, 1]
fig, axes = plt.subplots(1, 3, figsize=(9, 6))
for ax, eta, tag in zip(axes, eta_range, tags):
    model = Shell2SpatialModel(
        lon_0="10 deg",
        lat_0="20 deg",
        r_0="2 deg",
        eta=eta,
        frame="galactic",
    )
    model.plot(ax=ax)
    ax.set_title(tag)
    ax.set_xticks([])
    ax.set_yticks([])
plt.tight_layout()

# %%
# YAML representation
# -------------------
# Here is an example YAML file using the model:

pwl = PowerLawSpectralModel()