Список форумов Форум @ BelAstro.Net Форум @ BelAstro.Net
Форум белорусской любительской астрономической сети
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   Администрация форумаАдминистрация форума   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Делай великое, не обещая великого. /Пифагор/

Скрипты для Maxim DL

зарегистрированных: 0, скрытых: 0 и гостей: 0
Зарегистрированные пользователи: Нет
На страницу Пред.  1, 2, 3
Начать новую тему   Ответить на тему    Список форумов Форум @ BelAstro.Net -> Астрософт
Предыдущая тема :: Следующая тема  
Автор Сообщение
wladlen88
ЛА

Зарегистрирован: 11.05.2015

Сообщения: 9
Благодарности: 0

Откуда: Светлогорск

Добавлено: Чт Янв 21, 2016 20:44    Заголовок сообщения: Ответить с цитатой

Спасибо за код. Сделало всё то что нужно ). Но при анализе файлов вылазят интересные недочёты ) Пробовал и в целочисленном 32-бит и с плавающей запятой - результат тот же: в полученных скриптом изображениях значения пикселов уменьшены на 40-50 отсчётов по сравнению с такими же файлами но где разбиение на каналы и удвоение были проведены в ручную. При работе с 32-бит плавающей запятой, обрезался самый низ гистограммы, на файле полученным вручную - такой обрезки не было, гистограмма была заполнена от нуля. Какие могут быть мысли по поводу этого явления ?
Вернуться к началу
wladlen88 сейчас оффлайн  Посмотреть профиль Отправить личное сообщение [hidden]
Ветер
ЛА

Зарегистрирован: 21.08.2014

Сообщения: 1266
Благодарности: 132



Добавлено: Чт Янв 21, 2016 20:53    Заголовок сообщения: Ответить с цитатой

Идей нет, но 40-50 отсчетов - это много? У меня на биасе значения от 1000 отсчетов... Как бы не критично. Да, вместо удвоение рекомендую оставлять меньший размер, а сумму получать с использованием дризлинга для получения оригинального размера. Так будет качественнее
Вернуться к началу
Ветер сейчас оффлайн  Посмотреть профиль Отправить личное сообщение Посетить сайт автора
wladlen88
ЛА

Зарегистрирован: 11.05.2015

Сообщения: 9
Благодарности: 0

Откуда: Светлогорск

Добавлено: Чт Янв 21, 2016 21:08    Заголовок сообщения: Ответить с цитатой

Попробую суммы получать дриззлингом ) Разобрался почему отсчёты уплывают. Оказывается что после обработки скриптом - округляются значения отсчётов после запятой, тем самым теряется всякий смысл от скрипта. Ведь целочисленное разбиение можно сделать и в IRIS-е.. Теперь мне задачка обойти это округление чисел после запятой. Сам скрипт и затевался как средство обработки снимков без потери качества (разрядности, битности и т.д.) Раньше до этого все файлы, включая калибровочные ,разбивал в IRIS-е на каналы и потом работал с этим в MaximDL.
Вернуться к началу
wladlen88 сейчас оффлайн  Посмотреть профиль Отправить личное сообщение [hidden]
astroivan
ЛА

Зарегистрирован: 11.07.2007

Сообщения: 4766
Благодарности: 241



Добавлено: Чт Янв 21, 2016 21:22    Заголовок сообщения: Ответить с цитатой

Любопытно какой именно скрипт чудит, тот который я выложил или же выложенные KMM? В любом случае, ухудшения качества фотометрии не заметил.
Что до обработки дипов, сказать ничего не могу, т.к. подобным не занимаюсь (не вижу смысла никакого).

_________________
Ясного неба и успехов!
Вернуться к началу
astroivan сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
wladlen88
ЛА

Зарегистрирован: 11.05.2015

Сообщения: 9
Благодарности: 0

Откуда: Светлогорск

Добавлено: Чт Янв 21, 2016 21:28    Заголовок сообщения: Ответить с цитатой

пока чудит скрипт не Ваш. И то пока на стадии проверки. Всё ещё может быть что работает он нормально
Вернуться к началу
wladlen88 сейчас оффлайн  Посмотреть профиль Отправить личное сообщение [hidden]
wladlen88
ЛА

Зарегистрирован: 11.05.2015

Сообщения: 9
Благодарности: 0

Откуда: Светлогорск

Добавлено: Чт Янв 21, 2016 21:39    Заголовок сообщения: Ответить с цитатой

Всё проверил. Даже сравнил значения двух пикселей из полученного вручную и автоматом файлов - совпадают. Значения после запятой не округляются. Всего-то надо было сохранять перед обработкой в 32 bit IEEE и выставить параметр сохранения в скрипте также 32 bit IEEE. Всем большое спасибо за помощь ! )
Вернуться к началу
wladlen88 сейчас оффлайн  Посмотреть профиль Отправить личное сообщение [hidden]
KMM
ЛА

Зарегистрирован: 22.10.2007

Сообщения: 417
Благодарности: 2



Добавлено: Сб Ноя 05, 2016 17:56    Заголовок сообщения: Ответить с цитатой

Я тут наконец-то сделал с "костылём" модификацию скрипта, который выше выкладывал, для сложения чб снимков в стеки, в котором есть обход бага MaxIm DL с ошибкой в вычислении MIDPOINT в итоговых стеках. А лог записывается ещё и AIRMASS.

ВАЖНО! Чтобы скрипт работал правильно, надо, чтобы в Windows "Язык и региональные стандарты" "Краткая дата" имела вид yyyy-MM-dd (в этом, собственно, и "костыль").
Точнее, скрипт будет работать без этого и записывать MIDPOINT отредактированное значение, но оно будет в другом виде, не таком, какой правильно понимает MaxIm DL, и тогда при фотометрии в MaxIm DL он подумает, что дата снимков вообще не наше столетие. Very Happy

StackFitsImages+shift+calib-air+MidPointCor.vbs - собственно скрипт. Калибровка, выравнивание по звёздам, усреднение (Average).

StackFitsImages+shift+calib-air+MidPointCor+names.vbs - тоже самое, только тут скрипт спрашивает, какое имя дать стекам (а не просто всем по умолчанию stack с порядковым номером)

Из не решённых проблем осталось то, что в стеках сохраняется AIRMASS первого снимка в стеке, а не того, который около середины.



StackFitsImages+shift+calib-air+MidPointCor.zip
 Описание:

Скачать
 Имя файла:  StackFitsImages+shift+calib-air+MidPointCor.zip
 Размер файла:  3.87 KB
 Скачано:  400 раз(а)

Вернуться к началу
KMM сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
KMM
ЛА

Зарегистрирован: 22.10.2007

Сообщения: 417
Благодарности: 2



Добавлено: Сб Мар 09, 2019 19:19    Заголовок сообщения: Ответить с цитатой

Пришло вдохновение и решил тут немного обновить скрипты по складыванию в стеки. Smile
Итак, чтоб была в одном месте вся последовательность действий, опишу всё в одном посте.
К посту прикреплён скрипт ColorRAW_G2G3__StackFitsImages+shift+MidPointCor+TimeCor+names_aver.vbs . Он предназначен для сложения последовательности пересохранённых в FIT цветных RAW снимков в стеки с заданными параметрами, извлекая из байеровского паттерна зелёные каналы G2 и G3. По умолчанию задано сложение методом усреднения (average) с выравниванием по звёздам методом (automatic matching of star brightnesses and separations) и сохранение в 4байтовый IEEE floating point формат (это можно изменить в самом скрипте, там приведены цитаты из справки MaxIm DL).
Итак, сначала серию RAW снимков, которую предполагается сложить в стеки, надо сконвертировать в FIT. Для этого открываем MaxIm DL, в меню выбираем File, находим "Batch Save and Convert". В открывшемся меню можно выбрать изображения, которые надо сконвертировать, выбрать формат, в который надо сконвертировать (в нашем случае это FITS), "Size format" для зеркалок достаточно выбрать "16-bit Int", можно поставить галочку на калибровке (только сами калибровочные снимки уже должны быть выбраны в обычном для этого меню!), в Destination надо выставить другую папку, а не ту, где лежат сами RAWы.
ВАЖНО! Для правильной работы скрипта в папке со сконвертированными RAWами, предназначенными для сложения, не должно быть ничего, кроме них!
После окончания конвертации можно приступить к сложению в стеки с помощью скрипта.
ВАЖНО! Если у вас были до этого открыты какие-либо снимки в MaxIm DL, то сохраните их перед использованием скрипта, потому что он в начале своей работы скрипт закроет все открытые снимки без предупреждения!
Для того, чтобы начать сложение изображений, перетащите в проводнике папку со сконвертированными RAWами на скрипт. При этом неважно, запущен уже MaxIm DL уже или нет.
Если всё хорошо, то появится диалоговое окно, где будет спрашиваться, сколько хотите изображений в одном стеке (по умолчанию скрипт берёт все изображения). После ввода своего значения, которое должно быть меньше или равно общему количеству изображений в папке (это число скрипт пишет в диалоговом окне выше), нажимаем "OK".
Далее появляется следующее диалоговое окно с просьбой указать какое смещение хотите до следующего стека. Что это значит? Допустим, у нас в папке 5 изображений. На предыдущем шаге мы задали, что хотим сложить в стек по 3 изображения. А смещение означает, с какого следующего изображения мы хотим начать следующий стек. Например, мы хотим, чтоб в первый стек шли изображения 1, 2 и 3, а во второй стек чтобы пошли изображения 2, 3 и 4, а в третий стек 3, 4 и 5 - т.е. номер первого изображения в каждом следующем стеке изменяется на 1. Значит, в этом диалоговом окне указываем 1. По умолчанию задано смещение, равное количеству изображений в одном стеке.
После нажатия кнопки "OK" появляется новое диалоговое окно с просьбой указать имя для сложенных изображений. По умолчанию будет имя stack и порядковый номер.
Далее после нажатия кнопки "OK" появляется новое диалоговое окно с просьбой указать разницу между временем, которое было в Exif исходных RAWов, и UT. Т.е. надо задать часовой пояс + летнее время, если было, если на фотоаппарате во время съёмки не было выставлено всемирное время. Этот параметр нужен, когда в дальнейшем будет производиться фотометрия по изображениям, а MaxIm DL берёт дату и время из того, что указано в файлах, а если там указано не всемирное время, то потом в файлах с фотометрией будет указана по сути неверная доля суток. Если было на фотоаппарате часы показывали не точное время, то можно указать известную поправку в долях часа. Например, на фотоаппарате было время часового пояса GMT+2, при этом часы спешили на 6 минут, то указываем в этом диалоговом окне "2.1". По умолчанию задан 0 - т.е. скрипт считает по умолчанию, что время в файлах равно всемирному времени.
После нажатия кнопки "OK" запускается MaxIm DL и начинается сложение снимков.
Когда будет сложен последний снимок, появится соответствующее сообщение. После нажатия кнопки "OK" MaxIm DL автоматически закроется.
Сложенные стеки будут находиться в папке со сконвертированными RAWами, а так же в папке будет *_log.txt, в котором будет указано, какие изображения вошли в каждый стек, а так же дополнительная информация: время из исходных изображений, а для стеков DATE-OBS - время из первого исходного изображения, MIDPOINT - время, среднее для стека, оно используется для фотометрии, а так же выводится выдержка из исходных изображений и ISO.
P.S. Есть у меня подозрение, что время в FITSах из RAWов - на самом деле не начало экспонирования, а время оцифровки RAWов (хотя если снимать с помощью MaxIm DL астрономическими камерами, то в DATE-OBS указывается время именно начала экспонирования). Если мои подозрения подтвердятся после тестов, значит, надо будет добавить в будущем соответствующие изменения в скрипте.
P.S.(2) В данном скрипте уже есть работа поправки для бага из MaxIm DL для рассчёта MIDPOINT. Если в версиях выше в данном теме нужно было выставлять специальные настройки в системе для формата даты, то для данной версии скрипта это не требуется.



ColorRAW_G2G3__StackFitsImages+shift+MidPointCor+TimeCor+names_aver.zip
 Описание:
Скрипт для сложения последовательности пересохранённых в FIT цветных RAW снимков в стеки с заданными параметрами, извлекая из байеровского паттерна зелёные каналы G2 и G3

Скачать
 Имя файла:  ColorRAW_G2G3__StackFitsImages+shift+MidPointCor+TimeCor+names_aver.zip
 Размер файла:  2.7 KB
 Скачано:  284 раз(а)

Поблагодарили(2): Shooter, Yahor
Вернуться к началу
KMM сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
KMM
ЛА

Зарегистрирован: 22.10.2007

Сообщения: 417
Благодарности: 2



Добавлено: Вт Мар 12, 2019 02:42    Заголовок сообщения: Ответить с цитатой

Потестил я у себя с Canon 500D, всё-таки время снимков - это время начала экспонирования, а не оцифровки, как это в некоторых программах-просмотрщиках подписывают. Так что хоть это не надо менять. Smile
А тем временем я немного усовершенствовал скрипт. Частично причесал структуру.
В прикреплённой к этому посту версии изменения, касающиеся использования такие:
- Стеки я решил сохранять в подпапку \Stacks
- В ту же подпапку сохраняется лог
- В логе добавил для справки температуру сенсора (оказывается, MaxIm DL по крайней мере для моего Canon 500D достаёт эту информацию из Exif)
- Так как другой софт для фотометрии может не брать момент времени из поля "MIDPOINT" в FITS Header'е, потому я решил заменять "DATE-OBS" на момент времени, равному MIDPOINT - EXPTIME/2



ColorRAW_G2G3__StackFitsImages+shift+MidPointCor+TimeCor+names_aver.zip
 Описание:
Небольшое обновление скрипта

Скачать
 Имя файла:  ColorRAW_G2G3__StackFitsImages+shift+MidPointCor+TimeCor+names_aver.zip
 Размер файла:  3.01 KB
 Скачано:  287 раз(а)

Вернуться к началу
KMM сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
KMM
ЛА

Зарегистрирован: 22.10.2007

Сообщения: 417
Благодарности: 2



Добавлено: Вт Мар 12, 2019 02:53    Заголовок сообщения: Ответить с цитатой

Так как при сложении в стеки может оказаться, что самых последних изображений недостаточное количество для полного стека. В скриптах выше это никак не учитывалось и эти последние изображения не входили ни в один из стеков.
Например, в папке 40 изображений. Мы хотим, чтоб стек состоял из 5 изображений, а смещение для следующего стека было 2. Тогда получается полных стеков 12, в которых были использованы 38 снимков, а последние 2 так и остались "за бортом".
В этой версии я сделал для таких случаев ещё один дополнительный полный стек, в который входят такие снимки. Т.е. для случая из примера выше в 13-ый стек войдут снимки 39 и 40 плюс ещё три перед ними, чтоб в стеке было 5 снимков, как во всех остальных - т.е. в этом стеке кроме 39-го и 40-го снимка будут так же 36, 37 и 38.



ColorRAW_G2G3__StackFitsImages+shift+last+MidPointCor+TimeCor+names_aver.zip
 Описание:
То же, что выше, но с добавление одного дополнительного стека в конце, если недостаточно изображений в конце для полного стека

Скачать
 Имя файла:  ColorRAW_G2G3__StackFitsImages+shift+last+MidPointCor+TimeCor+names_aver.zip
 Размер файла:  3.08 KB
 Скачано:  267 раз(а)

Вернуться к началу
KMM сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
KMM
ЛА

Зарегистрирован: 22.10.2007

Сообщения: 417
Благодарности: 2



Добавлено: Вт Мар 12, 2019 04:50    Заголовок сообщения: Ответить с цитатой

В версиях выше сложение в стек с выравниванием по звёздам происходит за один проход для всех G2 и G3 пикселей всех снимков, идущих в стек. Т.е. G2 и G3 одного снимка тоже выравниваются друг относительно друга по звёздам. Но фактически это выравнивание лишнее, и даже вредит, так как MaxIm DL может некорректно выравнять по немногочисленным звёздам с хорошим SNR да и ещё которые имеют очень небольшой FHWM на выделенных G2 и G3. Поэтому есть смысл G2 и G3 одного снимка складывать без выравнивания по звёздам - получать одно общее изображение G2+G3, а уже потом эти изображения G2+G3 каждого исходного снимка складывать с выравниванием по звёздам. Опыты со складыванием по этой методике моих снимков показали результаты, которые были лучше (SNR звёзд выше, FHWM и Flatness меньше), чем когда "всё за раз", даже в тех случаях, где были до этого проблемы с качеством выравнивания по звёздам. К тому же, исключение из процесса дополнительного выравнивания сокращает общее время обработки всех снимков.
Итак, я разбил процесс на запуск двух отдельных скриптов.
В прикреплённом архиве такие скрипты:
- "1.ColorRAW(16bitOrCalibrated)_G2G3_Combine__StackFitsImages.vbs" - папку с RAWами сконвертированными в fit сначала перетаскиваем на этот скрипт. Он выделяет G2 и G3 и складывает методом average без выравнивания, сохраняя в подпапку \G2G3 результирующий fit в IEEE floating point format.
- "1.ColorRAW_G2G3_Combine__StackFitsImages.vbs" - делает то же, что и предыдущий, но этот скрипт с небольшой оптимизацией для экономии места на диске, если у вас исходные RAWы с камеры были 14-битные и меньше - это позволяет G2 и G3 сложить методом sum и сохранить в fit в 16-битном формате без ухода в насыщение. Папка с обработанными изображениями называется \G2G3-sum
- "2.ColorRAW_Combined__StackFitsImages+shift+last+MidPointCor+TimeCor+names_aver_matching.vbs" - это скрипт для следующего шага после окончание работы одного из предыдущих скриптов: теперь перетаскиваем на него папку с полученными на предыдущем шаге снимками - т.е. папку \G2G3. Этот скрипт склыдывает с выравниванием снимков методом "automatic matching of star brightnesses and separations". В целом, этот скрипт может складывать любые изображения в формате fit, а не только полученные с зеркалками.
- "2.ColorRAW_Combined__StackFitsImages+shift+last+MidPointCor+TimeCor+names_aver_autocorrelation.vbs" - скрипт делает тоже, что и предыдущий, но метод выравнивания снимков "autocorrelation". Мои снимки с зеркалкой и обычными широкоугольными объективами лучше выравниваются именно методом "autocorrelation", если между снимками в стеке небольшой промежуток и нет вращения поля, чем методом "automatic matching of star brightnesses and separations", а с астрономических камер на длиннофокусном телескопе результаты бывают разными. В целом, для фотометрии предпочтителен метод "autocorrelation", потому что он делает все смещения на целое число пикселей - а значит, все перемещения без изменения яркости пикселей, в то время как "automatic matching of star brightnesses and separations" изменяет яркость пикселей, чтоб совместить отдельные снимки с субпиксельной точностью и компенсировать вращение поля.
И ещё одна ремарка. На качество выравнивания MaxIm DL'ом снимков с зеркалок с фотообъективами, обработанных с выделением G2 и G3, где изображения звёзд занимают 2, от силы 3 пикселя, очень вливает наличие горячих пикселей, которые становятся очень похожими на звёзды, чем "сбивают с толку" MaxIm DL. Потому нужно делать качественную калибровку по темновым кадрам или по крайней мере применять карту горячих пикселей.

В планах у меня объединить весь процесс в одном скрипте для экономии дискового пространства, хотя удобно иметь скрипт, который может складывать любые fit'ы. Но обычно fit'ы, снятые астрокамерами в том же MaxIm DL'е с ещё и подключённой к нему монтировкой с GoTo, содержат дополнительные заголовки в FITS Header, которые меняются от снимка к снимку, а при сложении серии MaxIm DL использует первое изображение серии, соответственно в итоговом fit'е такие параметры как, например, JD, JD-HELIO, AIRMASS остаются такие же, как в этом первом снимке из серии в стеке, а не те, которые были ближе к MIDPOINT стека, а потому надо их перезаписывать. Но как их рассчитывать я пока не знаю. Хотя для простоты можно их просто делать пустыми, разве что AIRMASS "пересаживать" из снимка, которые был ближе всего к MIDPOINT, благо, что там не очень быстро меняется этот параметр от снимка к снимку и он не шибко-то и важен, тем более что его всегда можно рассчитать, а софт для фотометрии, который напрямую брал бы его из FITS Header'а я пока не встречал, разве что при отправке ПЗС-наблюдений в AAVSO у них предусмотрено поле для AIRMASS. Таким образом, всё равно придётся делать отдельный скрипт для таких вот "тяжёлых случаев" - обработки ПЗС-снимков с дополнительными параметрами в их FITS Header'ах.



ColorRAW_G2G3_Combine__StackFitsImages.zip
 Описание:

Скачать
 Имя файла:  ColorRAW_G2G3_Combine__StackFitsImages.zip
 Размер файла:  11.68 KB
 Скачано:  288 раз(а)

Вернуться к началу
KMM сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
KMM
ЛА

Зарегистрирован: 22.10.2007

Сообщения: 417
Благодарности: 2



Добавлено: Вт Апр 02, 2019 00:42    Заголовок сообщения: Ответить с цитатой

Немного проапдейтил скрипты, которые выше выкладывал. Добавил, например, нормальную реакцию в диалогах ввода на нажатие кнопки "Отмена".


StackFitsImages.zip
 Описание:

Скачать
 Имя файла:  StackFitsImages.zip
 Размер файла:  18.95 KB
 Скачано:  283 раз(а)

Вернуться к началу
KMM сейчас оффлайн  Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Форум @ BelAstro.Net -> Астрософт Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3
Страница 3 из 3

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы можете вкладывать файлы
Вы можете скачивать файлы


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB