我对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]
是否有任何解决方法?预先感谢。
要读取FITS文件,请使用astropy.io.fits
:http://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