Построение профилей по небольшому количеству измерений

  • Автор темы Автор темы serzin
  • Дата начала Дата начала

serzin

Топикстартер
20 лет на форуме
Сообщения
1 003
Реакции
291
Давеча попробовал сделать профиль по 52 измерениям. Оказалось для определенных задач вполне приемлемо. Сделал для этого маленький джентельменский наборчик. Подробности тут. Вдруг кому пригодится.:)
 
Очень позитивно, спасибо. А вы не планируете какой-нибудь GUI прикрутить к вашим наработкам? =) (нет времени возиться с питоном, а запустить и потестить было бы интересно)
 
А вы не планируете какой-нибудь GUI прикрутить к вашим наработкам?
GUI точно нет. А исполняемый файл для сглаживания градационных постараюсь сделать. Для рескэйла я в свое время делал. В этой теме есть ссылка. Там же есть ссылки на то, как справиться с питоном. Дело 15 минут, на самом деле.:)
 
  • Спасибо
Реакции: alex103
  • Спасибо
Реакции: alex103
  • Спасибо
Реакции: mihas

скачал

посыпались ошибки:

python-error1.png

python-error2.png


 
  • Спасибо
Реакции: colorprint
Дошли руки попробовать на реальных оттисках. На одном и том же оттиске стояли полноразменая тесткарта ECI2002 и моя шкалка на 52 поля. Дальше маленькая шкалка рескейлилась в ECI2002 и эти две ECI2002 сравнивались.

На лазерной цифре получилось вот так:
N_dif_Dig.png


На офсетном оттиске вот так:
N_dif.png

Слева мой рескейл.:)
 
  • Спасибо
Реакции: Chiga
Неплохо, как минимум. Когда-то тестировал Колорант - схлопывал ECI2002 до поканальных клиньев. Потом разворачивал обратно и сравнивал с исходником. Результаты были похожи по цифрам.
 
джентельменский наборчик.
Такой вопрос: зачем такой сложный расчет площади элементов с Юлом-Нильсеном? Градационные при интерполяции искажаются.
До:
1676353187632.png
После:
1676353272616.png
Тоже намедни решил поэкспериментировать, правда пришлось спектры в XYZ загнать, пришел к такому результату:
1676354327926.png
C#:
switch (colorIndex)
{
    case 0:
        double k = 0.55;
        dotGane = ((patchPaper.X - patchPaper.Z * k) - (patchTint.X - patchTint.Z * k)) / ((patchPaper.X - patchPaper.Z * k) - (patchSolid.X - patchSolid.Z * k));
        break;
    case 1:
        dotGane = (patchPaper.Y - patchTint.Y) / (patchPaper.Y - patchSolid.Y);
        break;
    case 2:
        dotGane = (patchPaper.Z - patchTint.Z) / (patchPaper.Z - patchSolid.Z);
        break;
    case 3:
        dotGane = (patchPaper.Y - patchTint.Y) / (patchPaper.Y - patchSolid.Y);
        break;
}
return dotGane;
 

Вложения

Я посмотрел код утилиты из первого поста, классная штука. Язык малознакомый, но попытался немного понять что и зачем.
Два вопроса чисто из любознательности.
Как я понял по коду тут просто контрольную шкалу Ugra_Fogra не присобачить, потому что в ней нет некоторых нужных полей для конструирования модели, тех полей, что определяют массив "a" из 16 значений. То есть к шкале модель предъявляет определенные требования.
Второй вопрос, чисто поучиться, понять, коэффициент "n" Юла-Нильсена круто рассчитывается и потом участвует в функции Нойгебауэра. Какой в типичных условиях мелованной бумаги получается "n"? Его можно для упрощенной модели приравнять к единице? Какие вообще получаются n для разных материалов?
 
Моя утилита по Ugra_Fogra не сработает. Она использует все 15 наложений 100% триады, бумагу и градационные через 10%. Шкалка, на которую она рассчитана, есть вот здесь. По произвольной маленькой шкале умеет ColorAnt. Но его точность зависит от шкалы. Как он это делает я не знаю.
Н-бауеру нужны реальные(с учетом механического растискивания) проценты заполнения на оттиске. Коэффициент Юла пытается убрать из общего растискивания оптическую составляющую. Если механическое растискивание не велико, то можно наверное считать, что на оттиске те же проценты заполнения, что и в файле. Для офсета на мелованных бумагах у моей утилиты n получается 1,5-2.
 
  • Спасибо
Реакции: mihas
Снимаю шляпу. Утилита конечно по-научному сильная, еще пойди разыщи этого Нойгебауэра.
Я как посмотрел на операторы ** в питоне - так загрустил, у меня мозг лет 20 под совсем другой яваскрипт и php заточен, чтобы это понять ** надо долго с этим жить...
Спасибо за мелованные значения n - хоть представлять немного, что как считается.
На будущее себе поставлю заметку - добавить к своим компактным калибровочным шкалам недостающие поля, чтобы были все 15 необходимых наложений на всякий случай. Идею как бы я понял, что без этих наложений никак, но их все вместе в шкалах не часто встретишь - такое впечатление, что мало кто пробовал на зубок именно эту математику. А то что она круто сработала - это конечно супер, не проверишь - не узнаешь
 
Я как посмотрел на операторы ** в питоне - так загрустил, у меня мозг лет 20 под совсем другой яваскрипт и php заточен, чтобы это понять ** надо долго с этим жить...

Не по теме:
Сам питон простой как автомат Калашникова.:) И если ты об таком - data4[:, 0], то это фишки фреймворка для работы с массивами numpy. Очень крутая штука.
 
Снимаю шляпу. Утилита конечно по-научному сильная, еще пойди разыщи этого Нойгебауэра.
Я как посмотрел на операторы ** в питоне - так загрустил, у меня мозг лет 20 под совсем другой яваскрипт и php заточен, чтобы это понять ** надо долго с этим жить...
1676603734542.png

Там все очень просто )). Но если нет необходимости, то не забивайте им себе голову пишите на яваскрипт.
 
Последнее редактирование:
  • Спасибо
Реакции: mihas и serzin

Не по теме:
На яваскрипте есть аналоги Numpy и Scipy?:)

Не по теме:
есть даже такой анекдот: придумать название библиотеки яваскрипт, и если она есть на npm, то выпиваешь рюмку водки '))'
 
  • Спасибо
  • Смешно
Реакции: ~RA~ и mihas