Lab для веера Pantone

  • Автор темы Автор темы BlackRed
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
@mihas, понял, у меня прибор без фильтра, соответственно и спектральные измерения без него... Но расчет Lab для D50.
 
Но расчет Lab для D50.
Ох. С этими спектрами... Они пантоны вроде с шагом 10 нм считают, но проверять надо, а вообще давно все профилировщики 10 нм интерполируют в 5 нм по совету CIE, MT точно так считает и Color Tool. Я могу и так и так. Хотя там разница в лабах в 2-5 сотых но тем не менее.[/user]
 
Но расчет Lab для D50.
Это совершенно разные вещи.

В случае режимов измерения, это маркировка источника освещения, которым облучается измеряемый образец. А в случае Lab, это значение источника освещения для стандартного наблюдателя (PCS D50/2гр).

Для обсуждаемых режимов измерения имеет значение не просто коррелируемая ЦТ D50, а УФ-компонента этого стандартного осветителя, которая переизлучает (люминесценция/флюоресценция) в видимый спектр. Когда флюоресценция есть, то это отражается на результирующем спектре.

В какую потом ЦТ считать, не имеет значения - это ж спектр отражения/поглощения. На что потом умножим, то и будет.


ЗЫ. Это я так, для справки заметил. :)
 
  • Спасибо
Реакции: mihas
Это совершенно разные вещи.
Да совершенно верно, не надо путать фильтр M1 D50 и референсный источник света - "опорный" белый в расчетах D50. А эта путаница теперь наверняка будет и я в статье про новый стандарт первым делом это оговаривал.
 

Не по теме:
подрос массив до 3,5 мб, ох-ох-ох
Я же показал как за счет одного только синтаксиса можно 20 с лишним процентов долой. Не, не надо?
С другой стороны уменьшить его на 10 процентов, но заставить при этом клиентский комп еще выполнить 65 тысяч операций умножения для одного только веера на 0.0001 - по скорости ничего не выиграю особо.
А проверить?
Код:
console.time('test');
for (var i = 0; i < psolid.length; i++) {
  var a = psolid[i];
  for (var j = 0; j < a.length; j++) {
    var b = a[j];
    for (var k = 1; k < b.length; k++) b[k] *= .0001
  }   
}
console.timeEnd('test');
FF докладывает 300 мс, Хром -- 45. Щас же пентиумы у всех, быстро считают. А экономия места сколько? Правильно, равна числу десятичных точек в (моем) исходнике == 389016 долой (не "10%", не?). И еще -100К если не повторять слово Pantone 10 тыс. раз.

 
  • Спасибо
Реакции: mihas
Они пантоны вроде с шагом 10 нм считают
А Вы суммируете по "методу Симпсона". Если просто складывать, то различие очень большое, по "методу Симпсона", 10 и 5 нм разница не большая, хотя, естественно, будет зависеть от интерполяции 10 нм в 5 нм.
 
@cloud_in_the_sky Не, переписывать массив все равно не буду, там кроме слова Pantone есть еще и HKS - значит нагружать вычисления дополнительной логикой кому какие имена заново присваивать. Плюс эти полсекунды на моем маке и пц, что будут потрачены на умножение всякий раз, когда пользователь ждет результата я лучше потрачу на то, чтобы все загрузилось. То есть один раз грузится дольше на 300-500 кб - зато потом считаем быстрее любое количество раз. У вас все логично и красиво, но быстрее загружаем один раз чтобы потом каждый раз при вычислениях краски дольше ждать? Вобщем все эффектно но мне не нравится результат. Чем проще тем надежнее.

@BlackRed По поводу Симпсона - не знаю, я просто беру формулы CIE. По поводу интерполяции - CIE советует интерполировать спектры измерений из 10 в 5 нм но считает что интерполировать в 1 нм уже не прибавляет точности. Поэтому я тоже считаю либо с интерполяцией либо без - можно выбрать. Ну а если спектры с шагом 1 уже измерены - ну и их посчитаю, даже Argyll посчитаю с шагом 3-3-4 нм.
 

Не по теме:
@mihas, Этот скрипт выполняется единожды при загрузке страницы. Лишь определяет массив. Дальнейшие вычисления любое число раз, в данном случае, не будут быстрее или медленнее. К слову, JS-файл, как он был представлен в сообщ.24, и как, вижу, ничего Вы не поменяли в последней версии, с по-элементным (!) присваиванием и нулями перед десятичной точкой и т.п. - выполняется, в моем ФФ, 30 мс. Тогда как мой файл из сообщ.45, с литералами и брэкетами и на 700К легче (я не мелочусь, но ведь это не "300-500"), выполняется 0,05 мс. Но оставьте, конечно, как есть. Всё хорошо.

 
К слову, JS-файл, как он был представлен в сообщ.24, и как, вижу, ничего Вы не поменяли в последней версии
Тот файл уже архив, но пусть полежит. Я создал новый с новым именем и ссылку тоже дал. А что касается структуры массива - то да она пока прежняя. Оптимизацией нулей и точек займусь позже, не горит.
 
Статус
Закрыто для дальнейших ответов.