与Fits文件中的标头值不同的丰富WCS信息

时间:2018-11-12 21:36:36

标签: python header astropy fits pyfits

使用Fits文件时出现问题。该问题与wcs和文件的标题有关,为了提供信息,我的fits文件的轴为速度和度。

问题是WCS所说的和我的标题(正确的)所说的之间存在差异。

特别是,如果我这样做:

fits.open('file.fits')[0].header['CRVAL2']

,我得到6012.0,对于

fits.open('pv749290_gu.fits')[0].header['CDELT2']

,我得到4.0

到目前为止,一切都很好。问题出在我这样做时

w = WCS('file.fits')

,因为我得到了:

 CRVAL : 0.0  6012000.0 

 CDELT : 2.999833375699044  4000.0  

因此,正如您所看到的,我最初为CRVAL2和CDELT2设置的值突然大了3个数量级,这会影响然后绘制图像,因为我使用“ w”作为投影来绘制轴。 有人可以帮我解决这个问题吗?预先感谢!

1 个答案:

答案 0 :(得分:0)

因此,如果有一天有同样的问题:

问题是,为了尽量清晰起见,我向文件的CUNIT2添加了一个值,即使该关键字最初不在标题中也是如此。在这种情况下,我使用的是hdr ['CUNIT2'] ='KM / S',但是在查看WCS(file.fits)时,CRVAL2的值似乎是m / s,而不是km / s,所以我认为WCS的默认设置和我提供的单位之间有一些张力(?)。

无论如何,通过再次删除标头的CUNIT2的标签,并再次读取WCS(file.fits),WCS和标头之间的差异消失了,文件现在具有正确的尺寸,尽管单位不是在关键字中指定(但您当然可以在CRVAL2中添加注释,以明确说明单位)。