Январь 2018

SonyPixelShift2DNG: beta 0.8.2

Освежили версию

Качаем тут:

Новое (крупными штрихами):

  • Рекурсивная обработка папок
  • Поддержка формата APS-C
  • В DNG пишутся теги NoiseProfile и BaselineNoise
  • Все настройки убраны в отдельный диалог настроек
  • Все лишние кнопки (About, Manual) перенесены в Menu - Help
  • ...

О жатых и нежатых RAW

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

Вот чтобы не пропало, запишу:

  1. Если у пользователя есть настроенный и работающий процесс сохранения данных, то единственное о чем ему надо думать - это какие диски (или кассеты, если стример) покупать (в будущем) для замены существующих "по кругу".
    Даже в наиболее вопиющих случаях (130Mb DNG вместо 330Mb ARQ), цена вопроса - копейки  за файл (в буквальном смысле копейки: цена гигабайта сейчас - рубля 2-3 на HDD).
  2. Если же процесса бэкапа нет (это часто бывает в поле), то нежатые файлы гораздо безопаснее: один поврежденный бит у жатых - это файл можно отправлять в утиль (ну может если повезет - JPEG вынется), а у нежатых форматов - это один поврежденный пиксель и все.
     

SonyPixelShift2DNG (beta)

Как хорошо известно читателям этого блога (раз, два), в камере Sony A7R-III есть режим PixelShift: снимаются 4 кадра со сдвигом в ровно в пиксель, после чего можно собрать эти кадры в один и получить полноцветное изображение без демозаики (а зеленых каналов там будет аж два).

Помимо понятных ограничений (снимать можно только совсем статические сцены), при использовании этого режима есть и ограничения Workflow:

  • Комбинировать 4 ARW-файла в один
  • ...

Sony A7R-III: тросики

Есть у меня универсальный тросик Pixel TC-252 (точнее два, второй - TC-282 с радиомодулем, но пользуюсь я им редко). Он не только тросик, но и timelapse-контроллер.

К этому тросику у меня сменные хвосты под все камеры, включая Sony. Очень удобно, особенно если в наличии разнородные камеры, один девайс и несколько разных хвостов.

Так вот, с A7R-III все, на удивление, не так хорошо:

  • Тросик вроде бы даже и работает, по поднажатию фокусируется, по полному - снимает.
  • Но такое вот впечатление, что размер буфера ограничен тремя кадрами: если поставить серийную съемку и нажать на педаль, то снимется три кадра и все. Если сразуже нажать на педаль второй раз - 1-2. Когда буфер сбросится - опять три.
  • И та же ситуация с брекетингом, даже хуже: если поставить длину брекетинга в 5 или 7 кадров, то снимется три, а продолжение - опять с начала.

Спросил в сони-форуме, народ попробовал, с родным тросиком такого нет. Сегодня вот купил себе RM-VPR1, проверил лично, никаких проблем: длина серии ~70 (на compressed-формате), брекетинг тоже работает.

В чем фигня - не знаю. Можно ли вылечить ее сменой кабеля для Pixel - тоже не знаю.

Снова про архивный формат DNG

Вот возьмем, к примеру, камеры Sony.

У них есть "шифрованый" (см sony_decrypt() в dcraw) блок данных SR2, устроенный, если в двух словах, так:

  • TIFF/EXIF like IFD с небольшим количеством записей в которых лежит
    • смещение до блока данных
    • размер блока данных
    • ключ для расшифровки
    • ну и еще что-то, науке неизвестное, всего вот в A7RM3 - 9 записей (т.е. 9x12 + 2 байта в начале = 110 байт)
  • небольшой паддинг (в A7RM3 - 4 байта нулей)
  • Ну и
  • ...

Байер или не байер (2) или опять про PixelShift

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

Переставил штатив вдвое дальше, объектив тот же, используем вторую (более крупную мишень). С ней результаты у PixelShift (т.е. без дебайеризации) более разнообразные.

Вот линии, идущие под 45 градусов (кликните для просмотра в полный размер), это скриншот с фотошопа 600%:

...

Байер или не байер...

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

Моя любимая low-contrast resolution target, слева Pixel Shift, справа - один из исходных ARW (оба файла обработаны одинаково, а именно открыты в ACR и нажато OK). Это скриншот в фотошопе "500%", кликните для зумирования, иначе разницы точно не будет.

(в виде PNG выложено...

Я ваш Adobe DNG SDK труба шатал!

Продолжаю биться головой о стену DNG SDK .

Вот, к примеру, объявление функции

void dng_negative::SetStage1Image (AutoPtr<dng_image> &image);

Вот как я обычно делаю:

// MyClass.h class dng_image; // Никаких include "dng_.....h", просто forward declaration class MyClass { private: dng_image *image; };

И только там, где у меня implemetation для MyClass - там будет включено "dng_image.h" и мы, наконец, разберемся, что же это такое (а указатель... ну указатель, 4/8 байт, нечего про него знать, private)

Но если интерфейс у dng_negative требует AutoPtr<>,...

Про Adobe DNG SDK

Вдогонку ко вчерашнему.

При рассмотрении потрохов DNG SDK (каковой, конечно же, используется в Adobe DNG Converter, другой вопрос что публичная версия могла несколько устареть) объяснение такому поведению EXIF нашлось:

  • Структура dng_exif - это разобранный (в кучу полей) EXIF
  • Пишется EXIF-таблица - из этой структуры.
  • Соответственно
    • Если поле (тег) неизвестно (ну вот OffsetTime), оно не разбирается.
    • Если поле не разобрано - оно не пишется.
    • Если тег известен, то он может разбираться в несколько полей dng_exif
    • Так, к примеру,
  • ...

Про Adobe DNG Converter и "архивный формат"

Возьмем, значит, ARW-файл от Sony A7RM3 и скормим его Adobe DNG Converter 10.1

И начнем рассматривать EXIF (это у меня любимая забава).

В исходнике было:

 | | 0) ExposureTime = 0.025 (1/40) | | - Tag 0x829a (8 bytes, rational64u[1]): | | 143a: 01 00 00 00 28 00 00 00 [....(...] | | 1) FNumber = 3.2 (32/10) | | - Tag 0x829d (8 bytes, rational64u[1]): | | 1442: 20 00 00 00 0a 00 00 00 [...

Pages