Photutils DAOPhot Не подходит звездам?

Недавно я наткнулся на пакет PhotUtils и пытаюсь использовать его для выполнения фотометрии PSF на некоторых изображениях, которые у меня есть. Однако когда я пытаюсь запустить код, получаю очень странные результаты. Когда я рисую изображение, сгенерированное get_residual_image(), звезды удаляются плохо. Некоторые образцы изображений показаны ниже.

В первом изображении для сигмы установлено значение 2.05, как в одной из программ-примеров в документации PhotUtils:

Однако кажется, что звезды удалены только в их центре.

Второе изображение имеет сигму 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. Я использую палитру в оттенках серого. Причина того, что левые изображения выглядят немного темнее, заключается в том, что они используют другую шкалу цвета.

Возможно, я неправильно выставил один из параметров?

Может ли кто-нибудь помочь мне с этим? Спасибо!

1 ответ

Глядя на остаточное изображение, я сразу понял, что вычитание фона может быть неправильным. Я мог воспроизвести результат и подумал, а еслиMMMBackgroundне выполнила свою работу правильно. После внимательного ознакомления с документацией " Начало работы с Photutils" наконец-то дало основную подсказку:

image -= np.median(image)  
Другие вопросы по тегам