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']