Выполнение подгонки Гаусса для множества массивов в матрице подряд и сохранение результатов - PullRequest
0 голосов
/ 14 мая 2018

У меня есть матрица данных с 1024 столбцами по 100 значений в каждом, где я пытаюсь выполнить гауссову подгонку к каждому столбцу и сохранить результаты в новом массиве.Мой код выглядит следующим образом:

from astropy.io import fits
from astropy.modeling import models, fitting
import numpy as np

Image1 = fits.open('Image.fits')

Image_data = Image1.data[:,:]

x = np.linspace(-50,50,50)

Gauss_Model = models.Gaussian1D(amplitude=1000., mean=0, stddev=1.)

Fitting_Model = fitting.LevMarLSQFitter()

Fit_Data = Fitting_Model(Gauss_Model, x, Image_data[:,0])

Этот код работает просто отлично и подгоняет первый столбец в Image_data, но я хочу, чтобы он выполнил подборку для всех 1024 столбцов данных в Image_data и сохранилприводит к новому массиву.Я пытался использовать цикл for, но это не сработало.Я был бы очень признателен за помощь, как это сделать, спасибо!

1 Ответ

0 голосов
/ 14 мая 2018

Вы должны сохранить результаты в виде списка:

Fit_Data = []
for i in range(0, Image_data.shape[1]):
    Fit_Data.append(Fitting_Model(Gauss_Model, x, Image_data[:, i]))

Чтобы получить результаты подгонки данных для определенного столбца, вы можете вызвать Fit_Data[32], например,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...