ColorLab, Measure Tool, Argyll, Lidbloom, спектральный калькулятор и т.д.

Статус
Закрыто для дальнейших ответов.

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Назрел давно насущный вопрос, который требует разрешения, вот уже и в личку спрашивают, лучше подробно в паблике разберем. Итак, есть явные вопиющие несоответствия (пока отложим незначительные - рассмотрим именно вопиющие) в лабах для света ну например D65 (главное не D50) в разных программах разберем по существу откуда ноги растут у ошибок.
Вот исходный спектр первого попавшегося тестового образца, на котором будем упражняться (380-730 нм шаг 10):
Код:
0.0406    0.0502    0.0576    0.0618    0.0707    0.0749    0.0796    0.0825    0.0845    0.0889    0.1029    0.1343    0.1690    0.1746    0.1615    0.1576    0.1517    0.1227    0.0948    0.0881    0.0911    0.0915    0.0875    0.0836    0.0843    0.0879    0.0942    0.1055    0.1190    0.1264    0.1251    0.1196    0.1107    0.1060    0.1121    0.1306
Вот результаты разных вычислений, смотрим сразу на последнюю цифру b-координаты и видим две группы цифр - около 0 и около 8, какие из них неверные и почему (D65 2 гр):
1 colorlabNoCat 8.95 11.83 9.79 40.95 -19.08 -0.11
2 colorlabCAT02 9.18 11.85 7.40 40.97 -17.27 8.68
3 Argyll 8.9487 11.831 9.7842 40.946 -19.080 -0.082804
4 My_cat02 9.50 12.25 7.66 41.61 -17.41 8.76
5 My_bradford 9.16 11.82 7.46 40.92 -17.24 8.40
6 My_NoCat 8.95 11.83 9.79 40.95 -18.00 8.60
7 My_mistake_On 8.95 11.83 9.78 40.95 -19.07 -0.08
8 lindbloomNoCat 8.95 11.83 9.78 40.9446 -17.9772 8.6117
9 MT 9.18 11.85 7.40 40.97 -17.27 8.68
Как видим, XYZ везде близко совпадают, а вот далее наступают огромные разночтения в лабах. Кто врет? Смотрите, сходятся Линдблум, Measure Tool, колорлаб с хромадаптацией и мой калькулятор - b-координата =8. И сходятся Argyll, colorlab без хромадаптации и "My_mistake_On" b-координата =0. "My_mistake_On" - специальный переключатель, который есть у меня в дополнительных установках хромадаптации, чтобы имитировать неправильные вычисления. Впрочем он как раз для поиска логики во всей этой каше и сам возможно должен быть еще переписан капельку, надо дожать вопрос.
В чем смысл - история интересная! Многие программы без предупреждения включают хроматическую адаптацию. Как работают формулы, для координат XYZ D65 вычисляется поправка на D50 - это и есть хроматическая адаптация к D50, так нужно делать для правильного профилирования, во всех профилях хранятся адаптированные лабы. Отсюда хитрый вопрос - а для вычисления Lab какой свет теперь надо подать для вычислений из адаптированных XYZ - D50 или D65? Тут и сидит ошибка потому что в данном случае Аржилл подал свет D65 при вычислении Lab из XYZ уже D50, а надо было как у меня, MT и линдблума в случае хромадаптации XYZ к D50 подать в формулу Lab D50 а без хромадаптации - D65.
Вот эта штука нам тоже поможет http://www.brucelindbloom.com/iPhone/ColorConv.html если и там не сидят ошибки связанные с хромадаптацией (я уже устал ковыряться в логике Линдблума). Посчитайте из XYZ так и сяк. И в мой калькулятор можно пихать чистый XYZ без всего если надо.
У меня в настройках хромадаптации есть переключатель "Считать Lab как Measure Tool" - он работает автоматически, но можно на нем нажимать - тогда будет считать по желанию лабы с ошибкой как Argyll. Автомат вернется с кнопкой Reset.
Если вдруг обнаружите, что у меня логика автомата переключателя неправильная - скажите, я сразу перепишу скрипт. Автомат возвращается кнопкой Reset.
Я нашел ошибку как раз на разнице между кодом Линдблума, который люблю почитать, и вычислениями MT и учел в своем калькуляторе. А тут видите и у Argyll с колорлабом порой собственная логика.
Чуть позже разберем, почему цифры не сходятся в десятых и сотых - сейчас магистральный вопрос - почему разница по b-координате в 8 единиц.
Надеюсь по результатам обсуждения попонятнее написать для пользователя логику работы автомата у меня в калькуляторе mistake/no mistake - пока просто не надо трогать автомат и дать считать правильно (или убрать вообще эту кнопку, но без нее исследовать вопрос сложнее).
Я уже наступал на эти грабли, по которым прошелся и Argyll и Линдблум так что готов еще вопрос обкурить.
Что точно видно из приведенных цифр это то, что колорлаб и MT при хроматической адаптации CAT02 от D65 к D50 дают правильные идентичные цифры. Но вот без хромадаптации один считать не умеет а второй считает не правильно. С моим CAT02 они слегка не сходятся скорее всего потому, что задействуют упрощенный алгоритм, а я задействую полный. Точнее отвечу, когда тоже пропишу еще и упрощенный тоже для изучения.
 
Последнее редактирование:
  • Спасибо
Реакции: minos

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Ну вот чтобы совсем уже не оставалось сомнений упростил все до невозможности чтобы логика была простая как топор. У себя сделал селектор mistake/no mistake чтобы не путать с автоматическим включением. Просто либо считаем все без ошибок либо с ошибками, так понятнее. Берем за образец просто спектр белой нейтральной бумаги приблизительно 95 0 0, на белом уж сразу резко все понятно кто чего считает. Вот спектр готовый к вставке во все программы:
Код:
LGOROWLENGTH    1
CREATED    "11/7/2014"  # Time: 16:52
INSTRUMENTATION    "Unknown"
MEASUREMENT_SOURCE    "Illumination=Unknown    ObserverAngle=Unknown    WhiteBase=Abs    Filter=Unknown"
ILLUMINATION_NAME    "D50"
OBSERVER_ANGLE    "2"
KEYWORD    "SampleID"
KEYWORD    "SAMPLE_NAME"
NUMBER_OF_FIELDS    38
BEGIN_DATA_FORMAT
SampleID    SAMPLE_NAME    nm380    nm390    nm400    nm410    nm420    nm430    nm440    nm450    nm460    nm470    nm480    nm490    nm500    nm510    nm520    nm530    nm540    nm550    nm560    nm570    nm580    nm590    nm600    nm610    nm620    nm630    nm640    nm650    nm660    nm670    nm680    nm690    nm700    nm710    nm720    nm730
END_DATA_FORMAT
NUMBER_OF_SETS    1
BEGIN_DATA
1    A1    0.1661    0.2207    0.3045    0.5284    0.6595    0.7515    0.8574    0.9205    0.9296    0.9224    0.8935    0.8837    0.9357    1.0349    1.0686    1.0123    0.9283    0.8329    0.7417    0.6919    0.6760    0.7236    0.8529    0.9680    1.0328    1.0603    1.0746    1.0877    1.1036    1.1109    1.1098    1.1042    1.0948    1.0894    1.0928    1.1142
END_DATA

Теперь пробуем посчитать его в разных режимах, с хромадаптацией и без. Линдблум не ест спектры - даем ему честный XYZ D65 2 гр. Он его правда и не адаптирует никуда кроме RGB но при указании света D65 считает лаб честно. Вот получаем сравнительную табличку:
Код:
1    D50 no mistake        84.50    87.62    72.37    95.00    0.04    -0.06
2    D65 CAT02 no mistake    84.05    88.02    72.03    95.17    -1.53    0.53
3    D65 None no mistake    82.57    87.76    94.74    95.06    -1.60    0.54
4    D65 CAT02 mistake    84.05    88.02    72.03    95.17    0.76    17.40
5    D65 None mistake    82.57    87.76    94.74    95.06    -3.88    -17.94
6    Lindbloom D65        82.57    87.76    94.74    95.06    -1.62    0.55
7    MT D65            83.81    87.76    71.77    95.06    -1.53    0.55
8    ColorLab D65 CAT02    83.81    87.76    71.77    95.06    -1.53    0.55
9    ColorLab D65 none    82.59    87.76    94.80    95.06    -3.85    -18.01
Посчитайте плиз еще в Argyll с D65, я почти не пользуюсь этим софтом и чего-нибудь вдруг напутаю.
Видим что в целом вычисления с хромадаптацией совпадают во всех программах, небольшие разночтения на 7 сотых по лабам известно откуда ноги растут, в упрощенном алгоритме CAT02 и возможно в небольших расхождениях XYZ референсного белого, CIE такие цифры не публикует, все считают как хотят или берут XYZ ref white из ASTM - во всех случаях небольшие разночтения, смотря из какого диапазона спектров считать, с каким шагом, с какой точностью брать спектры.
Сразу поясняем совпадения по ошибкам, 5 и 9 пример. Здесь колорлаб и я специально считаем без хромадаптации XYZ D65 а затем Lab из этих значений зачем-то считаем со светом D50. Нет, я-то галочку ошибка специально включил, но почему колорлаб так считает по деффолту мне не ведомо. И я так понял Argyll так же врет. Это конкретно синяя ошибочная плаха а не белая как на нее не смотри и как этот лаб потом обратно не пересчитывай во что угодно как угодно белым он уже не станет. Но с другой стороны с хромадаптацией у колорлаба и MT ошибок нет и это в обоих случаях упрощенный CAT02.
Теперь рассмотрим другую ошибку, которую тоже можем встретить - патч 4. Здесь после хроматической адаптации XYZ D65 к D50 лабы из XYZ посчитаны со светом снова D65.
Оставляю тут для памятки эти циферки чтобы если забуду всегда мог вспомнить, какие ошибки от чего возникают и как определить тип ошибки. Все крутится вокруг хроматической адаптации и ошибок вычислений либо с ней либо без нее. То есть и к XYZ и к Lab из них надо приложить референсный свет, но только не надо ошибаться когда какой приложить.
 

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Посмотрел еще на ошибку Argyll - она в точности совпадает с ошибкой колорлаба без хроматической адаптации: честно вычисляются правильно XYZ D65 а потом лабы из них по непонятной причине вычисляются со светом D50. Откуда вообще тут берется D50 и зачем, если явно указано D65? Вот команда в Argyll:
Код:
txt2ti3.exe -v 111.txt 111
spec2cie.exe -iD65 -o1931_2 -n 111.ti3 111-d65.ti3
Может надо как-то иначе считать в нем правильные лабы D65?
 

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Еще здесь можно проверять вычисления сразу с визуализацией цвета. Там просто специфика светодиодная но годится для наших задач: http://rudtp.pp.ru/colorcalc/binning.htm
Хромадаптация от выбранного источника или выбранной температуры АЧТ к соответствующему белому в выбранной модели sRGB. Можно включать и отключать адаптацию, визуализация верная в обоих случаях. Все руки не доходят туда кроме Брэдфорда CIECAM CAT02 прикрутить.
 
  • Спасибо
Реакции: colorprint

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
А Линдблум все не чешется CAT02 вставить в свои скрипты и странички инфо...
Ну я вобщем для того, чтобы данные моих вычислений с хромадаптацией в ноль сходились с MT и ColorLab все же наконец повставлял у себя наконец везде вычисления с CAT02:
http://rudtp.pp.ru/spectralcalc.php
http://rudtp.pp.ru/colorcalc/binning.htm
http://rudtp.pp.ru/colorcalc/CIExyY.htm
http://rudtp.pp.ru/colorcalc/
И инфо поправил по результату проведенных сравнений:
Калькулятор позволяет задействовать на выбор несколько методов хроматической адаптации, в том числе 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" для имитации неправильной работы некоторых популярных программ.

Остался-таки один нерешенный вопрос по поиску соответствия результатов другим программам. До интерполяции додумались из 10 нм в 5 нм. Сразу расхождения снизились до 1 десятой или вообще сотых. Тем не менее эти сотые и тысячные есть и я даже знаю почему. MT и ColorLab не берут данные по XYZ опорного белого из ASTM. Но какие точно берут цифры не знаю. Как уже говорил, их можно вычислить с разной степенью точности из разного спектрального диапазона и с разным шагом. И CIE таких референсных вычислений, которые бы указывали диапазон и шаг и количество знаков после запятой не дает официально или я не нашел. ASTM дает и Линдблум пользуется а CIE нет. Вобщем осталось эту загадку решить.

Еще для памятки надо интересоваться конечно дефолтными настройками CIECAM02 если у кого увижу. По Файрчайльду luminance дефолтные обычно 20 cd/m2. Я встречал и 25 и сейчас вот даже 100 обнаружил в новеньком экселе с алгоритмом. Так на вскидку конечно 100 совсем не сходится тогда CAT02 c CIECAM02 результат, сходится при 20-25.
 
  • Спасибо
Реакции: colorprint

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Нашел-таки как CIE считает и снова запутался. Вот CIE приводит цифры XYZ для нескольких иллюминантов из диапазона 380-780 нм с шагом 5 нм:
CIE_15_2004.PNG
Но ранее в том же документе говорится, что точные вычисления должны производиться в видимом диапазоне 360-830 нм с шагом 1 нм:
The CIE Standard (CIE, 1986a) on standard colorimetric observers recommends that the CIE
tristimulus values of a colour stimulus be obtained by multiplying at each wavelength the
value of the colour stimulus function I/JA(A) by that of each of the CIE colour-matching
functions and integrating each set of products over the wavelength range corresponding to
the entire visible spectrum, 360 nm to 830 nm. The integration can be carried out by
numerical summation at wavelength intervals, ~A, equal to 1 nm.

Вот и гадай теперь, так как же все же по CIE точно посчитать XYZ иллюминантов. Хорошо хоть теперь разброс вариантов сузился всего до двух:)
 

TRANTOR

Son of a Gun
R.I.P.
Сообщения
4 566
Реакции
2 956
Чем шире, тем точнее будет. И чем шаг меньше, тем тоже точнее.

В те года измерили 380-780 и как-то так оно и закрепилось. Наверное где-то кто-то измерял более точно, но я не нашел.
 

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Ладно, так и разделю задачи. Сделаю кнопочку "фундаментально" с шагом 1 нм и кнопочку practical purpose - с шагом 5 и в меньшем диапазоне. Меня просто кроме точности еще всегда интересует понять, а как посчитали в другом популярном софте и при необходимости сымитировать их вычисления.
 

TRANTOR

Son of a Gun
R.I.P.
Сообщения
4 566
Реакции
2 956
Ну, можно разные варианты посчитать и сравнить, что ближе. Но могли в том софте иметь место округления, допущения итд. Все не сымитировать.
 

DimB

15 лет на форуме
Сообщения
766
Реакции
392
с шагом 5 и в меньшем диапазоне.
Да сходятся цифры итак.
Берете интервал 380-780 (все значимые), с шагом 5 нм.
Свои измерения добиваете интерполированными.
Отсутствующие (735-780) нулями.
И по всем осветителям цифры (XYZ) посчитанные сходятся с цифрами приведенными CIE.

И таблицы в Вашем *.xls все с шагом 5 нм.
 

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Да есть расхождения на сотые, вот матрицы CAT02 прикрутил - стало очень близко в сотых сходиться с MT и ColorLab. Потому что более крутой CIECAM02 с этим софтом расходится. По поводу округлений учту ваши советы. Вобщем надо просто посидеть посверять варианты. xls кстати на 5 нм от Линдблума а не мой, я все вычисления пытаюсь последнее время здесь проводить http://rudtp.pp.ru/spectralcalc.php
Недавно вот возник вопрос, почему резко не сходятся мои лабы с Argyll, XYZ сходятся а лабы вообще как чужие. Ответил на этот вопрос постами выше, просто добавлю, что Argyll правильные лабы для профилирования все равно не нужны, как впрочем и другой софт и я при наличии XYZ плюс Lab в файле цвет берет из XYZ все равно. Тем не менее, бывают задачи, когда нужны правильные лабы, отличные от D50, а не не пойми что. Выясняется что Argyll с Colorlab дают неправильные без хромадаптации а MT даже их вычислять не умеет без хромадаптации. Так что у меня задача теперь шире чем была вначале, не просто повторить вычисления а при необходимости и ошибки исправить.
 

dih

Участник
Сообщения
402
Реакции
29
Код:
spec2cie.exe -i D65 -o 1931_2 -n 111.ti3 111-d65.ti3

В аргайле перед аргументами вроде как пробел нужен, попробуйте.
 

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
И что - помогает пробел? То есть с пробелом Гилл написал верный алгоритм перехода от XYZ к Lab, а без пробела специально написал еще и неверный алгоритм перехода от XYZ к Lab? Это шутка такая? Или это просто бесполезный совет ради рекламы калибровки в ярославской области?
 

dih

Участник
Сообщения
402
Реакции
29
Вы, видимо, свои методы проецируете на других. Суть в том, что аргайл, похоже, просто игнорирует некорректные синтаксически команды. То есть в данном случае остается дефолтный D50. Вроде все очевидно. Проверьте, в случае верной версии неплохо бы извиниться.
 

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Не понял про методы. Если есть какой-то верный ответ - поделитесь. Я лишь утверждаю, что Гилл считает XYZ со светом D65 верно, а вот лабы из этих XYZ - неверно. Вы хотите опровергнуть это утверждение? Опровергайте! Если "вроде как пробел нужен" помогает - пишите, приводите примеры для сравнения с пробелом и без, что советы-то раздавать непроверенные? Я ко всем своим вычислениям привожу примеры.
 

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Суть в том, что аргайл, похоже, просто игнорирует некорректные синтаксически команды. То есть в данном случае остается дефолтный D50. Вроде все очевидно.
К сожалению, все сказанное совершенно не соответствует действительности. Советчик вначале сам бы лучше попробовал Argyll, прежде чем раздавать непроверенные советы. Пробел перед аргументом или его отсутствие не влияют никак на вычисления. Версия Argill 1.6.3 64 bit Windows.
Команда 1:
Код:
txt2ti3.exe -v 111.txt 111
spec2cie.exe -iD65 -o1931_2 -n 111.ti3 111-d65no.ti3
pause
Команда 2 (с пробелами):
Код:
txt2ti3.exe -v 111.txt 111
spec2cie.exe -i D65 -o 1931_2 -n 111.ti3 111-d65.ti3
pause
Пример спектральных данных в CGATS формате: 111.txt
Результат работы первой команды без пробелов: 111-d65no.rar
Результат работы второй команды с пробелами: 111-d65.rar
Результат работы с пробелами и без идентичны.
В обоих случаях XYZ D65 посчитаны правильно и Lab D65 из них в том же файле - неправильно.
Вот правильные вычисления XYZ и Lab D65 без хроматической адаптации: color_data_2015_04_24_21_40_21_PM.txt

Можно не сверять даже все 46 полей примера, возьмем первую строку, некий голубой патч из офсета:
Гилл X Y Z L a b:
Код:
20.2494 26.8258 73.8700 58.8127 -25.2666 -63.7882
Правильные X Y Z L a b:
Код:
20.2512    26.8262    73.8876    58.8131    -23.8239    -46.7633
Если не смотреть на погрешности в XYZ, у которых тоже есть объяснения, то хорошо видно, что XYZ сходятся, а Lab - не сходятся. Если интересно, я даже могу рассказать - почему не сходятся и почему Argyll врет в лабах. Или вроде рассказывал, не помню.

Почему вранье Argyll в лабах во многих случаях не страшно? Потому что при построении цветовых профилей программы берут данные XYZ а не Lab, если есть и те и те в таблице. Тем не менее, есть задачи, когда вычисление правильных Lab не D50 без хромадаптации к D50 тоже важно. Просто учитывайте эту ошибку Argyll.
 

Вложения

  • 111-d65.rar
    2.1 КБ · Просм.: 274
  • 111-d65no.rar
    2.1 КБ · Просм.: 299
  • color_data_2015_04_24_21_40_21_PM.txt
    3.5 КБ · Просм.: 797
  • 111.txt
    12.6 КБ · Просм.: 863
  • 111.txt
    12.6 КБ · Просм.: 1 245
  • 111-d65no.rar
    2.1 КБ · Просм.: 480
  • 111-d65.rar
    2.1 КБ · Просм.: 447
  • color_data_2015_04_24_21_40_21_PM.txt
    3.5 КБ · Просм.: 1 198

dih

Участник
Сообщения
402
Реакции
29
У меня нападки не из-за моей некомпетентности - извините, эмоции - а исключительно из-за подозрения меркантильности и автопиаре. Баг, определенно, но не по намерению, судя по открытости и посвящению автора программы. Давайте жить дружно, саморекламой никогда не занимался, честно. Если надо, переведу и отправлю автору.
Вот честно, никого не обвинял и не претендую ни на что, но Аргайл для бесплатного пакета очень хорош, и автор, судяпо его позиции, праавильный человек.
 

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
Я погорячился, совет был не очень дельным и не провереннным, тем не менее, и я не прав, что резко высказывался, действительно оставим обиды и сосредоточимся на деле.
Кстати по поводу Гилла - я тоже ничего сильно не имею против него и его софта, разве что интерфейс в 21 веке все же можно написать, не такая уж и сложная задача. Если обнаружился логический баг с лабами, отличными от D50 - пока просто учтем его и все. А то мне как-то давно понадобились честные значения Lab D65 для правильного вычисления белизны - а программы наврали и я сел в лужу с расчетами. Конечно если общаетесь с Гилом - напишите проверить, что XYZ D65 не совпадают у него с Lab D65.
 

dih

Участник
Сообщения
402
Реакции
29
> I have run into discussion on a Russian print industry forum that spec2cie tool with -i
> D65 parameter calculates XYZ data correctly but leaves Lab as if D50 were left as
> illuminant.

Yes, this is correct and intended. spec2cie is assumed to be a front end
for profiling, and profiling needs XYZ values. The output of spec2cie
uses the ICC PCS representation of the XYZ value. i.e either XYZ or
D50 white point L*a*b*.

For the output of spec2cie to do anything else would create a lot of work -
the L*a*b* white point would have to be included in the .ti3 file, and
every utility that reads .ti3 files would have to then take this into
account in converting the values back into XYZ or into D50 L*a*b*.

It sounds like someone is attempting to use spec2cie for something
it is not currently intended for ?

Perhaps you could explain the use case ?

Graeme Gill.

Дескать, так и задумано как оконечник про профилировании, что при этом нужны XYZ данные, а они либо в XYZ, либов Lab D50. Если делать по-другому, то нужно включать точку белого в .ti3, и все утилиты потом должны ее учитывать про конвертации обратно в XYZ или Lab D50. Дескать, вроде как не по прямому назначению используют, а для чего именно?
 
Последнее редактирование:
  • Спасибо
Реакции: mihas

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 872
@dih, спасибо!
По моему логика тут неверная. При профилировании нужны данные XYZ с хромадаптацией к D50, так их например представляет MT и i1P. ColorTool ничего не представляет про это, так как все считает лишь с D50. Тем не менее Гилл считает XYZ D65 без хромадаптации - не проблема кстати, зная что за белая точка в его XYZ - можно их спокойно адаптировать к D50 и строить верный icc-профиль. Но с Lab все слишком некорректно и кому нужны эти ошибочные цифры и в какой ситуации не понятно вообще, это не лаб D65 нисколько и не лаб D50 вовсе, так как посчитан из XYZ D65 - это просто одна сплошная колориметрическая ошибка эти гиловские лабы, гибрид D65 c D50. Ну может в его софте такая особая логика работы с черт-знает какими неизвестными науке лабами, но то что это ни с чем нам знакомым и проверенным в рамках формул CIE и логики icc несовместимо - это точно!
По хромадаптации я здесь оставлял реплику http://forum.rudtp.ru/threads/matri...vyx-profajlax-ot-iprofiler.47476/#post-728375 а уж какие ошибки будет делать профиль Гилла с иллюминантом A или D65 я к счастью даже не проверял. И не хочу если честно. Еще здесь про хромадаптацию писал http://rudtp.pp.ru/forum/viewtopic.php?f=3&t=525
Если characterization data у Гилла хранится без адаптации - это не привычно, но это не смертельно, его софт может посчитать адаптацию потом видимо при профилировании по той или иной матрице (какой там выбор матриц?). Никакой другой софт не посчитает потом за данными Гилла верно. Как профилировщик этот софт плох, данные не совместимы с другими программами, все это не серьезно как-то.
 
Последнее редактирование:
  • Спасибо
Реакции: colorprint и minos
Статус
Закрыто для дальнейших ответов.