Програмний додаток для візуалізації медичних показників за ресурсом PhysioNet
Анотація: Розглядається проектування, розробка та результати роботи над програмним додатком, який працює з банком даних PhysioNet. За його допомогою здійснюється зв'язок з ресурсом та є можливість візуалізації, зміни та аналізу даних в режимі онлайн/оффлайн.
Бібліографічний опис статті:
Виталий Солодкий. Програмний додаток для візуалізації медичних показників за ресурсом PhysioNet//Наука онлайн: Міжнародний електронний науковий журнал - 2019. - №6. - https://nauka-online.com/publications/information-technology/2019/6/programnij-dodatok-dlya-vizualizatsiyi-medichnih-pokaznikiv-za-resursom-physionet/
Інформаційні технології
УДК 612.087
Солодкий Віталій Петрович
студент
кафедра біомедичної кібернетики
Національного технічного університету України
«Київський політехнічний інститут імені Ігоря Сікорського»
Solodkyi Vitalii
Student
Department of Biomedical Cybernetics of
National Technical University of Ukraine
“Igor Sikorsky Kyiv Polytechnic Institute”
ПРОГРАМНИЙ ДОДАТОК ДЛЯ ВІЗУАЛІЗАЦІЇ МЕДИЧНИХ ПОКАЗНИКІВ ЗА РЕСУРСОМ PHYSIONET
SYSTEM FOR THE VISUALIZATION OF MEDICAL INDICATORS WITH THE PHYSIONET RESOURCE
Анотація. Розглядається проектування, розробка та результати роботи над програмним додатком, який працює з банком даних PhysioNet. За його допомогою здійснюється зв’язок з ресурсом та є можливість візуалізації, зміни та аналізу даних в режимі онлайн/оффлайн.
Ключові слова: медичні дані, PhysioNet, wfdb, python.
Summary. Design, development and results of work on a software application that works with the PhysioNet data bank is considered. It connects to the resource and provides the ability to visualize, modify and analyze data online / offline.
Key words: medical data, PhysioNet, wfdb, python.
Вступ. PhysioNet пропонує вільний доступ через Інтернет, до великих колекцій записаних фізіологічних сигналів і відповідного програмного забезпечення з відкритим вихідним кодом. Сайт PhysioNet є державною службою дослідницького ресурсу PhysioNet для комплексних фізіологічних сигналів, що фінансується Національним інститутом загальних медичних наук (NIGMS) і Національним інститутом біоінженерії (NIBIB) під номером NIR 2R01GM104987-09 [1; 2].
Ресурс PhysioNet [3], створений у 1999 році, призначений для стимулювання поточних досліджень і нових досліджень у вивченні складних біомедичних і фізіологічних сигналів.
Задачі, які повинен виконувати додаток:
- Залежно від вибору користувача скачувати файли даних з ресурсу; PhysiоNet за наявністю інтернет зв’язку;
- Надавати змогу користувачу вибирати необхідні, для аналізу, файли в системі;
- Відкривати та візуалізувати їх;
- Давати змогу користувачу масштабувати та виділяти необхідні частини графіку;
- Зберігати потрібні частини графіків в форматі .png, для наступної роботи.
Проектування системи
В рамках даного етапу потрібно здійснити наступні кроки:
- Оцінку результатів проведеного початкового аналізу і виявлених обмежень;
- Пошук критичних ділянок системи;
- Формування остаточної архітектури створюваної системи;
- Аналіз необхідності використання програмних модулів або готових рішень на стороні;
- Проектування основних елементів продукту – моделі процесів і коду;
- Вибір середовища програмування і інструментів розробки;
- Затвердження інтерфейсу програми, включаючи елементи графічного відображення даних.
За попереднім аналізом було перевірено існуючі прототипи зарубіжних розробників [4; 5; 6; 7]. Результатами яких було виявлено критичні ділянки продукту, розроблена блок-схема та обрані ресурси, для його створення.
Система має декілька критичних місць, серед яких:
- Перевірка наявності інтернет зв’язку;
- Робота з правильним типом даних.
На основі аналізу було обрано 3 сторонні бібліотеки, для розробки додатку. Бібліотека, для UI інтерфейсу – PyQT п’ятої версії. Бібліотека, для візуалізації даних – matplotlib. Бібліотека, для роботи з даними в форматі .edf та .csv розроблена ресурсом PhysioNet – wfdb.
Блок-схема роботи додатку наведений у схемі нижче, рис. 1. Схема наведена в нотаціях універсальної мови моделювання UML.
Рис. 1. Блок-схема роботи продукту
Джерело: розробка автора
На основі аналізу було обрано мову програмування Python та середовище Jupiter Notebook.
Загальний інтерфейс програми наведена макеті, рис. 2.
Рис. 2. Макет графічного вікна
Джерело: розробка автора
Створення програмного додатку
Етап створення додатку проходив в середовищі Jupiter Notebook за допомогою мови програмування Python версії 3. Основні бібліотеки, які були імпортовані:
- Wfdb – для роботами з файловими форматами .edf та .csv;
- Matplotlib – для візуалізації та побудови графіків дата сетів;
- PyQT5 – для розробки UI інтерфейсу;
- Requests – для зв’язку онлайн з ресурсом PhysioNet;
- backends.backend_qt5agg – для зв’язку механізму візуалізації з бібліотекою UI для подальшої роботи та інтеграції.
Методи, які були використані та опис їх функціоналу наведений у таблиці 1.
Таблиця 1
Огляд методів, для розробки
№ | Назва | Призначення |
1 | QApplication | Ініціалізація інтерфейсу |
2 | QFileDialog.getOpenFileName | Створеня файлового діалогу мі користувачем та системою |
3 | PlotCanvas | Створення області, для поля візуалізатора |
4 | NavigationToolbar | Інтегрування панелі інструментів |
5 | FigureCanvas | Ініціалізація графічної області показу |
6 | requests.get(url) | Доступ до файлу з ресурса |
7 | wfdb.rdrecord | Оброблення сигналу з файлу |
8 | wfdb.plot.plot_wfdb | Побудова графіку |
Результати роботи
Результатом розробки є програмний додаток, скрін-шоти якого представлені нижче рис. 3 та рис. 4
Рис. 3. Вікно інтерфейсу
Джерело: розробка автора
На даному рисунку розсташовані основні елементи програми відповідно, до проектного макету. Всі необхідні пункти та об’єкти – враховано.
Рис. 4. Результат візуалізатора
Джерело: розробка автора
Також, наведена use-case діаграма програми, рис. 5.
Рис. 5 Наведена Use–case діаграмма
Джерело: розробка автора
Висновок. Програмний додаток відповідає поставленим проектним вимогам. Може візуалізувати дані записані у файлах двох розширень .edf та .csv. Працює з дата сетами в режимі онлайн/оффлайн. Надає змогу користувачу виділяти та масштабувати свої власні ділянки даних. Зберігати ділянки в форматі .png.
Література
- Geovanini GR, Wang R, Weng J, Tracy R, Jenny NS, Goldberger AL, Costa MD, Liu Y, Libby P R. S. Elevations in neutrophils with obstructive sleep apnea: the multi-ethnic study of atherosclerosis (mesa) / R. S. Geovanini GR, Wang R, Weng J, Tracy R, Jenny NS, Goldberger AL, Costa MD, Liu Y, Libby P // Int J Cardiol. — 2018. — P. 318–323.
- Antink CH, Brüser C L. S. Detection of heart beats in multimodal data: a robust beat-to-beat interval estimation approach / L. S. Antink CH, Brüser C // Physiological Measurement. — 2015. — Vol. 36.
- Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PC, Mark RG, Mietus JE, Moody GB, Peng CK S. H. PhysioBank, physiotoolkit, and physionet: components of a new research resource for complex physiologic signals. / S. H. Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PC, Mark RG, Mietus JE, Moody GB, Peng CK // Circulation. — 2000. — Vol. 101, No. 23. — P. 215–220.
- Antink CH, Bruser C L. S. Computing in cardiology conference / L. S. Antink CH, Bruser C. — State of Missouri : CinC, 2014.
- Chang J P. D. Evolution of extrema features reveals optimal stimuli for biological state transitions / P. D. Chang J // Sci Rep. — 2018. — Vol. 8, No. 1.
- Clifford G, Silva I, Moody B, Li Q, Kella D, Shahin A, Kooistra T, Perry D M. R. Reducing false arrhythmia alarms in the icu / M. R. Clifford G, Silva I, Moody B, Li Q, Kella D, Shahin A, Kooistra T, Perry D. — 2015.
- Clifford GD, Silva I, Moody B, Li Q, Kella D, Chahin A, Kooistra T, Perry D M. R. False alarm reduction in critical care / M. R. Clifford GD, Silva I, Moody B, Li Q, Kella D, Chahin A, Kooistra T, Perry D // Physiol Meas. — 2016. — Vol. 37, No. 8. — P. 5–23.
Коментарі закрито.
To comment on the article - you need to download the candidate degree and / or doctor of Science