Регистрация

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

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

Можно выбрать канал в котором будет осуществлена регистрация. По умолчанию используются зелёный для цветных изображений и светимость — для монохромных. Знак (*), появляющийся после названия канала, означает, что данные регистрации для этого слоя уже доступны. При обработке изображений данные регистрации берутся из слоя по умолчанию, если он доступен (для изображений RGB: зелёный, в противном случае резервный вариант — синий, затем красный).

Теория

Процесс регистрации

То, что мы называем регистрацией, фактически представляет собой следующие шаги:

  1. Определение деталей, которые должны совпадать на всех изображениях

  2. Вычисление преобразований между каждым изображением и опорным

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

В зависимости от выбранного метода регистрации, эти 3 шага происходят (или нет) в рамках одного процесса. Siril использует наиболее разумные значения по умолчанию (выбирая, применять вычисленное преобразование или нет) в зависимости от выбранного метода регистрации, но понимание внутреннего механизма может помочь вам изменить это поведение в соответствии с вашими потребностями.

Алгоритмы

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

Способ регистрации

Определение деталей

Вычисление преобразования

Сдвиг

Евклидово

Подобие

Аффинное

Гомография

Все цвета

Динамическая PSF

Подобие треугольников + RANSAC

субпиксели

x

x

x

2 шага

субпиксели

x

x

x

1-2-3 звезды

минимизация PSF в выбранной области

Разложение по сингулярным значениям (2-3 звезды) Разница (1 звезда)

субпиксели (1 звезда)

(2-3 звезды)

По паттерну

взаимнокорреляционная функция в выбранной области

пиксели

KOMBAT

Максимальное значение свёртки в пространственной области в выбранной области

пиксели

Комета

минимизация PSF в выбранной области

Сдвиг от вектора скорости с использованием отметок времени

субпиксели

Вручную

Ваши глаза

Ваша рука

пиксели

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

  • Если преобразование состоит только из попиксельных сдвигов, алгоритм укладки может использовать эти сдвиги на лету при чтении изображений. Это значит, что у вас нет необходимости создавать «зарегистрированные изображения», что сохраняет дисковое пространство и позволяет избежать интерполяции. Конечно же это делается за счёт менее точной регистрации (т.е. субпиксельной точности), но обычно это используется при работе с изображениями планет или изображениями, полученными методом удачных экспозиций (lucky imaging), когда размер выборки невелик. Это также может быть использовано вместе с методом регистрации, вычисляющим субпиксельные сдвиги. В ходе укладки сдвиги будут округлены с точностью до пикселя. Во всех остальных случаях, означающем, что на укладку подаётся последовательность, где при регистрации были вычислены преобразования более сложные, чем просто сдвиги, и зарегистрированные изображения не были сохранены, Siril выдаст предупреждение с предложением экспортировать зарегистрированные изображения, прежде чем переходить к укладке.

  • Во всех остальных случаях, как только преобразования были вычислены, преобразованные изображения необходимо сохранить, прежде чем переходить к укладке. Названия сохранённых файлов начинаются с префикса r_.

Преобразования изображений

Siril использует линейные преобразования с разным числом степеней свободы для сопоставления изображений с опорным изображением:

  • Сдвиг это преобразование с 2-мя степенями свободы (сдвиг по x/y), хорошо приспособленное для изображений без дисторсии, масштабирования и вращения поля. Необходима минимум одна совпадающая пара звёзд (или объектов) для определения преобразования.

  • Евклидово это преобразование с 3-мя степенями свободы (сдвиг по x/y + одно вращение) для изображений без дисторсии и масштабирования. Оно требует по крайней мере две совпадающие пары звёзд для определения преобразования.

  • Подобие это преобразование с 4-мя степенями свободы (одно масштабирование, одно вращение и сдвиги по x/y), более жёсткое, чем гомография, хорошо подходящее для изображений без дисторсии. Для определения преобразования необходимо минимум две совпадающие пары звёзд.

  • Аффинное это преобразование с 6-ю степенями свободы (два масштабирования, один скос, одно вращение и сдвиги по x/y), более жёсткое, чем гомография, хорошо подходящее для изображений без дисторсии. Для определения преобразования необходимо минимум три совпадающие пары звёзд.

  • Гомография это преобразование по умолчанию, которое использует 8 степеней свободы, чтобы наложить изображения на опорный кадр. Оно хорошо подходит для обычных случаев и настоятельно рекомендуется для изображений с широким полем зрения. Для определения преобразования необходимо минимум четыре совпадающие пары звёзд.

Global registration transformation

Опорное изображение

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

Если не установлено вручную, опорное изображение выбирается по следующим критериям:

  • Если последовательность уже была зарегистрирована, то это самое лучшее изображение в терминах наименьшей FWHM или с самым высоким качеством, в зависимости от способа регистрации

  • В противном случае — первое неисключённое изображение в последовательности.

Чтобы установить изображение в качестве опорного, вы можете:

  • Открыть список кадров, выбрать изображение, которое надо установить в качестве опорного, и установить флажок Опорное изображение.

  • Использовать команду setref. Например, если вы хотите установить изображение №10 в качестве опорного:

    setref 10
    

Командная строка Siril

setref sequencename image_number
Устанавливает опорное изображения для последовательности, указанной в первом аргументе. image_number это порядковый номер изображения в последовательности (начинающийся с 1), а не номер в названии файла
Framelist panel

Список кадров. Вы можете просмотреть все изображения в последовательности.

During stacking, the reference image is used as the normalization reference as well, if normalization is activated.

Способы регистрации

Всё звёздное небо

Это, вероятно, самый мощный и точный алгоритм выравнивания изображений дальнего космоса.

Глобальное сопоставление основано на методе подобия треугольников для автоматического определения общих звёзд на каждом изображении [Valdes1995]. Наша реализация основывается на программе Майкла Ричмонда (Michael Richmond) match. После этого полученный список звёзд обрабатывается алгоритмом RANSAC [Fischler1981] для удаления выбросов и определения проекционной матрицы. Устойчивость алгоритма зависит от способности находить звёзды, избегая при этом ложных срабатываний. Siril имеет очень сложный алгоритм поиска звёзд, который позволяет максимально избегать выбора объектов, не являющихся звёздами, за максимально короткое время. Обнаружение ярчайших звёзд обычно является самым важным. Однако в случае необходимости поиска более слабых звёзд, параметры поиска можно настроить с помощью диалога Динамическая PSF.

Star finder

Автоматическое определение звёзд на отдельном кадре

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

Всё звёздное небо

Через выпадающее меню Преобразование можно выбрать различные способы преобразования.

Предупреждение

При первоначальном сопоставление звёзд используется алгоритм подобия треугольников. Следовательно, минимальное число пар звёзд должно быть 3 для сдвига, подобия и аффинного преобразований и 4 для гомографии.

Остальные опции:

  • Минимальное кол-во пар звёзд устанавливает минимальное число пар звёзд, которое должно быть на отдельном кадре по отношению к опорному. Если на отдельном кадре пар звёзд меньше, он не будет зарегистрирован. Кнопка справа открывает диалог инструмента динамической PSF.

  • Опция Максимальное кол-во звёзд определяет максимальное количество звёзд для поиска на каждом изображении (по умолчанию — 2 000). Чем больше это значение, тем больше звёзд потенциально может быть найдено. Следствием этого будет более долгий поиск звёзд, но более точная регистрация.

  • Последняя опция, Только в выделении, позволяет выполнить алгоритм выравнивания по всему звёздному небу внутри выбранной области на опорном изображении. Если выделение отсутствует, это опция игнорируется.

Командная строка Siril

register sequencename [-2pass] [-noout] [-drizzle] [-prefix=] [-minpairs=] [-transf=] [-layer=] [-maxstars=] [-nostarlist] [-interp=] [-noclamp] [-selected]
Находит и, опционально, выполняет геометрическую трансформацию изображений последовательности, переданной в аргументе, таким образом, чтобы изображения могли быть наложены на опорное изображение. Поскольку для регистрации используются звёзды, этот алгоритм работает только с изображениями глубокого космоса. Настройки определения звёзд могут быть изменены с помощью команды SETFINDSTAR или диалога Динамическая PSF. Определение выполняется на зелёном слое, если не указан иной с помощью опции -layer=, чей аргумент находится в диапазоне от 0 до 2 (от красного до синего).

Опции -2pass и -noout только вычисляют преобразования, но не создают преобразованных изображений. -2pass добавляет предварительный шаг к алгоритму для поиска опорного изображения перед вычислением преобразований на основе качества и кадрирования. Для создания преобразованных изображений после этого шага используйте SEQAPPLYREG. -nostarlist отключает сохранение списка звёзд на диск.

Опция -transf= указывает вид преобразования; может быть shift, similarity, affine или homography (значение по умолчанию).
Опция -drizzle активирует субпиксельную укладку, вдовое увеличивая масштаб создаваемых изображений.
Опция -minpairs= указывает минимальное количество пар звёзд, которое должно между кадром и опорным кадром. В противном случае этот кадр будет отброшен и исключён из последовательности.
Опция -maxstars= указывает максимальное количество пар звёзд для поиска на каждом кадре (должно быть от 100 до 2000). С бо́льшим количеством звёзд регистрация будет более точной, но это потребует больше времени для вычислений.

Метод интерполяции пикселей может быть указан с помощью аргумента -interp=, за которым следует один из методов, указанных в списке no[ne], ne[arest], cu[bic], la[nczos4], li[near], ar[ea]. Если передан none, метод преобразования принудительно устанавливается в сдвиг и выполняется попиксельный сдвиг для каждого изображения без какой-либо интерполяции.
При интерполяции методом Ланцош-4 или бикубической интерполяции используется фиксация по умолчанию для предотвращения артефактов, но она может быть отключена с помощью аргумента -noclamp.

Будут зарегистрированы все изображения в последовательности, если только не передана опция -selected. В этом случае исключённые изображения не будут обработаны

Если создана, название итоговой последовательности будет начинаться с префикса "r_", если только не указан иной с помощью опции -prefix=

Ссылки:setfindstar, psf, seqapplyreg

Регистрация за 2 шага

Выравнивание всего звёздного неба выполняется в два шага, что позволяет выбрать опорный кадр на основе информации о найденных звёздах, вместо первого кадра в последовательности. Доступные опции сходны с таковыми для алгоритма Всё звёздное небо, но этот способ не создаёт новой последовательности, а вся информация о выравнивании сохраняется в файле seq.

В ходе поиска звёзд Siril устанавливает максимально возможное число звёзд в 2 000 (это можно изменить с помощью соответствующей опции). В случае, если максимальные лимиты определяемого числа звёзд достигнуты более чем на одном изображении, списки звёзд для всех изображений просматриваются повторно. Определяется новый минимальный порог для определения звёзд, позволяющий отсортировать изображения как по количеству найденных звёзд, так и по FWHM.

Если не указано иное, списки звёзд для всех изображений сохраняются при использовании этого способа, расширение .fit(s) заменяется на .lst. Это позволяет очень быстро повторно запустить этот алгоритм с другими параметрами, скажем, с другим преобразованием. В случае, если параметры поиска звёзд были изменены, процесс обнаруживает эти изменения и повторяет анализ по мере необходимости.

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

Эти строки выполняют регистрацию последовательности pp_light за 2 шага и применяют её. Результатом является последовательность pp_light.

# Align lights in 2 passes
register pp_light -2pass
seqapplyreg pp_light

Эти строки выполняют регистрацию последовательности colors за 2 шага и применяют её, обрезая исходящие изображения до минимальной общей области. Итогом является последовательность pp_colors. Это может быть полезным перед совмещением (compositing) монохромных изображений (при этом обрезаются области, которые не являются общими для всех изображений).

# Align layers in 2 passes and crop away borders
register colors -2pass
seqapplyreg colors -framing=min

1-2-3 звезды

Если изображения содержат несколько звёзд, например, в случае изображений объектов дальнего космоса, полученных методом удачных экспозиций, когда выдержка отдельного кадра менее секунды, возможно, что алгоритм регистрации всего звёздного неба не сработает, даже если вы измените параметры определения звёзд в диалоге Динамической PSF. Может оказаться интересным вручную указать звёзды, которые вы хотите выровнять. В этом заключается интерес алгоритма регистрации по 1-2-3 звёздам.

1-2-3 звезды

Принцип этого метода — создать выделение вокруг звезды и нажать на кнопку Выбрать первую звезду и так далее.

  • Если выбрана только одна звезда, будет рассчитан только сдвиг между изображениями. Поэтому автоматически устанавливается флажок Только сдвиг. Значения сдвига затем сохраняются в файле seq.

  • Если выбраны две или три звезды, вычисляется и применяется вращение для создания новой последовательности. Однако, если установлен флажок Только сдвиг, который не является обязательным, вычисляются только сдвиги.

Опция Следовать за движением звезды использует положение звезды (звёзд), найденной на предыдущем изображении как новый центр для регистрации текущего изображения. Это позволяет уменьшить область выделения, ускорить регистрацию и учесть дрейф или изображения с большим количеством звёзд.

Предупреждение

Включение этой опции приводит к отключению распараллеливания, и регистрация выполняется на только одном ядре ЦПУ.

Image Pattern alignment (planetary-full disk)

This is a simple registration by translation method using cross correlation in the spatial domain.

This method is fast and is used to register planetary movies, in which constrasted information can be seen on large areas of the image. It can also be used for some deep-sky images registration. Nevertheless keep in mind that it is a single point alignment method, which makes it poorly suited for high definition planetary alignment. But, it does effectively anchor the images to stabilize the sequence. Simply draw a selection around the object (the planet for example) and make sure that its movement during the sequence is contained within the selection. Only the translation can be calculated with this method.

Pattern alignement

KOMBAT

This method comes from the OpenCV library, a library widely used in Siril. They explain:

It simply slides the template image over the input image (as in 2D convolution) and compares the template and patch of input image under the template image. Several comparison methods are implemented in OpenCV. (You can check docs for more details). It returns a grayscale image, where each pixel denotes how much does the neighbourhood of that pixel match with template.

In practice, simply draw a selection around the object (the planet for example) and make sure that its movement during the sequence is contained within the selection. Only the translation can be calculated with this method.

Comet/Asteroid registration

The cometary registration tool works in a very simple way, in two steps.

  1. With the frame selector, select the first image of the sequence, surround the comet nucleus, then click on the button Pick object in #1.

  2. Then select the last image of the sequence, surround the nucleus of the comet, then click on the button Pick object in #2.

The comet velocity \(\Delta x\) and \(\Delta y\) is computed in pixel per hour if everything is ok.

Предупреждение

The alignment of the comet must be done on images whose stars have been previously aligned. Either via a new sequence, with the global alignment, or by having saved the registration information in the seq file. In this last case, the option Accumulate reg. data (explained below) makes sense.

Примечание

To fully function, the images must have a timestamp. Only FITS, SER and TIFF images are compatible with this feature.

Comet registration

Manual Registration

This last method of registration is very particular, which explains its separate position, and allows to align images manually. Of course, only the translation between images is allowed.

The first thing to do is to define two previews in the image. Clicking on the button Set first preview will initialize the first preview. You then need to click on an area of the image, ideally a star in the vicinity of an edge of the image to set the preview area. A click on the second button Set second preview allows to do the same on a second point.

Manual registration

It is very important to have a reference image already set with the Frame selector. By default, it is the first image. The user is free to choose the one he wants. It will be used as a reference layer, seen by transparency, to align the images manually with the numerical buttons. Then, browse the image one by one to apply the same method to the whole sequence.

Manual registration preview

The Y-shift is too large, same stars on different frames do not overlap.

Manual registration preview

X- and Y-shift look fine. The current image is aligned to the reference one.

Apply Existing registration

This is not an algorithm but rather a commodity to apply previously computed registration data stored in the sequence file. The interpolation method and simplified drizzle can be selected in the Output Registration section. You can also use image filtering to avoid saving unnecessary images, as in stacking Image rejection.

Four framing methods are available:

  • current-icon: current uses the current reference image. This is the default behavior.

  • max-icon: maximum (bounding box) adds a black border around each image as required so that no part of the image is cropped when registered.

  • min-icon: minimum (common area) crops each image to the area it has in common with all images of the sequence.

  • cog-icon: center of gravity determines the best framing position as the center of gravity (cog) of all the images.

Apply Existing registration

Командная строка Siril

seqapplyreg sequencename [-drizzle] [-interp=] [-noclamp] [-layer=] [-framing=] [-prefix=] [-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]] [-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]
Applies geometric transforms on images of the sequence given in argument so that they may be superimposed on the reference image, using registration data previously computed (see REGISTER).

Название итоговой последовательности начинается с префикса "r_", если с помощью опции -prefix= не указан иной.

Опция -drizzle включает двукратное увеличение масштаба изображений в созданной последовательности.

Метод интерполяции пикселей может быть указан с помощью аргумента -interp=, за которым следует один из методов, указанных в списке no[ne], ne[arest], cu[bic], la[nczos4], li[near], ar[ea]. Если передан none, метод преобразования принудительно устанавливается в сдвиг и выполняется попиксельный сдвиг для каждого изображения без какой-либо интерполяции.
При интерполяции методом Ланцош-4 или бикубической интерполяции используется фиксация по умолчанию для предотвращения артефактов, но она может быть отключена с помощью аргумента -noclamp.

Регистрация выполняется для первого слоя RGB изображения, для которого существуют данные, если не указан иной слой с помощью опции -layer= (0, 1 или 2 для R, G и B, соответственно).

Автоматическое кадрирование итоговой последовательности может быть сделано с помощью опции -framing= и указанием метода кадрирования из списка { current | min | max | cog } :
-framing=max (ограничивающая рамка) добавляет чёрную границу вокруг каждого изображения таким образом, чтобы ни одна часть изображения не была обрезана при регистрации.
-framing=min (общая область) обрезает каждое изображение до общей области с всеми остальными изображениями в последовательности.
-framing=cog определяет лучшее кадрирование как центр тяжести (center of gravity — cog) всех изображений.

Фильтрация изображений:
Изображения для регистрации могут быть отфильтрованы с помощью некоторых фильтров, например, выбранные или с лучшей FWHM, используя опции -filter-*.


Ссылка: register

With filtering being some of these in no particular order or number:
[-filter-fwhm=value[%|k]] [-filter-wfwhm=value[%|k]] [-filter-round=value[%|k]] [-filter-bkg=value[%|k]]
[-filter-nbstars=value[%|k]] [-filter-quality=value[%|k]] [-filter-incl[uded]]
Лучшие изображения из последовательности могут быть уложены с использованием аргументов фильтрации. Каждый из этих аргументов может удалить некачественные изображения, основываясь на отличительных чертах в их названиях, взятых из данных регистрации с любым из трёх значений аргумента:
- a numeric value for the worse image to keep depending on the type of data used (between 0 and 1 for roundness and quality, absolute values otherwise),
- a percentage of best images to keep if the number is followed by a % sign,
- or a k value for the k.sigma of the worse image to keep if the number is followed by a k sign.
Так же можно выбрать изображения вручную либо раннее с помощью графического интерфейса или с помощью команд select или unselect, используя аргумент -filter-included.

Output Registration

This frame contains all the output elements for the sequence.

Output registration
  • The button Simplified Drizzle x2 activates the simplified drizzle algorithm for the processing of this sequence. An up-scale (x2) will be applied to the registered frame or during stacking depending on which registration is chosen, that will result in higher resolution images. This option is adapted for under-sampled images, i.e, when the telescope focal length is too short for the pixel size. One may consider that the system is under-sampled when FWHM is smaller than 2 pixels. The correct name of this method should be super-resolution stacking, but for a more convenient understanding we called it Simplified Drizzle x2.

    Предупреждение

    The counterpart of this technic is that the amount of memory and disk space needed to create and process drizzled images is multiplied by the square of the Drizzle factor.

  • When button Save transformation in seq file only is checked, the transformed images are not saved as a newly registered sequence. In both cases, the transformation matrices are saved to the sequence file. The registration data can then be inspected and some images unselected, prior to applying the transformations using the Apply Existing Registration method. This option is automatically checked for alignment method that produce shift only registration data. If this option is unchecked, then it is possible to define a prefix for the new sequence that will be created. By default it is r_.

  • If a new sequence is created, with the application of a complete transformation, then the pixels of the resulting images are interpolated by an algorithm that is left to the user's choice. There are 5 possible interpolation algorithms, plus a None option:

    • Ближайший сосед

    • Билинейная

    • Бикубическая

    • Отношение площади пикселя

    • Ланцош-4

    • Нет

    The most efficient interpolation methods are generally bicubic and Lanczoz (used by default). However, they usually require the Clamping interpolation option to be enabled to avoid ring artifacts around the stars. But the latter may be useless in some cases. We recommend you to test with your images.

    The special case of None is reserved for the case of global registration and Apply Existing registration. If you want to export or save a sequence that contains only translation, without using interpolation (so as not to modify the pixel values), you should select None.

  • Last option Accumulate reg. data, must be checked if you want the new registration data to be added to the previous one. This option is useful when sequence has previously been aligned using a method that does not build a new sequence, but it should be unchecked when the comet/asteroid algorithm is applied several times.

Литература

[Fischler1981]

Fischler, M. A., & Bolles, R. C. (1981). Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Communications of the ACM, 24(6), 381-395.

[Valdes1995]

Valdes, F. G., Campusano, L. E., Velasquez, J. D., & Stetson, P. B. (1995). FOCAS automatic catalog matching algorithms. Publications of the Astronomical Society of the Pacific, 107(717), 1119.