Умности

Сканирую astronomy.ru на предмет своих «умностей». И, если мне кажется, что умничал я по делу, то пишу ссылки в эту заметку. Создаю этот каталог больше для себя. Хочется помочь людям, но не хочется 20 раз писать одно и то же. Проще дать им ссылку на ранее данное объяснение.

Астросъёмка:

Обработка:

Железо разное:

Астрохостинг:

Разное «о жизни»:

Не моё

Пока что просканировал до декабря 2016 включительно.

Для цветных — свои правила

Люблю звучные, не особо пересекающиеся с темой новости, заголовки. Что-то есть во мне от редактора жёлтой прессы. «Для цветных — свои правила», — так, наверняка, говорили в Америке темнокожим. Те боролись-боролись и, надеюсь, не напоролись. Но, конечно же, я не о них хочу рассказать, а о цветных камерах.

Есть у меня тёмный, но чёткий мак 200 f10. Хороший объектив, но блин… f10! Там хорошая ЧБ камера с хорошими парфокальными фильтрами. Всё классно, но моего терпения еле-еле хватает чтобы L-ку приличную набрать. Не то что цвет маком бить. К тому же зачем кому-то может понадобится чёткий цветовой канал? Цветовое разрешение может быть в разы ниже разрешения L-канала, а глаз этого не увидит, не поймёт.

debayer ad - Для цветных - свои правилаТак что цвет я снимаю на свой 250 f4.6 ньютон, да ещё и на цветную байер-камеру QHY8L. Камера хорошая, хоть морально и устарела. Но байер, сэр! Когда сводишь картинку 1:1 с размером кадра ньютона, проблемы нет. Но если при этом увеличиваешь в 2.5 раза чтобы свести с масштабом мака, то при настройках по-умолчанию, получаешь такой АД (см. слева).

Путь обработки до такого ада (по-умолчанию) у меня заключался в:

— калибровка и косметика в пиксе;
— дебайеризация в пиксе, алгоритм VGN;
— разложение на каналы;
— выравнивание по опорному (с увеличением в 2.5 раза) по алгоритму Auto;
— сложение в фитстакере поканально;
— сведение в RGB фит в пиксе;
— сжатие гистограммы и перевод в PNG в FitStacker’е.

Потом я пытался этот АД уменьшить в фотошопе, но ничего культурного из этих крестов выжать не получалось. Так что начал экспериментировать и вроде бы нашёл MyWay. Он заключается в уходе от чёткого VGN и отбирании у пикса полномочий в выборе алгоритма интерполяции при выравнивании. Всё в простом и доходчивом Bilinear:

debayer good - Для цветных - свои правила— калибровка и косметика в пиксе, как и раньше;
— дебайеризация в пиксе, алгоритм Bilinear;
— разложение на каналы;
— простое выравнивание проекцией по опорному без увеличения, в масштабе ньютона;
— сложение в фитстакере поканально;
— выравнивание (2d полиномом) по опорному с мака. С увеличением масштаба в 2.5 раза и алгоритмом Bilinear в пиксе;
— сведение в RGB фит в пиксе.

И, вуаля! Конечно же, разрешение в синем и красном чуть пострадало, но … его и не было же в байере. Я их чуток поджал «минимумом», а зелёный чуток размыл гаусом, чтобы звёзды вписывались примерно в одно FWHM, потом ещё прошёл шумодавом. Получилось очень классно для RGB (это та же звезда). В данном случае лучше чуть мутненько, чем адово пёстро. Это лишь цветной канал для хорошей L-ки.

 

PixInsight скрипт разбора исходников — теперь с CFA

Есть у меня самописный скрипт, очень облегчающий жизнь астрофотографу юга России (с ~150 ясных ночей в году), да ещё и с доступом к нескольким телескопам. Я о нём уже писал раньше:

Случилось так, что пришлось мне временно откатиться на шаг назад — вернуться на цветную астрокамеру QHY8L. Сразу скажу, камера хорошая, но … я уже привык к съёмке в чб через фильтры. А тут на те.

Долго, целых пару недель я калибровал фиты с неё вручную, но всякому терпению есть предел. Сегодня пол дня потратил на адаптацию скрипта. Кроме описанного в последней статье сегодня он научился:

  • дебаеризовывать калиброванно-косметированный фит;
  • раскладывать его на три фита: R, G и B;
  • выравнивать все три фита относительно опорного.
    Как обычно, если опорного не было, он создаётся копированием первого канала первого фита.

Пока что программа работает ну очень неоптимально. По уму нужно сначала набрать задач, потом делить их на инструменты / объекты / выдержку и калибровать всю кучу. Всю кучу косметировать всеми ядрами, выравнивать тоже пакетно. Но это всё потом. Самое главное, что пусть комп в 4 раза дольше считает, но он меня не отвлекает. Моя мама говорит: «человек должен думать, а компьютер — работать». В этом ключе и происходит. Пусть себе трудится комп.

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

pix.script.v3 768x578 - PixInsight скрипт разбора исходников - теперь с CFA

Скачать обновлённый скрипт можно там же:
http://download.milantiev.com/astro/pixiInsight.scripts/

Есть вопросы? Задавайте их мне.

Разбор, калибровка, косметика и выравнивание фитов в PixInsight

Есть у меня скрипт под пикс для автокалибровки / косметики / выравнивания / раскладывания по папкам куч фитов с разных астрографов / камер.

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

Берём только что отснятый фит или их пачку, кладём его в папку IN, запускаем скрипт и в папке OUT получаем структуру:
— объект
— фильтр
— cc: калиброванные с косметикой
— src: исходники

В корень папки-объекта первый обработанный фит попадает как файл ref.fit, является опорным для выравнивания (можно опорный файл самому залить, по нему будут ровняться все последующие).
Выравненные фиты по фильтрам раскладываются в объект/фильтр/фит_c_cc_r.fit

Файлы переименовываются по шаблону:
{имя_владельца}-{имя астрографа}-{дата}-{время}-{объект}-{фильтр}-{бин}-{выдержка}.fit
к примеру: Vitar_MakF10-2017_04-11-19_28-IC2574-L-bin1-600s_c_cc_r

Для корректной работы во время съёмки (в максиме, например), нужно задать заголовки:

  • OBSERVER
  • TELESCOP

Если заголовки не заданы, написал мелкую прогу на питоне под windows, правит заголовки:

Recursive change fits header OBSERVER and TELESCOP

Usage:
observer.telescope.py -o <observer> -t <telescope>

Ещё для работы нужны мастердарки / биасы / фиты в папке CALIBRATE. Структура аналогичная: {имя астрографа}/{имя телескопа}/bias.fit
Или dark-900.fit (дарк, 900 секунд).
flat-L.fit (флет в L-фильтре).

На столе пикса должны быть иконки процессов калибровки с именами по шаблону:
cosmetic_{имя-владельца}_{имя-астрографа}_bin{бин}_{выдержка}.
Например, cosmetic_Vitar_MakF10_bin1_1800.

Сам рабочий стол пикса сохраняется правой кнопкой и автозагружается добавлением в файл C:\Program Files\PixInsight\etc\startup\startup.scp строчки:

.open C:/ASTRO/mo.xpsm

Пока что не делал поиск оптимального дарка по выдержке из присутствующих рядом и библиотеку дарков разной температуры. Ещё дату флета тоже можно автоматизировать. То есть с такой-то даты актуальным становится флет в папке {дата}, например.

Комментарии в начале файла от старой версии. Потом исправлю.

Сам скрипт тут: http://download.milantiev.com/astro/pixiInsight.scripts/

Онлайн анализ снимаемых сейчас фитов

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

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

Хороший, давно мною замеченный, инструмент онлайн контроля качества поступающих фитов — это бесплатная программа DeepSkyStacker, её отдельная часть — DSS Live. Задача программы именно контроль всех фитов и равов, поступающих в выбранный каталог.

dss-live

Последовательность действий проста, как и сама концепция DSS.

  • вверху-слева выбираем каталог мониторинга. Ссылка возле текста «Мониторинг»;
  • нажимаем треугольник «Play». Типа, погнали!
  • я обычно переключаю вид в «Графики» / «FWHM». Но можете подобрать лучший вид для вас.

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

Но если показания FWHM от кадра к кадру падают или держатся на месте — то «в Багдаде всё спокойно… спите жители Багдада».

 

Другая известная мне хорошая программа, занимающаяся тем же, к сожалению, стоит некоторое количество американских дензнаков. Звать её CCD Inspector. В нём так же есть кнопка мониторинга, так же слева-сверху. Звать её «AutoOpen». Жмём её, выбираем каталог и вуаля!

ccd inspector 768x548 - Онлайн анализ снимаемых сейчас фитов

В этой проге тоже есть графики — кнопка Charts. Есть и предупреждения… кажется. Я вспомнил о CCD Inspector скорей чтобы показать, что DSS Live не единственный инструмент онлайн контроля снимаемых фитов. Однако меня полностью устраивает бесплатный французский сыр (DSS написана Люком из Франции, переведена на русский мной).

 

Orange Pi для обсерватории

Есть у меня Raspberry Pi (англ.: raspberry = «малина») . Это мини-компьютер формата с кредитку. Установлена на нём операционка Linux …, какой-то клон дебиана, названный Raspbian’ом. Хорошая железка и цена гуманная. Не особо мощный процессор, но на 100% привычное мне окружение обычного Linux серверка.

Китайцы не дремлют и (уже достаточно давно) выпустили дешёвую подделку на «малину», назвав её «апельсином», то есть Orange Pi. Она у меня тоже есть и уже год работает на улице в обсерватории. Цена меньше, мощи больше, надёжность на уровне. Могу смело рекомендовать всем в обсерватории.

… что, собственно, я и сделал с месяцок — другой назад. Нарекомендовал апельсин и релюшку в обсерваторию моего хорошего знакомого из Самой Москвы!

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

О том записал небольшой видеоролик:

Конечно же, это далеко не готовый коммутационный шкаф обсерватории. Однако, будучи соответствующим образом настроен программно и подключенным к роутеру с 3G свистком, этот комплекс становится:

  • ip (веб) сервером питания компонент обсерватории. В данном примере реле на 8 каналов. Достаточно мощные реле могут коммутировать около 2кВт по 220В. Можно коммутировать до 10А низковольтной нагрузки (5, 12, 24В и др.);
  • если подключить ещё один 3G свисток и установить мой скрипт детектирования и переключения живого канала, можно создать резервный интернет-канал. Что порой очень актуально на даче или другом удалённом месте с обсерваторией или просто удалённо управляемым объектом;
  • если подключить вебку и установить программу определения движения по ней (motion), комплекс становится ещё и примитивным видеонаблюдением;
  • можно подключить 1wire или i2c датчики температуры (и не только), превратив комплекс в простую погодную станцию;
  • так как почти все российские 3G операторы не предоставляют внешний IP, то «апельсин» может поддерживать VPN соединение, тем самым предоставляя возможность входа снаружи на него и на компы за ним. К примеру, на комп управления астрографом.

Вот веб-интерфейс моей версии «апельсинки»:

orange.combine 768x792 - Orange Pi для обсерватории

Мой апельсин, кроме озвученных функций, порой занимается отождествлением астро-снимка (allsky поиском координат по почти любой фотке моих астрографов), а так же замеряет напряжение на аккумуляторах и снимает показания с датчика влажности и ИК-термометра неба (датчика облачности).

Интерфейс простой и гибкий. Его достаточно легко можно дополнить нужными данными. Позволяет строить и динамически обновлять графики по выбранному показателю за час / сутки.

orange.combine.wet  768x524 - Orange Pi для обсерватории

Auto DeepSky Capturer — видео о начале разработки

Auto DeepSky Capturer — начало разработки from Oleg Milantiev on Vimeo.

Я пока сам не понял, зачем записал это видео. Наверное, тянет меня показать что-то, хоть показывать пока особо и нечего. На начальном этапе создания любого продукта, когда происходит выбор и апробирование технологий, часто бывает, что времени потратил много, а интерфейса собрана одна страница. Именно так и сейчас произошло. К тому же, именно в этом случае, имело место изменение концепции. Переход от C# проги только к C# + веб-приложению.

Должно быть я впервые берусь за столь объёмный программерский проект. Работы в нём немерено — на годы 🙁 Причём первые результаты минимум через несколько месяцев. Однако, я полон решимости довести проект до старта беты, как минимум.

Слава Богам, у меня в этом проекте есть достаточная мотивация — ЛЕНЬ. Мне лень не спать и подсказывать телескопам куда им смотреть и что, да в каких фильтрах снимать. Каждая ночь, пока я управляю астрографами вручную, увеличивает моё желание писать Автоматизатор. Именно поэтому я верю, что продукт будет доделан.

Auto DeepSky Capturer — переход в веб

После трёх недель воздержания (был занят заработком денег … тем же самым программированием), продолжил разработку Автоматизатора съёмки дипская. Программа лично мне очень нужная, да и другим может оказаться полезной.

autoastro-diagramСразу хочу извиниться за обилие программерских терминов. Итак, сегодня пол дня делал, с позволения сказать, концептуальный переход от C# программы с еёшным же GUI к … тоже C# программе, но весь пользовательский интерфейс буду переносить в привычный мне веб. Получается примерно так, как на диаграмме слева.

Браузер общается с самописным простым веб-сервером, написанным на C#, встроенным в программу Автоматизатора. Сервер отдаёт статику (html, css, js, fonts), и служит REST API шлюзом. Через этот самый REST, пока что без авторизации, веб-приложение на javascript может как получать данные, так и давать команды Автоматизатору.

Автоматизатор же, через ASCOM-абстракцию общается непосредственно с оборудованием по одному ему известному принципу.

По сути вся логика программы живёт в ядре, написанном на C#. Веб реализует лишь интерфейсные функции. Но реализует их хорошо, качественно и красиво.

Зачем это нужно?

Во-первых, я ненавижу программирование интерфейсов в Windows.Form. Я не умею и не испытываю ни малейшего желания учиться. Стоило мне запустить программу на другом компе, как начались проблемы. То залезло на это, тут буквы распёрлись, а вон то и вовсе почему-то не показалось. Почему? Не интересно. Я знаю веб (javascript, dhtml, REST). Я хорош в нём. Так зачем мне изначально делать кривой продукт? Ни к чему.

Во-вторых, Автоматизатор всё равно нужно было бы выносить в веб, ибо там ему самое место. Вот и получалось, что мне нужно было бы сначала реализовать весь интерфейсный функционал в C#, а потом повторять его в вебе. Это удваивает работу. Это усложняет поддержание, ведёт к грусти моей и грусти пользователей. Ибо я тут один и, увы, не могу уделить необходимое время проекту здесь и сейчас.

В-третьих, пока я пишу веб-приложение, я описываю, реализую и тестирую механизм внешнего взаимодействия программы. Её будущее и возможность расширения — её «лицо с компьютерным интерфейсом» — REST API.


Именно поэтому я сегодня потратил несколько часов на догугливание и допиливание однопоточного веб-сервера на C#, а так же набросал каркас twitter bootstrap приложения на html5 / javascript.

Была идея, кроме веб-сервера встроить в C# прогу и WebSocket сервер. Но я отказался от неё, так как не спутник запускаю и можно позволить себе потерять актуальность до пяти секунд, например, повысить потребление трафика до десятка мегабайт за ночь. Не факт, что на вебсокетах получилось бы сильно дешевле по трафику.
Дополнительная мотивация отказа от сокетов — необходимость прокидывания дополнительного IP-порта для них. А так как основной концепцией программы остаётся DSS-style (простота интерфейса вкупе с внутренней мощью), то один, стандартный 80й порт — то, что доктор прописал.

«А как же», — спросите вы, — «как же управлять программой на том же компе, где снимаю? Если у меня не удалённая обсерватория, а вот он, маленький телескоп в метре от меня».

Ответ простой и незамысловатый. Можно управлять с того же компа, зайдя по адресу http://127.0.0.1 (локальный комп — как раз такой пример на скриншоте ниже). Можно зайти с мобилы или планшета. Можно зайти даже со smart-tv : ) или же с соседнего компа. Больше того, можно зайти со всех эти устройств и ещё дать доступ соседу-Ваське, чтобы тот радовался Космосу. Это веб, он доступен отовсюду. В этом его фишка. Примерный вид каркаса приложения такой:

autoastro-5

Завтра планирую начать реализовывать и документировать REST API.

Задумка: AutoDeepSkyCapture

Уже несколько лет зреет во мне понимание необходимости оптимизации астросъёмки многих объектов в течение ночи / ночей. А так же уменьшения моего участия в процессе, уход от рутины.

Я пробовал триалы разных автоматизаторов, но все они мне показались слишком замороченными. Видать, я туп и хочу чего-то простого и эффективного, в стиле DeepSkyStacker. Я просто хочу иметь возможность сказать «хочу отснять Улитку и хорошо!». И чтобы прога поняла меня.

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

 

Кратко суть планируемой программы

Хочу отказаться от дорогого MaximDL во время съёмки и написать альтернативный софт с основными фичами:

  • пока что поддержка только ASCOM железа (да, пока с кэноном пролёт);
  • план съёмки, сквозняком проходящий через несколько ночей, включающий в себя пожелания типа:
    • «хочу, чтобы при Луне копился свет по объекту NGC7293 в часе вблизи его кульминации с восточной стороны в фильтрах Ha и O3»;
    • «чтобы без Луны по этому же объекту вблизи кульминации с обоих сторон 3 часа в ночь снимался L и цвет в bin2 в пропорциях 2*L, 1*RGB, хочу набрать 10 часов»;
    • и так хоть по двум, хоть по 100 объектам в течение недели, месяца, года, десятилетий.
      То есть прога сама должна находить оптимальное время съёмки объекта / координат и выстраивать план съёмки. С возможностью его корректировки на ходу;
  • Работа с простым usb-реле, покупаемом на али (без пайки), способном перезагрузить глючное железо, как по питанию, так и по USB;
  • работа с простым ИК-термометром с того же али в качестве сенсора облачности. Основной принцип выбора железа — доступность в конкретном магазине и ненужность пайки;
  • ASCOM контроллер купола / крыши (от Ивана) для экстренного закрытия обсерватории по пропаданию неба;
  • статистика по уже отснятому;
  • калибровка, косметика и выравнивание, сложение превьюхи средствами пикса и моего уже написанного скрипта автоматизации сего процесса (скрипт надо допилить, уже есть несколько идей. Но это мелочи);
  • веб-морда, дублирующая Windows.Form приложение.
    Я веб-программист, так что эта часть самая простая для меня;
  • HTTP JSON общение с прогой из стороннего софта.
    Типа того, как это делает PHD2. Базу этой части уже сделал. Протокол расширяю по мере появления функционала;
  • в недалёкой перспективе возможность съёмки несколькими основными камерами (несколько соосных объективов на одной монти). Конечно же, с межкадровыми подвижками.

 

Процесс съёмки

  • планировщик, чуть описанный выше, принимает решение, что сейчас нужно снимать RA/DEC фильтром X выдержкой N;
  • для этого телескоп переводится в нужные координаты. Делается снимок в bin4, ресолвится (сейчас выбираю движок астрометрии), делается уточняющий переход;
  • запускается гид (пока что PHD, в далёкой перспективе свой гидер с расчётом на раздолбанные монти);
  • запускается съёмка кадра;
  • по заданной стратегии осуществляется перефокусировка (изменение температуры на N градусов или каждые N кадров, что наступит быстрее). Вот тут пока пробел. FocusMax уже не запустишь, тот заточен на максим. Я уже написал и провожу тестирование плугина фокусировки по маске на моторчике, с использованием фокусёра почти любой раздолбанности. Но, однозначно, нельзя заставлять пользователя использовать только этот метод фокусировки. Поэтому, придётся сделать свой FWHM-автофокус. Не сложно его сделать. Сложно сделать его хорошим и быстрым;
  • асинхронно: ведётся контроль на зависания и глюки. Предпринимаются попытки их решения по схеме из настроек. Включается аларма, если робот сам не справился;
  • асинхронно: ведётся контроль погоды. Предпринимается попытка парковки в положение из настроек. Закрытие крыши в случае успешной парковки. Аларма оператору по сбою;
  • асинхронно: ведётся уточняющая привязка средствами астрометрии (чужой движок);
  • асинхронно, низкоприоритетно: ведётся контроль качества полученных снимков (пока через DSS консольный, в перспективе свой анализатор);
  • … далее по кругу. Запрос к планировщику, съёмка следующего кадра с переходом в другие RA/DEC, если нужно или остаётся там же.

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

autoastro-2

Запускаясь, программа просит выбрать оборудование (уже реализовано). Запоминает настройки в реестре винды для конкретного пользователя (что даёт возможность запустить N астрографов на одном компе, как это сейчас сделано у меня).

autoastro-3-config

Выбранное оборудование подключается и текущее состояние отображается на закладке «ствтус». Тут же показывается текущий план на эту ночь и реализованная часть зачёркивается.

autoastro-3-status

 

Заранее задаются разные стратегии съёмки. Некие «шаблоны», говорящие, что галактики лучше снимать так, а водородные туманности этак. Что для съёмки астероида нужно отснять 5 кадров в течение ночи, вперемешку с другими объектами, а для съёмки туманностей в HST-палитре выдержки в узкополосниках нужно делать больше, чем в RGB. Разный бининг.

autoastro-3-how-list

autoastro-3-how-add

Форма добавления пока не включает весь функционал стратегии съёмки (бин, вперемешку, минимальное количество кадров за ночь).

 

Задав шаблоны, задаются цели и время их съёмки. В идеале программа должна снимать объекты только близ их кульминации, минимизируя количество перекладок для классического немца (экваториальной монтировки немецкого типа). При съёмке учитывается фаза и расположение Луны. Узкополосниками можно и нужно долбить даже при полной Луне, тогда как L-ку снимать длинными при Луне — близкий путь фитов к мусорной корзине.

autoastro-3-what-add

autoastro-3-what-list

 

Пока что единственный доступный метод фокусировки с использованием маски на моторчике. Способ экспериментальный, так что до выхода второй версии программы планирую реализовать обычный FWHM / FHD способ фокусировки.

autoastro-3-focusmask


В программу я планирую внести весь мелкий функционал в моём понимании, убрав его столь бесящую меня в максиме форму его подачи.

Замах серьёзный. Не готов утверждать, что доведу до конца. И всё же, мысль уже не первый год зреет у меня в голове и сейчас я уже начал её реализовывать. А это важно — сделать первый шаг!

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.

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