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)