from astropy.io import fits
from astropy.wcs import WCS
from reproject import reproject_interp
from astropy.wcs import WCS
import matplotlib.pyplot as plt
import numpy as np
from astropy.io import fits as pf
from copy import deepcopy
from regions import PixCoord
from regions import EllipseSkyRegion, EllipsePixelRegion
from astropy import units as u
from astropy.coordinates import SkyCoord
import pandas as pd
import sys
def corr_header(source_name, source, loc_cen):
print(source)
hdr = pf.getheader(source)
data = pf.getdata(source)[0,0]
hdr0 = deepcopy(hdr)
hdr = pf.Header({ 'SIMPLE': True,
'BITPIX': -32,
'NAXIS': 2,
'NAXIS1': hdr0['NAXIS1'],
'NAXIS2': hdr0['NAXIS2'],
'CDELT1': hdr0['CDELT1'],
'CRVAL1': hdr0['CRVAL1'],
'CRPIX1': hdr0['CRPIX1'],
'CTYPE1': hdr0['CTYPE1'],
'CDELT2': hdr0['CDELT2'],
'CRPIX2': hdr0['CRPIX2'],
'CRVAL2': hdr0['CRVAL2'],
'CTYPE2': hdr0['CTYPE2'],
'BMAJ' : hdr0['BMAJ'],
'BMIN' : hdr0['BMIN'],
'BPA' : hdr0['BPA'],
'EQUINOX': 2000.00,
'EXTEND':True
})
fits.writeto('new1.fits',data, hdr, overwrite=True)
hdr1 = pf.getheader('new1.fits')
hdr01 = deepcopy(hdr1)
data1 = pf.getdata('new1.fits')
hdr1 = pf.Header({ 'SIMPLE': True,
'BITPIX': -32,
'NAXIS': 2,
'NAXIS1': 31,
'NAXIS2': 31,
'CDELT1': hdr0['CDELT1'],
'CRVAL1': loc_cen[0],
'CRPIX1': 16,
'CTYPE1': hdr0['CTYPE1'],
'CDELT2': hdr0['CDELT2'],
'CRPIX2': 16,
'CRVAL2': loc_cen[1],
'CTYPE2': hdr0['CTYPE2'],
'BMAJ' : hdr0['BMAJ'],
'BMIN' : hdr0['BMIN'],
'BPA' : hdr0['BPA'],
'EQUINOX': 2000.00,
'EXTEND':True
})
#print(hdr01)
data_n1, footprint = reproject_interp((data1,hdr01), hdr1)
fits.writeto(source_name+'.fits', data_n1, hdr1, overwrite=True)
pd_inputfits = pd.read_csv('vlassnew.csv')
for j in range(30,31):
print(j)
inputfits = np.array(pd_inputfits[str(j)])
source_name = inputfits[0]
source = inputfits[1]
loc_cen = np.array(inputfits[2:4]).astype(np.float)
corr_header(source_name, source, loc_cen)
【无标题】
最新推荐文章于 2024-09-15 22:31:42 发布