0

我最近遇到了 PhotUtils 包,并试图用它对我拥有的一些图像执行 PSF 光度测量。但是,当我尝试运行代码时,会得到非常奇怪的结果。当我绘制由 get_residual_image() 生成的图像时,星星没有被很好地去除。一些示例图像如下所示。

第一个图像的 sigma 设置为 2.05,因为它位于 PhotUtils 文档中的一个示例程序中:图片 1. 对于这张图片,根据网站上的样本之一,sigma 设置为 2.05。 左边是带有星星的图像

然而,星星似乎只在它们的中心被移除。

第二个图像的 sigma 设置为 5.0。这个特别奇怪。一些星星被过度删除,一些被删除,一些黑色方块被添加到图像中,等等。

图 2. 对于这张图片,我将 sigma 设置为 5.0。 这是我的代码:

import photutils
from photutils.psf import DAOPhotPSFPhotometry as DAOP
from photutils.psf import IntegratedGaussianPRF as PRF
from photutils.background import MMMBackground

bkg = MMMBackground()
background = 2.5*bkg(img)
gaussian_prf = PRF(sigma=5.0)
gaussian_prf.sigma.fixed = False
photTester = DAOP(8,background,5,gaussian_prf,31)
photResults = photTester(imgStars)

finalImg = photTester.get_residual_image()

在此之后,我只是在 MatPlotLib 中绘制原始图像和最终图像。我使用灰度颜色图。左侧图像看起来稍暗的原因是它们使用了不同的颜色缩放。

也许我错误地设置了其中一个参数?

有人可以帮我解决这个问题吗?谢谢!

4

1 回答 1

1

看着残像立即告诉我背景减法可能是错误的。我可以重现结果并想知道是否MMMBackground没有正确完成这项工作。在仔细查看文档之后,Photutils 入门最终给出了基本提示:

image -= np.median(image)  
于 2020-04-28T20:20:57.237 回答