G'MIC, открытый фреймворк для обработки изображений из лаборатории GREYC, добрался до версии 4.0 — спустя 18 лет после старта. Релиз называют «версией зрелости»: теперь команда сосредоточится на стабильности и производительности, а не на гонке новых фич. Плагин G'MIC-Qt, встраиваемый в GIMP, Krita, digiKam, Paint.net, Adobe Photoshop и Affinity Photo, остаётся самым популярным интерфейсом, набирая больше 1200 скачиваний в день.
Плагин получил несколько интересных фильтров, и общее число доросло до 644. «Rendering / Pixel Stretch» берёт полоску пикселей и размазывает её вдоль двух настраиваемых сплайнов — получается эффект тянущегося теста или глитч-арта. «Rendering / Gradients [Poles]» строит плавные цветовые переходы через интерполяцию радиальными базисными функциями по точкам, которые задаёт пользователь. «Artistic / Marker Drawing» перерисовывает изображение штрихами, похожими на цветные фломастеры, следуя контурам объектов. «Deformations / Heightfield Warp» накладывает картинку на заданную формулами карту высот и может включить освещение по Фонгу. «Degradations / Offset Stripes» добавляет полосы со случайным смещением — находка для любителей глитча.
Но главная новинка — «Colors / Transfer Colors [Multi]». Это перенос цветовой палитры со стилевого изображения на исходное с сохранением структуры. Под капотом три метода: через PCA, сопоставление гистограмм и вариационный алгоритм. Последний — результат коллаборации исследователей из команды IMAGE лаборатории GREYC и лаборатории LMI в INSA Rouen. Алгоритм полностью нормандский и умеет донастраиваться вручную через принудительные цветовые соответствия.
На уровне ядра появились новые команды. random_patches создаёт синтетические квадратные картинки с геометрическими формами и текстурами — их используют для обучения CNN в задачах шумоподавления и увеличения разрешения, не таская за собой тяжёлые датасеты. Команды depthmap3d и normalmap3d рендерят 3D-модели в карты глубины и карты нормалей. Добавлен pca для анализа главных компонент, доработаны матричные операции — QR-разложение, инверсия, солверы линейных систем.
В отдельный репозиторий gmic-interactive-demos на GitHub выложили три интерактивных демки для популяризации науки. The SteamFace Machine в стиле стимпанка детектирует лица через CNN на основе архитектуры LeNet-5 и вытаскивает кучу атрибутов — пол, возраст, очки, размер носа (обучено на CelebA). Virtual Artist объясняет перенос стиля, а GREYC Warp работает как кривое зеркало в прямом эфире с вебки.
Короткие скрипты на языке G'MIC остаются компактными: эффект вращающейся диффузионно-ограниченной агрегации уместился в 36 строк, неоновая кривая Гильберта — в 52, а туннель из демосцены — в 68. Кроме того, G'MIC-Qt уже доступен в Snap Store и через MacPorts для macOS, заработал в GIMP 3.2 с первого дня, а сторонние проекты вроде G'MIC-GEGL и gmic-affinity на Rust пытаются подружить фильтры с неразрушающими слоями GIMP и Affinity Photo.