Фото

RawDigger + RawSpeed, вторая попытка

Если репортить об ошибках, то они будут исправлены. Качаем-тестируем RawDigger+RawSpeed, вторую попытку:

Исправлена "ошибка строчной развертки" для форматов, где использовался RawSpeed, а длина строки RAW была некратна 8. Таких, на удивление, немного.

Пишу новым сообщением для тех, кто через RSS читает.

Mac: RawDigger+RawSpeed

Граждане фотографы-маководы!

Помимо виндовой версии, RawDigger с встроенным RawSpeed теперь доступен и для Mac:

Качаем: по ссылке из этого поста

Это альфа-версия: тестировано на нескольких маках, теперь хочется на живых тестерах.

Что изменилось:

  • Открытие файлов .CR2, .NEF, compressed-.DNG - должно стать заметно быстрее. Файлов .ARW, .PEF, .SRW, .ORF, .RW2 - несколько быстрее (незаметно).
  • Для файлов с камер Sony (не всех) - значения пикселов и уровня черного умножатся на 4.
Других видимых изменений быть не должно, все остальное должно быть как в версии 0.9.12. Если у вас изменилось что-то еще, особенно в худшую сторону - пишите.

Второе невидимое (я надеюсь) изменение - это переход с Qt 4.8.1 на Qt 4.8.3.

Update: достоверно известно о глюках со старыми .CR2 (30D, 5D), репортить уже не надо.

Снова о странностях Nikon D800

О странностях D800 я уже писал, кроме того слегка отметился в дискуссии у Владимира Медведева, похоже что тема богатая.

Смотрел всякие кадры, где была сфотографирована белая стенка с вилкой, чесал репу, но на ровных плашках особо выдающегося ничего видно не было. А тут прислали ссылку на такой вот кадр: imaging-resource.com/PRODS/nikon-d800/YDSC_0099.NEF.HTM, собственно вот он открытый в RawDigger:

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

Смотрим подробнее:

RawDigger + RawSpeed = RawDigger

Можно попробовать: качаем по ссылкам из этого поста.

В чем фишка:

Большие файлы CR2, NEF, жатые DNG - открываются на 300-500мс быстрее на быстрой машине (i7-2600k@4.5Ghz), на медленных разница должна быть еще заметнее. На других поддерживаемых RawSpeed форматах (Sony, Panasonic, Olympus, Pentax, Samsung) - разница тоже есть, но не такая большая. Все неподдерживаемые форматы открываются, как и ранее, LibRaw.

Больше (кроме файлов Sony о которых ниже) - фишки не должно быть (еще чуть больше памяти используется). Собственно, это и хочется проверить.

Сравнить можно открыв закладку Preferences, менять положение галки и жать Apply. Если при этом не меняются статистики, гистограммы и т.п. - то все отлично.

Что мне интересно:

  • Есть ли какие-то форматы кроме Sony, где данные и/или результаты рендеринга заметно отличаются. Тестовые файлы пока не нужны, достаточно марки камеры.
  • Может оно вообще глючит и не работает, тоже интересно.
Про Sony:

RawSpeed возвращает значения пикселов для Sony в 4 раза бОльшие, чем LibRaw. Это ни на что не влияет в реальной жизни. При этом, конечно, на такое плавание уровня черного машинка не рассчитана и при нажатии Apply и стоящей галке 'Reset Black Level on file load' - ничего не поресетится в диалоге.

Это нормально и надо забить т.к. в следующих версиях поддержка Sony RawSpeed-ом будет отключена: разница в скорости для этого формата копеечная (не сотни миллисекунд как для CR2, а десятки), изменение значений в 4 раза рвет башню, а всякие полезные вещи вроде 'ARW2 Hack' и отключения тоновой кривой - не работают т.к. RawSpeed ничего такого не умеет.

Update: достоверно известно о глюках со старыми .CR2 (30D, 5D), репортить уже не надо.

LibRaw+RawSpeed=LibRaw :)

RawSpeed - это такая библиотека раскодирования RAW, которая:
  1. Очень быстрая (к примеру, 21-мегапиксельный файл от Canon 5D2 распаковывается на моей машине за 230мс, а код на основе dcraw делает это за 750мс. Притом, это сильно улучшенный мной код, до улучшений было больше секунды, насколько я помню).
  2. Поддерживает мало форматов, правда все они популярные (свежие камеры Canon, Nikon, Olympus, Panasonic, Pentax, Samsung и DNG-файлы).
Авторы darktable давно просекли эту фишку и используют LibRaw как fallback на неизвестных камерах, а как основную библиотеку для открытия RAW - используют RawSpeed.

В то же время, RawSpeed распаковывает данные в буфер с очень похожим (но немного разным) форматом, поэтому использовать RawSpeed в качестве читалки файлов изнутри LibRaw (но иметь при этом единый API, единый постпроцессинг и т.п.) - было делом техники. И эта техника - применена в LibRaw 0.15-Alpha4.

Что получилось

  • LibRaw::open_file()+LibRaw::unpack() /т.е. распаковка/ - в ~3 раза быстрее на CR2, в ~2-2.5 раза быстрее на NEF, в 1.5-2 раза быстрее на прочих поддерживаемых форматах. Реально это заметно на больших NEF и CR2 (выигрыш в 400-500 миллисекунд на моей i7-2600K @4.5Ghz), соньки и раньше распаковывались быстро, а у остальных форматов редко бывают совсем уж большие файлы.
  • dcraw_emu -h ..список из 182 файлов.. - без RawSpeed было 150 секунд, стало 100 секунд. Разница "не в 2-3 раза" потому что постпроцессинг не изменился (хотя с -h он и так быстрый)

RawDigger 0.9.12

Я был уверен, что написал анонс и сюда, однако его не вижу. Аберрации сознания, значит.

RawDigger 0.9.12 (Beta) вышел (позавчера вечером):

Относительно technical preview есть только одно изменение: на Винде 64-битная версия ставится в "Program Files", а не в "Program Files (x86)", это я документацию по InnoSetup дочитал до этого места.

Анонсы в подходящих сообществах, форумах и т.п. - приветствуются.

RawDigger 0.9.12 (technical preview 1)

Граждане фотографы и примкнувшие к ним!

Я последние четыре месяца пинал балду и забыл где у программирования хвост, а где - педали. Поэтому мне немножко страшно выпускать очередной RawDigger сразу на широкую публику, хочется потестировать на добровольцах.

Вот он:

Мне интересны глюки, мешающие выпуску на широкую публику: падения, полностью неправильное поведение и т.п. Всякая мелочь, вроде разрешенного "Average green" для черно-белых RAW - не является шоу стоппером (в частности, по той причине, что монохромных камер у людей - примерно ноль).

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

Отдельная просьба: не надо эту версию более нигде анонсировать. Если она работает, то буквально завтра я ей поменяю название и номер билда - и выпущу. А если нет, то надо же доделывать. На неприслушавшихся к этой просьбе - затаю.

Что новенького

О разновидностях байера

На картинке - расположение пикселов на камере Fujifilm X-Pro1
RawDigger 0.9.12 (завтра должна появиться версия на попробовать), режим Raw Composite, показано белое поле, увеличение 10x (1000%).

И вот я не понимаю, раньше красного и синего было по 1/4, стало по 2/9 - должно же еще хуже стать в смысле разрешения в красном/синем каналах?

На рекламных картинках оно выглядит не так бесчеловечно.

Про меру соответствия критерию Лютера-Айвса

Продолжая тему, поднятую здесь: очень хочется понять, как количественно сравнить два сенсора по критерию Лютера-Айвса, который многие так любят.

Несколько месяцев назад я задал вопрос на forum.rudtp.ru, по некоторым причинам (не имеющим отношения к цветовой науке) тема была спрятана и закрыта, но недоразумение разрешено и она теперь распрятана и открыта.

Вот она: "... лучше соответствует критерию Лютера-Айвса".

Если имеете что сказать по теме - я буду благодарен. Лучше - прямо там, если по каким-то причинам удобнее здесь, можно и здесь. Очень хочется разобраться.

LibRaw 0.15.0-Alpha3

В LibRaw 0.15.0 Alpha3 возвернуты те улучшения, которые были/есть в 0.14, но которые были временно удалены из девелоперской 0.15-Альфа1-2:
  • Быстрый декодер LJPEG
  • OpenMP-ускорение в AHD/PPG-интерполяторах и в Wavelet Denoise
  • OpenMP-ускорение в вызове raw2image_ex()
  • Патчи для совместимости с LCMS1
В результате на 4-ядерной виртуальной машине dcraw_emu примерно в 1.5 раза быстрее dcraw на обработке моего обычного тестового набора из 339 RAW.

Несмотря на 'alpha' в названии версии, она может считаться стабильной в смысле качества работы. Вот ABI/API пока не устоялось, "есть еще пара идей", оттого и альфа.

А предыдущая альфа-2 сегодня попала в девелоперскую KDE 4.10, можно пользовать оттуда.

Upd: alpha-3 уже тоже в девелоперской KDE.

О 16-битных цифрозадниках

Наткнулся в ЖЖ Ильи Борга на такой вопрос к нему:
Я уточнить хотел к предыдущему вопросу. В MF цифровых камерах согласно всяким там заявленным характеристикам вроде часто стоит 16 битный АЦП. Это якобы заметно повышает ДД камеры (настолько что как обсуждалось некоторыми товарищами в той ссылке оставляет все DSLR с ихними 14 битами далеко позади). Это действительно так? Какй нибудь сильный выигрыш в тенях от этого получается?
Так вот, вот вам ответ для PhaseOne (компрессированный формат):
// dcraw.c, строчки в районе 1550-й, немножко упрощая
void CLASS phase_one_load_raw_c()
{
....
    for (col=0; col < raw_width; col++) {
      RAW(row,col) = (pixel[col] << 2) - ph1.black + black[row][col >= ph1.split_col];
    }
...
}
Если простыми словами, то в pixel[] содержится распакованая (из хаффмана) строка, дальше значение пиксела сдвигается на два бита (умножается на 4), потом вычитается уровень черного и все это кладется в 16-битный (unsigned short) буфер.

Какой вывод мы можем сделать? А такой, что АЦП - 14-битный, а в младших битах 16-битных значений до вычитания черного были такие вот кругленькие нолики.

В нежатом формате - не так, но нежатый формат я видел только на очень старых задниках, а все что видел нового - жатое. И на P45 и на P65+ и на IQ180 - везде в данных 14 реальных бит.

Справедливости ради, в материалах на сайте PhaseOne ничего про 16-битный АЦП не написано. Все гораздо более обтекаемо, "16-bit OptiColor"...

P.S. Написанное выше - конкретно про PhaseOne. Невозможность имения в этом формате 16-битных RAW-данных вытекает просто из процедуры распаковки. Для других форматов все не так прозрачно.

Лето 2012, этап 3: под парусом к монгольским северным оленям

Спрашивали монгольских фотографий? Их есть у меня:
Живут монголы в юртах чумах, вот так:

LibRaw 0.15.0-Alpha1

По традиции, кроме формального анонса LibRaw 0.15 Alpha1 (Changelog под катом) еще и небольшой описание своими словами, что же именно сделано.
  1. Всосана свежая версия dcraw со всеми ее изменениями в логике (распаковкой в отдельный буфер, изменениями в расчете уровня черного и проч.).
  2. Поддержаны все форматы, поддерживаемые dcraw (+ немножко технических камер), в том числе:
    • DNG сжатый с потерями (и прочие упражнения с DNG, привнесенные 4-м Лайтрумом)
    • "Новые" Фовеоны. Ну, они условно новые т.к. формат поменялся еще в DP1, но вот начиная с DP1/SD15 и вплоть до самоновейшей SD1 Merill - все поддержаны.

      Правда для этих новых форматов нет никаких коррекций цвета. Вот что камера выдает (есть некий профиль всех этих камер в пузе), то конвертируем в выходной профиль и выдаем. Результат бывает разный, когда цвет ничего, а когда и смутительный.

    • Fuji X1-Pro. Как и в dcraw, для нее работают только две интерполяции, билинейная и VNG.
  3. Достигнута побитовая совместимость с выдачей dcraw 9.16 для всех протестированных форматов (а тестами не покрыты только очень старые мыльницы и задники Sinar).
  4. Все ускорения, сделанные в предыдущих версиях - временно припрятаны, но будут постепенно возвращены назад.

Формальный Changelog относительно версии 0.14.6:

LibRaw 0.14.7

По традиции, анонсирую и тут.

Вышла LibRaw 0.14.7 в которой поддержаны камеры, вышедшие в последние полгода:

  • Canon: 5D Mark III, G1 X, 1D X и Powershot SX200
  • Nikon: D4,D800/D800E и D3200
  • FujiFilm: X-S1 и HS30EXR
  • Casio EX-Z8;
  • Olympus E-M5
  • Panasonic GF5
  • Sony: NEX-F3, SLT-A37 и SLT-A57
  • Samsung: NX20, NX210 и NX200 с новыми версиями firmware
Если вы пользуетесь каким-то варезом, использующим LibRaw (RawDigger :), Darktable, digiKam, Photoacute, что-то использующее FreeImage, да и вообще этого софта развелось в последнее время), требуйте обновления LibRaw у авторов соответствующего софта.

Остальные камеры и форматы, добавленные в dcraw 9.15 (Lossy DNG, Fuji X1-Pro, новые Сигмы), будут поддержаны в LibRaw 0.15. Поддержать их в 0.14 (т.е. с сохранением бинарной совместимости библиотек) нет никакой возможности.

P.S. RawDigger будет обновлен не очень скоро. Там уже используется LibRaw 0.15 (пре-альфа), вернуться к 0.14 малореально.

Не корысти ради...

Граждане читатели,

если у кого есть примеры sRAW с камеры Canon 5D Mark III, не откажите в любезности их куда-нибудь залить (Дропбокс и так далее) и прислать мне ссылку (можно прямо тут в комментариях).

Актуально до вечера - я знаю у кого таких файлов взять, но сейчас там ночь.

Update (т.к. в ЖЖ не видны коменты в блоге): предмет съемки, ISO, выдержка - неважны совсем. Мне декодер протестировать. А вот оба режима sRAW (если в 5D3 их тоже два) были бы полезны, для полноты тестирования.

Update2: Спасибо приславшим, больше уже не надо :)

Лето 2012: этап 1

Два пробитых в самом начале колеса, два вытекших задних амортизатора (на одной машине), направления вместо дорог, однако:
А было примерно так:
Посещали, по большей части, знаменитые монгольские пляжи:

Q: Про съемку звездного неба

Никогда (удачно) не снимал звездного неба на цифру. Ну то есть снимал, давно, на неудачную для этого камеру и ничего не вышло (кроме шума камеры).

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

Вопрос же у меня, собственно, такой: А экспозиция то какая?

Из общих соображений, казалось бы, ISO ставим в Unity Gain (т.е. 400 для 5D2), диафрагму пошире, а выдержку - такую, чтобы за время экспозиции звезда прошла бы 1-2 пикселя (зависит, соответственно, от снимаемого участка неба и поля зрения объектива). При более длинной выдержке - вроде бы будут дорожки, а не звезды, ну так дорожки я сам поклею потом из многих кадров.

Но что я не учел?

Update. Нашел у Рейхмана (спасибо за 600 rule, так проще искать):

For all the anal compulsives out there, here's the scientific formula for calculating star trail exposure times as quoted from Sky & Telescope...

The length l of a star's trail on the film in millimeters can be calculated from the formula

l = [tF cos (delta)]/13,750,

where t is the exposure time in seconds, F the focal length of the lens in millimeters, and delta is the north or south declination of the star.

Happy?

Теперь, действительно, несложно самому посчитать чего именно я хочу.

О странностях Nikon D800

Вот задали мне тут вопрос в почте, решил сам посмотреть и Фалломо.. удивился, вот!

Возьмем с Imaging-resource какой-нибудь кадр с серой шкалой. Я взял с ISO200 и самой короткой выдержкой, которую нашел (1 секунда).

Откроем его в RawDigger и поставим самплов (Alt-Click) по серой шкале (более светлые квадратики на серых плашках):

Дальше, соответственно, открываем табличку самплов (Ctrl-L или Menu-Windows-Samples) и втыкаем в нее:

А дальше пытаемся определить, а что у нас с Unity Gain т.е. как соотносятся средний сигнал по любому из каналов с квадратом стандартного отклонения.

RawDigger 0.9.11

Доступен RawDigger 0.9.11

Краткое описание изменений:

  • Медленные операции (RGB-рендеринг файла, нажатие Apply/OK в настройках при изменении процессинга) стали гораздо быстрее на многоядерных машинах.
  • Исправлены некоторые ошибки, втч. приводившие к падениям.
  • Табличные данные (EXIF, таблица замеров) копируются в Clipboard.
  • Немножко мелких косметических изменений.
Подробный анонс и ссылки для скачивания на сайте программы.

Анонсирую тут с целью получить ограниченный фидбек, полноценное и полномасштабное тестирование на десятках-сотнях разных форматов и конфигураций машины я сам сделать не могу.

В систему апдейтов данная версия будет добавлена через пару дней, вдруг я что-то несовместимое с жизнью не заметил.

P.S. Вместо обещанного TBB многопоточность сделана через Qt Concurrent. Оказался примерно один фиг по объему дополнительного кода (ну вот список тасков надо самому сформировать, 5-6 строк лишних), один же фиг по производительности (в пределах точности измерений на 4-Core CPU), а дополнительной библиотеки с непонятным лицензированием не добавляется.

Followup к посту про ACDSee и ppm

Мой предыдущий пост про ACDSee и MD5 породил удивительно бурное обсуждение.

Кроме того, он породил невероятно веселое обсуждение у Витуса, я ажно фалломорфировал.

Сожалею, не мог принять участие в этом пиршестве духа, программировал на Qmake до полного умопомрачения. Победил.

Я хотел сказать исходно одну вещь:

Если вам ACDSee что-то показала, например на тему детализации, верить своим глазам необязательно. В моем случае, похоже, залип кэш preview (кое preview оно сделало в фоновом режиме и кое-как).

Но теперь хочу сказать и вторую:

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

Pages

Subscribe to Фото