Perceptual_Uniformity_Color_Cyrcle_CAM16-UCS.png
52 KB
Подоспела Color Appearance Model 2016 - CAM16-UCS. Тем кто любит код поизучать - вот прямая ссылка на расчет с дельтами.
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
8 равноконтрастных самодостаточных (или не очень) моделей с шагом в секунду, наглядное пособие по uniformity
👍2
Perceptual_Uniformity_Color_Cyrcle_delta_Oklab.png
1.7 MB
И вот мой фаворит равноконтрастности.
Бьёрну Оттоссону удалось совершить то, над чем десятилетиями бились целые институты: он взял лучшие свойства тяжелых моделей CAM16 (прекрасное предсказание светлоты и насыщенности по Манселлу, идеальное удержание тона без сине-фиолетового сдвига) и упаковал их в простые, элегантные матричные преобразования, которые выполняются в тысячи раз быстрее! Oklab уже официально внедрили в стандарты CSS Color Module 4, Safari, Chrome и движки компьютерной графики. В Oklab переходы между зелёным, голубым, синим и пурпурным имеют одинаковую визуальную плотность. Бьёрн Оттоссон совершил чудо.
Бьёрну Оттоссону удалось совершить то, над чем десятилетиями бились целые институты: он взял лучшие свойства тяжелых моделей CAM16 (прекрасное предсказание светлоты и насыщенности по Манселлу, идеальное удержание тона без сине-фиолетового сдвига) и упаковал их в простые, элегантные матричные преобразования, которые выполняются в тысячи раз быстрее! Oklab уже официально внедрили в стандарты CSS Color Module 4, Safari, Chrome и движки компьютерной графики. В Oklab переходы между зелёным, голубым, синим и пурпурным имеют одинаковую визуальную плотность. Бьёрн Оттоссон совершил чудо.
👍8
Маленький полезный лайфхак: по кнопке CGATS копирует в колориметрическую таблицу SAMPLE_NAME как #hex разметку цвета в стандарте sRGB. Мелочь а приятно, может пригодиться. Заметим, что уже с приличным гамут маппингом по Моровичу хексы, что также приятно.
SAMPLE_ID SAMPLE_NAME LAB_L LAB_A LAB_B
END_DATA_FORMAT
BEGIN_DATA
1 #FF0089 55.89 84.4 0.01
2 #FF0081 55.7 83.96 4.71
3 #FF0279 55.5 83.52 9.63
4 #FF0570 55.33 83.09 14.83
5 #FF0067 55.14 82.74 20.34
6 #FF005D 54.98 82.38 26.19
7 #FF0753 54.84 81.92 32.38
8 #FF0048 54.68 81.72 39.28
9 #FF003B 54.55 81.46 46.96
10 #FF0B2C 54.43 80.84 55.71
11 #FF0813 54.58 81.04 67.29
12 #FF2600 55.38 77.53 70.35
SAMPLE_ID SAMPLE_NAME LAB_L LAB_A LAB_B
END_DATA_FORMAT
BEGIN_DATA
1 #FF0089 55.89 84.4 0.01
2 #FF0081 55.7 83.96 4.71
3 #FF0279 55.5 83.52 9.63
4 #FF0570 55.33 83.09 14.83
5 #FF0067 55.14 82.74 20.34
6 #FF005D 54.98 82.38 26.19
7 #FF0753 54.84 81.92 32.38
8 #FF0048 54.68 81.72 39.28
9 #FF003B 54.55 81.46 46.96
10 #FF0B2C 54.43 80.84 55.71
11 #FF0813 54.58 81.04 67.29
12 #FF2600 55.38 77.53 70.35
👍1
CGATS_XYZ_to_sRGB_Hex_Utility.png
282.1 KB
Чтобы не задействовать ради мелочей "тяжелую артиллерию" - написал небольшую утилитку
CGATS Пересчет XYZ в sRGB #hex
Утилита просто читает колонки XYZ в стандартном формате CGATS и пересчитывает их в #hex разметку sRGB.
Иллюминант D50 или D65 учитывается, если первый - производится как положено хромадаптация Брэдфорда к sRGB D65.
Если в данных есть колонка "SAMPLE_NAME" - обычно бессмысленные имена в ней подменяются на хексы.
Если колонки "SAMPLE_NAME" нет - она создается.
Массивы хексов много кто понимает, это и веб-разметка, и Эксель и прочие. Так что пригодится.
CGATS Пересчет XYZ в sRGB #hex
Утилита просто читает колонки XYZ в стандартном формате CGATS и пересчитывает их в #hex разметку sRGB.
Иллюминант D50 или D65 учитывается, если первый - производится как положено хромадаптация Брэдфорда к sRGB D65.
Если в данных есть колонка "SAMPLE_NAME" - обычно бессмысленные имена в ней подменяются на хексы.
Если колонки "SAMPLE_NAME" нет - она создается.
Массивы хексов много кто понимает, это и веб-разметка, и Эксель и прочие. Так что пригодится.
👍3
CGATS_Advanced.png
248.3 KB
Чтобы не задействовать "тяжелую артиллерию" на несложные расчеты, оформил их отдельной утилитой:
CGATS_XYZ_to_Advanced_Color_Models.html
Считает #hex, ICtCp (ITP), CAM16-UCS, JzAzBz, OkLab из обычной таблицы CGATS, содержащей данные CIE XYZ с опорным иллюминантом D50 или D65.
Чтобы переводить таблицы в массивы - можно такой утилитой пользоваться, я пользуюсь регулярно.
CGATS_XYZ_to_Advanced_Color_Models.html
Считает #hex, ICtCp (ITP), CAM16-UCS, JzAzBz, OkLab из обычной таблицы CGATS, содержащей данные CIE XYZ с опорным иллюминантом D50 или D65.
Чтобы переводить таблицы в массивы - можно такой утилитой пользоваться, я пользуюсь регулярно.
👍1
GOST.png
529.5 KB
Написал бесплатное интерактивное приложение калибровки к офсетному стандарту.
Задействуются как печатные приращения 12647, так и равноконтрастные градации 20654 экспериментально (и линейные, и с поправками delta CTV по типам бумаг).
На входе стандартные таблицы CGATS с полями CMYK+XYZ. На выходе - калибровочные таблицы и экспериментальный экспорт в форматы различных популярных рипов.
Приглашаю бета-тестеров из круга колористов и технологов к тестированию. До публикации нового офсетного ГОСТ с калибровочным разделом времени полно, чтобы "вылизать" калибровочную утилиту по ГОСТ до идеала.
Калибровочная утилита легкая, всего 44 килобайта, не содержит внешних подгружаемых модулей, чистый JavaScript выполняется на процессорных ресурсах браузера клиента. То есть сервер перегрузить расчетами невозможно.
Задействуются как печатные приращения 12647, так и равноконтрастные градации 20654 экспериментально (и линейные, и с поправками delta CTV по типам бумаг).
На входе стандартные таблицы CGATS с полями CMYK+XYZ. На выходе - калибровочные таблицы и экспериментальный экспорт в форматы различных популярных рипов.
Приглашаю бета-тестеров из круга колористов и технологов к тестированию. До публикации нового офсетного ГОСТ с калибровочным разделом времени полно, чтобы "вылизать" калибровочную утилиту по ГОСТ до идеала.
Калибровочная утилита легкая, всего 44 килобайта, не содержит внешних подгружаемых модулей, чистый JavaScript выполняется на процессорных ресурсах браузера клиента. То есть сервер перегрузить расчетами невозможно.
👍14
60_only_test.txt
1.2 KB
Добавил в интерфейс полезную штуку - переключение сплайнов в расчетах. Монотонный и кубический себя по-разному ведут на малом кол-ве данных и на шумных данных, пусть будет выбор. В коммерческом софте я лет 10-12 уже даю такой выбор.
👍7❤3
sm_otladka.txt
98.9 KB
Добавил в код калибровочной утилиты интерполяционное сглаживание. На картинках показано, как выглядит калибровка без сглаживания и как со сглаживанием. Сглаживание рекомендует проект офсетного стандарта, и все сплайновые интерполяции в алгоритмах сглаживания на редкость хороши, проверено многолетней практикой.
Таким образом, на выбор технолога и колориста имеются 4 варианта расчета TVI и CTV. 2 варианта без сглаживания, чисто кубический сплайн или Hermite, либо 2 варианта со сглаживанием по тем же кубическому сплайну или Hermite.
На третьем рисунке просто иллюстрация, как это реализовано в моем коммерческом софте. В нем предлагается также сплайн Акимы и по 10 разных уровней сглаживания на каждые 3 алгоритма интеполяции, на любой вкус, но в несложной бесплатной утилите включаю для скорости и простоты один уровень сглаживания, самый типичный для большинства данных. Зато с 2 вариантами выбора сплайна.
Таким образом, на выбор технолога и колориста имеются 4 варианта расчета TVI и CTV. 2 варианта без сглаживания, чисто кубический сплайн или Hermite, либо 2 варианта со сглаживанием по тем же кубическому сплайну или Hermite.
На третьем рисунке просто иллюстрация, как это реализовано в моем коммерческом софте. В нем предлагается также сплайн Акимы и по 10 разных уровней сглаживания на каждые 3 алгоритма интеполяции, на любой вкус, но в несложной бесплатной утилите включаю для скорости и простоты один уровень сглаживания, самый типичный для большинства данных. Зато с 2 вариантами выбора сплайна.
👍6🔥2👏2
This media is not supported in your browser
VIEW IN TELEGRAM
Добавил еще 4 равноконтрастные новейшие метрики для упорядочивания печатных шкал по той или иной. Калибровочные кривые там же, то есть можно применять полученные данные не только к шкале, но и ко всему спуску в рипе.
👍3🔥2🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
Капельку заострил внимание в интерфейсе на формате таблицы для ввода в рип. Благодаря сплайновым интерполяциям пользователю не обязательно, чтобы градации на печатной шкале совпадали с градациями оптимальной таблицы в рипе. Почему это важно. В ротациях, где тестовая печать калибровочных оттисков - слишком дорогое удовольствие, мы просто ставим небольшие шкалки в коммерческие тиражи, оптимально что-то типа 0-5-10-25-50-75-100. И можем посчитать калибровочную на другой шаг шкалы почаще скажем 10. Старые программы типа Хармони (широко используется до сих пор) считают интерполяции угловато кусочно линейно, если на вход в Хармони подать шкалу с очень редким шагом - она плавную калибровочную кривую посчитает "углами". Нет, лучше подать ей калибровочную с нормальным шагом, и сглаженную. А приведенный в программе и в видеоскриншоте формат калибровочной шкалы - просто часто оптимален и для печати и для ввода в рип.
👍4
Частить на краях диапазона чаще шага 0-2-5-10 и 90-95-98-100 крайне не рекомендуется. Можно при малейшей погрешности расчетов или измерений словить в рипе осцилляции (феномен Рунге) и вот это уже страшное дело на пластинах, эти осцилляции непредсказуемы и их практически нереально будет исправить, поэтому так важен продуманный шаг шкалы что для печати, что для ввода калибровочной в рип. Поле "формат таблицы" пользователь может заполнить как он хочет, как советует ему его рип и так далее, мы лишь предлагаем оптимум на старте - а дальше уже свободное творчество технолога на финише.
👍2
Минутка развлечения
В 80-е все наше полиграфическое училище залипало у ДВК-2 за этой игрой.
Тогда такой код казался недостижимо сложным.
Сейчас 100 строк пишутся вместе с Гугл ИИ за 5 минут со всеми правками.
https://cielab.xyz/pdf/xonix2.html
В 80-е все наше полиграфическое училище залипало у ДВК-2 за этой игрой.
Тогда такой код казался недостижимо сложным.
Сейчас 100 строк пишутся вместе с Гугл ИИ за 5 минут со всеми правками.
https://cielab.xyz/pdf/xonix2.html
👍2🐳2🍾2