Tristimulus Weighting Factors: очень нужен ASTM E2022

  • Автор темы Автор темы mihas
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

mihas

Топикстартер
15 лет на форуме
Сообщения
4 860
Реакции
2 882
Многие замечали, что вычисляемые из спектров координаты XYZ (ну и Lab вслед за ними) расходятся заметно в популярных программах от Gretag и Heidelberg. Вроде бы все одно, иллюминант один, а цвета вычисляются разные. Как мы выяснили с друзьями - дело тут в том, что программы используют разные формулы. Но дело не только в формулах (эти уравнения дают идентичный результат при известных справочных таблицах), кроме интерполяции измеренных значений спектров из 10 нм в 5 в одной программе и отсутствие такой операции в другой, - они еще и таблицы разные используют, одна программа берет значения CMF 2-градусного и 10-градусного наблюдателя строго у CIE с шагом 5 нм, другая программа берет хитро вычисленные из этих таблиц промежуточные Tristimulus Weighting Factors - Wx, Wy, Wz причем с шагом уже 10 и 20 нм. Формула вычисления этих промежуточных коэффициентов приводится в ASTM E308 на 12 странице:
TWF_ASTMs.jpg
Но беда в том, что там же ниже в стандарте http://wenku.baidu.com/view/1dc90ac20c22590102029dce посчитанные таблицы Tristimulus Weighting Factors немного расходятся с самостоятельным вычислением этих таблиц Wx, Wy, Wz по приведенной формуле! Простая проверка показывает, что вычисления Heidelberg строго базируются именно на таблицах Tristimulus Weighting Factors, напечатанных в ASTM, а не на вычислениях Tristimulus Weighting Factors из спектра иллюминанта и табличек стандартного наблюдателя CIE строго по приведенной в ASTM формуле.

Вопрос состоит в том, чтобы правильно посчитать самому из любого иллюминанта и CIE CMF эти таблицы Tristimulus Weighting Factors, а не брать из ASTM E308 готовые таблицы для ограниченного числа осветителей. По всей видимости, приведенных в ASTM E308 формул не достаточно, поскольку стандарт ссылается еще и на другой - ASTM E2022 - для проведения верных расчетов (7.1.3 For methods of calculating weighting factors from custom sources, see Practice E2022). Где по всей видимости и приведены манипуляции с CIE CMF с шагом 5 нм и какой-то особый пересчет их в шаг 10 и 20 нм перед тем, как подставить эти значения в формулу Tristimulus Weighting Factors. Просто методом подбора определить эту функцию пересчета CIE CMF из шага 5 нм в 10 и 20 нм мне пока не удалось. Если поможете найти ASTM E2022 или любой другой документ возможно и CIE, где бы более подробно разбиралось вычисление таблиц Tristimulus Weighting Factors и особенно манипуляций при этом с кривыми стандартного наблюдателя CIE для таблиц с разным шагом - было бы здорово!
 
Нет, к сожалению там только таблицы ILLUMINANT-OBSERVER WEIGHTS, перепечатанные из ASTM.
Есть в сети презентация C. J. Li, M. R. Luo, and B. Rigg - A New Method for Computing Optimum Weights for Calculating CIE Tristimulus Values - но пока не смог разобраться где там конкретно функция именно для вычисления таблиц из ASTM. Ладно, буду дальше смотреть где чего дают.
 
@mihas, Я вот что то немного не понимаю,
почему с тамошними же сотрудниками не списаться?
 
Ты меня JAW не устаешь удивлять! Раздаешь советы вселенского масштаба и вселенской же... О каких тамошних сотрудниках речь? О Гейдельберге? Так тамошние индусские программисты примитивно используют таблицы, а я хочу посчитать эти таблицы. Списаться с американскими разработчиками стандарта ASTM E2022? У меня даже стандарта нет, а не то что контактов его авторов. И что я спрошу авторов гипотетически? Дайте мне стандарт поизучать? Давай не будем засорять тему ерундой.
 
Если кто из колористов будет тоже изучать вопрос- вот тут кое что есть по теме. Упоминаются некие Iterative method и SS method. Но я не нашел четкого ответа, как именно посчитать нужную таблицу. А перевод с китайского на Baidu нужного стандарта весь плывет на экране. Ну что-нибудь придумаю.
Вообще тема эта для практической колориметрии насколько я понимаю важная, вычисления цвета из спектра через промежуточные Tristimulus Weighting Factors происходят быстрее, чем через стандартного наблюдателя CIE: какая разница какую таблицу брать - CMF наблюдателя или TWF? И табличными данными можно и ограничиться, не вдаваясь в детали, я так и сделаю, если пойму, что не смогу эти таблицы научиться считать.
Еще важно, что именно здесь начинаются серьезные расхождения в колориметрических расчетах, придерживаться CIE или ASTM? И в каких случаях? Было весьма неожиданно узнать, что Гейдель из сердца Европы оказывается использует американский подход в вычислениях цвета, а не подход CIE.
 
Этот ASTM E2022 оказался крепким орешком, вроде приводит все формулы, приводит таблицы с образцами вычислений, полностью показывает как по Лагранжу перейти от 10 нм к 1 нм. А потом в самом конце перескивает от таблиц 1 нм к таблицам 10 нм, и как это он делает вообще не объяснено:-) Вобщем чтобы вычисления TWF сошлись с таблицами ASTM E308 - нужно изрядно попыхтеть, та еще задачка!
 
Есть непонятки с математикой или с языком? а самое главное, если даже CMF меняются каждые 10 лет, то смысл точность такую соблюдать?И вопрос на засыпку: если бы для RGB источников в максвелловском эксперименте или эксперименте CIE 1931 были выбраны другие длины волн для RGB, возможно, не было бы проблемы отрицательного значения CMF на лазурно-малахитовом участке спектра для красного?
 
Последнее редактирование:
Непонятки с тем, что в ASTM E2022 отсутствует логически кусок текста, который я не понимаю как восполнить. Вот есть таблица для 1 нм и далее сразу за ней результирующая таблица в 10 нм. И каким образом ASTM E2022 перескочил от одной к другой не понятно. До этого он очень подробно рассказывает, как перейти от 10 нм к 1 нм, но в конце не рассказывает, через какие формулы вернуться обратно от 1 к 10. Точность меня тут мало волнует, здесь вопрос в другом - разные программы используют разную математику при вычислении XYZ из спектров. Gretag, Lindbloom - используют CMF от CIE, Heidelberg - TWF от ASTM E308. Соответственно и цветовые результаты в программах разнятся. Мы долго искали в чем фишка Heidelberg с друзьями - вот нашли. Мне не сложно повторить вычисления Heidelberg по таблицам TWF от ASTM E308 - хотелось самому научиться считать эти таблицы. Пока не смог, и никто здесь не смог, иначе бы уже похвастал.
Про то, что CMF меняются каждые 10 лет - слышу впервые. Есть 31 и 64 года, это они меняются каждые 10 лет? В старой книге Гуревича 50-го года нет таблиц двухградусного наблюдателя CIE чтобы удостовериться.
 
  • Спасибо
Реакции: colorprint
И если честно - я потихоньку пока стал сдаваться с ASTM E2022 - просто прописал http://rudtp.pp.ru/spectralcalc_array.js внизу массивы TWF из ASTM E308, как делает Гейдель. Осталось найти настроение и еще формулы прикрутить к интерфейсу. На выбор - считать по CIE или по ASTM как Heidelberg. По ASTM E308 - я ограничен его иллюминантами. По ASTM E2022 - получил бы полную свободу, но они сделали кажется все в этом стандарте, чтобы под его руководством невозможно было самому посчитать. Кто опровергнет это утверждение с экселовским файлом - тому будет моя уважуха!!!
 
  • Спасибо
Реакции: dih
можете скинуть текст стандарта? не математик, но покурю текст, правда, интересно.
 
Скинул в личку, покурите. Основная фишка в том, как я понимаю, что алгоритм вычисления цвета по таблицам TWF работает просто вдвое быстрее алгоритма вычисления по таблицам CMF и таблицам иллюминантов - циклов меньше. Поэтому он так или иначе будет задействоваться программистами, надо знать с чем мы имеем дело. К сожалению у всеми нами уважаемого Линдблума ни слова про вычисления по американским таблицам TWF. С одной стороны он берет сам результирующую белую точку для всех иллюминантов из ASTM а не у CIE, с другой стороны - считает по формулам CIE, а не по ASTM, такая вот эклектика :)
 
Последнее редактирование:
Прикрутил к интерфейсу http://rudtp.pp.ru/spectralcalc.php вычисление XYZ и белой точки как у Heidelberg ColorTool:
likeCT.png

Придирчивые обратят внимание, что Гейдель и тут сам по себе - берет белую точку не из ASTM как Линдблум, а сам считает как сумму из таблиц TWF 10 нм (я все это учел). Вобщем, XYZ я научился считать с дельтой 0.00 от ColorTool. Вопрос остался в лабах - они расходятся с макс дельтой 0.02. Даже не ожидал такого поворота событий!!! Теперь надо искать, как Гейдель лабы считает из XYZ :-)
Чтобы сравнить дельты по XYZ - удаляю из файлов столбцы Lab.
 
Разобрался с Гейделевскими лабами, видимо я какой-то глюк словил. Теперь сходится все в ноль с 10, 12, 13 ColorTool.
 
Еще забавно, что с MT у меня тоже XYZ сходятся с максимальной дельтой 0.00 что для D50, что для D65 и так далее с хромадаптацией CAT02. А в лабах случаются макс расхождения при этом на 0.02. То ли надо в вычислениях до какого-то знака округлять точность белой точки, то ли и сами данные XYZ округлять, то ли белую точку взять ни из ASTM и ни из формул CIE а какой-нибудь неизвестной таблицы? То есть даже с ColorTool сошелся в лабах уже в ноль, а с MT только в XYZ. А все потому, что ASTM пишет нормально все таблицы и белые точки, а у CIE вечно чего-то нет, то стандартных XYZ белых точек для всех иллюминантов нет, то не понятно до какого числа округлять.
 
Статус
Закрыто для дальнейших ответов.