Комментирование предыдущей записи

Кто не мог нагадить в каменты в предыдущей записи - проблема исправлена, welcome. Касается только блога, в ЖЖ-трансляции все нормально.

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

As RAW as possible

kaf50100.png Говоря о RAW-данных ("необработанные", "данные прямо с матрицы") большинство фотографов (да и не только фотографов) полагают, что сенсор - это очень простая штука: массив светочувствительных элементов, цветные фильтры, сбоку прикручен АЦП (или несколько). Появляется в рекламных буклетах производителей фраза "мы уменьшили зазор между микролинзами" - вспоминают еще и про микролинзы. Документации то разумной почти нет. Про острую нужду в кривых спектральной чувствительности мы уже писали в статье для Компьютерры, но есть острая нужда не только в этих данных.

Вот, например, "черная рамка" или маскированные пикселы. Они считываются с матрицы, но в финальное изображение - не попадают. Значения считанных оттуда пикселов - это источник данных для выставления уровня черного. Если читать исходные тексты dcraw, то видно, что для большого числа камер Dave Coffin (а за ним - и многие последователи) банально вычисляет среднее по некоему участку черной рамки (или же в последних версиях для некоторых камер делает чуть-чуть сложнее, считая отдельное среднее для четных и нечетных столбцов), затем это среднее вычитается из значений, считанных с активных пикселов и все.

Впрочем, некоторые производители завесу немножко приоткрывают. Вот, скажем, Kodak. В Кодаковских datasheets на сенсоры написано много всего интересного. И если почитать, например, документацию на KAF-50100 (картинка справа взята из нее), то становится понятно, что структура неактивных пикселов - сложная, тут и референс для выставления уровня черного и что-то тестовое и какие-то буферные пикселы.

LibRaw 0.6.4

C Новым Годом, товарищи читатели!

Использующим LibRaw мой новогодний подарок: LibRaw 0.6.4.

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

Qt commercial licensing Qs

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

Вот читаю я веб на предмет не-опенсорсного лицензирования Qt, сильно удивляюсь и имею вопросы. Саму политику компании Trolltech Nokia обсуждать не хочу, поэтому вопросы очень конкретные (тамошним sales я тоже написал, но ответа 30-го декабря не ожидаю).

  • На вебе не написано, но верно ли я понимаю, что покупка лицензии - одноразовый процесс, каждый год платить несколько штук за девелопера не надо (предположим, что техсаппорт мне не нужен).
  • Какова политика апгрейдов, купив сейчас 4.4 получу ли я право на 4.5 или 5.0?
  • The license is sold on a per-developer basis and assigned to an individual. Когда individual увольняется - уносит ли он лицензию с собой? Или она просто пропадает? (про 6-месячный transfer right я тоже видел, допустим 6 месяцев прошло).
  • Ну и более частный вопрос - если я найму такого индивидуала на почасовую оплату, чтобы он с нужной частотой билдил мне релизы из объектных файлов, которые я ему дам - как это будет выглядеть с позиций лицензионного соглашения TrollNokia?
  • Update: еще вопрос. Купив лицензию только на Венды, можно ли потом обновиться на три платформе по цене разницы в стоимости лицензий? И аналогичный вопрос про Desktop Lite - мне Networking и SQL пока даром не упали, но если понадобится - получится ли обновиться за дельту в цене?

Не то, чтобы разовые $5300 (пруфлинк) на три платформы - безумно много, но пока у меня в этом месте не планируется никакого бизнеса, только всякое собственное развлечение.

Drupal Comment Notify + PostgreSQL = ....

Продолжаю воспитание модулей Drupal. В этот раз под горячую руку попал Comment Notify, захотелось разобраться, почему автор Друпала выбрал именно его.

Как оно регулярно бывает с Друпалом, этот модуль с PostgreSQL тоже не работает. И почему я не удивлен.....

Вместе с тем, количество требуемых изменений очень невелико и патч вполне компактный. Проблемы обычные: ifnull, concat, "UPDATE table LEFT JOIN table2".

comment-notify-1.1-pgsql.diff.gz

Продолжаю воспитание модулей Drupal. В этот раз под горячую руку попал Comment Notify, захотелось разобраться, почему автор Друпала выбрал именно его.

Как оно регулярно бывает с Друпалом, этот модуль с PostgreSQL тоже не работает. И почему я не удивлен.....

Вместе с тем, количество требуемых изменений очень невелико и патч вполне компактный. Проблемы обычные: ifnull, concat, "UPDATE table LEFT JOIN table2".

comment-notify-1.1-pgsql.diff.gz

Чудеса техники

no-ink.jpg Сегодня недосмотрел - и чернила в принтере (Epson 3800) кончились прямо в середине печати здоровой панорамы. Обычно я следил и картриджи менял немножко заранее, когда драйвер начинал ругаться, что остался 1% в одном из флаконов.

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

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

Drupal Comment Subscribe 6.x-1.2 и PostgreSQL

Я тут в соседнем микроблоге уже нажаловался на моральных индусов. А в этом блоге - конструктив.

comment_subscribe-12-pgsql.diff.gz

Накладывается поверх чистой установки (или апгрейда) модуля Comment Subscribe версии 6.x-1.2. Исправляются несовместимости с PostgreSQL плюс немножко еще:

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

Патч сейчас засабмичу автору, посмотрим на результат второй итерации....

NVidia GTX280: бенчмарки с плавающей точкой

gtx280.jpg Каждые полгода мы с друзьями я бенчмаркаю вычисления на видеокартах. В этот раз изучалась NVidia GTX280.

SGEMM/DGEMM на видеокарте и CPU, серия 7: NVidia GTX280
В чипе NVidia G200 появились операции с двойной точностью. Их производительность не феноменальна, но даже с учетом ввода-вывода данных в карту GTX280 обгоняет 4-ядерный 3-гигагерцовый Penryn. Если же рассматривать только скорость вычислений (что актуально, если задача позволяет спрятать затраты на ввод-вывод), то на двойной точности видеокарта быстрее CPU в 1.8 раза.
На одинарной точности разрыв видеокарты и CPU вырос: GTX280 обгоняет Core2Quad впятеро.

Понятно, что Core i7 разницу несколько сократит, но по тем бенчмаркам с плавающей точкой, что я видел (а видел я пока только Linpack, причем не факт что в оптимальном для i7 виде), рост в производительности i7 - процентов 20.

Всякие соображения про масштабируемость решения - в самой статье.

gtx280.jpg Каждые полгода мы с друзьями я бенчмаркаю вычисления на видеокартах. В этот раз изучалась NVidia GTX280.

SGEMM/DGEMM на видеокарте и CPU, серия 7: NVidia GTX280
В чипе NVidia G200 появились операции с двойной точностью. Их производительность не феноменальна, но даже с учетом ввода-вывода данных в карту GTX280 обгоняет 4-ядерный 3-гигагерцовый Penryn. Если же рассматривать только скорость вычислений (что актуально, если задача позволяет спрятать затраты на ввод-вывод), то на двойной точности видеокарта быстрее CPU в 1.8 раза.
На одинарной точности разрыв видеокарты и CPU вырос: GTX280 обгоняет Core2Quad впятеро.

Понятно, что Core i7 разницу несколько сократит, но по тем бенчмаркам с плавающей точкой, что я видел (а видел я пока только Linpack, причем не факт что в оптимальном для i7 виде), рост в производительности i7 - процентов 20.

Всякие соображения про масштабируемость решения - в самой статье.

Smart(er) Sharpen

Stephen Marsh зажигает в Applied Color Theory. Но есть и внешняя ссылка:

Smarter Sharpen

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

О мониторном софтпруфинге

srgb-proof-400.jpg Проект LibRaw стал настоящим — у нас завелся живой форумный тролль. Как от многих таких троллей, от него есть и некоторая польза: если кормить его вдумчиво, то можно заодно разобраться с какими-то вещами, до которых не доходили руки. В данном конкретном случае я разобрался с мониторным softproof (т.е. эмуляцией одного монитора на другом) и с пользой от этой техники для обработки изображений:

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

Все эти вещи - интуитивно понятны, но их систематизация оказалась полезной и выродилась в отдельный текст:

Мониторный Softproof и Gamut Warning в Adobe Photoshop
...мониторный софтпруф может быть полезен тем, кто публикуется на фото-сайтах и подобным электронным образом, особенно для тех, кто обзавелся монитором с расширенным охватом и/или использует в качестве рабочего пространства - RGB пространство с охватом, много большим чем мониторный (например, Adobe RGB на обычном мониторе).
Помимо этого, вполне возможна ситуация, когда монитор не способен отобразить все цвета изображения - и это надо вовремя детектировать.

Хозяйке на заметку: перенос в Drupal комментариев под другую ноду

Мне на Libraw.su понадобилось отселить переходящую на личности дискуссию, дабы в конкретном обсуждении сохранить высокое отношение сигнал/шум.

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

  • Заводим топик в нужном форуме, запоминаем его Node ID (пусть оно будет 173414).
  • Для каждого из комментариев смотрим его comment-id (администратору он виден в URL ссылок edit/delete) и делаем:
    1. DELETE FROM z_commentsubscribe WHERE cid=ID-комментария; -- сносим подписку, это команда для comment-subcribe, для Comment Notify должно быть как-то похоже
    2. UPDATE comments SET nid=Node-ID WHERE cid=ID-комментария; -- переносим куды следует.
  • Дальше чистим кэши - и все работает.

    Кто бы модуль написал, чтобы у комментария/ветки комментариев появился линк "отнести в отстойник"...

  • VCD-интерполяция

    Андрей Твердохлеб реализовал в последней версии Raw Photo Processor популярный в последнее время в узких кругах метод демозаики Variance of Color Differences (VCD).

    А я не удержался, потестировал, и написал по этому поводу текст:
    "Новый" метод демозаики: Variance of Color Differences

    комментарии к этому посту отключены, пожалуйста комментируйте прямо под статьей на LibRaw.SU

    Pages

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