Регистрация

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

Сила 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

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

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

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

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

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

Глобальное сопоставление основано на методе подобия треугольников для автоматического определения общих звёзд на каждом изображении [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] (Ланцош-4), li[near] (линейная), ar[ea] (отношение площади пикселя). Если передан аргумент none, принудительно выполняется сдвиг и к каждому изображению применяется попиксельный сдвиг без интерполяции.
При интерполяции методом Ланцош-4 или бикубической интерполяции по умолчанию используется фиксация (clamping), предотвращающая артефакты, но она может быть отключена с помощью аргумента -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.

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

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

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

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

По паттерну (полный диск планет)

Это простой метод регистрации с помощью сдвига используя кросс-корреляцию в пространственном домене.

Этот быстрый метод используется для регистрации роликов планет, на которых контрастная информация присутствует на значительных участках изображения. Его также можно использовать для регистрации некоторых изображений глубокого космоса. Тем не менее имейте в виду, что это метод выравнивания по одной точке, что делает его плохо подходящим для планетарного выравнивания высокой чёткости. Но он эффективно закрепляет изображения для стабилизации последовательности. Просто сделайте выделение вокруг объекта (например, планеты) и убедитесь, что его перемещение во всей последовательности находится в границах выделения. С помощью этого метода можно рассчитать только сдвиг.

Pattern alignement

KOMBAT

Этот метод пришёл из библиотеки OpenCV, которая активно используется Siril. Они объясняют:

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

На практике просто сделайте выделение вокруг объекта (например планеты) и убедитесь, что все его движения в последовательности находятся внутри выделения. С помощью этого метода может быть вычислен только сдвиг.

По комете/астероиду

Инструмент регистрации по комете работает очень просто.

  1. В диалоге выбора кадров выберите первое изображение в последовательности, выделите ядро кометы и нажмите кнопку Выбрать объект в №1.

  2. Далее выберите последнее изображение в последовательности, выделите ядро кометы и нажмите кнопку Выбрать объект в №2.

Если всё хорошо, скорость кометы ( \(\Delta x\) и \(\Delta y\)) будет вычислена в пикселях в час.

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

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

Примечание

Для полноценной работы этого способа регистрации, необходимо чтобы изображения имели отметки времени. С этой опцией совместимы только изображения FITS, SER и TIFF.

Comet registration

Регистрация вручную

Этот последний способ регистрации очень специфичен, что объясняет его отдельное расположение и позволяет выравнивать изображения вручную. Конечно, допускается только сдвиг между изображениями.

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

Регистрация вручную

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

Предварительный просмотр ручного выравнивания

Сдвиг по оси Y слишком велик, одни и те же звезды на разных кадрах не перекрываются.

Предварительный просмотр ручного выравнивания

Сдвиги по оси X и Y выглядят хорошо. Текущее изображение выровнено по опорному.

Применить существующую регистрацию

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

Доступны четыре метода кадрирования:

  • current-icon: текущее использует текущее опорное изображение. Это поведение по умолчанию.

  • max-icon: максимум (ограничивающая рамка) добавляет чёрную границу вокруг кадров таким образом, чтобы ни одна часть изображения не была обрезана при регистрации.

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

  • cog-icon: центр тяжести определяет наилучшее положение области кадрирования как центр тяжести всех изображений.

Применить существующую регистрацию

Командная строка 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]]
Используя ранее вычисленные данные регистрации (см. REGISTER), выполняет геометрическое преобразование изображений последовательности, указанной в аргументе таким образом, чтобы они могли быть наложены на опорное изображение.

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

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

Метод интерполяции пикселей может быть указан с помощью аргумента -interp=. Доступны следующие методы: no[ne] (нет), ne[arest] (ближайший сосед), cu[bic] (бикубическая), la[nczos4] (Ланцош-4), li[near] (линейная), ar[ea] (отношение площади пикселя). Если передан аргумент none, принудительно выполняется сдвиг и к каждому изображению применяется попиксельный сдвиг без интерполяции.
При интерполяции методом Ланцош-4 или бикубической интерполяции по умолчанию используется фиксация (clamping), предотвращающая артефакты, но она может быть отключена с помощью аргумента -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

Опции фильтрации не зависят от порядка их использования и могут быть следующими:
[-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.

Результат регистрации

Этот кадр содержит все выходные элементы для последовательности.

Результат регистрации
  • Кнопка Сверхразрешение (x2) включает упрощенный алгоритм сверхразрешения (drizzle) для обработки этой последовательности. Увеличение масштаба (x2) будет применено к зарегистрированному кадру или во время укладки в зависимости от выбранного типа регистрации, что приведет к получению изображений с более высоким разрешением. Эта опция адаптирована для изображений с низким разрешением (uder-sampling), т.е. когда фокусное расстояние телескопа слишком мало для размера пикселя. Можно считать, что система имеет низкое разрешение, когда FWHM меньше 2 пикселей. Правильное название этого метода должно быть укладка со сверхвысоким разрешением, но для более удобного понимания мы назвали его Сверхразрешение (x2).

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

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

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

  • Если создается новая последовательность с применением полного преобразования, то пиксели результирующих изображений интерполируются с помощью алгоритма, который остается на усмотрение пользователя. Существует 5 возможных алгоритмов интерполяции, плюс опция Нет:

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

    • Билинейная

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

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

    • Ланцош-4

    • Нет

    Наиболее эффективными методами интерполяции обычно являются бикубический и Ланцоц (используется по умолчанию). Однако они обычно требуют включения опции Фиксация при интерполяции, чтобы избежать кольцевых артефактов вокруг звезд. Но последняя может быть бесполезна в некоторых случаях. Мы рекомендуем вам протестировать её с вашими изображениями.

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

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

Литература

[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.