Научные программы в Linux: обработка изображений

В Linux очень комфортно чувствуют себя люди с исследовательской чертой в характере - поэтому он так распространён среди физиков, математиков, геологов, химиков и научных работников других специальностей. Не удивительно, что научных программ в Linux великое множество, и часть из них присутствует в Debian GNU/Linux.

Так как я занимаюсь цифровой оптикой, то больше знаю о программах для обработки изображений. Ниже приведён их список с комментариями, полужирное выделение - значит есть в Debian GNU/Linux.


Оформление научных статей: LaTeX (пакет tetex и шрифты к нему), оболочка Kile, LyX, TexMaker.
Если в тексте есть больше одной формулы или ссылки на литературу - следует использовать для этого специализированный инструмент, который создан и заточен специально для этого. Изобретать велосипеды с использованием "визуальных" редакторов - значит тратить свои нервы, ресурсы и силы понапрасну.
Ссылки: Описание установки ЛаТеХа, оболочек Kile, LyX, TexMaker. Пакеты расширений для ЛаТех.


Средство работы с библиографией
: BibTeX, Оболочка JabRef (есть пакет для Дебиана, программа под GPL, основана на Java – поэтому в дистрибутиве нет, но скачать вместе с Java-машиной можно).
Когда количество ваших литературных источников перевалит за полсотни, просто перечислять их в конце документа LaTeX будет утомительно, и, кроме того, трудно их выставить по порядку обращения.
Ссылки: Описание установки JabRef и работы с ним.


Численное моделирование: Octave или MATLAB for UNIX (для всех и Линукса в том числе). Программы, написанные в MATLAB, отчасти будут запускаться в Октаве, но... Октаву придётся долго доводить напильником неизвестной мне конфигурации. Как альтернатива - да, как рабочий инструмент - только если рядом есть знакомый октавист. Ссылки: Описание установки MATLAB.


Символьные расчёты: Maple for Linux или Maxima.
Иногда требуется символьно взять интеграл или найти производную. Для простых вещей есть своя голова, для более сложных - запрячь компьютер и MAXIMA. Maple поставить можно - есть линуксовая версия.


Построение графиков: GNUplot + писать для него скрипты на Perl/Bash.
Много программ я пересмотрел для построения графиков - и все они убоги, в том числе навороченные, но до ужаса неэффективные монстры типа Origin. Не так давно мне пришлось строить очень много графиков - сотню. Для разных результатов, с различными подписями по осям и греческими символами в заголовках. Час на написание и отладку Perlового скрипта и 5 секунд работы программы.
Ссылки: Построение научных графиков в GNUplot.


Создание нейросетей: Genesys.
Имитатор нейронных сетей общего назначения. Пока не использовал, но говорят о нём очень уважительно.


Графический редактор для огромных изображений:
nip2.
Специализированный профессиональный графический редактор для анализа огромных изображений. Таблично-ориентированный интерфейс, быстрые алгоритмы обработки изображений. Создавался для Национальной Галлереи в Лондоне.
Ссылки: О программе nip2 и её возможностях.


Поточная обработка изображений:
ImageMagick.
Это пример того, что называется CLI Magic. Нужно в огромном количестве изображений поднять гамму, повысить резкость и перевести в ч\б. ImageMagick и за полчаса написанный скрипт за минуту выполнит полугодовую работу.
Ссылки: Работа с ImageMagick - описание ключей для программы.

Другой интересный научный софт, которого в Дебиан нет, но можно скачать отдельно, можно найти на этом ресурсе.

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

Странно, что ты, работающий с графикой да еще и использующий LaTeX, не упомянул METAPOST :)

Анонимный комментирует...

Ждем CAD'ы.
Аналоги Компас,СолидВоркс,ТФлекс,АвтоКАД.
8-)
Вот так.

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

"не упомянул METAPOST"
А это потому, что я о нём не в курсе :-) Спасибо большое - похоже, ценная вещь. Слона я, как водится, не заметил.
После того, как с ней разберусь, обязательно поправлю пост. Ещё раз спасибо.

"Ждем CAD'ы."
Думаю об этом - с ними мало общаюсь, но чувствую скоро, что придётся. Работал только в qcad, но в Sarge входит только бета-версия, весьма глюкавая и недоделанная.
Кстати, многоуважаемый anonymous, я замечаю, что вы уже не в первый раз комментируете (и очень конструктивно, что важно) мои посты - может быть, представитесь? :-)

Анонимный комментирует...

http://linuxrsp.ru/artic/kon/LinuxandCAD.html
На вскидку.
Вот так.

Анонимный комментирует...

к сожалению, gnuplot не совместим с 3D графиками. старый (12.1) варезный матлаб строит их гораздо быстрее.

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

2"REDkiy"
Спасибо за ссылки. Как-нибудь ближе к сентябрю посмотрю на CADы. Сейчас разбираюсь с новым QEMU, описанием установки Дебиан "с нуля" и MPlayer.

"к сожалению, gnuplot не совместим с 3D графиками."
Это почему же? Поверхности строить он умеет, и делает это совсем не плохо. Главное, что не все данные получаются в MATLAB. Надеюсь, не надо говорить, сколько стоит на MATLAB лицензия? У нас институт в своё время едва смог себе это позволить...

Кстати, скоро запостю описание того, как быстро и легко строятся двухмерные графики в GNUplot (трёхмерные мне пока не требовались, но строятся не намного сложнее).

Анонимный комментирует...

"Это почему же? Поверхности строить он умеет, и делает это совсем не плохо"

К сожалению, он делает это плохо и медленно. Попробуйте растянуть окно с графиком мышкой. На моем домашнем АМД 2 ГГц + suse 10.0 перерисовка окна и самого 2D графика занимает секунд 20. Это единственная причина, которая удерживает меня от полного перехода на octave.

К тому же изучать построенный график в матлабе гораздо удобнее. Там есть кнопочки :)

"Главное, что не все данные получаются в MATLAB. Надеюсь, не надо говорить, сколько стоит на MATLAB лицензия?"

Неужели рубэпа боитесь? :)
И как это - не все данные получаются в матлаб? Что не получается? :)

"скоро запостю описание того, как быстро и легко строятся двухмерные графики в GNUplot "

Ждем :)

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

"К сожалению, он делает это плохо и медленно. Попробуйте растянуть окно с графиком мышкой."

Мышкой? Графики GNUplot? Мне это даже в голову не пришло :-) Я строю графики поточно, т.е. много - десятками штук, и сразу в PS. Мне не нужно на них любоваться - я и так знаю, что на них :-) Есть куча рядов данных, и по ним надо строить графики - плоские, двухмерные, и очень много. И сразу их использовать в документах LaTeX.

"Это единственная причина, которая удерживает меня от полного перехода на octave."

А вы смогли довести Octave напильником до своих нужд!? Если не секрет - что вы в ней делаете? :-)

"К тому же изучать построенный график в матлабе гораздо удобнее. Там есть кнопочки :)"

Не спорю - конечно удобней. И кнопочки есть :-) Но опять-таки - в моём случае кнопочки только мешают.

"Неужели рубэпа боитесь? :)"
А как же. И потом, крупный институт - а программы пиратские. Не хорошо. нас вон тут мелко$офт окучивает... Так что MATLAB и всё прочее не воруем - у нас корпоративная лицензия.

"И как это - не все данные получаются в матлаб? Что не получается?"

Есть данные, которые получаются в результате работы (обсчёта) другими программами и скриптами. Есть данные, снимаемые непосредственно с оптической установки. И потом, на графиках должны быть символы греческого алфавита, русский язык и переобозначение отсчётов по осям. Чем выкаблучиваться с MATLAB, проче в GNUplot. И быстрее, что важно.

"Ждем"
Присылайте свои примеры, если что - с удовольствием на них поучусь :-)

abc-online комментирует...

"Я строю графики поточно, т.е. много - десятками штук, и сразу в PS. Мне не нужно на них любоваться - я и так знаю, что на них :-)"

У меня каждый раз что-то новое вылазит :)

"А вы смогли довести Octave напильником до своих нужд!? Если не секрет - что вы в ней делаете? :-)"

Как ни странно, но она у меня встала и... заработала. Контролирую поведение атомов в расчетной ячейке, чтобы они там бучу не устраивали :)

Для построения 2D есть программа kpl, которая может обновлять график через заданные промежутки времени. Иногда это бывает удобно.

"А как же. И потом, крупный институт - а программы пиратские. Не хорошо. нас вон тут мелко$офт окучивает... Так что MATLAB и всё прочее не воруем - у нас корпоративная лицензия."

Везёт вам :)

"Есть данные, которые получаются в результате работы (обсчёта) другими программами и скриптами.
Есть данные, снимаемые непосредственно с оптической установки. И потом, на графиках должны быть символы греческого алфавита, русский язык и переобозначение отсчётов по осям. Чем выкаблучиваться с MATLAB, проче в GNUplot. И быстрее, что важно."

Скрипты можно писать и в матлабе. Единственное, чего мне не хватает для их отладки и редактирования - нормальный GUI (как и в октаве). Для октавы я не смог прикрутить ни один из тех, что нашел (типа yaog) :(

Всё, что Вы сказали - не проблема в матлабе. Ещё один плюс для меня - там есть редактор свойств графика wysiwyg, который важен в задачах, где не знаешь, чтО хочешь получить :) Насчет быстрее - быстрее всегда оказвается то, чем уже владеешь.

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

"Как ни странно, но она у меня встала и... заработала."
Я немного не об этом. Просто скрипты загрузки и сохранения изображений в Октаве сильно уступают таким же в Матлабе. Увы, приходится пользоваться Матлабом, т.к. на обработку напильником октавы просто нет времени.

"Для построения 2D есть программа kpl, которая может обновлять график через заданные промежутки времени. "
Т.к. у меня нет KDE, то об этой программе я не знал. Спасибо. Посмотрю.
Мне GNUplot очень люб, т.к. надо делать мухобойную работу по строительству кучи графиков для статей. Очень удобно: поставил перловый скрипт, и он всё сделает. Может, его сюда кину - чтобы не забыть самому в будущем. :-)

"Скрипты можно писать и в матлабе."
В этих скриптах надо порой делать весьма нетривиальные операции со строками - в зависимости от имени файла, менять подписи, значения меток на осях, присутствие там греческих букв и проч. Скрипт на Perl и Gnuplot это делают проще и быстрее.

"Единственное, чего мне не хватает для их отладки и редактирования - нормальный GUI"
Хм... мне хватает редактора Kate с подсветкой синтаксиса. Хотя я старый ретроград. Вон тов. elipse знает :-))

"Всё, что Вы сказали - не проблема в матлабе."
Не сомневаюсь. Но графики иногда надо строить не только по матлабовским данным. Короче, скрипты уже написаны, GNUplot уже осваивается - "поздно, Дубровский, я замужем" :-)

Анонимный комментирует...

очень хороший биндинг к гуи у R (это пакет статистики)

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

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