Установка и впечатления новой версии графического анализатора NIP2

Не так давно вышла новая версия библиотеки обработки изображений VIPS, а вместе с ней и графическая оболочка nip2. Несколько слов о том, что изменилось и как новую версию быстро собрать и использовать.

Как уже говорилось тут, nip2 - это уникальный графический анализатор изображений любой разрядности и динамического диапазона. Новая версия nip2 за номером 7.14.1 стала ещё быстрее и появились новые возможности для анализа изображений.

Самые последние версии nip2 забираем отсюда из support-зоны, где самый свежак. Скачиваем vipsXXX.tar.gz и nip2XXX.tar.gz, при сборке последовательность такая же: сначала собираем VIPS и устанавливаем пакет, потом собираем nip2 и тоже устанавливаем. Последние версии (vips7.18.XX) могут не собраться, если Python старой версии - для этого указываем при сборке ключ --without-python и собираем.

Сборка и установка
Так как nip2 только вышел и вообще не так распространён, как например Gimp, придётся собрать пакет самостоятельно. Это нетрудно, однако могут потребоваться зависимости для того, чтобы nip2 работал на полную мощность.

Сначала собираем VIPS, для чего распаковываем в каталог vips-7.14.1 скачанный архив, и от рута даём команду:

dh_make --createorig
Далее пишем
debuild
VIPS должен собраться без вопросов. Полученный пакет устанавливаем
dpkg -i vips_7.14.1-1_i386.deb
После этого собираем сам nip2. Очерёдность важна, так как при сборке nip2 потребуются файлы из VIPS, на которой графический анализатор и основан. Кроме того, на этапе сборке могут произойти ошибки - чаще всего из-за отсутствия необходимых пакетов:

checking for PKGFLAGS... configure: error: Package requirements (gthread-2.0 gtk+-2.0 >= 2.4.9 libxml-2.0 vips-7.14) were not met:
No package 'gtk+-2.0' found
No package 'vips-7.14' found
Собственно, ставим эти пакеты.
aptitude install libgtk2.0-0 libgtk2.0-common libgtk2.0-bin libgtk2.0-dev
Так же могут потребоваться следующие пакеты:
aptitude install fftw3 fftw3-dev libxml2 libxml2-dev libxml++2 gsl-bin libgsl0-dev libxml++1.0-dev libxml++1.0c2a libtiff4 libtiff4-dev flex
Последний пакет, flex, я поставил только тогда, когда сборка вываливалась с ошибкой на файле parce.c и я не мог понять из-за чего. Конечно, в файле README было сказано, что он нужен, но кто ж его читать-то будет!? :-)

Итак, сборка должна успешно завершиться и собранный пакет ставим dpkg. Конечно, автора можно упрекнуть за такую "наколеночную" сборку пакетов, однако надо быстренько получить новую версию нужной утилиты, а не кружавчики вышивать.


Изменения в Nip2
Расширился состав фильтров, теперь в официально включён шумоподавляющий фильтр GREYstoration, ряды можно именовать по своему усмотрению, расширены функции программирования. А главное - Nip2 стал ощутимо быстрее предыдущей версии, так что если вы им часто пользуетесь, то есть смысл обновиться.

Фильтры
В составе Nip2 теперь улучшенные фильтры морфологического анализа (пока только бинарная морфология), многие фильтры получили возможность точной настройки (custom kernels), а так же включён шумоподавляющий фильтр GREYstoration, основанный на анизотропной диффузии. GREYstoration интересен тем, что реализует подавление шума при помощи весьма изощрённого "сглаживания" изображения. В результате это важные детали не размываются, а шума становится намного меньше. Техника anisotropic diffusion известна довольно давно, однако реализация в Nip2 достаточно быстрая и нетребовательная к памяти, что важно при работе с большими изображениями.
Пример приведён на этом скриншоте:

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


Именование рядов
Это полезная функция, если требуется анализировать много изображений. Тогда можно задать один workspace и просто заменять одно изображение - остальное пересчитается автоматически. Именованные ряды позволяют проще отличать конечные результаты анализа от промежуточных подсчётов.
Просто впишите в пустую клетку:

Mean=Math_stats_item.Mean_item.action A1
и вы получите именованную ячейку, содержимое которой есть среднее значение изображения в ячейке А1. Именовать по-русски пока нельзя, только на английском.


Горячие клавиши на элементы меню
Очень и очень полезная возможность! Открываем меню, доходим до нужной нам функции, подсвечиваем её и наживаем к примеру CTRL+M - и теперь на функцию повешена горячая кнопка. Теперь, чтобы посчитать среднее значение на изображении, просто выделяем изображение и нажимаем CTRL+M.


Заключение
В общем и целом, релиз удался: nip2 стал ещё быстрее и получил новые фильтры и методы анализа изображений.

7 комментариев: |высказаться!| RSS-лента дискуссии.|
librarian комментирует...

А не можете подсказать где можно про этот пакет подробнее почитать?

virens комментирует...

2 librarian
А не можете подсказать где можно про этот пакет подробнее почитать?
Информации о нём не так много, а на домашней странице больше про разработку и внутреннее устройство. У меня о nip2 есть тут и здесь.

librarian комментирует...

Очень полезная штука, программка эта.
Спасибо за инструкцию по сборке!

хотя программка достаточно узкоспециализированная?

Будете ли Вы освещать консольную сторону работы nip2? Интересно было бы работать с изображениями аналогично потоковому режиму в gnuplot,

virens комментирует...

2 librarian пишет...
Спасибо за инструкцию по сборке!
Пожалуйста. Там есть один пакет, который я не поставил и сборка долго брыкалась :-)

хотя программка достаточно узкоспециализированная?
Наоборот: весьма широкопрофильная программа. Но для специализированных работ :-)

Будете ли Вы освещать консольную сторону работы nip2?
Безусловно. Собираюсь писать утилиты обработки изображений на С с использованием VIPS. Так что посты по nip2 и VIPS будут.

Irbis (leric комментирует...

>vips-7.14.1 скачанный архив
а откуда скачивался архив? и какой его формат?

virens комментирует...

2 Irbis (leric комментирует...
а откуда скачивался архив? и какой его формат?
Пост обновил, теперь там есть ссылка.

OMI комментирует...

Меня заинтересовал данный анализатор для обработки FITS.

Отправить комментарий

Подписаться на RSS-ленту комментариев к этому посту.