如何在 astropy 中更改适合图像的 angular 分辨率?

How to change fits images' angular resolution in astropy?

我有两张不同波长的拟合图像。它们有不同的 angular 分辨率。
我想将较高分辨率的图像卷积到较低的图像。
我试过 astropy.convolution.convolve 和 astropy.convolution.Gaussian2DKernel。 1600nm 的分辨率为 0.184",606nm 的分辨率为 0.124"。所以我认为内核的分辨率应该是 0.136”。然后我尝试了以下代码:

import os
from astropy.io import fits  
from astropy.convolution import Gaussian2DKernel  
from astropy.convolution import convolve  
  
kernel = Gaussian2DKernel(x_stddev=0.136)   
hdu = fits.open('/Users/lpr/Data/fits/pridata/goodsn_f606/606.fits')[0]  
img = hdu.data  
astropy_conv = convolve(img,kernel)  
hdu.data = astropy_conv  
hdu.writeto('/Users/lpr/Data/fits/expdata/CONVOLIMAGE/convolved_606.fits')  
print('done')  

当然,这是错误的。更高的分辨率(606)几乎没有变化。然后我意识到我对两种不同类型的东西进行了卷积。一个是flux(or electrons/s),一个是kernel.

现在我不知道如何将较高分辨率的图像与较低的图像相匹配。感谢您回答我的问题!

我认为第一个问题是你内核的标准偏差应该以像素为单位,而不是角秒。

那么您可能对允许计算两个 PSF 之间的匹配内核的两个包感兴趣: