16 Mar 2016

Скрипт для расчета весов при сложении в Pixinsight

Обрабатывая свои снимки не раз замечал, что сумма, выдаваемая Pixinsight несколько хуже по отношению сигнал/шум, чем сумма, полученная в программе FitStacker. Но, к сожалению, FitStacker не умеет делать суммирование с дризлингом и посему решил написать скрипт, который будет считать веса снимков на основе SNR для последующего использования при сложении.

Логика скрипта достаточно простая - перед запуском скрипта открывается один из входных файлов и в нем создаются preview для фона и объекта. После этого эпускаем скрипт и в диалоговом окне выбираем файлы для обработки (файлы должны к моменту обработки уже должны быть выровнены) и выбрать соответствующее превью для фона и объекта.

Программа просканирует файлы, определит SNR для каждого их них, найдет кадр с максимальным SNR и после этого запишет посчитанное значение как FITS keyword SNRW. Для его использования при суммирование нужно выбрать в процессе ImageIntegration параметр:
Weights: FITS keyword и ввести Weight keyword: SNRW.

Еще пробовал реализовать алгоритм, описанный в теме про FitStacker.

Если для двух сложенных серий отнормированных кадров измерены
SN1, SN2 - соотношение сигнал/шум для любого непересвеченого объекта на суммарном изображении,
N1, N2, где
SNi=(Ii - BGi)/Ni,
Ii - сигнал (Max) для объекта,
BGi - среднее (Mean) значение сигнала фона в (окрестностях)объекта,
Ni - значение шума (Sigma) сигнала (фона) для i-того кадра, которые нужно сложить.

Пусть
SN2 = m*SN1,
N2 = k*N1,
где m и k - известные коэффициенты, определяемые на основании измерений параметров снимков.

Задача состоит в определении коэффициента n, на который необходимо умножить второй снимок для того, чтобы получить сумму с наилучшим соотношение сигнал/шум для исходных (суммарных) кадров, описываемых относительными коэффициентами m и k.

Несложная задача на поиск экстремума (максимума) соотношения сигнал/шум даёт ответ, что коэффициент n вычисляется как
n=m/k.

Вот только после тестовых запусков у меня получались снимки с меньшим SNR, чем у первого вариант.

Для запуска скрипта нужно его распаковать и потом в меню Script -> Execute script file и выбрать данный файл.

В общем, посмотрите, покритикуйте, ну и попробуйте воспользоваться, если есть желание.

SNRWeightsPreview.zip