26.01.2021

Darktable 3.4.0

Ну что ж. Главный по обозреванию Darktable всея ЛОРа в моём лице пропил все праздники и готов разбираться в нововведениях фотографического комбайна для проявки цифровых негативов ad hoc.

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

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

Теперь у нас есть отдельная кнопка включения фокус-пикинга (раньше она была только по горячей клавише), а профили отдельных инструментов теперь в списке всех профилей — прям как в Rawtherapee можно накладывать профили, не выходя из меню профилей, а правую панель скрыть за ненадобностью. Теперь у нас слайдеры, изменяющие цвет, окрашены в соответствующий цвет — прям как в… везде. А ещё я убрал постоянно висящие кнопки применения профилей к модулям — они теперь показываются только по наведению, и это разгружает интерфейс.

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

Если вы ничего не поняли из предыдущего абзаца — не пугайтесь, я три дня медитировал над записью в блоге над тем, что они имели в виду. Хорошо, что после нового года осталось много недопитого.

В общем, идея в чём. Идея в том, что писали программисты и реализовали по-программистски. Модуль баланса белого имел фатальный недостаток — он линейный. Нет, серьёзно, это приводит к большим проблемам при масштабировании синего канала — спросите Маргулиса. Как известно, синий цвет, как его видит глаз, как его видит матрица камеры и как его показывает монитор (а потом видит глаз) — это четыре разных человека. С красным и зелёным на самом деле то же самое, но там это не так заметно. И при определённых условиях, когда синего в кадре слишком много, классическая цветовая модель могла давать (и давала) артефакты в виде отрицательных значений канала B.

Смотрим на синий светодиод слева от Йорика, и наблюдаем чёрные ореолы вокруг яркого, в общем-то, светодиода (это старый процесс): https://pic4a.ru/iouB/

А здесь светодиод откровенно поголубел и перестал пугать народ провалами чёрного цвета (это новый процесс): https://pic4a.ru/iias/

Поскольку модуль баланса белого — это по сути и есть канальный микшер, а модель цветокалибровки — это и есть бывший канальный микшер, то теперь это и баланс белого и канальный микшер в одном флаконе. Но — нелинейный. Но — с исправлением и, в крайнем случае, обелением вылетающих в бесконечность значениях цветов. И с десятком моделей цветовосприятия, конечно. Такое ощущение, что разработчики Darktable решили реализовать всё, что нашли в соответствующей литературе. Я не жалуюсь, я восторгаюсь.

В балансе белого цвет задавался температурой и уточнением источника. Здесь же есть отдельно — типы источников — лампа накаливания, светодиоды, флуоресцентные источники — они дают не просто разную температуру, они дают разный спектр. Пользовательский HSL (на скриншоте). Классическая модель цветовой температуры. Я три года снимал в зале с диодным освещением, у меня постоянно тёмно-коричневый пол превращался в жёлтый из-за смещённого спектра освещения, а тут просто праздник какой-то!

Теперь грустное, про программисткость. Модуль цветокалибровки не может работать по байеровской матрице, ему подавай дебайеризованный вариант. Причём дебайеризация, разумеется, должна быть выполнена с множителями, равными 1 во всех каналах. А дебайеризация не может работать без модуля баланса белого, потому что… видимо, код такой. Поэтому по-прежнему надо включить модуль баланса белого, выставить в нём нулевое положение (6502К, 1,00 Tint), и далее крутить цветокалибровку. И если в модуле баланса белого будет любое значение, отличное от эталонного, оба модуля выдадут невразумительную ошибку. Со стороны модуля баланса белого она будет звучать как «Обнаружено несколько копий модуля «баланс белого» (возможно, это кривой перевод, sudo cast @AP), а со стороны модуля цветокалибровки — «модель баланса белого вернул ошибку».

Такде ещё один сюрприз — при нажатии Ctrl+C настройки модуля баланса белого не копируются, и если вы не используете модуль цветокалибровки и работаете по-старинке, это будет бесить. В общем, если бы при включении модуля «цветокалибровка» модуль «баланс белого» выключался, а вся математика шла бы под капотом без уведомления пользователя, было бы проще жить, и не пришлось бы такое костылять.

В остальном всё как обычно — кадр снят на праздновании нового года, nikon Z6, nikkor 50/1.4G, монитор, пиксели. А, и ещё интерфейс Darktable стал сильно глючить в Wayland, пересадил обратно на X11.

>>> Просмотр (3840×2160, 3535 Kb)