Построить TVI спектрофотометром

SaveFileAs

Топикстартер
15 лет на форуме
Сообщения
178
Реакции
5
Я все равно не помню, какая точно кривая по газетному стандарту. Предполагаю что для черного не меньше F.
В ISO 12647-3 2005 про названия кривых ничего нет, поэтому я ориентируюсь на данные IFRA26L.txt т.к. раздаем заказчикам для подготовки файлов сгенеренный на его основе профиль, ну и под него же и компенсацию логично строить.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
У Вас по Black уже c 80% начинается скачок, пик которого около 90%. А в 100% характеристики уже провалившись.
Это явление при растрировании я наблюдаю очень давно. На печати это может быть вызвано эмульгированием краски на местах, где нет пробельных элементов для схода увлажняющего раствора.

Такой же эффект я наблюдал и в цифровой печати, но там причины другие.

Забавно то, что и при контактном измерении растров на отражение на плёнках даже при идеальном поджатии плёнки к основе всё равно возникает пик плотности в тенях и резкий спад на полностью залитой плашке. Не иначе работает оптическитй ростиск - рассеивание света в толще отражающей основы.
 

DimB

15 лет на форуме
Сообщения
766
Реакции
392
Производители рипов даже снабжают иногда стохастику уже предустановленными кривыми в минус.
Чтобы все же посчитать - можно попробовать подрихтовать светлоту 100% до умозрительного состояния невыщипывания
Думаю, в данной ситуации, лучше бы просто соорудить эти "кривые в минус" самостоятельно. И тогда все встанет на свои места и не понадобится рихтовать по умозрительным критериям. :)
Потеряется конечно около 1 по светлоте по черному, но нормальная градационная явно лучше.
Только вот до сих пор непонятно -- позволяет ли рип вносить поправки или нет.
 
Последнее редактирование:

DimB

15 лет на форуме
Сообщения
766
Реакции
392
@SaveFileAs,
И еще -- всегда есть вариант выкинуть "неудобные" данные. Недостающие добить интерполяцией и посчитать так. Впоследствии, тем более если нет возможности внести коррекцию и приходится каждый раз строить кривую заново, можно просто подкорректировать эти интерполированные значения в нужную сторону.
В данном случае это может быть вполне корректным решением. Не всегда это хорошо, но на краях диапазона может себя оправдать.
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
@SaveFileAs,
И еще -- всегда есть вариант выкинуть "неудобные" данные. Недостающие добить интерполяцией и посчитать так.
Ну можно и так. Тут просто видно, что самый темный патч светлее полутонов. Исправить ошибку как-то надо. Мне показалось самым простым просто светлоту самого темного патча так и сделать самым темным. Но при этом все же помнить, что контраст в тенях неправильный, инверсия, там жуткое падение контраста или точнее даже отрицательные значения контраста, так что ограничением поканальным можно это исправить. Коллеги делали - отлично получалось.
 

DimB

15 лет на форуме
Сообщения
766
Реакции
392
Исправить ошибку как-то надо.
Ну это и не ошибка, а физика процесса. Про выщипывание когда-то читал, но не думал что все так сурово.

То, что получится отлично можно сказать не глядя. Тем более стохастика, и главное -- не нужна 100% плашка. И подсечь можно. И тогда динамический диапазон используется на все 100%. Вот только если доп. коррекции на рипе нет, значит перед вычислением компенсации результаты измерений надо перекидывать на новую сетку. Ведь там где было 100% в данном случае становится 90%. И для вывода шкал для компенсации нужен доп. шаг. И для вычислений тоже...
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
@DimB, Ну так или иначе интересная задачка!
 

DimB

15 лет на форуме
Сообщения
766
Реакции
392
Cама функция, в данном конкретном случае, простая y = 0,9*x. Вместо 0,9 берем свой поканальный максимум.
Нужно просто корректно пересчитать полученные поправки.
 

ch_alex

Погулять вышел.
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Вот только если доп. коррекции на рипе нет, значит перед вычислением компенсации результаты измерений надо перекидывать на новую сетку. Ведь там где было 100% в данном случае становится 90%. И для вывода шкал для компенсации нужен доп. шаг. И для вычислений тоже...
Любая компенсация предполагает дополнительный вывод тестовых патчей. И вывод финишного. Вопрос в том, как деформировать координату стимулов так, чтобы она включала в себя предыдущие шаги коррекции. А ведь коррекция для конкретного шага в системе, где нет доп. шагов коррекции, выглядит именно как деформация оси стимулов. А там начинаются (или не начинаются - в зависимости от реализации РИПа) пляски вокруг дискретизации по оси стимулов.

ЗЫ. Кривая компенсации не обладает однозначной аналитической характеристикой. Это скорее табличные данные, причём такие, которые вредно интерполировать сплайн-методами.

ЗЗЫ. Я отказался от принципа отбрасывания явно ошибочных данных. Я использовал принцип "веса" данных. Чем они дальше от среднего, тем меньше их вес и влияние на среднее по указанному стимулу. Зависимость "веса" от расстояния от среднего я принимал по нормальному распределению. Конечно, пришлось подбирать множители по осям функции распределения, но это работа... Вспоминается, что я даже перешёл на степенные функции, чтобы изменять диаметр захвата, внутри которого значения имеют действительно осмысленный вес.
 
Последнее редактирование:

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
@SaveFileAs, есть вопросик по харлекиновскому рипу - если вы разобрались.
У меня тут возникло подозрение, что там просто странная таблица поправки к размеру точки, где колонки x и y переставлены местами.
Ну например:
кривая.gif

в таблице напротив поля 40 указано значение 50.4. Измеряем на пластине точку 50 - получаем 39 с хвостом. Если бы могли измерить точку 50.4 - получили бы ровно 40.
Если именно так обстоит дело, то для того, чтобы заполнить такую странную таблицу нам просто нужно прогнать через интерполяцию с шагом 1 таблицу поправки к точке, поменяв местами две колонки значений.
Хотелось бы от вас получить немного данных со скриншотом и реальными размерами точек, чтобы можно было надежно подтвердить мое предположение.
 

DimB

15 лет на форуме
Сообщения
766
Реакции
392
где колонки x и y переставлены местами.
Так режимы отображения (и расчета?) то разные: на скриншоте от @SaveFileAs был выбран режим "Measurement as: Dot Gain", а на Вашем "Positive % Dot".
Плохо, что график у них не подписан. Что это за "Positive % Dot" непонятно.
 
Последнее редактирование:
  • Спасибо
Реакции: mihas

DimB

15 лет на форуме
Сообщения
766
Реакции
392
Вероятней всего варианты "Measurement as: Positive % Dot" и "Measurement as: Dot Gain" соотносятся между собой также, как и варианты "Light" и "Pigment/Ink %" (см. PhotoShop-->Curves-->Curve Display Options-->Show Amount Of: )
Тогда зависимость между ними простая. Вот только это совсем не перестановка колонок значений.
Для этого рипа получится:
x_pos_dot = 100.0 - x_dot_gain
y_pos_dot = 100.0 - y_dot_gain

Чтобы точно выяснить так ли это, точка 50% совсем не подходит (50.0 --> 100.0-61.35 = 38.65 -- заметьте тоже почти "39 с хвостиком"). Лучше ориентироваться на 20% и/или 80%. А в идеале бы надо как-то подсмотреть -- в каком виде сам рип хранит эти данные. Соот-но так и вводить поправочные значения.
 
  • Спасибо
Реакции: mihas

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
@DimB, спасибо, попробую раздобыть больше информации по измеренным точкам.
 

romyk

10 лет на форуме
Сообщения
1 353
Реакции
247
Как красиво это выглядит в офсете, и как отвратительно на флексе*(
 

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
@DimB, помогите мне плиз аппроксимировать функцию работы этого рипа с точкой.
Вот имеем таблицу, где вторая колонка x - значения вбитые для точки и третья колонка z - измеренные в результате значения этих полей на пластине:
x y z
0 0 0
20 23.57 16.4
40 50.4 29.6
50 61.35 38.7
80 88.13 71.8
100 100 100

У меня вышла функция:
z = x*2 - y
и
y = x*2 - z
Верно?
 
Последнее редактирование:

DimB

15 лет на форуме
Сообщения
766
Реакции
392
Если мое предположение из #73 верно, то считаем так:
Код:
переходим от "Positive % Dot"       получено на пластине
к "Dot Gain"
100-  0 =100   100-0     =100.0       100.0
100- 20 = 80   100-23.57 =76.43       71.80
100- 40 = 60   100-50.40 =49.60       ?
100- 50 = 50   100-61.35 =38.65       38.70
100- 60 = 40   100-??.?? =?           29.60
100- 80 = 20   100-88.13 =11.87       16.40
100-100=   0   100-100   =0.0           0.0
Или наоборот. Только для расчетов и/или анализа смысла в этом не вижу.
Код:
переходим от "Dot Gain"
к "Positive % Dot"
  0     0      100-0
 20    23.57   100-71.8=28.2
 40    50.4    ?
 50    61.35   100-38.7=61.3
 60     ?      100-29.6=70.4
 80    88.13   100-16.4=83.6
100   100      100
Документацию бы, или хотя бы страницы из help. А то все равно это пока гадания.
Маловероятно, но вдруг это вообще какой-нить хитровыгнутый режим для негативных пленок со своими специфическими поправками?

Я бы попробовал сменить режим "Measurement as:" прямо на рипе, на уже вбитых готовых данных (готовой кривой). Нормально спроектированный софт, если режимы взаимосвязаны, сам конвертирует туда-сюда. Может проблемы то нет?
 
Последнее редактирование:

DimB

15 лет на форуме
Сообщения
766
Реакции
392
Доп.
Если брать данные с Вашего скриншота, то можно дополнить еще одну строку:
100- 60 = 40 100-71.02 =28,98 29.60

Ну и да, посмотрел сейчас снова старый скриншот от SaveFileAs. У меня показан переход не к самим значениям dot gain. Dot gain-значения надо доп. дальше досчитывать и тогда уже сравнивать, если рип пересчитает конечно. Но тут уже формула известная.
 
Последнее редактирование:

DimB

15 лет на форуме
Сообщения
766
Реакции
392
Хотя вообще-то понаписал ерунду. Термин Dot gain надо нафиг из рассуждений выкидывать. Фарш обратно не провернуть. Или сходу не сообразить (плотностей то нет).
 
Последнее редактирование:

mihas

15 лет на форуме
Сообщения
4 860
Реакции
2 872
Ну на самом деле фарш можно провернуть назад: если известен размер точек и известна кривая куда целились - довольно просто вычисляется реальный дотгейн. У меня с некоторых пор здесь это реализовано под чекбоксом "обратная функция - виртуальный dotgain" C I E L a b . X Y Z • Компенсация растискивания . Чтобы данные были в нужном виде задействуется интерполяция, поэтому в сотых будут расхождения если поэкспериментировать, но это именно только от интерполяции, ибо никому не нужны данные в виде что дотгейн 14.0 получен в точке 47.33, нужно знать наоборот, какой дотгейн в точке 45, 50, но не в 47.33.