LINUX.ORG.RU

Подскажите софт для обработки сигналов и изображений


0

0

All, нужен совет. Зреет у меня некоторая идея на исследование в области биофизики и гистологии (работаю в медунивере). Использоватmся будет хард: оптический микроскоп с выводом картинки на комп. Возможно, какая-то плата сбора данных по нескольким параметрам. Будут в разных экспериментах изучаться процессы, длящихся от нескольких сотых секунд до нескольких суток. Собственно, неважно, мне кажется, что мы будем изучать. Проблема в обработке инфы. В одних экспериментах нам понадобится обработка сигналов. Не знаю, понадобится ли обработка в реальном времени. В других - анализ изображений (чаще всего по контуру), видеозахват и слежение за движущимся объектом. Проблема в софте. Из легально используемого есть только пакет Statistica. Ни на какой другой, даже, закупаемый по очень льготным лицензиям как учебное заведение, денег не дадут. Да и не получится по льготному - вполне возможно, что что-то из результатов будет внедряться в практику, т.е. лицензию придётся покупать "на всю катушку". В идеале подходит MatLab с его пакетами Signal processing, Wavelet и фильтрами - для обработки данных в виде сигналов, и Image processing - для анализа и обработки изображений. Неплохо было бы использовать и LabVIEW - там тоже мощные методы обработки плюс можно расширить нашу плату сбора информации чем-то виртуальным, если понадобится. Сам я по первому образованию математик, MatLab уже почти 10 лет моя любимая софтина, но в нынешней ситуации и на MatLab и на LabVIEW наложено строгое табу.

Подскажите, плиз, наилучший по функциональности софт из бесплатного/открытого, умеющего:

1) Обрабатывать сигналы. Хорошо бы - в реальном времени тоже,

2) анализ изображений, опять же хочется, чтобы софт умел это в реальном времени.

Да, я знаю про SciLab и Оctave, но не знаю, насколько они сильны и удачны именно для моих задач - может, есть что получше?

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

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

PS иногда сталкивался с таким явлением: софт для астрономов, для анализа полученных данных с телескопа очень подходил для анализа данных, полученных с микроскопа. Вот такая вот связь астрономии и биофизики. Может, там что есть навороченное и свободное?

★★★★★

R с расширениями для обработки пространственно привязанной информации. Если картинка очень большая то понадобится много оперативки, лучше сразу 64 битную систему ставить.

Он в принципе быстро работает, интегрируется практически с любым другим кодом. Если есть библиотека доступа к Вашему АЦП то может ее вызовы задействовать. Все мануалы в нем есть.

В нём есть возможность легко (в 5-6 функций) на rpanel (хороший пример есть в сборниках rnews) написать тиклевый интерфейс управления экспериментом.

Если же Вы о действиетльно реальном времени, то чем программить DSP под линуксом я не знаю :(

psv1967 ★★★★★
()
Ответ на: комментарий от psv1967

Спасиб, сам тоже смотрю в сторону R. Что-то может получится при анализе изображений, а вот DSP на нём замутить будет трудновато. Можно сказать, что режим реального времени будет "нежёствким" - это обычные исследования и диагностическая аппаратура. Чаще всего в этом режиме основное требование - удерживать фокус на движущемся объекте.

Stalin ★★★★★
() автор топика

>Зреет у меня некоторая идея на исследование в области биофизики

emboss - The European Molecular Biology Open Software Suite​ http://emboss.sourceforge.net/

>на MatLab и на LabVIEW наложено строгое табу.

Найти спонсора и снять табу.

>чтобы софт умел это в реальном времени.

DIAPM RTAI - the RealTime Application Interface for Linux from DIAPM https://www.rtai.org/

Но для серьёзных задач обычно делают RT-спецпроцессоры в связке с обычным компом для неторопливого интерактивного анализа.

Ещё можно поискать здесь: Scientific Applications on Linux http://sal.jyu.fi/index.shtml

quickquest ★★★★★
()
Ответ на: комментарий от quickquest

> To quickquest

Спасибо, будем искать. Собственно, не хотелось по крупицам на каждый чих, каждый фильтр искать в инете отдельную или писать свою прогу :) Думал, может будет мне счастье с пакетом, аналогичным матлабовскому :)

Спецпроцы - "це не для нашого теляти" :) У нас обычная рядовая кафедра, без крутых спецов. Так что даже ТЗ не сформулируем как положено :) Хотя, конечно, было бы идеалом найти когото-то из RT-железячников :)

Stalin ★★★★★
() автор топика
Ответ на: комментарий от Stalin

> Чаще всего в этом режиме основное требование - удерживать фокус на движущемся объекте.

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

psv1967 ★★★★★
()
Ответ на: комментарий от psv1967

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

Это уже технические тонкости ;)Удержание фокуса, выявление новых артефактов в очерченной зоне, характер передвижения объектов - много чего можно придумать, когда сделаю хоть что-нибудь.

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

Stalin ★★★★★
() автор топика
Ответ на: комментарий от Stalin

> Моя задача - создать установку и предложить парочку наблюдений, которые мы с ней сможем сделать.

Если знаком с С/С++, можно и самому написать, это не так уж и сложно (например, libfftw очень быстро считает Фурье, а на его основе можно построить кучу фильтров; в Numerical receipes полно всяких быстрых алгоритмов сортировки/фильтрации и т.п.). А для более подробной обработки скидывать нужные кадры на диск и юзать Scilab.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> to Eddy_Em

О! спасибо за наводку! Думаю, моих знаний хватит, чтобы справится с этой библиотекой. А Numerical recipes - имеется ввиду книжка?

Полазил по инету - возник вопрос: а не поменять ли С/С++ на Фортран? Краем уха слышал от программеров, что в начале 2000-х он бурно развивался, и уже далеко не тот, что был в 20-м веке :)

Stalin ★★★★★
() автор топика
Ответ на: комментарий от Stalin

> А Numerical recipes - имеется ввиду книжка?

Да, см. http://www.nr.com/ (правда, у них для просмотра надо устанавливать акробат с плагином-дешифратором, но я где-то скачивал незашифрованные, можно поискать).

> возник вопрос: а не поменять ли С/С++ на Фортран?

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

Eddy_Em ☆☆☆☆☆
()

Примеры готовых программ на R для обработки томограмм.

http://cran.r-project.org/web/views/MedicalImaging.html

Пример обработки изображений в микроскопии Image Analysis for Microscopy Screens by Oleg Sklyar and Wolfgang Huber ( http://www.r-project.org/doc/Rnews/Rnews_2006-5.pdf ).

Что бы работать с тиклем rpanel.

psv1967 ★★★★★
()
Ответ на: комментарий от Eddy_Em

> и юзать Scilab.

Не холивара ради а истины для :)

Scilab был назван просто так, или есть в моём случае какое-то преимущество перед Оctave?

Stalin ★★★★★
() автор топика
Ответ на: комментарий от Stalin

> Scilab был назван просто так, или есть в моём случае какое-то преимущество перед Оctave?

Не знаю, с Оctave я вообще не работал, Scilab же похож по функционалу/синтаксису на Matlab, с которым я хорошо знаком, (правда, нет такого огромного количества тулбоксов), поэтому Scilab и рекомендую.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от michwill

> Странно, что никто не предложил python+numpy

a) скорость? b) в связке с каким пакетом визуализации?

ЗЫ Питона не знаю, поэтому не спорю, а прошу объяснений :)

Stalin ★★★★★
() автор топика
Ответ на: комментарий от psv1967

> ну так как анализ продвигается?

Да уж... Вы меня соблазнили R, не знал, что у него столько возможностей :) В обзоре http://iportnov.blogspot.com/2009/02/blog-post.html упоминается про большие требования к оперативке у R. Думаю, возможностей обычной рабочей станции нам хватит.

Буду заглядывать в эту ветку, если кто что-то ещё предложит - буду благодарен и готов обсудить.

Ну что ж, будем учить R. "Цели ясны, задачи определены. За работу, товарищи" (с).

to psv1967: А Вы с R тоже работаете?

Если что - можно писать на адрес Vinni_Pooh_2003(гав-гав)mail(точка)ru

Stalin ★★★★★
() автор топика
Ответ на: комментарий от Stalin

да, я пользуюсь R. В основном интересуют методы многомерного анализа данных.

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

Я карты плотностей различных считал, оказалось что делать это по полной карте просто бессмысленно. Все используют переход к меньшей разрешайке - выполняют расчет - возвращаются к исходной.

Изучать пакет лучше начать с введения, оно поставляется вместе с пакетом.

psv1967 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.