Удаление звёзд с помощью StarNet

StarNet — это программное обеспечение, разработанное Никитой Мисюрой. Его первая версия была выпущена под свободной лицензией с открытым исходным кодом. К сожалению, вторая версия стала проприетарной, и доступ к исходному коду закрыт. Версия 2 может быть скачана бесплатно здесь. Убедитесь, что вы скачиваете версию Command Line Tool. Siril может взаимодействовать с любой версией командной строки StarNet, включая новую экспериментальную версию на базе Torch, которая изначально была выпущена для Apple Mac с чипами M1 и M2.

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

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

Совет

В macOS, для того чтобы Siril мог правильно обнаруживать и использовать StarNet, сначала необходимо решить некоторые проблемы с правами доступа и безопасностью. Начните с открытия приложения Терминал (Terminal) из папки Утилиты (Utilities) в разделе Приложения (Applications). В терминале вам нужно изменить рабочую директорию с домашней папки на директорию установки StarNetCLI. Для этого введите cd, затем нажмите пробел и перетащите папку StarNetCLI в окно терминала, чтобы скопировать её путь. Нажмите Enter. После этого введите следующие четыре команды, нажимая Enter после каждой из них:

xattr -r -d com.apple.quarantine libtensorflow_framework.2.dylib
xattr -r -d com.apple.quarantine starnet++
chmod +x starnet++
chmod +x run_starnet.sh

Затем, при первом использовании Siri, запуск StarNet может завершиться ошибкой с предупреждением о libtensorflow. Отмените это предупреждение. Откройте системные настройки (System Preferences) и в разделе Конфиденциальность и безопасность (Privacy and Security) нажмите кнопку Разрешить в любом случае (Allow anyways)для libtensorflow. После этого StarNet должен правильно выполняться в Siril.

Совет

Для macOS также выпущен новый исполняемый файл StarNet, оптимизированный для чипа Apple Silicon, который доступен на сайте: https://www.starnetastro.com/experimental/. Эта новая версия значительно быстрее предыдущих, поскольку она использует ускоренную библиотеку MPS PyTorch (https://developer.apple.com/metal/pytorch/). Кроме того, в этой версии содержатся подписанные двоичные файлы, следуйте инструкциям по установке, указанным в файле README.txt

Тем не менее, Siril по-прежнему может запускать внешние исполняемые файлы, и именно это мы решили реализовать, начиная с версии Siril 1.2.0. Для настройки обратитесь к этому разделу руководства. Там объясняется, как указать Siril местоположение StarNet.

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

Необходимо указать расположение версии StarNet для командной строки, а не с графическим интерфейсом пользователя.

Обратите внимание, что StarNet требует ввода данных в виде изображений в формате TIFF, поэтому, если Siri скомпилирована без поддержки libtiff, интеграция со StarNet будет недоступна.

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

диалог starnet

Диалоговое окно Удаление звезд с помощью StarNet.

Инструмент очень прост в использовании и имеет всего пять настроек:

  • Предварительно растянуть: если этот параметр выбран, перед запуском StarNet к изображению применяется оптимизированное растяжение посредством функции переноса средних тонов (Midtone Transfer Function, MTF), а после завершения работы инвертированное растяжение. Это необходимо для использования StarNet на линейном этапе обработки.

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

  • Создать маску звезд: эта опция позволит сгенерировать маску звёзд и сохранить ее в рабочей директории. Маска звёзд рассчитывается как разница между исходным изображением и изображением без звёзд. По умолчанию маска звёзд создается.

  • Удвоить разрешение: эта опция увеличивает разрешение изображения в два раза перед запуском StarNet. Это улучшает обработку очень плотных звёзд, но увеличивает время обработки в четыре раза и может снизить эффективность при работе с очень большими звёздами. По завершении изображение масштабируется обратно до исходного размера.

  • Пользовательский шаг: можно ввести собственное значение для параметра шага в StarNet. Значение по умолчанию составляет 256, и разработчик StarNet рекомендует не изменять этот параметр.

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

Больше информации о StarNet можно найти на официальном сайте.

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

Команды

Командная строка Siril

starnet [-stretch] [-upscale] [-stride=value] [-nostarmask]
Эта команда вызывает StarNet для удаления звёзд с загруженного изображения.

Предварительные условия: StarNet это внешняя программа, не связанная с Siril, которая должна быть корректно установлена перед первым использованием этой команды. Путь к директории с установленной версией StarNet для командной строки должен быть указан в разделе настроек Разное.

По завершении работы загружается изображение без звёзд, а в рабочей директории создаётся изображение с маской звёзд, если только не указан необязательный параметр -nostarmask.

Необязательные параметры, которые могут быть переданы команде:
- The option -stretch is for use with linear images and will apply a pre-stretch before running StarNet and the inverse stretch to the generated starless and starmask images.
- To improve star removal on images with very tight stars, the parameter -upscale may be provided. This will upsample the image by a factor of 2 prior to StarNet processing and rescale it to the original size afterwards, at the expense of more processing time.
- The optional parameter -stride=value may be provided, however the author of StarNet strongly recommends that the default stride of 256 be used

Командная строка Siril

seqstarnet sequencename [-stretch] [-upscale] [-stride=value] [-nostarmask]
Эта команда вызывает Starnet++ для удаления звёзд с последовательности sequencename. См. STARNET

Ссылка: starnet