FastRawViewer 1.3.0 - Public Beta 3

Продолжаем тестирование FastRawViewer 1.3. Спасибо всем, кто принимает участие, без ваших замечаний у программы нет шансов стать лучше.

Начало было в предыдущих сериях:

  1. Анонс FRV 1.3, описание основных изменений (с красивыми картинками)
  2. FRV 1.3 Beta2: еще немного изменений, по высказанным замечаниям

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

Изменения

  • Настройка экранного шарпенинга перенесена в раздел Image Display
  • Новая скрытая настройка DisableFolderPaths позволяет перечислить (через
  • ...

О "неразрушающем редактировании"

И снова перед вами две гистограммы. Сверху "было", снизу "стало":

  • Было: 12 бит на канал (смотрим на Values справа от канала: 4000+), байер (4 канала в каждом 4M pixels)
  • Стало: 8 бит на канал (отчего уже на уровне EV0 ясно видимые глазом дырки), кроме того переехали максимумы в каналах (т.е. наложен какой-то баланс белого).

Что же случилось с файлом? Случился с ним редактор Picktorial (ссылку не...

Снова о любимом формате DNG

Перед вами, дети, две RAW-гистограммы. Сверху - оригинальный файл, снизу - конверсия в DNG при помощи Lightroom 5.7:

(кликабельно)

Извините за размер, так вот было удобнее сделать.

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

Справедливости ради, это sRAW то...

FastRawViewer 1.3.0 - Public Beta 2

Спасибо всем, кто принял участие в тестировании первой публичной беты FRV 1.3 и не забыл нажаловаться на проблемы. С вашей помощью программа становится лучше и теперь Бета2.

Не буду повторять исходный анонс грандиозных изменений, только новое и починенное относительно Беты1:

Новое

  • Новый режим установки баланса белого: установка поканальных коэффициентов в EV.
    Настройка: Preferences - White Balance - White balance edit mode
    Диапазон +-3EV.
  • Новая настройка Preferences - Grid/Filmstrip - Hide panels floating within main window in Grid
  • ...

Intel. Опережая время!

Пытался на сайте Intel найти старые драйвера. Не нашел. Зато нашел такие:

О спектральной чувствительности 2: в объективах тоже пилы

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

А тут на ixbt подлили масла, подобные же пилы есть и на объективах, вот я нарушу копирайт и график скопирую:

Если сильно не повезет и пила на сенсоре будет того же периода, это эффекты усугУбит.

Но я больше скажу, я не удивлюсь, увидев подобные же...

FastRawViewer 1.3.0 - Public Beta 1

Пришла весна, настанет лето, а мы начинаем публичный бета-тест FRV 1.3. Сначала - "на Россию" - документация пока есть только на русском.

Задача теста - собрать замечания. Поэтому если что-то не нравится - тут же пишите! Прямо вот в комментарии сюда.

Ссылка на документацию, как и на сами инсталляторы FRV 1.3 (и приз для тех кто дочитал) - в конце данного текста.

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

Grid Mode (показ "плиткой")


(картинки кликабельны)

FRV поддерживает показ превью (иконок, thumbnails) файлов в главном окне.

Со стандартными настройками, этот режим включается при старте программы и при смене просматриваемой папки.

О спектральной чувствительности ЦФК

Недобрые люди подсунули прочитать вот этот вот PDF: SpectralResponse_WhitePaper_April09.pdf

Кушать теперь спокойно не могу. И сплю плохо. Ворочаюсь.

Какой уж там Лютер-Айвс.

О светодиодных лампах

А вот, граждане, офигенно полезный сайт: lamptest.ru

Протестирована куча лампочек с типовыми цоколями и есть там все, что человеку нужно

  • Световой поток
  • CRI
  • Спектр
  • Диаграмма направленности

Все кроме срока службы.

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

Sale: телефиксы Canon

Я понимаю, что время для продажи чего-либо фотографического сейчас не подходящее, но вдруг.

Нижеперечисленное железо лежит без использования и шансов на использование у него нет: на 40-50Mpix оно не тянет, а шансы что я потащу куда-то эти телевики на себе и возьму при этом 20-Mpix камеру - нулевые. А места в шкафу занимает много.

1. Canon 400/5.6L продано

2. Canon 300/4 L IS - продано

Фото - по запросу, сниму если будет интерес.

Москва, доеду до любой станции метро (не в любой день/любое время, но график гибкий), пересылать ничего не буду.

Пишите: lexa@lexa.ru

Новые версии

RawDigger 1.2.7, FastRawViewer 1.2.5

В обеих программах обновилась поддержка камер (часть, впрочем, уже была в RD):

  • Phase One IQ3 100Mpix, IQ150
  • Fujifilm X-Pro2 (только нежатые RAW), X70, X-E2S, X-E2 firmware 4.0
  • Leica M (Typ 262), X-U (Typ 113)
  • Olympus Pen-F
  • Panasonic DMC-TZ80/81/85/ZS60

Кроме того, в FRV небольшие доделки:

  • Дата создания/модификации файла сохраняется при копировании и перемещении
  • Исправлена ошибка, возникавшая при чтении поврежденных файлов .eip
  • Поддержка черно-белых JPEG-превью

 

Qt ненависти псто (3)

А вот, значит, еще про Qt.

Допустим, у нас есть QListView (с кастомными элементами, но это в данном случае несущественно). В нем мелко показаны фигульки.

Хотим: при клике на фигульку спрятать QListView и на его месте показать фигульку крупно (в QGraphicsView, хотя это тоже не так и важно).

Первые грабли зарыты в "спрятать-показать". Если запихнуть их, скажем, в один QLayout и делать  QListView->hide(); QGraphicsView->show(), то оно может валится. Не всегда. При некоторых размерах окна. Ну ладно, сначала show/hide, а потом...

Qt MVC: ненависти псто - 2

А вот например Qt. Обычный такой QTableView на две колонки, хочется банального:

  1. Чтобы занимало окошко целиком, даже если строки короткие, иначе там odd/even rows некрасиво.
  2. Чтобы если строки длинные - был бы скроллбар.

Осложняется, правда, тем, что некоторые строки - HTML-ные, то есть их надо руками рендерить. Соответственно, для DisplayRole надо отдавать пустой текст (это я сейчас знаю!), HTML-ку получать другой ролью и рендерить самостоятельно.

И что вы думаете? ДВА ДНЯ. И то, полностью не победил, скроллбар в результате есть всегда. Ну хоть так.

При этом узнал, что SizeHint есть:

  1. В Q...ItemModel::data()
  2. В QTableView::sizeHintForColumn
  3. В QItemDelegate::sizeHint

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

Qt MVC: ненависти псто!

Вот есть такой Qt. А в нем полноценный Model-View: QAbstractItemModel (и потомки), QAbstractItemView (и потомки) ну и "контроллер", то есть делегат.

И вот допустим мы отображаем некий список (произведя его из QListItemModel) в некоем вью (произведя его из QListView). Стандартные средства - хороши, пока их хватает. Иконка, подпись, чекбокс, все есть. Раскраска - стайлшитом.

Идем дальше, стандартных средств не хватает, хотим нарисовать полоску/иконку/хреновинку. Ну отлично, QStyledItemDelegate, базовый класс нарисует основу, мы потом разукрасим.

Правда выясняется, что оформление...

О цветокоррекции (или репродукции?)

Пишешь в гугл-картинках "Серов портрет Ермоловой" и видишь такое:

Слова подходящие - не подбираются.

Покрутил дальше, есть вообше шедевр: http://www.dgr.ru/photoalbum/58992/20-sm.jpg...

О шуме и зерне

Качал с DPReview очередные самплы и получился такой вот скриншот:

(кликабельно)

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

Но насколько лучше смотрится монохромный шум, чем цветной (ну и де-байера нет, который тоже добавляет)

RawDigger 1.2.4

По случаю выхода PhaseOne IQ3 100Mpix, пришлось обновлять RawDigger:

  • Исправлена ошибка в обработке поврежденных файлов .eip
  • Windoes: cохранение размеров главного окна: запоминаются статус максимизации окна и его размер до максимизации.    
  • Экспорт в CSV: целочисленные параметры (номер фрейма, номер сампла, координаты сампла) не заключаются в кавычки.
  • Лимит Disable RGB Rendering for files larger... увеличен до 200Mpix.
    Стандартное значение этого лимита для 64-битных версий: 120Mpix, но если вы работали с предыдущей версией, то сохранится значение от нее (стандартное - 99Mpix для 64-биной версии) и для копания в 100Mpix-файлах может захотеться его увеличить (если нужен RGB-рендеринг).
  • Exiftool обновлен до версии 10.09
  • Поддержка формата PhaseOne 16-bit compressed
  • Поддержка камер:  Phase One IQ3 100Mpix

Брать на официальном сайте (или на официальном русском сайте)

Про MF backs

Спасибо неназываемому (он просил не называть) благодетелю, теперь у нас есть самплы со всех PhaseOne P- и IQ-series и с большого числа задников Leaf. 75 гигабайт.

Вот рассматриваю я их, особенно сделанные на длинных выдержках (десятки-сотни-тысячи секунд) и не могу понять:

  1. Вот есть равчики, у которых на выдержках в десятки секунд - уже привычный нам на других (мелкоформатных) камерах шум. Ну, OK, все понятно, чудес нет.
  2. А есть такие, что там сотни-тысячи секунд (натурально, до часа) - и они чистые.
    Да, ISO50 обычно. Но чистые: ни хотпикселей, ни бэндинга, ничего. Shadow Boost наш кажет чистые приятные тени.

Вот, блин, как они это делают? Это RAW, никакого специфического процессинга у нас нет, смотрю я естественно FRV и RawDigger, чем еще....

То есть я конечно докопаюсь, у Фазы в метаданных есть и карта хотпикселей и много всего другого интересного, но вдруг кто из знает без этих копаний?

 

Про Nikon D5 и ее 3 миллиона ISO

Значит всем, кто радуется ISO 3млн на 21-mpix спешу напомнить:

  • На ISO 100 уровень насыщения (т.е. белого) - 3200 фотонов на квадратный микрон. Просто, я извиняюсь, по стандарту на эти самые ISO (при измерении чувствительности по saturation).
  • Площадь одного пикселя у D5 - 40 кв. микрон (при заполнении площади сенсора пикселями на 97%, удобно оказалось округлить так)
  • Это дает нам 128000 фотонов на пиксель на ISO100 в белом (в насыщении).
  • Увеличиваем чувствительность в 30000 раз. Из ISO100 - в 3 миллиона.
  • Экспозицию укрутим, понятно, в те же 30 тысяч раз, на 15 стопов.
  • Фотонов на пиксель будет 4.27
  • Умножаем на квантовую эффективность, пусть она будет 0.7 (это со всеми цветными светофильтрами, на самом деле 0.7 - завышенное значение).
  • Электронов на пиксель получается 3. Три, блин, штуки. В белом (насыщении).
  • В точке серого, которая в лучшем случае в 5.5 раз ниже (18%) электронов будет 0.
  • Нет, понятно, статистический разброс, то-се, в каких-то местах "в сером" их будет больше 0.
  • И это все - для идеальной т.е. никак не шумящей камеры, про шумы мы вообще не говорили.

Продолжайте читать маркетологов, они вам расскажут!

Q: Gaussian blur

Вот значит пишу свой Gaussian Blur, прямо по статье в Википедии

Ну не совсем прямо, конечно, а в два прохода и (буду) с использованием hardware linear interpolation в GPU, чтобы поменьше самплить, но вопрос мой не в этом.

Хочется: чтобы попугаи в моем фильтре были бы такими же, как у Фотошопа. И вот тут загвоздка:

  • "Радиус" на который нужно делать convolution kernel - три сигмы.
  • Соответственно, при сигме меньше 0.167 (радиусе меньше 0.5) - весь наш радиус вписывается
  • ...

И о литературе

Сложно и бессодержательно о простом:

(кликабельно)

Выделение не мое, так прислали. Рыдать и биться головой хочется от всего текста, а не от выделения.

Передайте пожалуйста автору этой книги, что с нее причитается.

Я голову о клавиатуру разбил. Теперь менять. Голову. Клавиатуру.

Общие рассуждения про i7-6700k

Текущее поколение интеловских десктопных процессоров меня пока интересует слабо (ну понятно, там есть вкусное: NVMe, поддержка до 64Gb, больше PCIe 3.0 без свитчей, но пока не перевесили), но тут подсунули результаты тестов: Skylake: Intel's Core i7-6700K And i5-6600K

Смотрите как интересно:

  1. Под Windows 10 работает быстрее, чем под Windows 8. Причем, Adobe Illustrator кардинально быстрее, раза в два (~1.25сек против 2.65).
  2. В тестах приложений Adobe (и в одной SiSoft Sandra), i5-6600 работает быстрее
  3. ...

AVX2 и VPGATHERDD - продолжение

Продолжаем дневник программиста на AVX2 (начало и продолжение).

Добрался до 4-го места, которое хотелось пооптимизировать окончательно уже года два как: берем 16-битные целые (RAW-данные), конвертируем в плавучку, вычитаем черный, результат записываем. То есть первый этап дебайеризации.

Параллельно считаем RAW-гистограмму и карту пересвета-недосвета (на самом деле там карта экспозиции считается, а не просто пересвет-недосвет, а дальше она визуализируется с лимитами, все что выше/ниже лимита раскрашивается.).

Вот в этом месте VPGATHERDD (из RAW-значений в экспозицию по LUT) внезапно дал выигрыш...

Еще про AVX2 и VPGATHERDD

Продолжение вот к этому вот тексту и к тамошним комментариям:

1. Собрался с духом и переписал тройку мест на 256-битные команды. Помогло: время исполнения этих кусочков упало на 15-25%. Буду дальше писать.

Это без особой оптимизации, старый код у меня SSE3, никаких BLENDPS/EXTRACTPS не использовалось, соответственно и AVX2 - это чисто замена _mm_ на _mm256_ ну и типы 256-битные. В уже переписанных кусках буду еще смотреть на DPPS: на SandyBridge эта инструкция выигрыша не давала, но может быть поможет на Haswell+.

2. А вот с VPGATHERDD - сплошное разочарование:

  • Для гистограммы (когда gather, потом инкремент, потом поэлементная запись) - получается серьезный проигрыш в производительности, а код сложнее.
  • Для операций вида bitmap[index][channel] = contrast_curve[value] проигрыш тоже есть, хотя и незначительный. Совсем оптимизированное (читаем только 6 элементов, для альфа-канала берем defaults т.е. через masked load) - совсем незначительно медленнее, единицы процентов на всю функцию, но медленнее.

Уж не знаю, кому эта VPGATHERDD в таком виде нужна. Ну разве только на новых процессорах она побыстрее.

Pages

Subscribe to blog.lexa.ru: все статьи