Отображение пикселя в RA / DEC в цифровой астрофотографии - Фотопедия
8 голосов
/ 28 декабря 2010

У меня есть изображение звезд 1443x998 (снято с 35-мм камеры и затем отсканировано) со следующими звездочками в следующих местах пикселей:

Altair x=782, y=532 [19h50m46.9990s RA, +08 52'05.959'' DEC] 
Sualocin, x=311, y=146 [20h 39m 38.287s +15 54'43.49'' DEC] 
Denebokab, x=1023, y=815 [19h25m29.9005s +03 06' 53.191'' DEC] 

Какая математическая функция преобразует расположение пикселей в RA / DEC и т. Д. Versa? Примечания:

  • Яркие звезды - это капли на картинке; координаты выше примерно центр капли, но может быть выключен на + -2 пикселя.

  • Я знаю, что могу вращать небесную сферу так, чтобы центр моего картинка имеет полярные координаты 0,0. Таким образом, реальный вопрос «как найти это вращение "(но см. следующий пункт).

  • Если бы высота / азимут были линейными на изображениях, это было бы легко (э), но это не так Измерение углового расстояния с помощью фотографий

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

  • Я пытался выбрать 3 звезды, которые были "распределены" по всей картина (потому что я думаю, что уменьшает ошибку, не уверен), но я не уверен, что мне удалось.

  • Я делаю это для нескольких картинок и хотел бы общий метод.

  • Это поможет мне определить более слабые звезды / объекты Мессье / и т. Д. на картинке.

  • Я уверен, что многие астрофотографы хотят это сделать, но не нашел любое существующее программное обеспечение, которое делает это.

РЕДАКТИРОВАТЬ: Спасибо, whuber! Гномоническая проекция - это то, чего мне не хватало. Я бы уже сделал это, предполагая линейное преобразование:

(* convert RA/DEC to xyz coords on celestial psuedo-sphere of radius 1 *) 
radecxyz[ra_,dec_] = 
{Cos[ra/12*Pi]*Cos[dec/180*Pi],Sin[ra/12*Pi]*Cos[dec/180*Pi],Sin[dec/180*Pi]}; 

(* I no longer have any idea how this works *) 
astrosolve[x_,y_,z_,xwid_,ywid_] := Module[{a,m,ans,nullans}, 
m=Array[a,{2,3}]; 
temp=Solve[{ 
m.radecxyz[x[[1]],x[[2]]]=={x[[3]]-xwid/2,x[[4]]-ywid/2}, 
m.radecxyz[y[[1]],y[[2]]]=={y[[3]]-xwid/2,y[[4]]-ywid/2}, 
m.radecxyz[z[[1]],z[[2]]]=={z[[3]]-xwid/2,z[[4]]-ywid/2} 
}]; 
ans = m /. Flatten[temp]; 
nullans=Flatten[NullSpace[ans]]; 
If[nullans.radecxyz[x[[1]],x[[2]]]<0,nullans=-nullans]; 
Return[{ans,nullans}]; 
]; 

где x, y и z - каждый из 4-элементных списков, состоящих из звезд RA, склонение, x-координата на картинке и y-координата на картина. xwid и ywid - ширина и высота изображения. В этот случай:

astrosolve[ 
 {19.8463886110, 8.8683219443, 782, 532}, 
 {20.6606352777, 15.9120805555, 311, 146}, 
 {19.4249723610, 3.1147752777, 1023, 815}, 
 1443, 998] 

{ 
 {{-2250.51, -1182.52, 385.689},  {-166.12, -543.746, -2376.73}},  
 {0.480698, -0.861509, 0.163497} 
} 

Теперь, ссылаясь на "{-2250.51, -1182.52, 385.689}" как $ frow, "{-166.12, -543,746, -2376,73} "как $ srow и" {0,480698, -0,861509, 0,163497} " как $ null, эта подпрограмма PHP переводит RA / DEC в координаты xy:

# radecxy(ra,dec): converts ra/dec to x,y using a quasi-linear transformation 

function radecxy($ra,$dec) { 
    global $null,$frow,$srow,$xwid,$ywid; 
    list($x,$y,$z)=array(cos($dec)*cos($ra),cos($dec)*sin($ra),sin($dec)); 

    $dotprod=$null[0]*$x+$null[1]*$y+$null[2]*$z; 
    if ($dotprod<0) {return(array(-1,-1));}

 list($fx,$fy)  = array($frow[0]*$x+$frow[1]*$y+$frow[2]*$z,$srow[0]*$x+$srow[1]*$y+$srow[2]*$z); 
    $fx+=$xwid/2; 
    $fy+=$ywid/2; 
    if ($fx<0 || $fy<0 || $fx>$xwid || $fy>$ywid) { 
        return(array(-1,-1)); 
    } else { 
        return(array($fx,$fy)); 
    } 
} 

К сожалению, я больше не представляю, почему это работает, но использую его + добавление известные положения звездочек дают приемлемые результаты (для просмотра в полном размере используйте «view image»):

alt text

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

Ответы [ 2 ]

7 голосов
/ 31 декабря 2010

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

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

Математически преобразование из (RA, DEC) проходит через ряд шагов:

  1. Преобразовать (RA, DEC) в сферические координаты. RA следует преобразовать из часов-минут-секунд в градусы (или радианы), а DEC следует преобразовать из градусов-минут-секунд в градусы (или радианы), помня, что это угол над плоскостью, а не угол с северного полюса (который является обычным сферическим соглашением координат). Оба преобразования являются простой арифметикой.

  2. Вычислить (x, y, z) координаты для сферических координат звезд. Это стандартное преобразование координат (включая простую тригонометрию).

  3. Поверните небесную сферу, чтобы выровнять ее полюса с осью объектива. Это линейное преобразование.

  4. Поверните небесную сферу вокруг своих полюсов, чтобы соответствовать ориентации камеры (еще одно линейное преобразование).

  5. Поместив плоскость формирования изображения на постоянную высоту z над фокусом, нарисуйте световые лучи от звезд в точке (x, y, z) через фокус, пока они не пересекают плоскость. (Это гномоническая проекция, и по своей природе она проективна и не линейна.)

alt text

[На рисунке, который предназначен для плоского сечения по оси линзы,

  • A является координационным центром.
  • Полукруг BCD - видимая часть небесной сферы.
  • AC указывает вдоль оси объектива.
  • E, F и G - звездные местоположения.
  • EE, FF и GG - их соответствующие местоположения на (невидимой) небесной сфере.
  • E ', F' и G '- их изображения на датчике KL (так что EE', FF 'и GG' - пути световых лучей от звезд к датчику).
  • н.э. - это горизонт, с которого измеряется склонение.
  • Альфа - склонение звезды E (или, что эквивалентно, угловая координата EE). Звезды F и G имеют сходные склонения (не показаны).

Наша задача - найти математическое соотношение между угловыми координатами для E, F и G, которые предполагаются известными с высокой точностью, такими как альфа, и координатами их изображений E ', F' и G ', измеряется в пикселях вдоль датчика. После обнаружения это соотношение можно инвертировать, как описано ниже, чтобы оценить угловые координаты небесных объектов по позициям их изображений на датчике. Для простоты не показано увеличение объектива. С объективом без искажений это будет иметь эффект равномерного масштабирования координат E ', F' и G 'относительно центра датчика.]

Эта процедура описывает, как свет попадает от звезды на сенсор для идеального простого объектива. Он включает в себя эти (неизвестные) параметры, которые необходимо будет определить:

  • Три угла в (3) и (4), описывающие ориентацию объектива и камеры.

  • Масштабный коэффициент в (5), описывающий комбинированные эффекты размера датчика, расстояния от фокуса и увеличения объектива.

Из-за проекции (5) это вообще сложное нелинейное преобразование, но оно имеет определенное математическое описание. Если мы позволим x = (RA, DEC) обозначить положение звезды, пусть theta представляют четыре параметра для процесса формирования изображения, и пусть y = (столбец, строка) представляют координаты пикселя, то мы можем абстрактно а проще написать

y = f (x, theta).

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

y = f (x, theta) + e

Когда объектив не имеет искажений, ожидаемое значение e равно 0, а его стандартное отклонение ( sigma ) измеряет типичный размер ошибки. Разумно предположить, что буквы e примерно нормально распределены с примерно равными стандартными отклонениями (что не соответствует действительности, но для первоначального анализа это разумное предположение), и мы можем надеяться, что эти ошибки статистически независимы друг от друга (что опять-таки не соответствует действительности) но это хорошее начальное предположение). Это оправдывает решение наименьших квадратов с использованием максимальное правдоподобие . С точностью до универсальной постоянной, значение которой нам не нужно знать, логарифмическая вероятность любого конкретного наблюдения (x, y) равна

- | f (x, theta) - y | ^ 2 / (2 сигма ^ 2) - 2 log (сигма).

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

В силу предполагаемой независимости ошибок логарифмическая вероятность набора данных для изображения является суммой этих значений. Это «логарифмическая вероятность». Оценки максимального правдоподобия (ML) для параметров theta и sigma (всего пять чисел) - это те значения, которые максимизируют логарифмическую вероятность.

Мы можем и должны идти дальше. Теория ML также показывает, как получить доверительные интервалы для оценок. Интуитивно понятно, что ошибки в наших наблюдениях создают небольшую неопределенность в совместных значениях углов, масштабного коэффициента и стандартного отклонения. Нам нужны эти значения для оценки RA и DEC для любых пикселей в нашем изображении. Используя неопределенные значения, что неизбежно, мы получим неопределенные результаты. Кроме того, если мы идентифицируем пиксель в нашем изображении, посмотрев на рассеянный шарик света (рассеянный примерно на пи * сигма ^ 2 пикселя в целом), будет дополнительная неопределенность в координатах пикселя. В совокупности эти две формы неопределенности объединяются. Это подразумевает чистая неопределенность в оценке RA и DEC любого светового пятна на изображении больше, чем вы могли бы предположить.

Наконец, когда вы снимаете измерение с изображения и используете его для оценки истинных координат звезды или небесного объекта, вы выполняете обратную регрессию , которая является формой калибровки прибора. Обратная регрессия - это процедура для учета неопределенностей, которые я только что описал. Его выходные данные, конечно, включают в себя приблизительные координаты звезды для любого сгустка пикселей на изображении. Он также включает кольцо координат вокруг этой оценки, которое также согласуется с местоположением этого двоичного объекта. (Это совместный «интервал обратного прогнозирования» или набор «доверительных пределов» для RA двоичного объекта и Декабрь.) На практике, если вы обратитесь к каталогу небесных объектов, вы можете использовать это кольцо для поиска всех известных объектов, которые соответствуют информации на вашем изображении. Очевидно, что это может быть более ценным, чем упрощенная процедура, которая оценивает - иногда неправильно - только один единственный набор координат.

В итоге, здесь необходимо программное обеспечение для

  • Выполнить нелинейную оптимизацию, требуемую ML.

  • Оценка стандартных ошибок в оценках.

  • Выполнить обратную регрессию.

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

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

  • Точность изображения для получения исправления на любом объекте никогда не может быть больше, чем присущая ему неточность изображения (как измерено sigma , типичным размером точки света на изображение).

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

  • Это правильно, что вы хотите, чтобы опорные звезды были распределены по изображению. Также крайне важно , чтобы они не были выстроены в ряд (что, к сожалению, имеет место в трех местах, указанных в вопросе). Если вы можете позволить себе найти только три звезды, поместите их в красивый треугольник. Когда звезды выстраиваются в линию, статистический анализ показывает, что существует огромная неопределенность относительно местоположений в направлениях, перпендикулярных линии. В этом конкретном примере оценочная ошибка ( sigma ) составляет сотни пикселей в ширину. Наличие еще одной звезды для создания хорошего треугольника должно уменьшить эту ошибку до одного или двух пикселей.

Некоторые прощальные мысли:

  • Можно обнаружить и даже исправить аберрации линзы, выполнив более обширный статистический анализ. Идея состоит в том, чтобы изобразить отклонения между ожидаемым и фактическим расположением звезд на изображении. Это сродни картографическим данным типа "деформация" или " georeferencing ". Как быстрое и грязное решение, вы можете использовать ГИС или программное обеспечение для обработки изображений (например, ENVI ) для обслуживания географической привязки (или астрономической привязки) любого изображения. Такое программное обеспечение обычно не выполняет ML-оценки проективных преобразований, но может выполнять полиномиальные аппроксимации высокого порядка. Полиномиальное преобразование порядка 2 или порядка 3 может быть достаточно хорошим, в зависимости от вашего приложения.

  • Можно повысить точность, комбинируя несколько изображений одних и тех же объектов.

0 голосов
/ 30 декабря 2010

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

Осталось только выполнить преобразование координат, которое описывает ориентацию камеры, то есть направление, на которое она была указана, и степень, в которой она была повернута.

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

Смысл компонента вращения довольно очевиден. Коэффициент масштабирования просто описывает, какая часть неба покрыта каждым пикселем в терминах RA / Dec. Сдвиг - это преобразование, которое сделает изображение прямоугольника параллелограммом, но не должно быть никакого эффекта в изображении объектов на бесконечности (например, звезд). Наконец, компонент перевода просто добавляет смещение, чтобы учесть тот факт, что (x = 0, y = 0) пиксель в вашем изображении, вероятно, не соответствует (RA = 0, Dec = 0).

Поскольку у вас есть 3 опорные звезды на вашем изображении, у вас достаточно информации, чтобы рассчитать соотношение между вашими координатами пикселей и RA / Dec, которые вы ищете. Это можно сделать путем подбора линейных наименьших квадратов (а не нелинейных наименьших квадратов, как упоминалось выше), чтобы определить значения компонентов матрицы, которые наилучшим образом соответствуют координатам ваших пикселей с известным RA / Dec опорных звезд. Как только матрица установлена, вы можете применить ее к пиксельным координатам других звезд, чтобы получить их RA / Dec.

Хотя я мог бы сделать это относительно легко, я, к сожалению, не уверен, как помочь вам сделать это. Это будет связано с некоторыми математическими навыками, которые немного выходят за рамки photo.SE. Я оптический инженер, но я не большой фотограф; Программное обеспечение, которое я бы использовал для этого, предназначено для инженеров, выполняющих численные вычисления в тяжелых условиях, и вовсе не является фотографическим инструментом. Могут быть способы сделать это, используя пакеты программ, предназначенные для фотографов, но я не знаю о них.

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