Heart Sound: приложение для визуализации, воспроизведения и классификации сердечных ритмов, записанных на диктофон (фонокардиограмм)
Видео: https://www.youtube.com/watch?v=MUUdEyRFFeM
При первом открытии exe файла необходимо ввести имя в соответствующее поле и выбрать запись с ФКГ (например, rhythm3.wav из файлов проекта). При повторных запусках приложения ранее просмотренные файлы будут подгружаться автоматически.
Дополнительные возможности приложения:
- пульсометр
Для более точного определения частоты сердечных сокращений необходимо прикладывать микрофон вблизи области трикуспидального клапана.
- быстрое преобразование Фурье для выбранного интервала фонокардиограммы
- полосовой фильтр Баттерворта для отсечки высокочастотных и низкочастотных помех
- визуализация биспектра для выбранного интервала фонокардиограммы
- анализ повторяемости значений в выбранном интервале фонокардиограммы
Функция автоматического распознавания ритмов с отклонениями от нормы находится в разработке (текущий прогресс в ipynb файлах).
План дальнейшей доработки:
- реорганизовать код с использованием подхода объектно-ориентированного программирования (ООП), чтобы в дальнейшем импортировать функции приложения (например, определение частоты сердечных сокращений) в Jupyter-тетрадь PCG_datasets_exploration.ipynb для исследования наборов данных ФКГ (например, построения распределения ЧСС на ФКГ из выбранного датасета);
- реализовать алгоритм сегментации ФКГ (автоматического определения диапазонов времени с первым и вторым тонами сердца);
- в дополнение проводить анализ шумов от лёгких (алгоритмы для отделения тонов сердца и шумов от лёгких, основанные на различном положении их аттракторов в пространстве состояний); по шумам лёгких определять наличие или отсутствие респираторного заболевания;
- по проделанному (в автоматическом режиме) анализу тонов сердца и шумов лёгких генерировать подробный pdf отчёт с Фурье-анализом каждого тона сердца;
- использовать степень коррелированности в алгоритмах;
- визуализировать 3Д-проекцию траекторий в пространстве состояний;
- в дополнение к уже сделанному GUI на основе tkinter реализовать GUI на основе PyQt, а также сделать Web-приложение (например, на основе Django) и приложения для смартфона (например, на основе Swift и Kotlin) с аналогичным функционалом;
- доработать возможность импорта аудио-файлов любого расширения (не только wav файлы);
- создать телеграмм-бота: пользователь отправляет аудио-файл и получает pdf отчёт с проанализированной ФКГ;
- в идеале создать собственный прототип интеллектуального стетоскопа. Анализ ФКГ+ЭКГ+дыхание