Пример #1
0
def test_get_fits_wcs(tmpdir):
    with ImageModel(FITS_FILE) as dm:

        # Refer to the data array to initialize it.
        dm.data = np.zeros((5, 5))

        # Now continue with the test.
        wcs1 = dm.get_fits_wcs()
        dm2 = dm.copy()
        wcs2 = dm2.get_fits_wcs()

    x = np.random.rand(2**16, wcs1.wcs.naxis)
    world1 = wcs1.all_pix2world(x, 1)
    world2 = wcs2.all_pix2world(x, 1)

    assert_array_almost_equal(world1, world2)

    wcs1.wcs.crpix[0] = 42.0

    dm2.set_fits_wcs(wcs1)
    assert dm2.meta.wcsinfo.crpix1 == 42.0

    with warnings.catch_warnings():
        # Filter out warnings generated by WCSLIB>=7.1
        warnings.simplefilter("ignore")
        wcs2 = dm2.get_fits_wcs()
    assert wcs2.wcs.crpix[0] == 42.0

    dm2_tmp_fits = str(tmpdir.join("tmp_dm2.fits"))
    dm2.to_fits(dm2_tmp_fits)

    with ImageModel(dm2_tmp_fits) as dm3:
        wcs3 = dm3.get_fits_wcs()

    assert wcs3.wcs.crpix[0] == 42.0

    x = np.random.rand(2**16, wcs1.wcs.naxis)
    world1 = wcs1.all_pix2world(x, 1)
    world2 = wcs3.all_pix2world(x, 1)

    dm4 = ImageModel((10, 10))
    dm4.set_fits_wcs(wcs3)
    dm4_tmp_fits = str(tmpdir.join("tmp_dm4.fits"))
    dm4.to_fits(dm4_tmp_fits, overwrite=True)

    with ImageModel(dm4_tmp_fits) as dm5:
        with warnings.catch_warnings():
            # Filter out warnings generated by WCSLIB>=7.1
            warnings.simplefilter("ignore")
            wcs5 = dm5.get_fits_wcs()

    assert wcs5.wcs.crpix[0] == 42.0
#add the var_poisson data and header
hdul_rate.append(fits.ImageHDU(header=header_vr, data=data_rnoise))

hdul_rate.info()

#save the file
hdul_rate.writeto('test_rate.fits', overwrite=True)

from astropy.wcs import WCS
w = WCS(slp_fname)
im = ImageModel(slp_fname)
#ra, dec, lam = im.meta.wcs(x, y)
#print(ra,dec,lam)

im.set_fits_wcs(w)
test = im.find_fits_keyword('V2_REF')
print(test)
test = im.find_fits_keyword('TELESCOP')
print(test)
test = im.find_fits_keyword('NAXIS')
print(test)
im.meta.wcsinfo.v2_ref = header_slp['V2_REF']
print(im.meta.wcsinfo.v2_ref)
im.meta.wcsinfo.v3_ref = header_slp['V3_REF']
print(im.meta.wcsinfo.v3_ref)
im.meta.wcsinfo.pa_v3 = header_slp['PA_V3']
print(im.meta.wcsinfo.pa_v3)
im.meta.wcsinfo.ra_ref = header_slp['RA_REF']
im.meta.wcsinfo.dec_ref = header_slp['DEC_REF']
im.meta.wcsinfo.roll_ref = header_slp['ROLL_REF']