SeismoWatch - Программная система цифровой обработки и анализа геофизических данных
Назначение - Программная система предназначена для исследования методов и алгоритмов обработки геофизических данных для задач обнаружения, измерения параметров и локации импульсных и вибрационных сейсмических и акустических источников различного типа.
Область применения - Программа может быть использована для обработки и анализа сейсмических, акустических данных, а также любых цифровых последовательностей.
Архитектурно система представляет собой универсальную платформу (среду) для интеграции программных модулей обработки геофизических данных с возможностью их объединения в многоступенчатый конвейер с заданной структурой для решения прикладных задач. Интеграция обработчиков осуществляется через высокоуровневый программный интерфейс, связь с внешними приложениями - через стандартные потоки ввода/вывода POSIX. Интерактивный графический интерфейс пользователя позволяет производить базовые манипуляции с данными (ввод/вывод, визуализация, редактирование, измерение значений). Реализована поддержка основных форматов хранения сейсмических и аудио данных. Система обладает интерактивностью, удобством расширения, высокой производительностью и свойством кроссплатформенности.
Используемый алгоритм - Платформа реализует многоступенчатый последовательный конвейерный подход к обработке данных с помощью пользовательских алгоритмов (функций), оформленных пр принципу «чёрного ящика». Ввод, вывод и визуализация данных возможны на любом этапе процесса (тракта) обработки.
Функциональные возможности - На уровне графического интерфейса пользователя (GUI) программная система позволяет производить:
- ввод сейсмических и акустических данных в проект из файлов (в форматах PC, Baikal, SEG-Y, MiniSEED, WAV);
- вывод сейсмических и акустических данных из проекта в файлы (в форматах PC, WAV);
- 2D-визуализацию многоканальных данных в различном масштабе с позиционированием записей по времени относительно друг-друга;
- выбор данных (их фрагментов) для подачи группы трасс на вход абстрактному обработчику;
- вызов абстрактного обработчика и возврат результата вычислений с его выхода в проект для дальнейшей передачи на вход следующему абстрактному обработчику (либо для записи в файл);
- манипуляцию с атрибутами данных (модификация даты и времени);
- редактирование данных (копирование, удаление, сложение, перемножение, нормализация и т. д.);
- интерактивное измерение значений данных с помощью передвигаемых мерных маркеров.
На уровне программного интерфейса (API) система предоставляет обработчику следующие высокоуровневые функциональные возможности:
- единый интерфейс получения входных данных из любого источника (в условиях априорной неизвестности о структуре вычислительного тракта, в который включается обработчик);
- «прозрачная» (автоматическая) проверка атрибутов входных данных (количество каналов, соответствие частот дискретизации, их времени начала и длительности) и вывод сообщений об ошибках;
- единый гибкий интерфейс создания диалоговых средств ввода параметров алгоритмов, включающий проблемно-ориентированные элементы управления;
- единый интерфейс возврата выходных данных в систему и последующей их визуализации (с возможностью настройки свойств).
Низкоуровневые функции (управление объектами, памятью) реализованы на системном уровне и выполняются «прозрачно» относительно прикладного уровня.
Объём обрабатываемых данных ограничен количеством доступной ОЗУ.
Инструментальные средства создания - Язык Си, Си++, программные библиотеки Qt, gsl, libsndfile, libfftw3.
Частота центрального процессора 1000 МГц, 512 Мб ОЗУ,
ОС Linux, FreeBSD, Windows XP/Vista/7