MaximDL Плугин автофокусировки по маске Бахтинова

Продолжаю развивать разработанный мною MaximDL плугин автофокусировки по маске Бахтинова.

Скачивание (download)

Скачать dll и tlb файлы можно в моём файловом хранилище.

Установка плугина в MaximDL

!!! ВНИМАНИЕ. Обнаружена проблема с установкой плугина. Решаю её.

 

Плугин написан на VB.NET, поэтому для работы требует Microsoft dotnet 4 redistributable.

Процедура установки не автоматизирована, но очень простая. Всего несколько шагов:

  • нужно скопировать скачанные файлы (FocusMask.DLL и FocusMask.TLB) в любое место. Я обычно копирую в C:\Program Files (x86)\Diffraction Limited\MaxIm DL V5\Plugins, но это не обязательно;
  • в Maxim DL зайти в меню Plug-in и выбрать последний пункт Add/Remove Plug-in;
  • кнопка Browse. И указать путь к dll;
  • кнопка Close:
    plugin-install
  • теперь плугин доступен в меню Plug-in максима.
    Напомню, что активируются плугины при наличии открытого файла изображения в максиме.

 

Использование плугина

v0.1b:plugin-v01b-usage

Получаем-с звезду-жука, выделив ROI (часть кадра) при получении снимка.
Пока что вручную нужно выбрать звезду и подобрать выдержку. Снимать лучше в bin1, в L-фильтре.

В меню Plug-in выбираем ранее установленный FocusMask.

Если всё прошло хорошо, то плугин чуть подумает, обернёт дебуг-раскраской жука и выдаст найденное значение дефокуса. В примере на картинке выше дефокус огромный, составляет аж 350 угловых минут. Если хочется разобраться, как меряется дефокус, то велкам в подробное описание. Если нет, то … это число должно быть минимальным. Крутим фокусёр (пока что только вручную или кнопками на контроллере фокусёра), жмём выход, получаем новый кадр и запускаем плугин заново.

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

Сейчас важно следить, что:

  • центр звезды найден корректно. Чёрный крестик должен стоять в центре;
  • радиус найден корректно. Белый круг должен быть примерно в конце лучей жука… около сотни пикселей радиусом (зависит от углового размера пикселя);
  • лучи обозначены корректно. Белые крестики примерно на концах лучей;
  • дефокус найден корректно. Число «дефокус» хоть примерно соответствует действительности.

Если это не так, то я очень прошу нажать на клавиатуре кнопку Shift при клике на кнопку «Выход» в плугине. Сохранить debug-файл и выслать мне вместе с картинкой жука (обязательно в фите ДО работы плугина. То есть выйти из плугина, нажать «отмену» и сохранить файл).

 

Запланированные доделки

Roadmap (запланированный путь развития) проекта включает в себя:

  • получение ещё одного кадра с камеры в текущих настройках ROI, фильтра и bin-фактора, определение фокуса заново (режим ручной фокусировки);
  • управление подключенным ASCOM фокусёром (если таковой есть в системе и подключен), небольшой дубль закладки Observatory Control / Focus в рамках модального окна плугина (режим ручной фокусировки кнопками с компа);
  • общение с моим контроллером маски на предмет накинуть маску в начале и снять по окончанию фокусировки;
  • мелкие доделки:
    • центр звезды плохо ищется, нужно менять алгоритм поиска;
    • центр звезды искать с субпиксельной точностью.
  • обработка жука во всех фильтрах, в т.ч. узкополосниках;
  • общение с ASCOM фокусёром, выбранным и подключенным в MaximDL;
  • начальная и принудительная калибровка фокусёра в привязке к реакции найденного фокуса (направление, масштаб движения по-возможности, лучший масштаб обработки изображения и уровень его медиан-фильтрации);
  • несколько алгоритмов авто-фокусировки в зависимости от уровня качества механики фокусёра:
    • идеальный фокусёр со 100% предсказуемой позицией. Больше для отладки, чем для дела. С таким фокусёром и focusMax будет работать на пять ;
    • хороший фокусёр с шаговиком и … некоторым постоянным люфтом;
    • разболтанный фокусёр с шаговиком и непойми каким случайным люфтом;
    • проскальзывающий фокусёр с шаговиком (мне повезло, у меня такой);
    • фокусёр с DC-мотором на валу, подключенный через мой контроллер маски.
  • получение полного кадра в bin4, поиск яркой звезды под маской, получение ROI в bin1;
  • подбор выдержки для получения необходимого SNR и яркости;
  • работа в автоматическом режиме через скрипт в Autosave мак-сима.

 

История версий

  • ноябрь 2016: первая публичная бета-версия (v0.1b).
    Вручную ищет дефокус по звезде-жуку в кропе. Много отладки;
  • октябрь 2016: первая alpha-версия, анонс на astronomy.ru.

История создания и внутренние принципы работы описаны здесь.