コード例 #1
0
ファイル: test_wcsnd.py プロジェクト: peroju/gammapy
def test_convolve_pixel_scale_error():
    m = WcsNDMap.create(binsz=0.05 * u.deg, width=5 * u.deg)
    kgeom = WcsGeom.create(binsz=0.04 * u.deg, width=0.5 * u.deg)

    kernel = PSFKernel.from_gauss(kgeom,
                                  sigma=0.1 * u.deg,
                                  max_radius=1.5 * u.deg)

    with pytest.raises(ValueError):
        m.convolve(kernel)
コード例 #2
0
def test_convolve_pixel_scale_error():
    m = WcsNDMap.create(binsz=0.05 * u.deg, width=5 * u.deg)
    kgeom = WcsGeom.create(binsz=0.04 * u.deg, width=0.5 * u.deg)

    kernel = PSFKernel.from_gauss(kgeom,
                                  sigma=0.1 * u.deg,
                                  max_radius=1.5 * u.deg)

    with pytest.raises(ValueError) as excinfo:
        m.convolve(kernel)
    assert "Pixel size of kernel and map not compatible." == str(excinfo.value)
コード例 #3
0
ファイル: test_psf_kernel.py プロジェクト: peroju/gammapy
def test_make_image():
    energy_axis = MapAxis.from_edges([100, 200, 1000],
                                     name="energy",
                                     unit="TeV",
                                     interp="log")
    geom = WcsGeom.create(binsz=0.1, npix=20, axes=[energy_axis])
    exposures = np.ones(geom.shape_axes)
    sigma = 0.5 * u.deg
    kernel = PSFKernel.from_gauss(geom, sigma)
    psf2D = kernel.make_image(exposures=exposures)
    assert_allclose(psf2D.psf_kernel_map.data.sum(), 1.0, rtol=1e-3)
    assert_allclose(psf2D.data[10, 14], 0.0038, rtol=1e-2)
コード例 #4
0
ファイル: test_psf_kernel.py プロジェクト: peroju/gammapy
def test_psf_kernel_from_gauss_read_write(tmp_path):
    sigma = 0.5 * u.deg
    binsz = 0.1 * u.deg
    geom = WcsGeom.create(binsz=binsz, npix=150, axes=[MapAxis((0, 1, 2))])

    kernel = PSFKernel.from_gauss(geom, sigma)

    # Check that both maps are identical
    assert_allclose(kernel.psf_kernel_map.data[0],
                    kernel.psf_kernel_map.data[1])

    # Is there an odd number of pixels
    assert_allclose(np.array(kernel.psf_kernel_map.geom.npix) % 2, 1)

    kernel.write(tmp_path / "tmp.fits", overwrite=True)
    kernel2 = PSFKernel.read(tmp_path / "tmp.fits")
    assert_allclose(kernel.psf_kernel_map.data, kernel2.psf_kernel_map.data)
コード例 #5
0
def test_psf_kernel_from_gauss_read_write(tmpdir):
    sigma = 0.5 * u.deg
    binsz = 0.1 * u.deg
    geom = WcsGeom.create(binsz=binsz, npix=150, axes=[MapAxis((0, 1, 2))])

    kernel = PSFKernel.from_gauss(geom, sigma)

    # Check that both maps are identical
    assert_allclose(kernel.psf_kernel_map.data[0],
                    kernel.psf_kernel_map.data[1])

    # Is there an odd number of pixels
    assert_allclose(np.array(kernel.psf_kernel_map.geom.npix) % 2, 1)

    filename = str(tmpdir / "test_kernel.fits")
    # Test read and write
    kernel.write(filename, overwrite=True)
    newkernel = PSFKernel.read(filename)
    assert_allclose(kernel.psf_kernel_map.data, newkernel.psf_kernel_map.data)
コード例 #6
0
ファイル: test_cube.py プロジェクト: fjhzwl/gammapy
def psf(geom_true):
    sigma = 0.5 * u.deg
    return PSFKernel.from_gauss(geom_true, sigma)