A A A A Автор Тема: Оптимальное сложение снимков + Программа FITStacker  (Прочитано 93547 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн lazyBSD

  • *****
  • Сообщений: 3 373
  • Рейтинг: +11/-2
не удержался... даешь обработку фоток всеми компами рунета! :)
Пока все упирается в каналы, но это поправимо. ;)
/ссылка запрещена правилами форума/

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 10 831
  • Рейтинг: +399/-3
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Астропроекты и астрософт
Сделал следующую версию.
http://qhy.narod.ru/FITStacker.zip

Изменил схему работы программы - мелкое окошко задает параметры и позволяет не делая сложения на каждом кадре увидеть что будет срезано сигма-клиппингом (кнопка Preview Color). Двигая ползунок сигмы сразу видно что срежется а что нет, такая визуальная настройка очень помогает точно выбрать величину, или понять - срежется трек спутника или нет.

Добавил индивидуальную подстройку сигмы для каждого кадра (Local Sigma Scale).
Очень помогает на малом числе кадров тонко подстраивать величину, или когда на одном кадре срезается слишком много, а на другом мало.

Расцветка-
Синим цветом отмечаются "отрицательные" пикселы, красным - положительные. То есть, яркий горячий пиксель будет покрашен красным, а битый черный пиксель - синим.
Если в одном из кадров пошел неравномерный фон, то это сразу будет видно как волна синих или красных пикселей.

В суммарный кадр копируются все FITS параметры одного из кадров. По хорошему надо-бы суммировать время, осреднять температуру, ставить дату от первого по времени снимка...

На счет предложений - моя цель не изобретать велосипед (ирис), а сделать максимально качественное сложение снимков. Полный цикл обработки - это значит изобретать (или искать) муторный алгоритм выравнивания по звездам, гемороя много, а толку мало.
« Последнее редактирование: 21.05.2008 [12:21:38] от Ivan7enych »
Видео отчеты мастерской
телескопы - 320 астросиб на удаленке, 230мм - Каминский, Televue NP101is

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 10 831
  • Рейтинг: +399/-3
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Астропроекты и астрософт
И главное, очень интересно было бы опробовать вот эту идею:
Кстати, почему-бы не использовать известный шум фона картинки для отбрасывания пикселей?
То есть, для формирования порога отбраковки использовать не сигму распределения значений данного пикселя на всех складываемых кадрах, а сигму фоновой площадки данного кадра.
В классическом сигма-клиппинге, когда в данный пиксель на одном из кадров серии попадает дефект, вычисленная для этого пикселя сигма также резко возрастает, что затрудняет селекцию. Из-за этого, при обработке N кадров, коэффициент при сигме не может быть выбран большим, чем корень квадратный из N-1. Если кадров в серии немного, приходится выбирать малые коэффициенты, но тогда алгоритм "срезает" наряду с дефектными и много "годных" пикселей.
Предложенная модификация, на первый взгляд, лишена этого недостатка (выборка по площади может быть достаточно большой, а оценка сигмы - более устойчивой), но надо пробовать - вдруг мы что-то не так понимаем...

Я вывел в программе карту средних отклонений для набора 15 кадров.
Получается так - на фоне и на протяженных объектах (рукава галактики) отклонение почти одинаковое и вполне совпадает с шумом фона отдельного кадра. Там такая оценка вполне будет верной.
 
Но в районе звезд отклонение увеличивается в сотни раз (со 100 до 5000) из-за смазов и подвижек.
Видео отчеты мастерской
телескопы - 320 астросиб на удаленке, 230мм - Каминский, Televue NP101is

Оффлайн Юрий Торопин

  • *****
  • Сообщений: 4 069
  • Рейтинг: +244/-22
  • хочу в Намибию, Майданак, далее - везде :)
    • Skype - yuriy.toropin
Круто!
Можно изменить тип контрола для Gamma, добавив возможность ввода значения с клавиатуры, задалбливает стучать по "стрелочкам" :)

И второе - непонятно, насколько корректно обрабатываются "отрицательные" значения из FITSов, импортированных, например, из IRIS.

И ещё - было бы круто видеть tooltips или подсказки иного рода по поводу назначения параметров а диалоге Adaptive.
« Последнее редактирование: 21.05.2008 [13:58:39] от Юрий Торопин »

Оффлайн Юрий Торопин

  • *****
  • Сообщений: 4 069
  • Рейтинг: +244/-22
  • хочу в Намибию, Майданак, далее - везде :)
    • Skype - yuriy.toropin
Подвисает (или выполняется очень медленно) при попытке записи суммарного FITS файла
Хотя файл пишет.
Но - в неправильном формате, см. скриншот (возможно, я не дожидаюсь окончания записи, но когда она занимает более минуты и программа не отвечает, я её срубаю).

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 10 831
  • Рейтинг: +399/-3
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Астропроекты и астрософт
Подвисает (или выполняется очень медленно) при попытке записи суммарного FITS файла
Хотя файл пишет.
Но - в неправильном формате, см. скриншот (возможно, я не дожидаюсь окончания записи, но когда она занимает более минуты и программа не отвечает, я её срубаю).

Это цветной фитс? Программа пока только с чб работает.
Видео отчеты мастерской
телескопы - 320 астросиб на удаленке, 230мм - Каминский, Televue NP101is

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 10 831
  • Рейтинг: +399/-3
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Астропроекты и астрософт
Круто!
Можно изменить тип контрола для Gamma, добавив возможность ввода значения с клавиатуры, задалбливает стучать по "стрелочкам" :)
сделаю

И второе - непонятно, насколько корректно обрабатываются "отрицательные" значения из FITSов, импортированных, например, из IRIS.
отображаются только плохо, читаются и пишутся нормально, в рассчетах (все считается во float) тоже проблем нет.

И ещё - было бы круто видеть tooltips или подсказки иного рода по поводу назначения параметров а диалоге Adaptive.

Проще спросить что непонятно. :)
Видео отчеты мастерской
телескопы - 320 астросиб на удаленке, 230мм - Каминский, Televue NP101is

Грин

  • Гость
ИванСемёныч - очень интересно, буду со временем осваивать обязательно на ч\б фитсах, но если будет возможность - то и про Кенонистов не забудьте... ::)
 Спасибо и успешного развития проги! :)

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 10 831
  • Рейтинг: +399/-3
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Астропроекты и астрософт
Итак, замучал таки работу с цветом. Проверяйте.
http://qhy.narod.ru/FITStacker.zip

мелочи -
1. поддержал Drag-n-Drop из експлорера. Можно в эксплорере выделить кучку файлов и кинуть в окно программы.
2. кнопка Del с нажатым Shift очищает весь список файлов.

Отображение fits:
1. логарифмом вытягивается только яркость, соотношение R-G-B остается неизменным. Это позволяет увидеть и тени и яркие объекты не теряя насыщеность цвета.

Я не придумал адекватного отображения сигма-клиппинга на цветном кадре, поэтому сделал поканальное отображение. Подстройка сигмы запоминается отдельно для каждого канала каждого файла.
« Последнее редактирование: 23.05.2008 [17:58:20] от Ivan7enych »
Видео отчеты мастерской
телескопы - 320 астросиб на удаленке, 230мм - Каминский, Televue NP101is

Оффлайн StasVАвтор темы

  • *****
  • Сообщений: 2 378
  • Рейтинг: +84/-0
  • Награды Неоднократный победитель конкурса астрофото
Цитировать
Итак, замучал таки работу с цветом. Проверяйте.
Иван, реализовано сложение между собой RGB компонентов?

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 10 831
  • Рейтинг: +399/-3
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Астропроекты и астрософт
Цитировать
Итак, замучал таки работу с цветом. Проверяйте.
Иван, реализовано сложение между собой RGB компонентов?

Из цвета в ч.б. ? Зачем?
Каждая компонента цвета складывается независимо, со своими коэфициентами (шумы ведь в каждом канале разные).
Видео отчеты мастерской
телескопы - 320 астросиб на удаленке, 230мм - Каминский, Televue NP101is

Оффлайн StasVАвтор темы

  • *****
  • Сообщений: 2 378
  • Рейтинг: +84/-0
  • Награды Неоднократный победитель конкурса астрофото
Цитировать
Итак, замучал таки работу с цветом. Проверяйте.
Иван, реализовано сложение между собой RGB компонентов?

Из цвета в ч.б. ? Зачем?
Каждая компонента цвета складывается независимо, со своими коэфициентами (шумы ведь в каждом канале разные).
Полезно для вытягивания периферии. На периферийных частях галактик цветовые градиенты не значительны и ими можно пренебречь, а вот отношение Сигнал/Шум нужно вытягивать всеми способами. Иными словами, мы предпологаем, что R,G,B и L каналы содержат одинаковую информацию с точностью до амплитуды и уровня шумов. И тут, очень полезно оптимальное сложение для получения итогового L канала.
Я использовал твою программу для оптимального сложения Ls=k*R+l*G+m*B+L (где k,l,m – коэффициенты оптимального сложения, Ls - итоговый L канал), когда вытягивал периферию твоей M51. Разница между L каналом и Ls была ощутима.

« Последнее редактирование: 23.05.2008 [19:04:29] от StasV »

Оффлайн Юрий Торопин

  • *****
  • Сообщений: 4 069
  • Рейтинг: +244/-22
  • хочу в Намибию, Майданак, далее - везде :)
    • Skype - yuriy.toropin
Цитировать
Итак, замучал таки работу с цветом. Проверяйте.
Иван, реализовано сложение между собой RGB компонентов?

Из цвета в ч.б. ? Зачем?
Каждая компонента цвета складывается независимо, со своими коэфициентами (шумы ведь в каждом канале разные).
Полезно для вытягивания периферии.  ...
Разница между L каналом и Ls была ощутима.

+1!
Было бы интересно реализовать функцию получения "композитного яркостного канала" путём оптимального сложения цветных компонентов из серии снимков. Сейчас это приходится делать вручную.

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 10 831
  • Рейтинг: +399/-3
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Астропроекты и астрософт
Я использовал твою программу для оптимального сложения Ls=k*R+l*G+m*B+L (где k,l,m – коэффициенты оптимального сложения, Ls - итоговый L канал), когда вытягивал периферию твоей M51. Разница между L каналом и Ls была ощутима.

Согласен что разница заметная, я об этом сам и писал.
Если камера Ч.Б. то для этого достаточно кинуть все (L, R, G, B) файлы в программу и сложить.
Если складываем цветные кадры, то результат можно потом разложить на 3 ч.б. (в maximDL) и сложить в моей програмке. Издержки, я думаю, тут небольшие.

Проверьте сначала то что сделано, а то идей у всех полно, а реальных пользователей я пока не вижу.
« Последнее редактирование: 23.05.2008 [23:34:44] от Ivan7enych »
Видео отчеты мастерской
телескопы - 320 астросиб на удаленке, 230мм - Каминский, Televue NP101is

Оффлайн StasVАвтор темы

  • *****
  • Сообщений: 2 378
  • Рейтинг: +84/-0
  • Награды Неоднократный победитель конкурса астрофото
Цитировать
а реальных пользователей я пока не вижу
Иван, как так нет. Я уже использовал ее для обработки твоего же снимка ;D.
Просто времени нет, для детального тестирования

Оффлайн lazyBSD

  • *****
  • Сообщений: 3 373
  • Рейтинг: +11/-2
а реальных пользователей я пока не вижу.
Вань, а мое сообщение в /dev/null ?
/ссылка запрещена правилами форума/

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 10 831
  • Рейтинг: +399/-3
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Астропроекты и астрософт
а реальных пользователей я пока не вижу.
Вань, а мое сообщение в /dev/null ?

Вся математика должно быть в консольной программе.
Это?
Дай сперва устаканить и проверить.

Потом, алгоритм (довольно простой по сути) можно вытащить, а выбор 2-х областей, а визуальный подбор сигмы - как консолью пользоваться без этих полезных вещей? Я не очень понимаю.
Видео отчеты мастерской
телескопы - 320 астросиб на удаленке, 230мм - Каминский, Televue NP101is

Оффлайн StasVАвтор темы

  • *****
  • Сообщений: 2 378
  • Рейтинг: +84/-0
  • Награды Неоднократный победитель конкурса астрофото
Начал потихоньку тестировать при помощи тестовых файлов.
Сделал 2 файла. good и bad, оба файла представляют  собой равномерный серый фон с черными и белыми кружочками. на файле bad лишний ряд кружочков.
далее я клонировал файл good на 6 файлов.
Все это скормил в программу.
Работает.
вот замечания и вопросы
1. Фон был без шума. Программа в результате суммирования делала абсолютно черный кадр.
Когда я прямоугольнечком для выделения фона захватил белую точку, появился отличный от нуля шум. все заработало. Гипотетический конечно случай - кадр без шума 8)
2. Параметр normalize aria я не понял как работает. результат приведен на картинке. непонятно ???
3. Не совсем понятно как работает sigma Fade. Что из себя представляет число, вводимое пользователем?
4. Что означает градиент цвета на удаленных областях? чем отличается красная область от желтой?

« Последнее редактирование: 30.05.2008 [19:19:36] от StasV »

Оффлайн StasVАвтор темы

  • *****
  • Сообщений: 2 378
  • Рейтинг: +84/-0
  • Награды Неоднократный победитель конкурса астрофото
Вот сами тестовые файлы

Оффлайн Ivan7enych

  • Модератор
  • *****
  • Сообщений: 10 831
  • Рейтинг: +399/-3
  • Ионов Иван
  • Награды Победитель ежегодного конкурса астрофото
    • Астропроекты и астрософт
1. Фон был без шума. Программа в результате суммирования делала абсолютно черный кадр.
Когда я прямоугольнечком для выделения фона захватил белую точку, появился отличный от нуля шум. все заработало. Гипотетический конечно случай - кадр без шума 8)

Для таких кадров (с нулевым шумом) лучше складывать не выделяя квадраты - тогда будет работать простое сложение и обычный сигма-клиппинг.
Вообще, примеры кадров довольно неудачны. в каждый кадр по хорошему надо-бы добавить случайный шум разной величины.

2. Параметр normalize aria я не понял как работает. результат приведен на картинке. непонятно ???

он должен быть либо 0 (отключен) либо заметно больше по площади возмущения.
Цитировать
Для борьбы с плавающими градиентами, добавил размер квадрата к котором локально изображение выравнивается со осредненным (влияет не на сумму, а только на алгоритм отбрасывания точек). Помогает не отбросить целиком чуть более светлый угол кадра.

3. Не совсем понятно как работает sigma Fade. Что из себя представляет число, вводимое пользователем?

В пределах сигмы точка принимается полностью. За "сигмой + sigma Fade" отбрасывается полностью. В промежутке - принимается отчасти.
Уже писал -
Цитировать
Чтобы не было резкой границы "точка принята" / "точка отброшена" ввел параметр SigmaFade - переходную зону где точка плавно ослабляется. Помогает бороться с некрасивыми артефактами, когда середина яркого трека спутника отбрасывается, а 2 края трека добавляются.

4. Что означает градиент цвета на удаленных областях? чем отличается красная область от желтой?

наличием зеленого, то есть сигнала. любой оттенок синего или красного цвета - значит отбрасывание значения.
« Последнее редактирование: 30.05.2008 [22:00:26] от Ivan7enych »
Видео отчеты мастерской
телескопы - 320 астросиб на удаленке, 230мм - Каминский, Televue NP101is