Колориметрия, печать и препресс: технологии Главная Форум Галерея Контакты Download Статьи
Сражаясь неустанно,
доживём мы, Санчо,
до Золотого века!

 
 
 
 
 
 
 
 
 


Спектральный калькулятор на JavaScript  |  English version
v.17.9.14 Input spectral data 340-830 nm, step from 1 nm; input XYZ or Lab or LCh
Output XYZ, Lab, LCh, Dens, DotGain, TVI, Trapping, относительный контраст

Ввод данных из текстового файла CGATS. Entering data from a CGATS text file



Калькулятор принимает файлы *.txt, *.cxf и *.ti3 размером не более 2 мегабайт. Файлы могут содержать как спектральные, так и колориметрические (XYZ, Lab, LCh) данные для проведения хроматической адаптации и вычисления TVI. Правильное оформление данных CGATS можно посмотреть, нажав кнопки с примерами ниже, или по ссылке.

Input Spectral or XYZ (Lab, LCh) CGATS Data & Spectral CxF3:

Дополнительные функции и расширенные установки. Advanced Options
Принудительно изменить размерность спектров:
Принудительно изменить тип спектров (отражение/самосветящиеся):
бывает актуально
для Emission
Число колонок в таблице визуализации:

Референсные значения красок на графике:  
Кривые TVI и допуски (tolerance) ±4 на графике:  
Диапазон значений вертикальной оси Y на графиках DotGain и TVI:
Значения вертикальной оси Y на графике локальных контрастов:

Конверсия между спектральными фильтрами:
     
Колориметрическая трансформация цветовых координат относительно новой белой точки (бумаги) или, по ISO 12647-2:2013, tristimulus correction method: 
  (как это работает)
LCh min: L C h
LCh max: L C h
Отсортировать данные:   
и при сортировке по hue отделить нейтральную область значений Chroma от 0 до:
Отсортировать данные по двум параметрам:
c reference White D50 и адаптацией CAT02
для нейтрального серого
- Illuminating Engineering Society Method for Evaluating Light Source Color Rendition, Color Rendering Index и Color Quality Scale строго по версии NIST 7.4 от CIE




**графическое представление спектрального образца
также вызывается кликом по цветным патчам чуть ниже
Параметры хроматической адаптации. Chromatic Adaptation Options
Capture Conditions White Point XYZ:
Viewing Conditions White Point XYZ:
  По умолчанию поля XYZ Viewing Conditions заполнены значениями для осветителя D50. После копирования только кнопка Reset вернет значения WP Viewing Conditions XYZ D50 обратно.

CIECAM02 дополнительные настройки: (включены пресеты Фейрчайлда, вот CIE presets)
Capture Conditions Viewing Conditions
Scene average relative luminance:  
Scene adapting luminance:  
 
Scene surround:  
Viewing surround:  
Колориметрический справочник: таблицы ISO, CIE и ASTM
 

Output Color CGATS or Density Data:
 
 
 
 

Спектральный калькулятор принимает текстовые данные 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 были кор­рект­ные данные. Помните, что объемные данные, где столбцы таблицы разделены набором про­бе­лов вместо одного табулятора (например Color Tool и некоторые варианты экспорта i1Profiler), могут обрабатываться очень долго, браузер даже может предложить остановить сценарий (на­жми­те продолжить). Если скрипт будет менять пробелы на табуляторы слишком долго – проще по­ме­нять их автозаменой в Ворде (тоже может занять время, для таблицы IT8.7-4 может потребоваться до 100 тысяч замен). Разные программы используют разное количество пробелов даже в одном файле поэтому резать по ним массив неудобно, в результате массив режется либо по одному про­бе­лу (формат Argyll) либо по табулятору (формат Measure Tool). Спектральные данные размерности Argyll (λ×100) скрипт корректно распознает по специфической метке SPEC_ в формате данных.

С 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, 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 задействуется кубическая интерполяция.

Подмечено что максимальные энергетические пики иллюминантов 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 не затрагивает). Генерация мишеней tif происходит непосредственно в выбранный RGB-стандарт и в tif внедряется нужный цветовой icc-профиль. Функция гаммы так же рассчитывается по стандартам: для sRGB - гамма sRGB, для Adobe RGB - гамма 2.2, для ProPhoto RGB - гамма 1.8. В любом случае, и так сделано специально в духе многих программ, мишени tif с внедренным цветовым профилем колориметрически корректны в том случае, если значение полей «Viewing Conditions White Point XYZ» во вкладке параметров хроматической адаптации заполнены по умолчанию осветителем D50. Тоже касается и экранного hex-представления, цифры RGB в нем так же корректны для соответствующего им RGB-стандарта, если данные таблицы Output приведены по умолчанию к D50. Hex-представление и tif строятся на данных Output так, как если там всегда посчитано с D50 или адаптированно к D50. И в том случае, если поля «Viewing Conditions White Point XYZ» вручную заполнены осветителем, отличным от D50, визуальное hex и tif представление показывает, как выглядит без хроматической адаптации данный иллюминант при 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) данных в поле Input для проведения хроматической адаптации и вычисления TVI. По умол­ча­нию в вычислениях задействуются 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, вызываемых кнопкой "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» так же дополнена вычислением фотосинтетически активной радиации или ФАР (photosynthetically active radiation, PAR) в установленном для неё диапазоне длин волн 400-700 нм и в соответствии с эффективностью фотосинтеза - усваиваемого растениями потока фотонов yield photon flux (YPF).

Исполняемый сценарий калькулятора занимает 15000 строк кода и вместе с библиотеками тянет более чем на 2 мегабайта; сценарий отлаживался в браузере Mozilla Firefox на Mac и PC по­пе­ре­мен­но но также немного тестировался на совместимость с другими интернет-навигаторами. Для тугодумов IE и Opera были приделаны отдельные костыли для каждого, однако Internet Explorer единственный из всех браузеров графики рисовать не умеет (даже браузеры мобильных те­ле­фо­нов умеют). О замеченных глюках не сочтите за труд написать разработчику.

Если прочтение яваскрипта вызывает у вас сложности, но вам нужны формулы этого калькулятора, можно познакомиться с ними из документов Excel: здесь таблица перехода от спектров в XYZ и Lab для 5 нм и здесь для 10 нм от Брюса Линдблума. Так же по ссылкам вы найдете написанную Фейрчайлдом в Excel на VB хроматическую адаптацию CIECAM02 и подробный разбор функций CRI и CQS от NIST (National Institute of Standards and Technology).
 

 
© CIELab.XYZ
Скриптинг и поддержка – Михаил Сартаков
Научные консультанты – Алексей Грибунин, Александр Пыльский
Оптимизированный высокоскоростной алгоритм CIECAM02 – Дмитрий Бельчук
Всего посещений - 45340
Всего за день - 12
Уникальных сегодня - 10, вчера - 19, позавчера - 25