В данной работе создана программа, которая на вход принимает значения биологических сигналов электрокардиограммы и далее выполняет поэтапно шаги:
- Фильтрация биологических сигналов с целью избавления от лишних шумов;
- Применение алгоритма Пана-Томпкинса для поиска QRS - комплексов;
- Поиск R-R интервалов в электрокардиограмме;
- Вычисление функциональных показателей для анализа электрокардиограммы;
- Вынос заключения об электрокардиограмме посредством анализа функциональных показателей.
Данная программа может быть использована для функционального анализа для биологических сигналов ЭКГ.
Биологические сигналы получены с сайта physionet:
Гольдбергер А., Амарал Л., Гласс Л., Хаусдорф Ю., Иванов П.С., Марк Р., ... и Стэнли Х. ( 2000). PhysioBank, PhysioToolkit и PhysioNet: компоненты нового исследовательского ресурса для сложных физиологических сигналов. Тираж [Онлайн]. 101 (23), с. E215 – e220.
из Базы Данных. Эта база данных была создана и предоставлена Татьяной Луговой, которая использовала ее в своей магистерской работе:
Луговая Т.С. Биометрическая идентификация человека на основе электрокардиограммы. [Магистерская работа] Факультет вычислительных технологий и информатики, Электротехнический университет "ЛЭТИ", Санкт-Петербург, Российская Федерация; Июнь 2005 г.
- wfdb - для получения биологических сигналов;
- PyQt5 - для создания UI;
- pyqtgraph - для добавления графиков в UI;
- pylab - для дебага программы;
- qdarkstyle - для стилизирования UI.
Для инсталляции программы нужно склонировать себе локально проект – в терминале ввести строку:
$ git clone https://github.com/krukada/app_Analysis_ECG.git
Для воспроизведения программы понадобиться Python 3.6 или выше. Для запуска приложения нужно в корне проекта ввести строку в терминале:
$ python3 -m app
При запуске программы появится первое пользовательское окно – Analysis ECG , в котором нужно выбрать пациента для диагностики ЭКГ. Если выбор не будет совершен, по умолчанию, в программе выбирается первый пациент, он также всегда выбран при запуске программы. Чтобы выбрать другого пациента нужно нажать на виджет раскрывающегося списка и нажать в списке на другого пациента. Следующим шагом следует нажать на кнопку – «Применить».
После предыдущего нажатия произойдет открытие второго окна – Full Analysis ECG. Во втором окне приведен полный функциональный анализ ЭКГ выбранного пользователя. Второе пользовательское окно состоит из трех информативных блоков, в первом блоке располагается информация о пользователе (возраст, пол) и дата проведения ЭКГ, во втором блоке расположена полученная информация функциональных показателей для ЭКГ, во третьем блоке показаны графики: График входных биологических сигналов ЭКГ пациента, график значений сигналов после фильтрации – после избавления шумов на ЭКГ, график QRS - комплексов с выделенными «звездами» R - зубцами. Пользовательское окно дополняются кнопкой – «Получить заключение полного анализа ЭКГ». При нажатии на кнопку откроется третье окно – Total Full Analysis ECG.
Третье пользовательское окно – Total Full Analysis ECG, открытое после нажатия на кнопку – «Получить заключение полного анализа ЭКГ» во втором окне покажет заключение и возможные заболевания по найденным функциональным показателям. Заключение анализа ЭКГ можно проскроллить, чтобы увидеть оставшуюся информацию.