Прошлой ночью качество изображения было просто отличным, несмотря на горячее зеркало (аж 19.5°C) — все-таки, более важен перепад температур, а он был небольшой (ночью было 18..17°C). Правда, все равно изображения "дышали", а еще обнаружилось, что с системой управления телескопа творится черт знает что. Но обо всем по порядку.
Подробней )
Похоже, наконец-то я добил то, что уже тянется в течение более чем трех лет: научился-таки обрабатывать гартманнограммы.
Тщательно проштудировав отчеты Снежко, я понял, что действительно простейшим способом вычисления нормалей к аберрациям зеркала является построение точечной диаграммы для z наилучшего фокуса и вычисление отклонений каждого луча по ней.
Здесь лежит код. Пока что обработка идет разрозненно: сначала при помощи моей фитсосмотрелки производится предварительная обработка гартманнограмм (поиск пятен, идентификация и вычисление координат центров), а затем уже этой утилиткой найденные пятна обрабатываются.

Для начала я протестировал на модели, насколько качественно все работает. Скажем, берем вот такую матрицу
   0   0   0   .1  .1  .1  0   0   0   0
   0   0   .1  .3  1   .4  .2  0   0   0
   0   0   0   .1  .5  .2  .1  0   0   0
   0   0   0   0   .1  0   0   0   0   0
   0   0   0   0   0   0   0   0   0   0
   0   0   0   0   0   0   0   0   0   0
   0   .1  .1  0   0   0   0   0   0   0
   .1  .2  .2  .1  0   0   0   0   0   0
   .3  .4  .3  .1  0   0   0   0   0   0
   .5  .2  .1  0   0   0   0   0   0   0

строим по ней гартманнограммы и обрабатываем. В итоге вот что получилось:
2spots_3d2spots_2d

Дальше )
Итак, сегодня я таки реализовал это.
Получилось хреново: то ли эти полиномы очень чувствительны к неоднородности распределения точек, то ли просто хреновые, то ли мое рукожопие сказывается, но получилось даже хуже, чем декомпозиция обычными Церниками.
Сравнение )
Таки добрался я наконец до своих баранов: вернулся к полиномам Цернике. И что оказалось: ведь отлично справляется метод наименьших квадратов! Т.е. в принципе, наверное, мучиться с ортогональными на кольце полиномами и не нужно!!!
чуть кода )
В общем, реализовать полиномы, ортогональные на диске, мне все-таки придется! Либо же придется модифицировать задачу, постепенно подбирая коэффициенты: скажем, «скармливая» решателю по 3-4 очередных степени полинома (а в качестве значений ВФ брать невязки от предыдущего решения).
Что-то опять у ЖЖшки беда с загрузкой картинок, поэтому пришлось использовать imageshack.
текст )


Вчера провел небольшую "работу над ошибками" и нашел кое-какие мелкие "ашипки и очепятки", которые приводили к получению черт-те чего, но не того, что было нужно.
res
Все картинки "в куче" (точность поверхности — 50нм). Осторожно, аж полмегабайтная gif'ка!
графики, цифры ) В общем, работать еще и работать! P.S. код я выложил на сосфорж.
Вчера я частично добил "черновик" своего трассировщика, а позавчера — сделал модуль импорта параметров маски из JSON-файла.
Теперь файлик вида

{
    "shape": "round", "radius": 0.007500,
    "holes": [
        { "ring": 0, "number":  0, "center": [  0.1742,  0.0172 ] },
        { "ring": 0, "number":  1, "center": [  0.1675,  0.0508 ] },
        { "ring": 0, "number":  2, "center": [  0.1543,  0.0825 ] },
…
        { "mark": 1, "number":  1, "center": [  0.0933, -0.4688 ] },
    ]
}
задает параметры маски.
картинки ) В общем, еще работать и работать. Но скорость построения модели меня радует. Это вам не сутки в октаве...
Так как простейшие методы интегрирования градиента волнового фронта не показали себя надежными, попробую следующий шаг — разложение по полиномам Цернике.

теория )

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


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

подробнее )

Хоть нормальных наблюдений вчера провести не удалось (погода была ужасной), мы успели по крайней мере снять несколько гартманнограмм Веги для измерения точного положения фокальной плоскости для нового светоприемника (многострадального Apogee).
Подробности ) В итоге получили, что нам надо отрезать 14мм от стоек крепления светоприемника. Отрежем, а на следующую техническую ночь проведем повторные измерения. Если все будет ОК, сделаем уже нормальный прибор, с турелью фильтров. И будем раз в месяц-два проводить позиционные измерения и снимать гартманнограммы. Правда, еще бы найти время, чтобы довести до ума восстановление профиля зеркала по гартманнограмме + автоматизировать позиционные измерения.
Продолжу цикл своих публикаций относительно мытарств с обработкой гартманнограмм.
Ранее я уже описывал, как получить модели пред- и зафокальных гартманнограмм. Теперь пора перейти к следующему этапу - определению координат центров пятен и получению значений нормалей к проекции волнового фронта, например, на предфокальное изображение (оно не зеркалировано, так что его использовать удобнее для расчета отклонений формы зеркала от идеальной).

А теперь - поподробней )
Для проверки точности того или иного метода восстановления профиля зеркала по гартманнограммам удобно воспользоваться моделированием гартманнограмм для эталонной модели искаженного профиля зеркала.

Для моделирования процесса регистрации пред- и зафокальных гартманнограмм на телескопе БТА использован следующий алгоритм:

  1. моделирование поверхности главного зеркала БТА с предопределенными искажениями;
  2. моделирование процесса отражения деформированным зеркалом коллимированного пучка света;
  3. построение модели маски Гартманна;
  4. моделирование прохождения отраженного деформированным зеркалом света через маску Гартманна с последующей регистрацией его идеальным светоприемником.

Read more... )

September 2017

S M T W T F S
     1 2
3456789
1011 12 13141516
17181920 212223
24252627282930

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 25th, 2017 04:18 am
Powered by Dreamwidth Studios