有没有办法在Python的FITS文件上使用算术运算?

问题描述 投票:0回答:1

我对Python还是相当陌生,我一直在尝试为Python重新创建一个可运行的IDL程序,但是我陷于困境并不断出错。我还没有找到解决方案。该程序总共需要4个FITS文件(img和校正图像为深色,flat1,flat2)。操作如下:

flat12 = (flat1 + flat2)/2

img1 = (img - dark)/flat12

所述文件的尺寸为(1024,1024,1)。我将它们的大小调整为(1024,1024),甚至可以使用im_show()函数。

我也尝试过使用cv2.add(),但是我得到了:

TypeError:参数'src1'的预期Ptr]

是否有任何解决方法?预先感谢。

python python-3.x astropy fits pyfits
1个回答
0
投票

要读取FITS文件,请使用astropy.io.fitshttp://docs.astropy.org/en/latest/io/fits/index.html这将为您提供Numpy数组(以及FITS标头(如果需要的话,有不同的方法,如文档中所述),因此您可以执行以下操作:

>>> from astropy.io import fits
>>> img = fits.getdata('image.fits', ext=0) # extension number depends on your FITS files
>>> dark = fits.getdata('dark.fits') # by default it reads the first "data" extension
>>> darksub = img - dark
>>> fits.writeto('out.fits', darksub) # save output
© www.soinside.com 2019 - 2024. All rights reserved.