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




Помощь  Карта сайта

О чем пишут?

Web cameras for astronomy imaging

Дальше..

Я так вижу!

5140526b6fdf.jpg

5140526b6fdf.jpg



PGMania

PGMania - all in one astrophotography package for processing deep sky images. It provides wide and unique functionality, a powerful and flexible tool with a clear and convenient interface for astrophotography image processing. The program is constantly evolving. Each new version adds new functionality that is relevant for astro photographers. Known bugs are quickly eliminated.
Contacts
email: pgmania@yandex.ru
telegram: @EugeneTrifonov
SourceForge

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



Calibrate_f.jpg


Калибровка без дарков по двум лайтам. Устранение горячих пикселей и увеличение SNR снимка
/pterodactilus vulgaris/
29.10.2022


От автора.

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

Upd. Feb.2016

Calibrating astro images using two "lights" without any "darks" or "bias" files.

Complete elimination of hot pixels and garbage from astro images. Increasing Signal to Noise Ratio (SNR) in astro images



Вместо предисловия:

Ну не нравится мне снимать дарки. Возни много, результат часто никакой. Так что, прошу прощения, если кого обидел этим текстом.



Как позже оказалось, этим текстом я все таки обидел модератора астрофорума(?). Он закрыл мою публикацию на астрофоруме с формулировкой: "Закрою тему по причине того что всё равно ничего таким методом не получится."

Что случилось дальше, см. в 1-м комментарии к этому тексту. Оставим это на совести руководства астрофорума.


Вступление

После вхождения и погружения в тему обработки "классического" дипская, изучения накопленного астро-собществом многолетнего опыта и попыток осмыслить происходящее в этой области, к ней накопилось много вопросов. Готовых ответов никто не давал, да их и не было, потому пришлось изобретать свой велосипед и, в общем, это завершилось удачно. Никто, кроме автора, за идею не пострадал, а у сообщества появилась альтернативная рабочая методика обработки астро фотографий.

Итак, ниже скриншот с небольшим фрагментом кадра "до" и "после" процесса.

Removing hot pixels and garbage from image. Image calibrating without dark files

Собственно, понятие калибровки в данном случае не совсем уместно. Больше подходит термин "очистка" снимков. Калибровка подразумевает выравнивание снимков в серии перед сложением. Тут этот этап намеренно опущен, чтобы не уходить от основного вопроса. Но поскольку калибровка звучит более значимо и привычно, будем использовать его.

В результате процесса мы получаем удаление горячих пикселей, значительное увеличение контраста и отношения сигнал/шум (SNR) используемых лайтов. Случайный, т.е. несистемный шум со снимков также успешно убирается. Это треки спутников, космики, мусор и пр.

Обработка снимков в серии производится попарно. Сама серия снимков помимо подобной обработки нуждается в выравнивании по опорным звездам относительно мастер снимка. Эту операцию нужно проводить отдельно, до или после их обработки по описанной методике . Важно, что все процессы производятся без использования темновых(dark) и офсет(bias) кадров. Флэты(flat) могут понадобиться, но это довольно индивидуально.

В процессе калибровки мы используем любые 2 лайта из серии. Порядок их следования значения не имеет. Большое значение имеет совпадение полезного сигнала на калибруемых в паре снимках и тщательность их совмещения по этому сигналу.

На выходе также получаем 2 обработанных лайта. Важно, что в процессе участвуют всего 2 кадра с полезным сигналом. Лайты должны быть изначально, еще при съемке, слегка смещены в координатах сенсора относительно друг друга с точки зрения полезного сигнала. Конкретное смещение не лимитируется, но 2-10 px и больше - это нормально. Основным критерием при выборе смещения должна быть уникальность мусора в кадре в данной точке в координатах сенсора. Это все, что нам нужно.

Далее совмещаем лайты по полезному сигналу например по звездам. Сдвигаем и, если надо, вращаем, масштабируем первый лайт относительно второго, добиваясь максимального совпадения. В PGMania это делается как вручную, так и автоматичеки, в нескольких вариантах.

Манипуляции с подвижками лайтов, их вращением или масштабированием должны быть запомнены, т.к. в процессе калибровки их придется делать неоднократно. Алгоритм калибровки состоит из выделения шумовой составляющей и ее вычитания из снимков пары. Всего алгоритм содержит до 10 шагов, состоящих только из операций вычитания и исключения. Некоторые операции содержат промежуточные смещения снимков между собой на величину исходного смещения сигнала в координатах сенсора.


Анимация процесса калибровки. Есть 2 исходных кадра. Они совмещаются по сигналу. Из одного вычитается другой, выделяется шум.

Далее этот шум вычитается из лайта. На выходе получаем очищенный лайт и далее идет дебайеризация.


PGmania. Calibration by 2 lights

Еще одно очень важное замечание!

Все операции в статье описаны в терминах Photoshop и проводились над 16 битными tiff файлами. Это значит, что встретив в тексте такую строку L1-L2=N1, имеется ввиду следующее:

Берем лайт 1 и делаем его нижним слоем L1 в PS. Берем лайт 2 и делаем его верхним слоем L2. Нижний слой имеет режим наложения "обычный". Верхний слой имеет режим наложения "вычитание". Оба слоя имеют прозрачность 100%, если не оговорено другое.

Результатом является сведение слоев L1 и L2. В приведенных в аттаче примерах слои не сведены(!). Это сделано для того, чтобы вы могли видеть не только результат, но и процесс.

Попытки подвести под все это строго математические термины в отрыве от применяемых в конкретном ПО математических операций и используемых форматов данных бессмысленны.

Я не преследовал цели описывать процессы в строго математических или логических терминах, например, в применении к 16/32/64 bpp или к int/double/float. Конкретика реализации описанных ниже алгоритмов в разных программах и на разных платформах, наверняка потребует "локализации" самих алгоритмов и адаптации под используемые библиотеки. Например, используя C# я в своих программах оперирую структурами ImageMagick, а вы на C++ используете DCRAW. И как тут быть?

Для воспроизведения методики на базе ваших собственных файлов, кроме уверенного владения Photoshop, вам потребуется аккуратность и много терпения. Алгоритм довольно трудоемкий для "ручного" воспроизведения.

Вроде, с присказкой все.

Итак, начнем

Имеем 2 лайта: L1 и L2.



1.Выравниваем снимки между собой
2.Вычитаем L2 из L1. Полезный сигнал уничтожается, остается разница шумов N1=L1-L2. Результатом является файл N1.
3.Из L1 вычитаем N1. Результатом является файл Stage1.
Повторяем то же самое, меняя местами L1 и L2:
4.Вычитаем L1 из L2. Полезный сигнал уничтожается, остается разница шумов N2=L2-L1. Результатом является файл N2.
5.Из L2 вычитаем N2. Результатом является файл Stage2.


На этом можно бы и остановиться, благо картинка выглядит вполне чистой. Но.

На файлах Stage1 и Stage2 основная часть совпадающего шума, горячих пикселей и тепловых шумов матрицы будет убрана.

Но останутся немногие горячие пиксели и мусор, "привязанные" к конкретному лайту, а также случайные шумы. Нам надо и от них тоже избавиться.

На этом очевидное заканчивается. Эти несложные опыты могут повторить все желающие имея под рукой Photoshop или подобный графический редактор.

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

В результате получим файл, очищенный уже и от "привязанных" к конкретному лайту горячих пикселей.

Следует заметить, что при неточном совпадении сигнала на лайтах, могут появиться призраки от разницы сигнала в лайтах, отнесенные на величину смещения лайтов относительно друг друга. В процессе калибровки и они убираются.

Если полезные сигналы имеют заметную разницу, на последней стадии процесса на их месте призраков проявится эта разность, похожая на новые горячие пиксели в виде светлых точек, серпи ков и т.д.

Поэтому, в данной технологии важно, чтобы полезный сигнал на лайтах был по возможности полностью идентичным.

Иллюстрация пройденных этапов.

Removing hot pixels and garbage from image. Image calibrating without dark files. Stages

Полученный вариант не плох, но не идеален. Кроме того, на результатах наблюдается проникновение уникального сигнала с одного лайта на другой лайт, но в негативе.

Немного доработаем методу, избавимся от призраков и теней. Результатом являются очищенный от следов негатива с другого лайта, откалиброванный Lite2, готовый к выходу.

И очищенный от следов негатива с другого лайта, откалиброванный Lite1, готовый к выходу.

Промежуточные этапы вы можете посмотреть в самой программе, если выберете калибровку с сохранением промежуточных результатов.

В итоге нам удалось получить практически полностью очищенные от горячих пикселей и мусора 2 лайта с радикально уменьшенными шумами.

Сигнал, присутствующий только на одном лайте гасится, и в другой лайт почти не попадает. "Эхо" второго лайта, с уникальным сигналом с него, все же присутствует, ослабленное на порядки, но никак не мешает калибровке и последующему сложению.

Это уже вполне рабочий способ устранения горячих пикселей и случайного шума, который можно эффективно применять на практике.

Итоговый результат в сравнении с исходным лайтом в полном масштабе и по всему кадру:

Removing hot pixels and garbage from image. Image calibrating without dark files. Before and after

Применение на практике:

Имея серию лайтов, ее файлы нужно обрабатывать попарно, после чего сложить суммы пар с обычным сигма-клиппингом и с флэтами, если это актуально.

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

Removing hot pixels and garbage from image. Image calibrating without dark files. Before and after




Внимание!

Описанная в данной статье технология обработки данных (далее "технология") охраняется законом об авторском праве. ГК РФ от 18.12.2006 N 230-ФЗ - Часть 4, Глава 70, Ст.1255-1302, и Глава 77, Ст. 1542-1551.

Без письменного соглашения с автором технологии законом запрещается:

-полное или частичное использование технологии в любых программах, устройствах или комплексах, предназначенных для обработки данных.
-упоминания или ссылки на детали, полностью или частично раскрывающие технологию, без указания авторства или ссылки на первоисточник
-полная или частичная публикация технологии или ее части в интернете, СМИ или в иных изданиях


(C)2015-2016, Eugene Trifonoff, aka p.v.
Saint-Petersburg, Russia