Софт
Программы, приложения, софт, ПО...
Рубрикатор
Последние записи
AI-функции в Darktable 5.6
Недавно вышел Darktable 5.6.0. Там довольно много нового и интересного, но, конечно, главное, что обращает на себя внимание — это AI-функции. Имеются: шумоподавление в RAW, просто шумоподавление, апскейл (т.е. увеличение картинки) и маски. Маски я пока не смотрел — я ими как-то вообще не пользуюсь и не очень понимаю, что проверять. Шумодавами и апскейлом я, правда, тоже почти не пользуюсь, но куда смотреть — представляю.
Что дают?
Итак. «raw denoise», «denoise» и «upscale». Как можно видеть на скриншоте, они объединены в один модуль, и это не модуль обработки, он не участвует цепочке обработки и не попадает в историю, это служебный модуль, и находится он в левой панели.
По кнопке «process» генерируется отдельный новый файл — TIFF в случае «denoise» и «upscale», и DNG — в случае «raw denoise». По умолчанию он размещается рядом с исходным и сразу регистрируется в библиотеке.
За исходник «raw denoise» берет исходное состояние RAW-файла, тогда как «denoise» и «upscale» — результат всех примененных обработок. Что, безусловно, логично, но не консистентно. К тому же конкретно для «denoise» это неудобно — по идее это действие должно быть внутри цепочки, ближе к началу… Я недоучел этот момент, когда делал свои тесты (о чем ниже), но переделывать не буду — «правильный» порядок действий слишком заморочный, чтобы реальный пользователь им занимался.
Где взять?
Тут есть засада: если вы как порядочный человек просто обновитесь из своего дистрибутива, не факт, что новые фичи у вас появятся. У меня в Gentoo, например, не появились. Требуется сборка с дополнительным флагом, и когда мейнтейнеры разберутся — неизвестно. Поэтому самый простой способ — скачать официальный релиз с GitHib. Для Linux там имеется AppImage, и он у меня заработал.
Затем нужно зайти в настройки.
-
Включаем вверху галочку «enable AI features».
-
Скачиваем модели. Все, или только дефолтные.
-
Закрываем Darktable и запускаем его снова.
Отдельный вопрос: как включить выполнение на GPU. По идее, нужно установить ONNX и радоваться, но у меня не получилось — ONNX установил, но он не цепляется. Для пробы это не критично, да и для использования — не так, чтобы очень — если нужно обработать небольшое количество фотографий, скорость на CPU вполне терпима.
Что получилось?
- TL;DR
-
-
Как работает raw denoise мне в целом понравилось, это сильно лучше шумоподавления в стандартных модулях.
-
А вот denoise просто на высоких ISO порождает артефакты. Отчасти эти артефакты могут усиливаться тем, что у меня по умолчанию включен локальный контраст, а denoise, как сказано выше, берет уже обработанное изображение.
-
Что касается upscale… Я не понял. Если брать 100% кроп, то какого-то улучшения деталей в сравнении с тупым увеличением при экспорте (там можно разрешить увеличение). Общая картинка выглядит пошарпленной, но это опять же может быть вызвано двойным применением локального контраста.
-
Ниже много тестовых картинок.
Первая глава «Практического руководства...»
Выложил первую главу «Практического руководства по darktable» — «Базовая обработка».
Вместе с «Введением» первая глава должна дать полноценный быстрый старт — основные вещи, которые необходимы, чтобы начать уже делать что-то полезное.
Описаны действия и модули для:
-
Выставления баланса белого;
-
Исправления оптических искажений и шумоподавления;
-
Кадрирования и изменения геометрии;
-
Работы с общим контрастом и экспозицией, вытягивания теней;
-
Подчеркивания деталей посредством локального контраста.
Огроменный вышел справочный раздел, подумываю о том, чтобы вынести переводы справки отдельно от глав все-таки… Но пока не уверен.
По прежнему жду замечаний и вопросов.
Следующая глава будет про организацию изображений — снова представление светового стола, но уже в максимально развернутом виде.
Этим стулом...
Начал писать большое Практическое руководство по darktable. Выложил «Введение», где рассматриваю общий интерфейс и базовое управление снимками.
Это всё пока черновик, который будет правиться и дорабатываться, поэтому замечания и вопросы крайне приветствуются.
Общая идея — соединить изложение в практическом ключе, посредством сквозных примеров и теоретических отступлений, со справочными материалами, прямо соответствующими родной справке darktable.
На данный момент справочная часть — это ИИ-перевод, тогда как практическая — оригинальный текст (писать не-перевод посредством ИИ оказалось практически невозможно, т.е. писать промпт куда сложнее и дольше, чем сам текст… это отдельная интересная тема, надо будет пост написать). По ходу дела буду и справочную часть активно редактировать, чтобы привести язык в порядок и единообразие.
Вообще, конечно, задумка масштабная, писать буду долго, тем более, что не могу этому посвятить все свое время… Но надеюсь где-то за полгода-год закончить. И опять же, рассчитываю на фидбэк по ходу дела, чтобы ничего не забыть и не схалтурить.
Почему KDE?
В последнее время я как-то в очередной раз заинтересовался, что там творится в мире DE, рабочих окружений и прочая. Ничего принципиально нового не увидел, зато собственное мнение по этому вопросу несколько уточнил и детализировал.
Собственно данный пост и посвящен тому, почему я начал пользоваться и пользуюсь именно KDE и, видимо, продолжу им пользоваться в обозримом будущем. Это, кстати, не значит, что я рекомендую это окружение всем и на всякий случай — задачи бывают разные, предпочтения и привычки бывают разные, а альтернативные варианты не так уж плохи сами по себе.
KDE у меня основная и, по сути, единственная оболочка на личном компьютере примерно с 2006 года — с той самой поры, как я полностью перешел на Linux. Другие оболочки я пробовал, но надолго они у меня не задерживались. Впрочем, в последнее время я довольно часто имею с ними дело по работе — т.е. на рабочих компьютерах, на виртуалках и т.д., так что некоторое представление имею.
Darktable 4.2.0
Недавно вышла очередная версия моего любимого софта для обработки raw-файлов фотографий, и я решил, что это подходящий повод для того, чтобы посмотреть, а что же поменялось с того времени, когда я писал «Darktable — (не очень) быстрый старт». Речь там шла о версии 2.6.2, так что изменилось многое.
Вообще, версии 3.x.x развивались довольно бурно, стабилизировавшись к четверке, и в целом рабочий процесс можно считать устаканившимся. Что радует, ибо свистопляска немного утомила. Сейчас же, если мы посмотрим на изменения в релизе 4.2.0 относительно предыдущего 4.0.1, то увидим там плавные улучшения, доведения до ума, исправления багов и один новый модуль, о котором позже. Так что именно процесс принципиально не меняется.
Изменения, о которых пойдет речь ниже, в основном появились именно в версиях 3.x, но я не буду заморачиваться на поиск конкретной версии.
Hugin по-русски
Ковыряю потихоньку перевод документации по Hugin. Ну как документации… Там скорее база знаний на вики-движке. Когда-то давно я пытался привлечь к этому делу других людей на вики гитхаба, но что-то никто не приnвлекся. Так что я плюнул на вики-формат и загнал все это дело в привычный уже Jekyll на поддомене hugin.shikhalev.org.
В принципе, если вдруг кто захочет поучаствовать, то особых проблем быть не должно — markdown не сказать чтоб сильно сложнее вики-разметки. Правда, понадобятся базовые навыки работы с Git и GitHub, но это сейчас должно быть где-то на уровне обычной грамотности.
В процессе перевода я понял, что последовательность и структурированность оригинала меня категорически не устраивают. Вообще, материал довольно неровный. Как я уже сказал, это скорее база знаний, заполняемая разными людьми с разной степенью аккуратности, детальности и т.д. Поэтому я решил сразу запланировать помимо собственно перевода компиляцию всего этого дела во что-то более цельное. Правда, понятия не имею, когда до этого дойдут руки.
Что до текущего состояния, то статус перевода можно смотреть на странице «Переводы», где, впрочем, все абсолютно не структурировано — это просто автоматический список страниц, разбитый по статусам. Из более-менее цельных кусков переведено описание главного окна, оно же «Простой интерфейс», со всеми вкладками (там по ссылкам). Это в принципе уже может быть полезно для начала работы (а еще для начала можно прочитать мой старый пост «Пингвин-фотолюбитель: 3. Панорамы»).
Conky и OpenWeather
Подключил прогноз погоды от OpenWeather к Conky. Пока оно сыровато, надо продумать получше архитектуру, чтобы было удобно пользоваться. Поэтому я не стал пока документировать этот модуль в README репозитория, ну а в блоге можно и о том, что в процессе, написать.
У меня почему-то не получилось получить данные текущей погоды с OpenWeatherMap.org, только прогноз на пять дней с интервалом 3 часа. Надо, конечно, поразбираться с их API получше — еще один повод не считать работу законченной…
Как бы то ни было, пятидневный прогноз вполне себе отображается. Как его использовать:
-
Мне потребовалось доустановить некоторые пакеты для Lua:
-
lua-cjsonдля парсинга ответа от сервера. -
luaposixдля всякой вспомогательной работы с файлами и каталогами. -
luasocketдля собственно загрузки по HTTP.
В вашей системе это все может быть уже установлено, а может и не быть, нужно проверить и доустановить.
-
Conky и два бесперебойника
Продолжая тему Conky и мониторинга вообще, разберемся с выводом данных по двум бесперебойникам, подключенным к одному компьютеру. В моем случае они оба фирмы APC, что упрощает задачу, но не до конца.
Закавыка тут именно в том, что их два. Соответственно нужно:
-
Настроить сервисы
apcupsd. -
Побороть страсть устройств в Linux к переименованию после каждой1 перезагрузки.
-
Заставить Conky отображать информацию по обоим.
-
Про каждую перезагрузку я, конечно, преувеличиваю, но поскольку переименование происходит непредсказуемо, легче не становится. ↩
Conky: исправление проблемы с hwmon
Дано — известная многим программа Conky, используемая в основном для мониторинга различных параметров системы, датчиков и т.д.
Собственно, с датчиками у меня и возникала регулярно проблема — выбор датчика в Conky производится по номеру, т.е. примерно так ${hwmon 1 temp 1};
при этом данный номер, как показывает практика, может меняться после каждой перезагрузки.
Вероятно, с этим можно как-то бороться через настройки, правила eudev или еще как. Но я пошел по пути наименьшего сопротивления и воспользовался
средствами Lua. Результат выложен в репозиторий conky, конкретно — модуль hwmon.
xbash
Давно собирался и таки стартанул пет-проект — https://github.com/shikhalev/xbash.
Навеяно gitsh, который я когда-то активно использовал, но у него были проблемы с русской локалью, новыми версиями Git и так далее. При этом, на мой взгляд, gitsh сильно переусложнен, да и использование Ruby, при всей моей любви к этому языку, тут лишнее. Посему я решил сделать что-то подобное, но попроще, на чистом bash, и более универсальное.
Что делает?
Итак, что этот скрипт (набор скриптов) делает?
-
Позволяет использовать субкоманды того же
git, как непосредственные команды. Помимоgit, так же можно коротким образом вводить субкомандыcargo1. -
Отображает в приглашении командной строки репозиторий, ветку, путь внутри репозитория и значок статуса (звездочка разных цветов на данный момент). Кроме того, вместо имени локального пользователя показывается e-mail пользователя, под которым идет запись в репозиторий2.
-
Другие системы управления версиями, сборки и управления зависимостями могут быть добавлены просто и единообразно. Для Mercurial и Rubygems планирую сделать, как только руки дойдут.
Стадия разработки пока самая ранняя (хотя я уже пользуюсь и отлаживаю «наживую»), поэтому инсталлятора нет, есть инструкция по установке в файле README.md.
-
Если кто не знает,
cargo— это система сборки и управления зависимостями языка Rust. ↩ -
Для меня отображение именно пользователя репозитория, а не локального, довольно существенно, поскольку на данный момент я работаю из дома и у меня имеются как личные, так и рабочие проекты, которые нужно вести под разными аккаунтами. ↩
Показаны 10 записей из 34