Сражаясь неустанно, доживём мы, Санчо, до Золотого века! | ||
|
| ||||
Научный образовательный Спектральный калькулятор с открытым кодом принимает текстовые данные CGATS в форматах a-la X-Rite (GretagMacbeth) MeasureTool и ColorLab, Heidelberg Print Open и Color Tool, ArgyllCMS, X-Rite i1Profiler и BabelColor PatchTool от 340 до 830 нанометров (можно меньший диапазон) с шагом от одного нанометра и больше, в том числе данные Argyll с шагом 3,3,4 nm. Следите за тем, чтобы между тегами BEGIN_DATA_FORMAT и END_DATA_FORMAT были корректные данные. С 2016 года спектральный калькулятор так же умеет распознавать данные XML формата CxF3 (Color Exchange Format) для спектров CMYK, RGB и осветителей. На сегодняшний день успешно распознаются данные CxF 3 версии (a-la i1Profiler) с тегами: <cc:ColorCMYK>, <cc:ColorRGB>, <cc:ColorCIEXYZ>, <cc:ReflectanceSpectrum>, <cc:EmissiveSpectrum>. Так же распознаются данные CxF 1 версии a-la i1Share. Образцы всех распознаваемых калькулятором форматов файлов представлены в листинге. Для вычисления колориметрических координат XYZ и Lab в калькуляторе содержатся все необходимые стандартные осветители (Illuminants), кривые стандартного наблюдателя CIE 2° и 10°, также имеется возможность ввода собственного спектра осветителя (custom illuminant). Можно вводить цветовую температуру в Кельвинах для вычисления спектра осветителя D и планковского черного тела. Калькулятор принимает спектры как самосветящихся, так и спектры отражения. Для правильного вычисления XYZ-координат самосветящихся во входных данных должна быть пометка ILLUMINATION_NAME Emission. Спектры замеров Emission принимаются в размерности 10, спектры Reflective - в размерности 1 (все как в Measure Tool. Для памятки - спектры иллюминантов в MT в размерности 100). Во вкладке дополнительных установок можно принудительно изменить размерность спектров и переключить тип Reflection/Emission, если автомат определил нестандартные данные неверно. Спектры Emission зачастую требуют нормировки к L=100 по максимально светлому образцу, для этого в дополнительных функциях имеется соответствующая кнопка. Калькулятор позволяет вычислить из спектральных данных цветовые координаты XYZ, xyY, Lab и LCh, денситометрические плотности за разными статусными фильтрами и параметры растискивания – DotGain (если в исходных таблицах содержится достаточно данных для вычисления DotGain). Денситометрические единицы могут быть рассчитаны как традиционным для полиграфии релативным методом (по умолчанию с включенной галочкой в чекбоксе), так и абсолютным. Вычитание бумаги в релативном методе расчетов производится в том случае, если исходная спектральная таблица содержит промер бумаги (поля CMYK – 0,0,0,0). Денситометрия черной краски всегда рассчитывается за статусным фильтром Visual. В том случае, если выбраны относительная (релативная) денситометрия и статусные фильтры с пометкой CIE, а так же включена интерполяция данных в 5 нанометров – вычисления совпадают с результатами Measure Tool от GratagMacbeth и X-Rite. Если выбраны весовые коэффициенты ISO 5-3:2009, абсолютная денситометрия без вычитания бумаги и отключена интерполяция в 5 нанометров – вычисления плотностей совпадают с Color Tool от Heidelberg. Калькулятор вычисляет эффективность красконаложения в бинарах (треппинг) по трем формулам: Пруссела, Ритца и Брюннера. Помимо традиционного классического денситометрического DotGain вычисляется также TVI на основе колориметрических данных XYZ в том числе и с учетом так называемого «z factor», определяющего наиболее контрастную функцию голубой офсетной краски в пространстве XYZ (для красок струйного принтера z factor лучше отключить в дополнительных установках). Расчетные значения TVI призваны быть как можно более близкими к значениям DotGain, но строго они не совпадают. При отрисовке непрерывных кривых DotGain и TVI задействуется кубическая интерполяция. По стандарту ISO 29654:2017 вычисляется SCTV или Spot Colour Tone Value. Подмечено что максимальные энергетические пики иллюминантов F2, F7 и F11 не попадают в диапазон длин волн, кратный 10. Например, спектр F7 имеет максимальный энергетический пик '44' на длине волны 435 нм, тогда как измеренные спектральные данные чаще всего кратны 10 и вычисления проводятся по соседним значениям длин волн 430 и 440 нм. Энергетические пики осветителя F7 приходятся на длинах волны 430 и 440 нм всего лишь на '9' и '18', но никак не на '44'. Таким образом, для более точного вычисления пиковых значений из массивов осветителей F с шагом 1 нм выбирается усредненный диапазон значений а не одно значение. Данные сверялись с программой X-Rite Measure Tool, для осветителей F колориметрическая разница между результатами вычислений MT и результатами вычислений Спектрального калькулятора отличается втрое при использовании простой выборки и усреднения диапазона в пользу последнего. Для других осветителей, не имеющих острых спектральных пиков, алгоритм выборки данных из их массивов не играет существенной роли: максимальная колориметрическая дельта между алгоритмами составляет 1-2 сотых. Дельту между парой вычислений можно посчитать непосредственно в калькуляторе, выбрав соответствующий чекбокс во вкладке Advanced. Калькулятор самостоятельно выбирает, какой алгоритм работы с каким массивом иллюминантов ему использовать, тем не менее, в дополнительных установках предусмотрена возможность самостоятельного выбора. Measure Tool проще: он не умеет считать спектры с шагом от 1 нм и использует не совсем корректные данные для осветителей F. Иллюминант Extraterrestrial Radiation или ETR (так же известный как top-of-atmosphere (TOA) irradiance или Solar Spectrum) - солнечный свет без облаков и атмосферы в космическом пространтве. Используется в качестве эталона, с которым сравнивают фактические измерения солнечной энергии. Взят из ASTM G173-03 и отнормирован к 100 по значению 560 нм, как это принято со всеми иллюминантами в колориметрии. Калькулятор позволяет задействовать на выбор несколько методов хроматической адаптации, в том числе CIECAM02 и CAT02. Отличия между ними в том, что CIECAM02 - это полный алгоритм с расширенными настройками, а CAT02 - традиционное матричное преобразование с новой матрицей 3×3, отличной от Брэдфорда и фон Криза. В адаптированном по алгоритму хроматической адаптации CAT02 к освещению D50 формате сохраняют данные популярные программы, например MeasureTool от X-Rite и ColorLab от GretagMacbeth. Также возможно вычисление данных без применения хроматической адаптации и приведения освещения к источнику света D50. Следует иметь ввиду, что известные профайлбилдеры неправильно работают с данными, не даптированными к D50, не читают реально тег ILLUMINATION_NAME. Поэтому вычисленные данные с осветителем, отличным от D50, без хроматической адаптации нельзя использовать для корректного построения цветовых профилей. Measure Tool вообще не умеет выдавать данные без хроматической адаптации к D50. По умолчанию в спектральном калькуляторе хроматическая адаптация отключается при вычислении цвета с иллюминантом D50 (не нужно адаптировать D50 к D50, так только вносится небольшая погрешность в вычисления). Для осветителей, отличных от D50, по умолчанию в научных целях задействуется (можно отключить) хроматическая адаптация CIECAM02 с типичными дефолтными установками всех параметров. Но если требуется достичь более точного соответствия результатов вычислений c хроматической адаптацией спектрального калькулятора с результатами вычислений обычных не исследовательских программ - включайте CAT02 или Брэдфорда для всех осветителей, кроме D50. Так же некоторые программы иногда неправильно вычисляют Lab из XYZ при свете, отличном от D50. Можно столкнуться с тем, что после хроматической адаптации XYZ от выбранного иллюминанта к D50 програма вычисляет Lab из XYZ с выбранным иллюминантом, а не с иллюминантом D50. А ColorLab (Conversion/CIE Colors) и Argyll (spec2cie) наоборот, при вычислении XYZ с иллюминантом, отличным от D50, и без хроматической адаптации считают XYZ правильно, но Lab из этих XYZ вычисляют не с указанным светом, а зачем-то с D50. В параметрах хроматической адаптации переключатель вычисления Lab из XYZ установлен в положение «без ошибок» - «No mistake», но в экспериментальных целях можно включить режим генерации типичных ошибок «mistake» для имитации неправильной работы некоторых популярных программ. В экспериментальных целях хроматическая адаптация по матрицам Брэдфорда, фон Криза и простого XYZ-шкалирования осуществляется двумя разными путями: с рассчитыванием матрицы перехода в пространстве XYZ через ρ, γ, β, как описано здесь, и с вычислением матрицы адаптации в пространстве RGB. Оба метода, как и полагается, дают на выходе одинаковый результат, естественно не совпадающий с современной хроматической адаптацией CIECAM02 и CAT02. Так же среди матриц хроматической адаптации присутствуют матрица Sharp (среднее между Bradford и von Kries) и матрица CMCCAT2000 для большей полноты картины применяемых в разных областях способов хроматической адаптации. Визуализация цветовых патчей вычисляется из данных Output и автоматически адаптируется a la Photoshop (по Брэдфорду) от D50 к белой точке выбранного стандарта визуализации: для sRGB и Adobe RGB - к D65, для ProPhoto RGB - к D50 (табличных данных Output это RGB-hex-представление для WEB не затрагивает). Генерация мишеней pbg происходит непосредственно в выбранный RGB-стандарт. Функция гаммы так же рассчитывается по стандартам: для sRGB - гамма sRGB, для Adobe RGB - гамма 2.2, для ProPhoto RGB - гамма 1.8. В любом случае, и так сделано специально в духе многих программ, мишени png колориметрически корректны в том случае, если значение полей «Viewing Conditions White Point XYZ» во вкладке параметров хроматической адаптации заполнены по умолчанию осветителем D50. Тоже касается и экранного hex-представления, цифры RGB в нем так же корректны для соответствующего им RGB-стандарта, если данные таблицы Output приведены по умолчанию к D50. Hex-представление и png строятся на данных Output так, как если там всегда посчитано с D50 или адаптированно к D50. И в том случае, если поля «Viewing Conditions White Point XYZ» вручную заполнены осветителем, отличным от D50, визуальное hex и png представление показывает, как выглядит без хроматической адаптации данный иллюминант при D50: так обеспечивается полное визуальное соответствие с icc-профилями и популярными программами. Тем не менее данные поля Output содержат ровно то, что вы вычислили, спектральный калькулятор позволяет отключить любую хроматическую адаптацию вообще и к D50 в частности. Табличные данные для белой точки XYZ я взял из американского ASTM E308-01, но они немного не совпадают с данными, получаемыми при расчете из спектра иллюминанта по формуле CIE в формате входных данных. Оставил возможность выбрать: американские программы и Heidelberg придерживаются данных ASTM и считают цвет через таблицы Tristimulus Weighting Factors, тогда как CIE предлагает считать иначе - через CMF стандартного наблюдателя и SPD иллюминанта. Так же на вычисление белой точки влияет, применяется ли интерполяция из 10 нм в 5 нм к замерам: соответственно и данные из массивов иллюминантов берутся с тем же шагом и в том же диапазоне, что и замеры. ASTM E308 вычисляет белый референс из таблиц 360-780 nm interval 10 and 20 nm и суммирует табличные данные с точностью 3 знака после запятой. Спектральный калькулятор по CIE суммирует спектры с точностью 15 знаков после запятой и позволяет выбирать интервал спектров как 10, так и 5 нм, вплоть до интервала 1 нм в соответствии со входящими данными. Программа Measure Tool от Gretag при вычислении XYZ из спектров с шагом 10 нм по всей видимости интерполирует измерения в таблицы с шагом 5 нм. Калькулятор предоставляет возможность считать так же либо не интерполировать в шаг 5 нм измеренные данные с шагом 10 нм на ваш выбор. Программа ColorTool от Heidelberg не интерполирует измерения 10 нм, считает строго по таблицам из ASTM E308, и чтобы достичь с ней полного совпадения - используйте соответствующий селектор в спойлере параметров хромадаптации. Калькулятор поддерживает ввод не только спектральных, но и колориметрических (XYZ и/или Lab, LCh, xyY) данных в поле Input для проведения хроматической адаптации и вычисления TVI и SCTV. По умолчанию в вычислениях задействуются XYZ-данные и Lab вычисляется из них, даже и в том случае если Lab-данные или LCh-данные тоже присутствуют. Если XYZ нет и есть только данные Lab - тогда необходимые данные XYZ вычисляются из Lab. Или вычисляются из LCh, если присутствуют только LCh. Также калькулятор обучен перестраивать из Random в Visual данные мишеней ECI2002 и IT8.7-4, корректно отображать шкалы Ugra/Fogra Media Wedge V2 и Ugra/Fogra Media Wedge V3 и некоторые другие популярные мишени. В калькулятор встроен алгоритм конверсии между спектральными фильтрами M0 (no filter), M1 (D50), M2 (uv-cut). Сценарий конверсии между фильтрами вызывается соответствующими кнопками во вкладке дополнительных установок. Наиболее точные результаты достигаются, когда в промерах есть патч бумаги и маркеры CMYK для него 0:0:0:0. По сценарию, соотношение в белом патче между синим монохроматом (440 нм) и желтым (590 нм) показывает, насколько велик уровень флуоресценции данной бумаги, поэтому так же при желании можно управлять фильтром конверсии с помощью этих значений в вашей таблице спектральных данных. Совсем несветящиеся в ультрафиолете бумаги равны за фильтрами M0, M1, M2, а чем выше флуоресценция - тем больше отличия между фильтрами. ArgyllCMS так же умеет производить конверсию между фильтрами, но делает это менее точно. Так колориметрическая точность (средняя delta Е) конверсии между фильтрами M0 и M1 составляет для этого калькулятора ~0.4 от реальных промеров i1 Pro 2 за соответствующим фильтром, а точность ArgyllCMS ~0.6. Цветовые координаты могут быть так же изменены относительно произвольной белой точки (бумаги) по методу McDowell 2005, названному в новом ISO 12647-2:2013 трехстимульным методом коррекции (tristimulus correction method). Соответствующая функция доступна во вкладке дополнительных установок. Конверсия по методу McDowell 2005 происходит в координатах CIE XYZ (как кстати и хроматическая адаптация), но на входе спектрального калькулятора могут быть любые данные (спектры, Lab only и так далее), а новую точку бумаги для пущего удобства можно заносить непосредственно в координатах CIE Lab сразу после вызова функции. Опорный белый свет для перевода новой белой точки из Lab в XYZ будет задействован из выбранного в селекторе иллюминантов (D50 по умолчанию). Калькулятор вычисляет из спектральных данных Color Inconstancy Index (CII) - индекс непостоянства цвета при смене спектра освещения. В глубоком прошлом традиционно референсным иллюминантом для вычисления CII обычно назначался D65, но учитывая сегодняшние реалии, я назначил Ref.White D50 и хроматическую адаптациию к нему от 8 сравниваемых иллюминантов - CAT02. Так же при вычислении различий между образцом, освещенным D50, и освещенным восемью другими иллюминантами, используется формула delta E 2000 с параметрическими факторами Kl, Kc, Kh = 0.67 для приведения к привычной размерности delta E 1976, а в конце таблицы приводится среднее CII для данного образца между D50 и 8 другими источниками света. Color Inconstancy Index - более надежная и точная формула, чем придуманная Gretag опция Tone Stability, поэтому последнюю я не вычисляю, хотя это и не сложно. CII может быть использован и часто используется в качестве индекса метамеризма, хотя строго говоря, Metamerism Index (MI) и Special Metamerism Index (SMI) подразумевают сравнение не двух, а четырех образцов - 2 образца × 2 иллюминанта, что очень ограничивает область их реального применения. Причем в SMI образцы еще и обязаны быть одинаковыми в координатах XYZ, но разными по спектру. Так же MI и SMI рассчитываются без хроматической адаптации, что делает их менее привлекательными, а в Tone Stability хромадаптация непродуманная и скорее случайная, поэтому здесь вычисляется именно CII, как наиболее верный колориметрический инструмент оценки метамеризма и цветового непостоянства. Не забывайте дополнить ваши вычисления оценкой цветовой константности по методу Пиннея - Де-Марша, опирающегося на спектр нейтрального серого образца. Эти два параметра - Pinney-DeMarsh и CII - наиболее адекватно описывают метамеризм или цветовую константность того или иного способа печати. Так же CII может быть отдельно посчитан только для телесных оттенков и поля выборки диапазона LCh по умолчанию настроены на область телесных. Качество света можно оценить в калькуляторе с помощью функций Color Rendering Index (CRI), Color Quality Scale (CQS), IES TM-30-15 и TLCI-2012, вызываемых кнопкой "CRI и CQS" в дополнительных установках. Вызов функции CRI и CQS при пустом поле Input заполнит его наглядными примерами иллюминантов из жизни. Вычислить Color Rendering Index и Color Quality Scale можно традиционным методом с хроматической адаптацией по матрице фон Криза для CRI и матрицей CMCCAT2000 для CQS или дополнительно в исследовательских целях - все с современной матрицей CIECAT02. Подробная информация о вычисляемых индексах появится в поле Output после вычислений. CQS в одних версиях штрафует источник света за температуру ниже 3500К, в официальной версии 7.4 от CIE и NIST - ниже 6500K. Полной адаптации глаза, например, к лампе накаливания не происходит, поэтому граница 3500 - разумная, а вот 6500 - не разумная, потому что температура дневного света актуальна, начиная с 4000К и при таком свете прекрасно можно адаптироваться. Вычисляемый также Relative Gamut Area Index (RGAI) или Qd в терминологии CQS - скорее количественный, чем качественный показатель, определяет в процентах отношение площади ab-охвата под тестовым иллюминантом относительно референсного и может быть запросто более 100% у некачественных источников света и состарившихся ламп. И в любом случае, индекс CRI (Ra) морально устарел, не надежен, легко обманывается даже светодиодами, поэтому рекомендую использовать надежные индексы CQS. Фактор CCT D65 в классических индексах CQS чрезвычайно жесткий и штрафует даже идеальный иллюминант D50 за небольшой охват при хромадаптации к референсному D65. Поэтому в индексе Relative Gamut Area (Qd) я исключил влияние CCT-фактора вообще в дополненном исследовательском методе вычислений, как противоречащего здравой логике (отношение площадей охватов не надо ни на что умножать, потому что неравенство выглядит смешно когда охваты графически равны), а для индексов Qa, Qf и Q-individual CCT-фактор смягчен в дополненном исследовательском методе вычислений от cielab.xyz до площади охвата D50 при адаптации к референсному D65. Надо сказать, что Illuminating Engineering Society славно потрудились над Method for Evaluating Light Source Color Rendition, в нем все серьезно: хромадаптация самая новая CIECAM02, 99 облучаемых спектральных образцов семи разных типов - это не то, что 8-15 образцов в старом и ненадежном Color Rendering Index. Интересно так же, что на границе между планковским черным телом и дневным светом в диапазоне 4500-5500К эти два иллюминанта усредняются, в старых методиках просто была граница на 4000К между тем и другим. Таким образом правильный D50 имеет высокий, но не 100% индекс, как раз за счет примеси АЧТ в дневном свете в формулах методики. Функция «IES TM-30-15, CRI, CQS, TLCI-2012» так же дополнена вычислением фотосинтетически активной радиации или ФАР (photosynthetically active radiation, PAR) в установленном для неё диапазоне длин волн 400-700 нм и в соответствии с эффективностью фотосинтеза - усваиваемого растениями потока фотонов yield photon flux (YPF). Исполняемый сценарий калькулятора занимает 20000 строк кода и вместе с библиотеками тянет более чем на 2 мегабайта; сценарий отлаживался в браузере Mozilla Firefox на Mac и PC попеременно но также немного тестировался на совместимость с другими интернет-навигаторами. Для тугодумов IE и Opera были приделаны отдельные костыли для каждого, однако Internet Explorer единственный из всех браузеров графики рисовать не умеет (даже браузеры мобильных телефонов умеют). О замеченных глюках не сочтите за труд написать разработчику. Запросить расширение функционала можно в этой теме форума. Если прочтение яваскрипта вызывает у вас сложности, но вам нужны формулы этого калькулятора, можно познакомиться с ними из документов Excel: здесь таблица перехода от спектров в XYZ и Lab для 5 нм и здесь для 10 нм от Брюса Линдблума. Расчеты по формуле SCTV в Excel выполнены здесь. Расчеты TVI в Excel тут. Так же по ссылкам вы найдете написанную Фейрчайлдом в Excel на VB хроматическую адаптацию CIECAM02 и подробный разбор функций CRI и CQS от NIST (National Institute of Standards and Technology). |
|||||
© CIELab.XYZ Скриптинг и поддержка – Михаил Сартаков Научные консультанты – Алексей Грибунин, Александр Пыльский Оптимизированный высокоскоростной алгоритм CIECAM02 – Дмитрий Бельчук Классные подсказки по яваскрипту – Федор Одинцов Всего посещений - 150407 Всего за день - 2 Уникальных сегодня - 2, вчера - 21, позавчера - 29 |