Разработка программного инструментария для подготовки статистических выборок данных электрофизиологии желудочно-кишечного тракта
Рассмотрение электрофизиологических методов исследования пищеварительной системы человека. Архитектура программной системы для формирования хранилищ различных данных электрогастрографии и электрогастроэнтерографии для последующей компьютерной обработки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 29.03.2020 |
Размер файла | 336,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http: //www. allbest. ru/
Северный (Арктический) федеральный университет имени М. В. Ломоносова 163002, Архангельск, Россия
Разработка программного инструментария для подготовки статистических выборок данных электрофизиологии желудочно-кишечного тракта
А.И. Попов
E-mail: alenеus@gmаil.com
Аннотация
Актуальным направлением развития электрофизиологических методов исследования пищеварительной системы человека является автоматизация процесса диагностики заболеваний. Соответствующие исследования требуют компьютерного анализа массивов экспериментальных данных. Однако технологические решения для организованного хранения и накопления таких массивов до сих пор отсутствуют. Предложена архитектура программной системы для формирования хранилищ данных электрогастрографии и электрогастроэнтерографии из разнотипных источников и подготовки статистических выборок для последующей компьютерной обработки. Предлагаемая архитектура базируется на шаблоне проектирования Mediating-controller MVC, обеспечивающем высокую степень декомпозиции системы. Разработанная на языке Python 3 система является свободно распространяемой.
Ключевые слова: архитектура программной системы, шаблон проектирования, модель--представление--контроллер, база данных, автоматизация исследований, электрофизиология, желудочно-кишечный тракт.
· Александр Игоревич Попов - Сведения об авторе: канд. техн. наук; Северный (Арктический) федеральный университет имени М. В. Ломоносова, кафедра прикладной информатики. E-mail: alenеus@gmаil.com
Ссылка для цитирования: Попов А. И. Разработка программного инструментария для подготовки статистических выборок данных электрофизиологии желудочно-кишечного тракта // Изв. вузов. Приборостроение. 2019. Т. 62, № 2. С. 185--191.
Annotatіon
Development of software tools for preparation of statistical data samples of electrophysiology of gastrointestinal tract
А. I. Popov
Northern (Arctic) Federal University, 163002, Arkhangelsk, Russia E-mail: alenеus@gmаil.com
Automation of diseases diagnostics is an actual direction of development of electrophysiological studies of human digestive system. The relevant research work needs to include the procedures of computer analysis of experimental data arrays. However, there are no technological solutions for organized storing and accumulation of such arrays. An architecture of software system for formation of data warehouses of electrogastrography and electrogastroenterography from different types of sources and preparation of statistical samples for subsequent computer processing is proposed. The architecture is based on the design pattern of Mediating-controller MVC, which provides a high degree of decomposition of the system. The system developed in Python 3 is freely distributed.
Keywords: software system architecture, design pattern, model-view-controller, database, research automation, electrophysiology, gastro-intestinal tract
Введение
Электрогастрография (ЭГГ) [1--3] и электрогастроэнтерография (ЭГЭГ) [4, 5] -- электрофизиологические методы исследования моторики желудочно-кишечного тракта (ЖКТ). Эти методы основаны на извлечении из электрических сигналов, регистрируемых на поверхности тела, информации о силе, частоте и ритмичности сокращений органов ЖКТ. Эта информация заключена в ряде диагностических показателей [6], вычисляемых с применением методов цифровой обработки сигналов. Несмотря на попытки устанавливать с помощью статистических методов связей различных заболеваний с разрабатываемыми диагностическими показателями [7--9], универсальные технологические решения для накопления экспериментальных данных отсутствуют.
Цель настоящей работы -- усовершенствовать процесс подготовки массивов данных ЭГГ и ЭГЭГ к последующей компьютерной обработке при решении исследовательских задач.
В работе [10] представлен обзор современных публикаций в области компьютеризации электрофизиологических исследований пищеварительной системы. Предложена обобщенная иерархическая модель данных ЭГГ/ЭГЭГ-обследования -- SME-модель. Обследование (examination) состоит из нескольких измерительных сеансов (measurement), содержащих один или несколько сигналов (signal), при этом каждому уровню модели соответствуют наборы описательных атрибутов и вычисляемых параметров. В настоящей работе предложена архитектура программной системы, обеспечивающая формирование из различных источников хранилищ исходных данных ЭГГ и ЭГЭГ, а также представлена свободная программная реализация системы -- EGEGrouper [11].
1. Архитектура системы
Для разделения данных, интерфейса пользователя и управляющей логики широко используются архитектурный шаблон MVC (Model--View--Controller, Модель--Представление--Контроллер) [12] и различные его модификации. Согласно которому в системе выделяются компоненты, отвечающие за бизнес-логику (модель), обеспечение восприятия данных пользователем (представление) и предоставление точек входа для сценариев пользователя (контроллер). Контроллер направляет модели команды пользователя, а обновление отображаемых данных согласуется с их изменениями в модели. Большей независимости модели и представления друг от друга (они не связаны непосредственно) позволяет достичь использование шаблона Mediating-controller MVC, или MVA (Model--View-- Adapter, Модель--Представление--Адаптер) [13, 14]. Здесь связующая роль полностью отводится контроллеру. Строение базовой части системы EGEGrouper соответствует шаблону MVA. Компоненты системы и связи между ними показаны на рис. 1; сплошными стрелками обозначены связи по управлению, пунктирными -- потоки данных.
Рис. 1
В основе системы находится хранилище данных обследований в виде SME-конструкций и данных о принадлежности обследований к некоторым группам.
Модель кроме обеспечения технических операций взаимодействия с хранилищем (создание, открытие, закрытие хранилища и др.) формирует запросы к нему (извлечь результаты обследования, извлечь набор данных обследования, добавить данные обследования в хранилище, создать новую группу, поместить данные обследования в группу и др.). Модель использует инструментарий для работы с тем или иным форматом хранилища, например, библиотеку для взаимодействия с системой управления реляционной базой данных. Также модель может пользоваться средствами отображения объектов в хранимые структуры и наоборот. Модель обладает состоянием, которое, например, изменяется при открывании.
Представление должно обеспечить возможность восприятия пользователем данных определенного типа. Это понимается в широком смысле: представления могут быть предназначены для отображения таблиц, информации об обследованиях, о группе обследований, общей информации о хранилище, сообщений об ошибках или об успешном завершении операций с данными, графиков сигналов и др.
Контроллер играет роль связующего и управляющего звена. Он передает модели команды и данные, поступающие от пользователя, получает данные от модели и передает их соответствующим представлениям для отображения. Происходит валидация команд и данных, проходящих через контроллер.
Модуль „Интерфейс пользователя“ обеспечивает возможность пользователю в широком смысле (человек, программный модуль, отдельная программа), активировать тот или иной сценарий использования системы. Модуль может предоставлять набор команд в интерактивной командной строке, элементы управления в графическом интерфейсе и др. В начале работы системы модуль задает модель и представления, с которыми предстоит работать контроллеру. Набор представлений зависит от типа интерфейса.
Для наполнения хранилища данными из расширяемого набора разнотипных источников используются импортеры. Получив команду о том, что нужно добавить в открытое хранилище данные из некоторого специфического источника, импортер извлекает данные, формируя на выходе список данных обследования в форме SME. Затем импортер дает контроллеру команду о добавлении данных. Импортеры „знают“ о контроллере, а контроллер „не знает“ об импортерах. Следовательно, добавление нового импортера в систему не требует модификации ее базовой части.
Рассмотрим несколько типовых сценариев работы с системой.
1. Пользователю требуется получить информацию об измерительных сеансах, относящихся к некоторому обследованию. Пользователь выполняет соответствующее действие с интерфейсом. Модуль „Интерфейс пользователя“ вызывает соответствующий метод контроллера, контроллер -- метод модели. При этом по цепочке передаются аргументы команды (в данном случае -- номер требуемого обследования). Модель направляет запрос к хранилищу и возвращает данные. Контроллер получает данные и передает их соответствующему представлению для отображения SME-конструкции.
2. Пользователь российской системы для проведения ЭГЭГ „Гастроскан-ГЭМ“ [5] имеет файл с данными, экспортированными из базы „Гастроскана“, и желает пополнить этими данными SME-хранилище. После действия пользователя с интерфейсом импортер получает команду, в которой содержится имя файла с данными. Импортер выполняет разбор файла, после чего возвращает список обследований и дает контроллеру команду о добавлении данных. Далее контроллер работает с моделью и представлениями обычным образом.
3. С целью проверки гипотезы о различии средних значений некоторого диагностического показателя при помощи EGEGrouper сформированы две группы данных обследования. Требуется написать скрипт (см. листинг), в котором будут обработаны эти группы. Порядок действий в скрипте: импорт модели из библиотеки EGEGrouper; открытие хранилища и двукратный вызов метода, возвращающего список объектов обследований группы с указанным идентификатором; расчет значений показателя; проверка гипотезы.
Программная реализация. EGEGrouper реализован как Python3-пакет [15] и распространяется по лицензии GNU GPLv3.
Определен базовый класс для моделей, содержащий ряд абстрактных методов. Эти методы необходимо определять в дочерних классах -- так, базовый класс задает требования к функционалу конкретных реализаций модели. В текущей версии EGEGrouper реализована модель для СУБД SQLite 3. Добавление новой модели сводится к наследованию от базового класса и реализации абстрактных методов.
Во время работы модели могут возникать исключения, например, желаемые действия противоречат состоянию модели (извлечение данных из закрытого хранилища). В этом случае контроллер формирует в соответствующем представлении сообщение об ошибке. Для сокращения однотипного кода, обрабатывающего исключения, в контроллере реализован декоратор [15] @model_can_grumble (модель может ворчать). В модели также используются декораторы для сопоставления состояния с желаемым действием и формирования исключений. Например, @do_if_storage_open (делать, если хранилище открыто).
Определен базовый класс для импортеров. В нем реализованы методы взаимодействия с контроллером, общие для всех импортеров, а также содержится один абстрактный метод для извлечения данных из указанного источника. Добавление нового импортера сводится к наследованию от базового класса и реализации этого метода в дочернем классе. Реализованы импортеры для базы данных „Гастроскан-ГЭМ“, SME-хранилищ и JSON-файла [16] с результатами обследования.
Пакет также содержит модули для отображения SME-объектов в экземпляры результатов обследований в Sqlite3, JSON и обратно.
Управление перечнем групп данных обследований включает в себя их добавление, удаление и редактирование. Для каждой группы можно задать название и описание. В одной группе может быть несколько массивов данных обследований, а данные обследования могут находиться в разных группах. Данные обследования не перемещаются при добавлении их в группу -- в хранилище записывается только информация о том, что некоторый массив данных обследования следует считать находящимся в некоторой группе. Соответственно при удалении группы данные не теряются -- они либо остаются в других группах, либо попадают в список негруппированных данных обследований.
Для получения описательной статистики по группам имеется соответствующий модуль, представляющий собой надстройку над базовой MVC-конструкцией. Модуль предоставляет информацию о сбалансированности групп по полу и возрасту пациентов, а также о распределении результатов обследований по диагнозам.
EGEGrouper можно использовать как программное обеспечение для конечного пользователя.
После установки пользователю доступны интерактивный интерфейс командной строки (igrouper) и графический интерфейс, построенный на базе стандартного пакета Python 3 -- Tkinter [15] (tkgrouper, рис. 2).
Рис. 2
Заключение
В различных областях прикладных исследований увеличение количества экспериментальных данных является условием повышения достоверности научных результатов. Однако это требует построения упорядоченных, систематизированных, общедоступных и совместно пополняемых хранилищ данных. Для исследования электрофизиологических методов диагностики пищеварительной системы человека эта задача возникает в настоящее время. Об этом, в частности, свидетельствует тот факт, что при отсутствии хранилищ, обладающих указанными свойствами, различные группы исследователей предпринимают попытки не только установления новых статистических связей между нарушениями в работе обследуемых органов и значениями диагностических показателей, но и автоматизации диагностики заболеваний. Общая проблема большинства этих исследований -- недостаток данных. При этом общие данные различными группами исследователей не используются.
В настоящей работе предлагается архитектура свободно распространяемой программной системы, предназначенной для управления базами данных обследований электрогастрографии и электрогастроэнтерографии -- EGEGrouper. Эта система призвана заполнить существующий технологический пробел между этапами регистрации отдельных сигналов и статистического анализа массивов измерительных данных.
электрофизиологический пищеварительный программный хранилище
Список литературы
1. Yin J., Chen J. D. Z. Electrogastrography: Methodology, Validation and Applications // J. of Neurogastroenterology and Motility. 2013. Vol. 19, N 1. P. 5--17. DOI: 10.5056/jnm.2013.19.1.5.
2. Riezzo G., Russo F., Indrio F. Electrogastrography in adults and children: the strength, pitfalls, and clinical significance of the cutaneous recording of the gastric electrical activity // BioMed research international. 2013. P. 1--14. DOI: 10.1155/2013/282757.
3. Arbizu R. A., Rodriguez L. Electrogastrography, Breath Tests, Ultrasonography, Transit Tests, and SmartPill // Pediatric Neurogastroenterology. Springer, 2017. P. 169--179.
4. Kosenko P. M., Vavrinchuk S. A. Electrogastroenterography in patients with complicated peptic ulcer. Yelm, USA: Science Book Publishing House, 2013. 164 p.
5. Электрогастроэнтерография: исследование электрической активности желудка и кишечника
6. Попов А. И., Свиньин С. Ф. Применение финитных базисных сплайнов при восстановлении сигналов электрогастроэнтерографии // Тр. СПИИРАН. 2017. № 50. C. 93--111.
7. Sharma P., Makharia G., Yadav R., Dwivedi S. N., Deepak K. K. Gastric myoelectrical activity in patients with inflammatory bowel disease // J. of Smooth Muscle Research. 2015. Vol. 51. P. 50--57. DOI: 10.1540/jsmr.51.50.
8. Kayar Y., Danaliouglu A., Al Kafee A., Okkesim, S., Senturk H. Gastric myoelectrical activity abnormalities of electrogastrography in patients with functional dyspepsia // Turk J. Gastroenterol. 2016. Vol. 27. P. 415--420. DOI: 0.5152/tjg.2016.16281.
9. Kim H. Y., Park S. J., Kim Y. H. Clinical Application of Electrogastrography in Patients with Stomach Cancer Who Undergo Distal Gastrectomy // J. of gastric cancer. 2014. Vol. 14, N 1. P. 47--53. DOI: 10.5230/jgc.2014.14.1.47.
10. Попов А. И. Обобщенная концептуальная модель данных электрофизиологических исследований желудочно-кишечного тракта // Изв. вузов. Приборостроение. 2018. Т. 61, № 1. С. 84--89.
11. EGEGrouper [Электронный ресурс]
12. MVC [Электронный ресурс]
13. Kurniawan A. K. A., Hendradjaya B. Integration of metadata generator to Model View Adapter (MVA) architecture pattern // Advanced Informatics: Concept, Theory and Application (ICAICTA). Intern. Conf. of. IEEE. 2014. P. 117--122. DOI: 10.1109/ICAICTA.2014.7005926.
14. Foster E. C., Shripad G. Web-Accessible Databases // Database Systems. Apress, Berkeley, CA. 2016. P. 391--401.
15. Python 3 [Электронный ресурс]
16. Introducing JSON [Электронный ресурс]
Размещено на Allbest.ru
...Подобные документы
Концепции хранилищ данных для анализа и их составляющие: интеграции и согласования данных из различных источников, разделения наборов данных для систем обработки транзакций и поддержки принятия решений. Архитектура баз для хранилищ и витрины данных.
реферат [1,3 M], добавлен 25.03.2013Расмотрение системы распределенной обработки данных подсистемы "Ведомственная статистика" АИС ФССП России. Основные формы отчётности, производимые подсистемой. Форматы передачи данных. Окно выгрузки шаблона отчетной формы. Тестирование системы приложения.
отчет по практике [879,5 K], добавлен 21.11.2014Разработка системы для хранения и обработки статистических данных с результатами тестов, создание модулей их прохождения, назначения и просмотра. Требования к системе, общая архитектура, инструменты и методы реализации. Разработка web-интерфейсов.
дипломная работа [1,3 M], добавлен 28.01.2014Рассмотрение OLAP-средств: классификация витрин и хранилищ информации, понятие куба данных. Архитектура системы поддержки принятия решений. Программная реализация системы "Abitura". Создание Web-отчета с использованием технологий Reporting Services.
курсовая работа [2,7 M], добавлен 05.12.2012Изучение существующих методов и программного обеспечения для извлечения числовых данных из графической информации. Программное обеспечение "graphtrace", его структура и методы обработки данных. Использование этой системы для данных различного типа.
дипломная работа [3,9 M], добавлен 06.03.2013Типы оборудования, относящиеся к компьютерной технике. Состав системного блока и периферийные устройства. Классификация программного обеспечения. Требования, предъявляемые к системам управления базами данных. Задачи и этапы проектирования баз данных.
контрольная работа [4,1 M], добавлен 18.02.2014Обзор существующих решений на основе открытых данных. Технологии обработки данных и методы их визуализации. Социальные сети для извлечения данных. Ограничение географической локации. Выбор набора и формат хранения открытых данных, архитектура системы.
курсовая работа [129,5 K], добавлен 09.06.2017Создание системы предобработки данных; разработка системы классификации на базе методов и алгоритмов машинного обучения, их реализация в программной системе. Предобработка информации, инструкция пользователя, система классификации, машинный эксперимент.
дипломная работа [917,1 K], добавлен 31.01.2015Система компьютерной обработки данных для сбора, систематизации, статистической обработки, анализа результатов учебного процесса за четверть, полугодие, год. Модуль обработки данных о качестве обучения, итогов успеваемости и данных о движении учащихся.
реферат [22,5 K], добавлен 05.02.2011Определение многомерной модели данных для удовлетворения основных информационных потребностей предприятия. Экстракция, загрузка и перенос данных из различных источников данных. Разработка собственных ETL–систем. Оптимизация работы хранилища данных.
презентация [9,1 M], добавлен 25.09.2013Описание состава реляционной базы данных как системы связанной информации, сохраняемой в двумерных таблицах. Основные функции CMS и изучение структуры сервера MySQL. Разработка системы выборок данных по товарам для интернет-магазина, таблицы покупателей.
курсовая работа [2,0 M], добавлен 21.04.2015Создание web-сайта для сбора статистических данных, прогнозирования возможностей системы общего образования и анализа демографического состояния региона в динамике. Проектирование базы данных, разработка компонентов, алгоритмов и программного обеспечения.
дипломная работа [3,1 M], добавлен 15.04.2013Разработка структурной схемы системы. Выбор и обоснование не указанных в задании элементов. Анализ временных параметров системы. Разработка файла конфигурации для системы сбора-обработки данных на языке AHDL. Моделирование цифровой части системы.
курсовая работа [1,1 M], добавлен 26.10.2014Определение иерархии системы управления и контроля, а также структуры АСКУЭ. Разработка программного модуля обработки данных счётчиков электроэнергии. Определение технико-экономической актуальности, необходимости и возможности модернизации системы.
дипломная работа [1,0 M], добавлен 20.05.2017Основные понятия базы данных. Разработка сложной формы для обработки данных. Модели организации данных. Архитектура Microsoft Access. Реляционные связи между таблицами баз данных. Проектирование базы данных. Модификация данных с помощью запросов действий.
лабораторная работа [345,5 K], добавлен 20.12.2011Появление системы управления базами данных. Этапы проектирования базы данных "Строительная фирма". Инфологическая и даталогическая модель данных. Требования к информационной и программной совместимости для работы с базой данных "Строительная фирма".
курсовая работа [93,0 K], добавлен 31.03.2010Анализ методов и средств выявления мнений пользователей социальных сетей. Обзор средств мониторинга и анализа, подбор необходимого программного обеспечения и технических средств. Разработка архитектуры базы данных, реализация программных модулей.
дипломная работа [3,7 M], добавлен 19.01.2017Выполнение операций, хранения, редактирования, систематизации данных. Рассмотрение подсистем разрабатываемой системы управления базами данных продуктового магазина. Разработка алгоритма функционирования системы и приложения для работы с базой данных.
курсовая работа [399,1 K], добавлен 26.08.2019Разработка компьютерной системы для считывания данных по последовательному порту и вывода обработанной информации на LCD индикатор. Выбор и обоснование режимов работы узлов микроконтроллера. Проектирование программного обеспечения микропроцессора.
курсовая работа [380,5 K], добавлен 14.10.2010Изучение функций автоматизированных банков данных. Общие принципы описания, хранения и манипулирования данными. Анализ требований к базам данных. Файл-серверная и клиент-серверная архитектура БД. Преимущества введения системы управления базами данных.
презентация [91,5 K], добавлен 13.08.2013