Photutils/ Апертурная фотометрия Как найти ошибку фотометрии?
Я выполняю апертурную фотометрию с помощью фотоэлементов. Я следил за учебными пособиями на странице фотографий, рассчитал фон из кругового кольца вокруг источника и вычел его. Теперь мне нужно вычислить ошибку фотометрии, но задача aperture_photometry не дает ни ошибок апертур, ни фоновой ошибки, если я не дам ей ошибку ввода. Какую ошибку ввода я должен выдать задаче? Для получения апертурной фотометрии я использовал следующий код:
import numpy as np
import matplotlib.pyplot as plt
from astropy.io import fits
from matplotlib.colors import LogNorm
from astropy.stats import sigma_clipped_stats
from photutils import aperture_photometry
from photutils import CircularAnnulus
from photutils import CircularAperture
image = fits.open('cut_F555_03.fits')
hdu_list = image
image_data = hdu_list[0].data
import pandas as pd
sources = pd.read_csv('daofind.tab', delimiter = '\s+', header = 0)
loc = np.array([sources['xcentroid'], sources['ycentroid']])
positions = np.transpose(loc)
apertures = CircularAperture(positions, r = 8.12)
rawflux = aperture_photometry(image_data, apertures)
annulus_apertures = CircularAnnulus(positions, r_in = 8.12, r_out = 18.12)
annulus_masks = annulus_apertures.to_mask(method = 'center')
bkg_median = []
for mask in annulus_masks:
annulus_data = mask.multiply(image_data)
annulus_data_1d = annulus_data[mask.data > 0]
_, median_sigclip, _ = sigma_clipped_stats(annulus_data_1d)
bkg_median.append(median_sigclip)
bkg_median = np.array(bkg_median)
rawflux['annulus_median'] = bkg_median / annulus_apertures.area
rawflux['aper_bkg'] = bkg_median * apertures.area
rawflux['final_phot'] = rawflux['aperture_sum'] - rawflux['aper_bkg']
Любая идея о том, как получить ошибки, будет действительно оценена. С наилучшими пожеланиями. Сара
1 ответ
Добро пожаловать в SO Sara!
Это хороший вопрос, и я поймал себя на том, что задавал его несколько лет назад, когда работал с photutils
. В документации есть раздел об оценке ошибок, в котором говорится, что:
Если и только если
error
ключевое слово вводится в aperture_photometry(), возвращаемая таблица будет включать'aperture_sum_err'
столбец в дополнение к'aperture_sum'
.'aperture_sum_err
'обеспечивает распространяемую неопределенность, связанную с'aperture_sum'
.
Это предполагает, что вы ранее получили полную ошибку и сохранили ее в массиве (который вы передаете черезerror
параметр). Прочтите документы, это поможет вам понять несколько вещей.
Я открыл вопрос наphotutils
чуть более двух лет назад по этой теме. Пользователь предложил сценарий для получения ошибок апертурной фотометрии так же, как это делает IRAF. К сожалению, я, по-видимому, не довел до конца тестирование предоставленного сценария, так что теперь дело за вами.
К сожалению, №2. IRAF находится на смертном одре, и большинство ресурсов, которые можно было бы использовать, чтобы узнать о том, как он выполнял некоторые задачи (например, апертурная фотометрия), теперь ушли. Существует группа в Facebook для (профессиональных) астрономов, которая может помочь вам ответить на подобные вопросы.