Форум колористов и полиграфистов
http://cielab.xyz/forum/

Спектральный калькулятор: 6 лет обновлений и улучшений
http://cielab.xyz/forum/viewtopic.php?f=2&t=559
Страница 1 из 1

Автор:  mihas [ 0:22, Чт, 09 ноя 2017 ]
Заголовок сообщения:  Спектральный калькулятор: 6 лет обновлений и улучшений

Надо бы для себя в первую очередь записать на память, в какой последовательности шли обновления спектрального калькулятора и заодно спросить - что бы еще пользователи хотели в нем улучшить, какой функционал расширить, какие файлы научить открывать, и так далее.
Как следует из шапки главного из нескольких скриптов (как и все скрипты и страницы сайта он в кодировке UTF-8 или Юникод. Но так было не всегда, давно сайт работал в кодировке windows-1251) он был написан впервые 27-29 января 2012. То есть прошло уже почти 6 лет на момент публикации этой заметки. За это время калькулятор посетили 46 тысяч раз (21 посещение в день в среднем) - внушительная цифра для весьма специфического инструмента.
Я не записывал даты всех изменений, но заносил их в хронологическом порядке. Далее буду здесь в теме проставлять дату. Пока вот что накопилось кроме первичного функционала - переводить массивы спектров в лабы и строить кривые TVI/DotGain по любым произвольным шкалам:
  • 1 • Конверсия спектров между фильтрами M0, M1, M2 (no, D50, uv-cut) • 2014_04_22
    2 • Конверсия цвета по методу McDowell 2005 (tristimulus correction method)
    3 • Теперь также поддерживается ввод данных CGATS LCh only
    4 • Визуализация и мишени tif в стандартах sRGB, Adobe RGB, ProPhoto RGB
    5 • Полный CIECAM02 с управлением и матрицы CAT02, Sharp, CMCCAT2000
    6 • Color Inconstancy Index (CII) для 8 иллюминантов против D50 и усредненный • 2014_11_15
    7 • Оценка цветовой константности по методу Pinney-DeMarsh
    8 • Color Rendering Index (CRI) и Color Quality Scale (CQS): качество света • 2014_11_30
    9 • Объем цветового охвата в кубических delta E всего по 8 патчам
    10 • Вычисление XYZ как по CIE, так и через Tristimulus Weighting Factors по ASTM
    11 • Усреднение повторяющихся на шкале патчей красок и бумаги
    12 • Визуализация локальных контрастов относительно целевой кривой
    13 • Упорядочивание некоторых тесткарт, например IT8.7/4 от Heidelberg
    14 • Вывод интерполированных спектров из 10 в 5 nm в формате CGATS
    15 • Графическое представление указанного спектрального образца
    16 • Распознавание формата CxF3 для спектров CMYK, RGB и осветителей • 2016_02_20
    17 • Распознавание формата CxF1 (i1Share) и табличных данных светотехников
    18 • Конвертация CxF в CGATS налету • Добавление координат xyY
    19 • Представлены образцы форматов файлов на входе калькулятора
    20 • Нормировка спектров Emission к единице по максимальному пику и к L=100
    21 • White Point Compensation и Black Point Compensation и как это работает
    22 • Перемещение окон калькулятора - актуально для больших экранов
    23 • Построение налету локуса xy для дневного света и Plank's Blackbody
    24 • Построение поверхности фигуры Human Visual Space в координатах Lab
    25 • 3D-графики с фигурами охвата HVS, AdobeRGB и референсами ISO 12647-2 • 2016_03_25
    26 • International English version of Spectral Calculator • 2016_04_05
    27 • Уточнены статусные фильтры ISO 5-3:2009 и ANSI CGATS.5-2003
    28 • Функция CRI и CQS дополнена вычислениями Tint и PAR (ФАР)
    29 • Вывод в строку массивов визуализации hex и rgb поканально
    30 • Отрисовка на PHP по запросу графиков PNG в высоком разрешении • 2016_11_26
    31 • Отключение графиков 3D в случае проблем с древними браузерами
    32 • Распознавание формата CxF2 от ColorMunki и xml от SpiderPRINT • 2017_02_01
    33 • Оценка качества света по методике IES TM-30-2015 дополняет CRI и CQS • 2017_02_05
    34 • Распознавание формата ICC и чтение данных из тега 'targ' • 2017_10_30
    35 • Формирование 'targ' из профиля ICC если в профиле этого тега нет • 2017_11_01
    36 • Теперь также поддерживается ввод данных CGATS xyY only • 2017_11_08
    37 • Калибровка через Device Link Profiles, передача данных в калькулятор DLP • 2017_11_30
    38 • Вычисление и прорисовка кривых RGB TVI в логике ColorAnt • 2018_03_02
    39 • Конвертация в CMYK налету данных CGATS GRAY от GretagMacbeth • 2018_03_11
    40 • Распознавание формата Treepaint ColorInstinct • 2018_03_28
    41 • Уровни соответствия сенсоров критерию Лютера-Айвса • 2018_05_07
    42 • Ввод XYZ в размерности 0-1 помимо нативной 0-100 • 2018_10_26
    43 • Распознавание налету спектральных данных Heidelberg Image Control 3 • 2018_11_05
    44 • Табличные данные LCh или Lab поверхности Human Visual Space (HVS) • 2018_11_20
    45 • Спектральные Smoothing and Rescale, анимация и анализ результатов ниже • 2018_11_29
    46 • Произвольные таблицы для Smoothing and Rescale ниже • 2018_12_07
    47 • Нормировка спектров Emission к указанной светлоте • 2018_12_11
    48 • Двумерный Gamut mapping при визуализации патчей на экране (факультативно) • 2018_12_16

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

А вот наиболее важные дополнения к другим моим программам:

Автор:  DimB [ 18:58, Пн, 20 ноя 2017 ]
Заголовок сообщения:  Re: Спектральный калькулятор: 6 лет обновлений и улучшений

Есть мысль, что можно добавить "вариант для осторожных" или иначе "тестовый", "для подгонки" -- не знаю как лучше назвать.
На первом этапе действуем по инструкции (т.е. подгоняем колористику и печатаем шкалы).
На втором (ну или любом, видимо зависит от рипа) кривые рипа не трогаем. Из калькулятора записываем DLP-профиль, который применяем только к шкалам.
Конвертированные таким образом шкалы ставим на лист, выводим и печатаем в общем тираже.
На последующих этапах считываем кривые из примененного профиля, и вносим коррекцию уже с учетом этих кривых.
И так до варианта, который устроит по требуемым критериям.
На последнем этапе применяем окончательные кривые уже на рипе.

Зачем?
Исключаем влияние на текущий тираж и получаем небольшую песочницу для экспериментов
с балансом, формой кривых, величинами TVI и т.д. и т.п.

Соот-но понадобится реализовать запись/чтение из DLP-профиля (в принципе уже есть).
Болванку профиля для старта можно записать из CHROMIX Curve3.

P.S. Совсем недавно проскакивала тема, где человек боялся подгоняться к кривым AB и использовал кривые CD. Так бы мог безопасно протестировать.

Автор:  mihas [ 22:06, Пн, 20 ноя 2017 ]
Заголовок сообщения:  Re: Спектральный калькулятор: 6 лет обновлений и улучшений

Спасибо, Дмитрий, идея пригодилась! И я ее быстренько реализовал. Можно тестировать: https://cielab.xyz/dlp/
В принципе данные напрямую передаются из спектрального калькулятора в новую программу для вычисления dlp, данные даже можно не сохранять и не таскать через буфер, для этого появилась отдельная кнопка:
Комментарий к файлу: передача таблиц TVI или Dot Gain из спектрального калькулятора в калькулятор DLP
[ attachment ]
spectralcalc_dlp.PNG [ 65.23 КБ | 2604 просмотра ]
Новый калькулятор базируется на проверенном старом https://cielab.xyz/dgcor/ В него добавлена обработка не одной таблицы, а четырех - сразу по всем краскам. Можно даже Device Link Profile не строить, а просто сократить время табличной калибровки до нажатия всего пары кнопок: выбора целевых кривых и кнопки Calc.
Сохранена так же и обратная функция - построение DLP не по данным TVI или Dot Gain, а по табличным данным имеющихся размеров точек на пластине: это важно при калибровке итерациями, записываем все ходы, суммируем, применяем обратную функцию от точки к TVI. То есть например: напечатали с DLP первый раз. Решили чуть подправить, печатаем тест уже не с линейных пластин, а с поправленных. Вторую поправку по результату суммируем с первой, вновь строим по этим суммированным данным точек DLP. Так достигается со второго-третьего раза беспрецедентная точность калибровки.
Да, использование z factor в вычислении целевой и измеренной кривой голубой краски автоматом учитывается, данные без z factor передаются с пометкой, которую программа для вычисления dlp разпознаёт и применяет соответствующую целевую.
Так же тут немного слов о моей новой программе калибровки через DLP.

Автор:  mihas [ 3:04, Пт, 02 мар 2018 ]
Заголовок сообщения:  Re: Спектральный калькулятор: 6 лет обновлений и улучшений

Добавил вычисление и прорисовку кривых RGB TVI в логике ColorAnt. Можно тестировать и обсуждать.
Целевые кривые гаммы в проекции TVI из профилей AppleRGB.icc (1,8), sRGB.icc (~2,2), LStar-RGB-v2.icc (~2,4) так же внесены в калькуляторы калибровки: https://cielab.xyz/dgcor/ и https://cielab.xyz/dlp/ И в виде таблиц, и девайс-линки rgb2rgb также доступны.

Вложения:
Комментарий к файлу: Целевые Gamma 1.8 (Apple), ~2.2 (sRGB), ~2.4 (LStar - красным)
[ attachment ]
Spectralcalc_PNG_image_2018_03_02_21_40_42_PM.png [ 212.04 КБ | 1930 просмотров ]
Комментарий к файлу: RGB TVI
[ attachment ]
Spectralcalc_PNG_image_2018_03_02_02_51_04_AM.png [ 163.52 КБ | 1940 просмотров ]

Автор:  mihas [ 2:16, Чт, 29 ноя 2018 ]
Заголовок сообщения:  Re: Спектральный калькулятор: 6 лет обновлений и улучшений

Написал вот такую функцию спектрального пересчета любых данных CMYK (не только чистых полутонов, но и наложений полутонов естественно) в заданные градационные, степень приближения к идеалу от 0 до 100 задается. Полезно при построении хороших профилей печати, небольшие шумы на измеренной кривой надо убирать, они скорее отражают несовершенство измерительных приборов и расположения патчей на оттиске, нежели отражают безусловную истину. Сглаживание и усреднение помогает бороться, но мне хотелось больше чем сглаживание - хотелось не просто выпрямить, а уж разом и привести к идеалу - к кривым стандарта. Задаются любые целевые кривые стандартов и даже разные гамма-функции, актуально для спектров RGB и CMYK, опубликовано для зарегистрированных ценителей верных спектральных расчетов:

[ img ]

Во вложении иллюстрация неких офсетных TVI до и после приведения кривой к заданной с "усилием" 95. И спектральный образец неких офсетных оригинальных и поправленных данных. Вот колориметрическая разница для спектральных файлов из приложенного ниже архива между оригиналом и примером работы функции. Хорошо видно, что функция не затрагивает плашек и воздействует на полутона и наложения полутонов. Вы можете сами визуализировать в спектральном калькуляторе TVI для обоих файлов из архива, чтобы увидеть разницу графически.
Нужна подобная оптимизация замеров конечно при построении icc-профилей офсетной печати, погрешности замеров надо убирать, как мы знаем фогра и ECI сильно сглаживают все свои профили, сглаживание видно в фогре 39, в фогре 51 применен алгоритм, аналогичный моему - кривые безупречные, как и у меня при расчетах с "усилием" 100. Даже рядом стоящие на оттиске в центре две шкалы с разным расположением патчей дают разницу в приращении полуонов в 1-2 процента, конечно это надо все усреднять и сглаживать для построения хорошего профиля цветоделения и цветопробы. Но просто усреднение и сглаживание не дают такой качественной картинки, как приближение к кривым стандарта.

Если имеющихся целевых не достаточно и требуется ввести собственные - тоже не проблема, подробности двумя постами ниже.

Вложения:
Комментарий к файлу: Небольшая шкала RGB в спектрах до и после применения функции Smoothing and Rescale
Комментарий к файлу: Образец RGB TVI пересчета больших спектральных таблиц по функции Smoothing and Rescale с усилием 95
[ attachment ]
Spectralcalc_PNG_image_2018_12_02_11_42_53_AM.png [ 378.53 КБ | 261 просмотр ]
Комментарий к файлу: Небольшая шкала CMYK в спектрах до и после применения функции Smoothing and Rescale
Комментарий к файлу: Образец CMYK TVI пересчета больших спектральных таблиц по функции Smoothing and Rescale с усилием 95
[ attachment ]
Spectralcalc_PNG_image_2018_11_30_01_50_16_AM.png [ 345.27 КБ | 275 просмотров ]

Автор:  mihas [ 19:15, Пн, 03 дек 2018 ]
Заголовок сообщения:  Re: Спектральный калькулятор: 6 лет обновлений и улучшений

Все так быстро меняется, оставлю на память снимок всех функций для стабильной версии Спектрального калькулятора от 2 декабря 2018.

Вложения:
Комментарий к файлу: Все функции спектрального калькулятора v.2018.12.02
[ attachment ]
2018_12_02_AllFunctionsSpectralcalc.png [ 605.97 КБ | 225 просмотров ]

Автор:  mihas [ 18:59, Пт, 07 дек 2018 ]
Заголовок сообщения:  Re: Спектральный калькулятор: 6 лет обновлений и улучшений

Дополнил так же функцию сглаживания и приближения к целевым кривым в спектрах вводом собственных произвольных кривых, помимо имеющихся в списке. Формат и шаг таблицы приращения полутонов задается любой, количество колонок таблицы от 2 до 5 автоматически распознается и правильно применяется калькулятором. Так например 2 колонки таблицы - это одна кривая на все каналы, 3 колонки - CMY и K, 4 колонки - гаммы RGB поканально, а 5 колонок - каждая кривая для своей краски. Например создадим таблицу 5 колонок с поканальными приращениями полутонов 13-14-15-16 для CMYK в 50% полутоне:
00000
56.536.897.247.6
1013.113.7414.3815.02
1519.6720.5321.3922.24
2026.2127.2328.2429.25
2532.6933.8134.9236.03
3039.0840.2441.4142.57
3545.3346.5147.6848.86
4051.4352.5753.7254.86
4557.3358.4159.560.58
5063646566
5568.4169.3170.271.1
6073.5374.3175.0875.86
6578.3378.9779.6280.27
7082.7783.2883.7984.31
7586.8187.1987.5887.97
8090.4390.790.9691.23
8593.693.7693.9294.08
9096.2796.3596.4396.51
9598.4298.4498.4698.49
100100100100100
Выбираем селектором "Ввод собственных таблиц по образцу" и заменяем предложенный образец на свой в поле Output. В поле Input вводим как обычно спектральные данные. Получаем в спектрах результат (в аттаче) приведения полутонов к новым произвольным кривым для 1485 полей измеренной тесткарты и при "усилии" 100.
Полиграфия богата разными кривыми, помимо тех, что есть в ISO для офсета, флексушники например предпочитают целевую кривую Esko. Кривые многих профилей фогры не точно укладываются в стандарт - можно повторить и их, благо Спектральный калькулятор прекрасно их "выдергивает" из профилей. Только начиная с фогры 51 при построении стандартных профилей печати стали использовать такую математику, как представлена тут по кнопке "Суперфункции / Smoothing and Rescale", до этого просто применяли сглаживание к замерам, и они точно не укладывались в стандарт.
Поддерживается ввод как абсолютных, так и относительных значений уровня приращения полутонов: в пятидесяти как 14 так и 64. Программа определяет тип таблицы автоматом.

Немного из переписки:
"У вас в широкоформатке наверное так же как в офсете, в разных местах
оттиска немного показания по TVI разнятся.
Офсетный оттиск дает разные кривые по всему листу, буквально на пару
сантиметров сместись - и уже другая кривая. Они все конечно похожи,
усреднение дает более правдивую картину, но при построении совсем уж
правильных профилей офсета типа фогры 51 - усреднения и сглаживания не
достаточно, кривые приводят вообще в идеальное состояние. И кстати
хорошо калиброванный офсет именно это состояние и отражает, случаются
изредка замеры
, которые просто идеально по 15 точкам укладываются в
целевую кривую стандарта. Просто поймать именно такой замер на большой
тесткарте не реально. А профиль хочется хороший. Что я делал раньше -
усреднял много и сильно сглаживал. Не идеально, но пойдет, в пробу все
попадает. Теперь могу еще лучше делать - не просто сглаживать, а
делать из замеров с погрешностями идеал.
Вот на этой картинке провал в 55% полутоне не обусловлен ни пластинами
ни механикой ни химией - просто неудачным расположением контрольного
патча 55. Если использовать при цветоделении эти данные как есть - в
градационной будет ошибка в этом месте, неровность, не характерная для
офсета. А это между прочим стандартная IT8.7/4 дает такую ошибку.
Первое что я делаю - переделываю тесткарту так, чтобы подобных ошибок
при печати не возникало. Второе - усредняю тесткарты с разным
геометрическим положением патчей. И теперь вот третье - могу еще и
"причесать" замеры так идеально, как даже гейдель не умеет. Причем
оказалось это в спектрах сделать проще и правильнее, чем в XYZ".


Вложения:
Комментарий к файлу: Пример применения произвольных таблиц приращения полутонов. Кривые 13-14-15-16
[ attachment ]
Spectralcalc_PNG_image_2018_12_07_18_30_58_PM.png [ 375.74 КБ | 182 просмотра ]
Комментарий к файлу: Сглаживание спектров с "усилием" 100 под произвольные таблицы приращения полутонов

Автор:  mihas [ 22:24, Вс, 16 дек 2018 ]
Заголовок сообщения:  Re: Спектральный калькулятор: 6 лет обновлений и улучшений

Поискал по табличным данным, посчитанным из tristimulus RGB профилей, край охвата по светлоте и насыщенности на разных углах hue. Пока получилось как-то так, некоторые неровности, подумаю как их убрать. Эти массивы нужны для функции двумерного гамут маппинга в спектральном калькуляторе и цветовом конвертере.

Вложения:
Комментарий к файлу: край охвата sRGB
[ attachment ]
sRGBGamutEdge.PNG [ 25.11 КБ | 40 просмотров ]

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/