Клинический случай

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

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

atutubalin сказал(а):
Многие спектры не являются неизвестными и одновременно являются памятными цветами (листва, человеческая кожа).
И да, и нет. Да, листва и человеческая кожа имеют четко определенный коэффициент отражения. Но матрицу облучает не коэффициент. Матрицу облучает источник света, а его спектральная уже не так стабильна. Даже если это естественный свет, даже если нет рефлексов.
atutubalin сказал(а):
а почему вы поминаете комплексные XYZ?
Это весьма непростой вопрос, боюсь впопыхах не изложу. Вкратце - стимул(точнее некую спектральную) можно описать, как вектор в многомерном (строго - счетномерном) пространстве. Захватывая его через систему фильтров, мы проецируем множество векторов (многомерное пространство) в субпространство. Захватывая его через систему иных фильтров, мы проецируем в другое субпространство. Перейти из первого во второе нельзя, как нельзя форму 3-х мерного объекта восстановить по одной 2D-проекции (хотя наше зрение частенько это может).
 

Alexey Shadrin

Участник
Сообщения
9 260
Реакции
1 190
Ответ: Клинический случай


Не по теме:
sabos: я тебе с неделю тому книжку посылал. Получил?
 

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
И да, и нет. Да, листва и человеческая кожа имеют четко определенный коэффициент отражения. Но матрицу облучает не коэффициент. Матрицу облучает источник света, а его спектральная уже не так стабильна. Даже если это естественный свет, даже если нет рефлексов.
Рефлексы - отдельная история. И "сильноцветной" свет - тоже. А в более простых случаях - все относительно просто, смесь небольшого числа красителей с известными спектрами, плюс мы знаем какой диапазон тонов вообще хотим получить.


sabos сказал(а):
Это весьма непростой вопрос, боюсь впопыхах не изложу. Вкратце - стимул(точнее некую спектральную) можно описать, как вектор в многомерном (строго - счетномерном) пространстве. Захватывая его через систему фильтров, мы проецируем множество векторов (многомерное пространство) в субпространство. Захватывая его через систему иных фильтров, мы проецируем в другое субпространство. Перейти из первого во второе нельзя, как нельзя форму 3-х мерного объекта восстановить по одной 2D-проекции (хотя наше зрение частенько это может).

Я все равно не понимаю, откуда возьмутся мнимые числа. Все же вещественное, кроме того для реальных физических фильтров - еще и положительное неотрицательное.

Кроме того, исходное многомерное распределение восстанавливать не нужно, а нужно только XYZ-проекцию.
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

Alexey Shadrin сказал(а):
я тебе с неделю тому книжку посылал. Получил?
Jan Morovic? Да, спасибо, я было чуть кусочков с interscience.wiley надергал познакомится, а тут повод всерьез почитать.
atutubalin сказал(а):
исходное многомерное распределение восстанавливать не нужно, а нужно только XYZ-проекцию.
Нельзя, имея лишь одну 2D-проекцию, восстановить вторую. Пусть даже очень близкую, пусть под небольшим углом к первой.
 

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
Нельзя, имея лишь одну 2D-проекцию, восстановить вторую. Пусть даже очень близкую, пусть под небольшим углом к первой.

Можно восстановить проекцию первой проекции на вторую плоскость. Да, это будет приближение и тут можно здорово ошибиться, но чем глаже исходное (скажем 3D) тело и чем ближе оно к шару, тем точнее будет восстановление.

Ну так мы это и так знаем, как только попер узкоспектральный (негладкий) сигнал, так надо сливать воду.
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

atutubalin сказал(а):
Можно восстановить проекцию первой проекции на вторую плоскость. Да, это будет приближение и тут можно здорово ошибиться, но чем глаже исходное
Собсвенно, это и есть работа цветокорректора. Восстановить, предполагая...
atutubalin сказал(а):
Ну так мы это и так знаем, как только попер узкоспектральный (негладкий) сигнал, так надо сливать воду.
Художники говорят: "Больше грязи (более широкополосный сигнал) - больше связи" (с).
 

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
Собсвенно, это и есть работа цветокорректора. Восстановить, предполагая...
Ну механическую часть работы надо бы на железный думатель перегрузить? Тема то началась с того, что думателю дали описание входного устройства, а он сломался. Ну и корректору дать естественные ручки.

Возвращаясь к тому, куда ушло обсуждение - про мнимую часть продолжаю не понимать. Линейные операторы, положительные числа (ну, почти везде).
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

pell сказал(а):
серая линия внутри локуса — это «охват идеального принтера» = все возможные reflections (отражения). Видно, что отражения составляют не так уж много от всего locus'а.
Наглядно, удачно imho. А как рассчитывали оболочку? Взяли reflection color gamut specified in ISO 12640-3 (или подобную таблицу reference medium gamut с ICC)? Или по дельта-функции охват считали?
pell сказал(а):
Более предметно, я бы предложил:
а) различать RGB захвата и RGB воспроизведения;
это разные описания, разные физические величины.
С учебной точки зрения такой подход возможен. Но есть в нем смущающая меня "нефизичность". Физическую величину можно и измерить (захватить), и излучить (воспроизвести). И это будет одна и та же величина. Впрочем, мы уже пример с канделой обсудили.
pell сказал(а):
для трёх- и более- компонентных устройств воспроизведения по-хорошему стоит предусмотреть возможность их описания (расширение спецификации ICC).
Эээ... не понимаю. В ICC (для 3DLUT) давно есть понятие multicolor, можно хоть 100-компонентное воспроизведение описать. Имелось ввиду Matrix/TRC profiles?
atutubalin сказал(а):
про мнимую часть продолжаю не понимать.
Я сам здесь не мастер, поэтому заранее прошу прощения за путанные пояснения. Видимо пример с проекцией был неудачным. Попробую иначе. Для того, чтобы поместить выпуклую фигуру охвата в треугольник, CIE вынуждено было ввести базис (излучения), содержащий мнимую компоненту. Спектр каждого XYZ-primaries содержит две спектральные линии, одну вещественную (положительную), вторую мнимую (отрицательную).

Если такой подход принимается, то двигаемся дальше. Фигуру охвата фотоаппарата также можно вписать в треугольник (только это другой треугольник, помним про субпространства), и там также базис будет построен на комплексных числах. Если мы хотим перейти из этого треугольника в XYZ (естественно с оговорками, да, это будет приближение и тут можно здорово ошибиться), то мы должны посмотреть, как спроецируются спектры базиса (в т.ч. и их мнимая компонента). Вот такой получается transform, причем вполне линейный.
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

atutubalin сказал(а):
Проблема с крайней синей частью спектра - это проблема захвата, а не воспроизведения. Кривая чувствительности сенсора резко начинает спадать на последних нескольких десятках нанометров синего края
Все тянет вас в шумы, все ищите там ответ. Да, сенсор плохо считывает ультрафиолет, не видит там ничего. Разве это дефект сенсора? Нет, так сделано специально, ведь зрение наше также там ничего не видит. Наша кривая чувствительности (строже - пропускание хрусталика) также резко начинает спадать на последних нескольких десятках нанометров синего края. Это мешает нам видеть фиалку?
atutubalin сказал(а):
Ну механическую часть работы надо бы на железный думатель перегрузить?
Дык не вопрос. Вслед за Alexey Shadrin - не устаивает точность Matrix/TRC, уходим в таблицы. Только нужно понимать, что безупречно и там не будет. Будет точнее, но лишь для некоторого известного конечного набора спектров.

Но это увод от проблемы в сторону. Причем пахнет типичным програмерским приемом, собственные косяки мотивировать несовершенством стандартов и тупостью науки в целом. Повторюсь, ошибка старттопика в несоответствии профиля icc-спецификации. Эти нелепые числа в XYZ не были подставлены туда осмысленно, это типичный bug профилировщика. Если не хотите постоянно бегать по этим граблям (какой argyll вам этих граблей полный сад обеспечит), встраивайте в свой софт foolproof. Тем более, что icc все необходимое для profile validation чуть ли не в исходниках выложило (см. пример ProfileDump на http://sampleicc.sourceforge.net).
 

Вложения

  • CMP Canon EOS 400D bug.png
    CMP Canon EOS 400D bug.png
    1.9 КБ · Просм.: 661

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
CIE вынуждено было ввести базис (излучения), содержащий мнимую компоненту. Спектр каждого XYZ-primaries содержит две спектральные линии, одну вещественную (положительную), вторую мнимую (отрицательную).

"отрицательный" и "мнимый" - это разное.

Отрицательность в данном контексте не пугает.
 

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
Все тянет вас в шумы, все ищите там ответ. Да, сенсор плохо считывает ультрафиолет, не видит там ничего. Разве это дефект сенсора? Нет, так сделано специально
Проблема не столько в самом шуме, сколько в том, что его (при "чувствительности" к фиолетовому) придется усиливать. Что с целочисленностью существующих CMM плохо сочетается.

sabos сказал(а):
Дык не вопрос. Вслед за Alexey Shadrin - не устаивает точность Matrix/TRC, уходим в таблицы. Только нужно понимать, что безупречно и там не будет. Будет точнее, но лишь для некоторого известного конечного набора спектров.

Да, этот путь понятен, но проблемен. Матричные профили хороши, например, тем, что можно в тот же профиль баланс белого добавить. Что, опять же с учетом округлений в CMM, крайне полезно в смысле цифрового шума.

Кроме того, если матричную CMM можно сесть и спрограммировать на коленке (с отрицательными X,Z в частности), то для табличных все хуже.

Сугубо практический взгляд на вещи, так и живем.
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

atutubalin сказал(а):
его (при "чувствительности" к фиолетовому) придется усиливать
Мы точно про одно и то же говорим? Мы же не спектрофотометр обсуждаем. Усиливать сигнал от синего сенсора нужно ровно столько, сколько и от красного, и от зеленого. Иначе серого в камере не будет. И шумы синего сенсора ничем не лучше и не хуже шумов от красного и зеленого.
atutubalin сказал(а):
Что, опять же с учетом округлений в CMM, крайне полезно в смысле цифрового шума.
Здесь я также не понимаю. Пусть даже возьмем linear energy (наихудшие условия с точки зрения разрядности) - 12-bit с запасом вылетают за предел визуальной различимости. Пусть даже ленивые программеры coding efficiency пространства преобразований не озаботятся (сейчас это не модно) и возьмут сильно избыточный XYZ, где лишь треть диапазона пользуем, итого 16-bit точности нужно. Да, понимаю, потом мы введем отрицательные XYZ, потом накроем все это HDR, и float double precision станет не хватать.
atutubalin сказал(а):
"отрицательный" и "мнимый" - это разное.
На ваш вкус. Я, как мог, перевел термин XYZ Imaginary Primaries.
 

pell

Участник
Сообщения
221
Реакции
0
Ответ: Клинический случай

sabos сказал(а):
Наглядно, удачно imho. А как рассчитывали оболочку? Взяли reflection color gamut specified in ISO 12640-3 (или подобную таблицу reference medium gamut с ICC)? Или по дельта-функции охват считали?

По дельта-функции.

sabos сказал(а):
Эээ... не понимаю. В ICC (для 3DLUT) давно есть понятие multicolor, можно хоть 100-компонентное воспроизведение описать. Имелось ввиду Matrix/TRC profiles?

Да, Matrix/TRC profiles. С CLUT'овскими особых пролем (на первый взгляд) нет, там можно что угодно закодировать. Однако подробно вопрос не изучал, несколько смущает, что в CLUT профайлах PCS, если ничего не путаю, всегда Lab, однако на что и как это ограничение (если оно есть) влияет нужно смотреть.

Отмечу также, что линейное (с большой точностью — тени и света, насколько я понимаю, можно распрямить до CMM в RAW-конвертере) преобразование кодировать LUT'ом несколько нелогично. Логичней расширить спецификацию Matrix/TRC profile устройств ввода, чтобы там можно было вводить псевдо-кардиналы с отрицательными XYZ-координатами (напомню вслед за С.Н., что для любого устройства захвата невозможно построить дуальный базис в пр-ве стимулов без расширения последнего физически нереализуемыми псевдо-стимулами, чьи спектральные могут принимать отрицательные значения).
 

pell

Участник
Сообщения
221
Реакции
0
Ответ: Клинический случай

sabos сказал(а):
Я, как мог, перевел термин XYZ Imaginary Primaries.

Кстати да, с переводом этого термина сложно. Слово «мнимый» здесь применять не очень хорошо, оно зарезервировано за мнимой единицей, комплексный анализ и т.д. «Воображаемый» — несерьёзно (как будто сказки исследуем).
 

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
Мы точно про одно и то же говорим? Мы же не спектрофотометр обсуждаем. Усиливать сигнал от синего сенсора нужно ровно столько, сколько и от красного, и от зеленого. Иначе серого в камере не будет. И шумы синего сенсора ничем не лучше и не хуже шумов от красного и зеленого.
Речь по сути идет о повороте на бОльший угол (в терминах, введенных выше), отчего проекция больше растягивается. При том, что нейтраль остается на месте, конечно.

Что же касается шумов, то они (примерно?) одинаковые, только вот сигнал разный. У зеленого - побольше, у синего - поменьше (это от бедности, а не "специально"), у красного - еще поменьше (а вот это - специально в "камерах общего назначения"). И синий во многих случаях самый проблемный.

Речь об отношении сигнал-шум, а не самом шуме.

sabos сказал(а):
Здесь я также не понимаю. Пусть даже возьмем linear energy (наихудшие условия с точки зрения разрядности) - 12-bit с запасом вылетают за предел визуальной различимости.
Если бы эти 12 бит были бы - жизнь была бы проще. Во многих ходовых камерах (смотрю на данные по 450D) рабочих стопов - 5-6 даже не на экстремальных ISO. Хотя, конечно, это уже после всех вышеописанных операций.
 

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

pell сказал(а):
Отмечу также, что линейное (с большой точностью — тени и света, насколько я понимаю, можно распрямить до CMM в RAW-конвертере) преобразование кодировать LUT'ом несколько нелогично. Логичней расширить спецификацию Matrix/TRC profile устройств ввода, чтобы там можно было вводить псевдо-кардиналы с отрицательными XYZ-координатами

Ага. И для многих камер полезно рассматривать два зеленых (которые там отличаются), а не один, отчего матричный профиль получается с матрицей 4x3, а не 3x3
 

Nikolay_Po

Частично освоивший
15 лет на форуме
Сообщения
588
Реакции
194
Ответ: Клинический случай

pell сказал(а):
Да, Matrix/TRC profiles. С CLUT'овскими особых пролем (на первый взгляд) нет, там можно что угодно закодировать. Однако подробно вопрос не изучал, несколько смущает, что в CLUT профайлах PCS, если ничего не путаю, всегда Lab, однако на что и как это ограничение (если оно есть) влияет нужно смотреть.
Вижу перспективу в построении профилей-LUT-дивайс-линков для каждого снимка в нужное выходное пространство. При этом, теоретически, можно уйти от Lab и работать в XYZ, даже с отрицательными координатами, а компрессию сделать контекстно-зависимой.
Отмечу также, что линейное (с большой точностью — тени и света, насколько я понимаю, можно распрямить до CMM в RAW-конвертере) преобразование кодировать LUT'ом несколько нелогично.
С точки зрения минимальных искажений исходной информации из RAW - да. Но с точки зрения практического применения - нет. Через LUT можно сразу перейти к воспроизводимым цветам, то есть, в "логичный" профиль назначения без отрицательных координат. Например, из RAW камеры сразу в CIE2000 Jab. IMHO, никчему расширять спецификацию на отрицательные XYZ. Какой смысл оставлять отрицательные координаты и невоспроизводимые "цвета" без правил их перевода в воспроизводимые? Ведь однозначные правила перевода отрицательных XYZ в реальные цвета не заданы и, скорее всего, не могут быть заданы универсально. Поэтому считаю, что вопрос стоит решить сразу, а исходные данные так оставить в RAW на память и никуда не переводить.
 

pell

Участник
Сообщения
221
Реакции
0
Ответ: Клинический случай

atutubalin сказал(а):
Ага. И для многих камер полезно рассматривать два зеленых (которые там отличаются), а не один, отчего матричный профиль получается с матрицей 4x3, а не 3x3

Thnx, про это забыл. Ведь ещё возможны и «честные» четырёх- и более- цветные системы захвата (та же Sony DSC-828F c RGBE сенсором, были и другие, возможно ещё будут).
 

Nikolay_Po

Частично освоивший
15 лет на форуме
Сообщения
588
Реакции
194
Ответ: Клинический случай

pell сказал(а):
Thnx, про это забыл. Ведь ещё возможны и «честные» четырёх- и более- цветные системы захвата (та же Sony DSC-828F c RGBE сенсором, были и другие, возможно ещё будут).
И это тоже можно хорошо использовать с LUT-device-link'ом. Другое дело, что я (в силу своей ограниченности) не знаю ПО, которое могло бы строить профили многоканальных устройств ввода.
 

pell

Участник
Сообщения
221
Реакции
0
Ответ: Клинический случай

Nikolay_Po сказал(а):
Вижу перспективу в построении профилей-LUT-дивайс-линков для каждого снимка в нужное выходное пространство.

Я, лично я, вижу в этом тупик. Именно, обход простого решения простой задачи (линейная характеризация линейного устройства) передовым методом, называемым в программировании «враппер над залипухой» — это когда решить задачу напрямую не получается из-за недостатка архитектуры, а времени на рефакторинг (переделку уже имеющегося решения) нет, то начинают громоздить из того что есть «лишь бы работало, а дальше пусть маркетинг с саппортом отдуваются».

Nikolay_Po сказал(а):
При этом, теоретически, можно уйти от Lab и работать в XYZ, даже с отрицательными координатами, а компрессию сделать контекстно-зависимой.

Как только мы разрешаем в XYZ отрицательные координаты, мы расширяем спецификацию ICC и все CMM приходится переделывать. Если уж переделывать, то идейно правильно. А идейно правилно в данном случае — расширить спецификации Input Matrix/TRC profile'ов, чтобы они описывали величины захвата, а не воспроизведения. Т.е., записывать матрицу не в виде кардиналов, которые, повторюсь, для любой системы захвата физически нереализуемы — то, что выше называлось псевдо-кардиналами, мнимыми кардиналами, XYZ Imaginary Primaries. Причём нужно разрешить этой матрице быть не только 3x3, но «три строки, хотя бы один столбец». Такое моё мнение.

Кстати, нелинейность приёмника вполне можно засунуть в TRC и тем самым убить двух зайцев:
а) стандартизировать ещё один аспект описания устройств захвата;
б) избавить RAW-конвертеры от ещё одной операции.
 
Статус
Закрыто для дальнейших ответов.