Python 将astropy.convolution内核保存到文件

Python 将astropy.convolution内核保存到文件,python,astropy,Python,Astropy,我已经使用astropy.convolution.Gaussian2DKernel创建了一个卷积内核。我可以绘制内核,但我不知道如何将其保存为.fits图像。(Galfit需要在以后的工作流程中使用它。) 它打印得很好,但返回一个错误: KeyError:'数据必须是numpy数组。' 如何将内核的离散化保存为.fits文件?啊哈!我将最后一行更改为: fits.writeto('test.fits',kernel.array)如果您解决了自己的问题,您可以为自己的问题创建一个答案。如果kern

我已经使用astropy.convolution.Gaussian2DKernel创建了一个卷积内核。我可以绘制内核,但我不知道如何将其保存为.fits图像。(Galfit需要在以后的工作流程中使用它。)

它打印得很好,但返回一个错误:

KeyError:'数据必须是numpy数组。'


如何将内核的离散化保存为.fits文件?

啊哈!我将最后一行更改为:
fits.writeto('test.fits',kernel.array)

如果您解决了自己的问题,您可以为自己的问题创建一个答案。如果
kernel
类有一个
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>方法(这是一个神奇的方法,告诉Numpy代码如果对象还不是。可能还需要对
astropy.io.fits
end进行一些修复,以识别不是数组但可以转换为数组的对象。值得在IMO上提出一个问题。这只是一个小小的UI增强,但我认为是值得的。
from astropy.convolution import Gaussian2DKernel
plt.imshow(kernel)
kernel = Gaussian2DKernel(4)
plt.imshow(kernel)
fits.writeto('test.fits', kernel)