2009

LibRaw 0.7.0 Alpha-3: еще более RAW

Я точно знаю, что есть люди, читающие анонсы LibRaw именно здесь, остальным придется потерпеть.

В третьей альфе LibRaw 0.7.0 случились две группы существенных идеологических изменений и одна группа несущественных:

  1. Данные для камер FujiFilm распаковываются без поворота на 45 градусов. Это открывает путь к легкому получению 12-мегапиксельных картинок с Fuji S5Pro и прочим подобным радостям. При этом, горизонтальное разрешение должно быть заметно лучше, чем у 6-мегапиксельных, выдаваемых dcraw и всеми использующими этот код.
    Посмотреть на реальные RAW-данные Fuji можно с помощью примера unprocessed_raw, очень поучительно (чтобы извлечь второй кадр, используйте ключ -s 1).
  2. Не менее сильно поработали над PhaseOne:
    • Придуман и для PhaseOne реализован режим (не)фильтрации данных, отключающий тоновую кривую для RAW (более raw-данных вы еще не видели!). Идея мне настолько понравилась, что в следующих версиях тоновую кривую можно будет отключить для всех случаев, когда она есть (Nikon NEF, Adobe DNG, далее везде).
    • Рассчитанные камерой уровни черного доступны в метаданных
    • Исправлена ошибка расчета уровня черного, имеющаяся в dcraw (впрочем, на результат она влияет не очень сильно).
  3. Ну и по мелочи: баги, ключ -s у unprocessed_raw, импортирована свежа версия dcraw.

Более подробно и более формально в changelog, скачивать с той же страницы

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

Qt licensing - 2

Нам пишуть:

Dear Qt User:
Nokia is pleased to announce that with the release of Qt 4.5 you will be able to use Qt under the Lesser General Public License (LGPL) version 2.1 terms. When released in March 2009, Qt will be made available under three licensing options: Commercial, LGPL and GPL. Prior versions of Qt are not impacted by this announcement.

Спасибо компании Nokia за поэкономленные 5 килобаксофф (скидки для Small business/Startup они отменили осенью)

Маркетинг и правда

Начитавшись всяких datasheets от задников, я был уверен что у PhaseOne (свежих: P45, P65) - 16-битный АЦП.

Однако читаю код распаковки, по смыслу там вот такое вот:

image[x,y] = pixel << 2 - (тут расчет уровня шума для столбца-полустроки)
дальше там наложение всяких кривых и прочие упражнения, которые в данном контексте неважны.

Вот ведь думаю, и рыбку съели (нету одинаковых битов ни внизу, ни наверху) и АЦП у них таки 14-битный.

Кипя гневом, полез читать даташиты заново, а там все аккуратно написано: 10 бит антиблюминга, 12 стопов динамического диапазона, разрядность выходного файла - 16 бит (кто бы спорил).

Вот как маркетинг животворящий зомбирует!

UPDATE: а в реальных данных в бликах максимальное значение до умножения и вовсе 8192 (при этом по всем четырем каналам одинаковые значения т.е. это честный блик). Итого - 13 бит. А значит врут они про 12 стопов ДД.

Еще о Fuji S5

fuji_ccd_layout.jpgЧтобы не писать очередного update к предыдущей записи напишу я новую.

Все упражнения с поворотом, а затем с масштабированием файлов Fuji S5, которые проводятся в dcraw - они конечно интересны. Но ровно до тех пор, пока в руки не попадется "12-мегапиксельный" JPEG, который делает сама камера. Из его размеров становится очевидным, что камера делает очень просто: растягивает файл вдоль короткой стороны, отчего он из (примерно) 4300x1400 становится 4300x2800. И все, собственно.

Используются ли при этом данные со второго набора сенсоров - мне непонятно. Для полутонов их, по всей видимости, использовать можно, для теней - нельзя, для светов - нежелательно использовать первый набор.

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

Меж тем, Fuji - не первая компания, использующая сей нехитрый трюк. Как мне напомнили, у Nikon D1X та же фигня: пиксели прямоугольные, разрешение сенсора 4028x1324, правда камера масштабировала эту картинку в примерно 6 мегапикселей, а не в 10.5. При этом, разница горизонтального и вертикального разрешения у D1X (по DPReview) очень даже есть.

Применение психотропных препаратов к обработке RAW

psychotropic_drugs.jpg В процессе подбора правильных психотропных препаратов для целей программирования правильного чтения черных рамок у RAW-файлов с камер Fuji (SuperCCD) я на эти данные внимательно посмотрел и... фалломорфировал удивился.

Если мы посмотрим в исходники dcraw (или результат работы dcraw -j), то увидим, что при распаковке файлов от Fuji SuperCCD делаются такие вот шаги:

  • Сначала при распаковке пересчитываются координаты, таким образом в выходной битмэп пишется изображение, повернутое на 45 градусов (для разных камер - вращения в разные стороны).
  • Потом это изображение вращается еще раз, уже с интерполяцией данных (в dcraw - билинейная интерполяция, про другие конверторы - не знаю).

Увидев один раз повернутое, я до сегодняшнего дня был убежден (не вчитываясь в код), что это отражает организацию сенсора: строки идут под 45 градусов по диагонали (длина строк, соответственно, разная), а дальше надо просто повернуть.

Сегодня же, выспавшись, полез разбираться в деталях. Детали, прямо скажем, удивительные относительно того знания, которое было в голове.

Vuescan

Вот пишут мне знакомые в почту, что всем российским покупателям Vuescan автор предлагает халявно проапгрейдиться по случаю появления русского перевода. Даже тем, кто стандартную версию покупал с годом апгрейдов. Я, правда, не сумел вспомнить E-mail на который свою копию регистрировал и подозреваю, что это был профуканый мой мейлбокс на rambler.ru.

Сходил Vuescan-у на сайт, прослезился, вспомнил молодость. Оказывается, впрочем, разовый бесплатный апгрейд предлагают всем покупателям, по случаю 10-летия программы.

Dan Margulis on RAW module

dan_margulis_2008sm.jpg На LibRaw появился новый автор: Dan Margulis. Хочется надеяться, что сотрудничество будет не разовым, но гарантировать я это не могу. Пока же представляем вниманию читателей один текст на двух языках:

Dan Margulis on RAW module
The question that needs an answer is, for what purpose is the module designed. I can think of four different approaches to acquisition.
  1. I want the module to do nothing more than open the file without damage. I understand that it will probably be flat and colorless if I do this. I intend to fix the problems in Photoshop.
  2. Although I will refine the image in Photoshop, I would like to be able to make quick, obvious moves in the acquisition module to make life easier later.
  3. ....
Дан Маргулис: Мысли о назначении и некоторых проблемах конверторов RAW
Вопрос, которым следует задаться в первую очередь, - это место RAW конвертора в цепочке обработки изображения. Иными словами, требуется определить те цели, которые должны быть решены на этапе конвертации RAW-данных. Я могу представить себе 4 различных подхода к определению задач этого модуля.
  1. От модуля требуется лишь преобразование RAW-данных без потери качества. Мы отдаем себе отчет в том, что результат будет плоским (малоконтрастным) с ненасыщеными цветами. Для того чтобы вернуть изображение к жизни мы будем использовать Photoshop.
  2. ...

Ручная работа!

5d2-mask.png

Если рассматривать черную рамку у 5D Mark II, взяв кадры с разных камер, то становится очевидно, что матрицы делаются вручную (китайские крестьяне в своих фанзах?). Вот, собственно, пример: два кадра (сложены слоями в фотошопе со смещением), оба ISO 100, камеры разные. У одного по верхнему краю просто насечки от шестеренки, а у другого - еще и темная полоса.

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

... а только с целью тестирования LibRaw и улучшения ея качества.

Имеется острая нужда в RAW-файлах следующих форматов:

  • Sony DSC-F828 Огромное спасибо за помощь!
  • Задники Imacon Ixpress - нужны RAW-файлы в родном формате;
  • Задники PhaseOne - нужны RAW в нежатом формате;
  • Задники Sinar - нужны RAW-файлы, снятые в режиме 4-shot

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

(Р)эволюция продолжается: LibRaw 0.7.0 Alpha-0

Вышла LibRaw 0.7.0-Alpha0.

Это довольно важный релиз, открывающий массу новых (но пока - потенциальных) возможностей для разработчиков, над некоторыми вещами я в фоновом режиме думал с начала осени и тороплюсь поделиться:

Pages