RawDigger: индикация пересветов (и челубеев)

Индикация выбитых светов (и недодержаных теней) - сделана.

Пока - в виде беты, нужно тестировать, смотреть что удобно, что неудобно, что не работает и так далее. Ну и оптимизировать скорость отрисовки. Но пробовать уже можно.

Выглядит это так:

В окошке Display появились пимпы OvExp и UnExp, если их включить, то отрисовываются выбитые пикселы (красным, как в ACR) и недодержаные (синим).

В окошке OvExp/UnExp Stats - показывается статистика по пикселам по всему изображению. Сколько выбито в штуках и в процентах (от общего количества пикселов данного цвета).

На удивление, оказалось что даже отрисовка одним цветом позволяет отличить места, где выбит один канал - от выбитых двух и трех каналов. При просмотре одного канала (RawChannel) - показываются выбитые/недодержаные пикселы только в том канале, который просматривается.

Естественно, уровни отсечки сверху и снизу - настраиваются. Мануал пока не правился, поэтому опишу настройки прямо тут.

В закладке Over/Under Exposure (которая за всю эту подсветку отвечает) пришлось сделать кучу настроек.
  • Overexposure detection - группа настроек, отвечающих за подсветку выбитых пикселей
    • Auto (by Histogram) - уровень "выбития" детектируется по пику гистограммы в светах. Если пика нет, то уровень ставится в "теоретический максимум" (из разрядности RAW), для многих камер теоретический максимум выше, чем реально достижимый на практике.
    • Sensitivity (в процентах)
      • на сколько уровней (в процентах от первого ненулевого уровня) спускаться в поисках пика. Штука в том, что на некоторых камерах, скажем на Nikon D4/D800 правее пика гистограммы может быть еще какая-то жизнь, причем не на 1-2 уровнях, а на нескольких десятках их.
      • Та же настройка Sensitivity - на сколько уровней (в процентах от максимума) ниже пика гистограммы установить уровень отсечки для показа выбитых пикселей. Ниже я еще напишу абзац про это.
    • Manual: общий для всех каналов и поканальные установки. Все что больше или равно этому уровню - будет покрашено красным.
    • Reset Manual Levels on file load: если галка установлена, то при открытии файла (и/или при смене уровня черного) - будет произведен автоматический расчет по гистограмме и все Manual-поля установлены в результаты оного расчета.
    На всех попробованных мной файлах (не очень много) автомат работал вполне прилично, ручные настройки оставлены для всяких особых случаев.
  • Underexposure detection - группа настроек, отвечающих за подсветку недодержаных пикселей.
    • Offset from Saturation - задает уровень "недодержки" в стопах относительно уровня насыщения. В это поле разумно поставить "рабочий динамический диапазон камеры" и сразу станет удобно (там где подсвечено синим - хорошего цвета ожидать не следует).
    • Manual - позволяет задать уровень "недодержки" для всех каналов сразу или по каналам.

Дисперсия в области передержки

Принято считать, что выбитые пикселы - это те, где "значения легли на полку (в насыщение)".

На мой взгляд, картина несколько сложнее: если взять ровную плашку и проэкспонировать ее так, что средние значения по ней будут "чуть ниже" насыщения, то за счет дисперсии - часть пикселов упрется в насыщение. Как следствие, среднее значение по плашке станет несколько меньше, чем было бы без насыщения, т.е. слегка (очень слабо) нарушится линейность.

Следовательно, не переэкспонированные области - это такие, где значения ниже насыщения "на несколько сигм (1-3)". Правда сигму мы не знаем (она зависит от емкости пиксела в электронах и установленного ISO), поэтому нужно просто "немножко отступить".

На сколько отступить - по большому счету не так важно. Для 14-битной камеры отступ на 1% - это отступ на 1/30-ю стопа, т.е. "жертвуем" мы совершенно копеечной частью диапазона. Да и то, не "жертвуем", а "слегка избыточно подсвечиваем".

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

Взять попробовать

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

Comments

спасибо!

Работает, не работает? Все нравится, все не нравится?

Фидбеку хочу!

Спасибо!
И работает, и не работает - в зависимости от галочки :)
Вполне адекватный расчёт значений, привычная индикация, ручная настройка. Всё удобно, всё нравится.
Единственное, может стоит добавить возможность подсветки вылета инверсом для каждого канала, как в Rawnalyze? Это не критично, но более привычно по вышеупомянутой проге.

С инверсом есть засада, которая называется CMYG (и вообще, любые комбинации кроме RGBG).

А раскраска красным/синим - это не менее привычно т.к. из ACR (и, вероятно, лайтрума)