У меня есть куча файлов целевых пикселей из миссии Kepler K2 (т.е. некоторые измерения звездного потока).Некоторые примеры доступны на моем github , и их также можно получить из MAST .
Я обрабатываю один из них TPF ( this )с помощью инструмента PyKE kepextract:
import pyke
pyke.kepextract('ktwo229228122-c06_lpd-targ.fits', maskfile='ALL', psfcentroid=True, overwrite=True)
(следуя инструкциям здесь .)
Затем я беру полученный файл подгонки играфик PSF_CENTR1
против PSF_CENTR2
(это координаты центра функции разброса точек, привязанной к звезде в каждый момент измерения):
from astropy.io import fits
with fits.open('ktwo229228122-c06_lpd-targ-kepextract.fits') as hdul:
data = hdul[1].data
psfc1 = data['PSF_CENTR1']
psfc2 = data['PSF_CENTR2']
import matplotlib.pyplot as plt
plt.figure(figsize=(5,5))
plt.scatter(psfc1,psfc2)
plt.xlabel('PSF_CENTR1')
plt.ylabel('PSF_CENTR2')
plt.show()
Предоставление мне графика:
Что явно не так, с числами в порядке величины 1e14
и 1e16
.Это не кажется физическим.Не только его нефизичность, но и в каком-то другом коде выдает ошибку, поскольку число слишком велико (в противном случае этот код работает).Я проверяю некоторые другие:
import pyke
import glob
from astropy.io import fits
import matplotlib.pyplot as plt
for each in glob.glob('ktwo*-c06*targ.fits'):
pyke.kepextract(each, maskfile='ALL', psfcentroid=True, overwrite=True)
with fits.open(each[0:-5]+'-kepextract.fits') as hdul:
data = hdul[1].data
psfc1 = data['PSF_CENTR1']
psfc2 = data['PSF_CENTR2']
%matplotlib inline
plt.scatter(psfc1,psfc2)
plt.xlabel('PSF_CENTR1')
plt.ylabel('PSF_CENTR2')
plt.show()
Некоторые результаты:
Гораздо физичнее, правильного порядка.
Почему PyKE в некоторых случаях дает нефизические результаты?Как решить эту проблему?
Доступен ноутбук здесь .