R-зубец электрокардиограммы как параметр дерева Пифагора

image

Занимаясь изучением алгоритмов обнаружения событий электрокардиограммы для исследовательской части дипломной работы, я обнаружил, что длительность R-R интервала кардиограммы, вычисленная даже с точностью до второго знака после запятой, достаточно точно характеризует сердечнососудистую систему конкретного человека. Поскольку я уже довольно давно увлекаюсь фрактальной геометрией, в моей голове моментально родилась мысль, как можно придать «личных» качеств какому-нибудь простейшему фрактальному объекту.

Так появилось «Электрокардиографическое дерево Пифагора».

Теоретическая часть – 1. Об электрокардиограмме


Графическая запись разности потенциалов, создающихся между различными участками сердечной мышцы в процессе ее возбуждения, называется электрокардиограммой (ЭКГ). Ориентация и величина этих потенциалов сердца на электрокардиограмме выражаются в амплитуде зубцов и их направленности (полярности) по отношению к изоэлектрической линии. И охватывают диапазон 0,15…300 Гц при уровне сигналов 0,3…3 мВ.

Нормальная ЭКГ состоит из зубцов и горизонтально расположенных между ними отрезков (сегментов) линий (Рисунок 1).

Рисунок 1 – Схематическое изображение нормальной электрокардиограммы.
image

В клинической практике применяются отведения от различных участков поверхности тела. Эти отведения называются поверхностными. При регистрации ЭКГ обычно используется 12 общепринятых отведений, шесть от конечностей и шесть грудных. Первые три стандартных отведения были предложены Эйнтховеном. Частота сокращений сердца (ЧСС) определяется по продолжительности одного сердечного цикла, т.е. по продолжительности интервала R – R.

Стандартным и наиболее удобным для определения ЧСС является II-отведение по Эйнтховену, т.к. в нем наибольшую амплитуду имеет именно зубец R.

Практическая часть – 1


Для расчетов будем использовать реальную ЭКГ здорового человека во II-отведении по Эйнтховену, полученную из базы данных физиологических сигналов [1].

Параметры ЭКГ:
• Разрешение АЦП 12 бит;
• Частота семплирования 100 Гц;
• Длительность 10 секунд;

Рисунок 2 – Изображение нормальной ЭКГ из БД.
image

Далее определим QRS-комплекс, чтобы потом из него выделить зубец R. Для этого воспользуемся алгоритмом, основанном на взвешенном и возведенном в квадрат операторе первой производной и на фильтре скользящего среднего [2].

Звучит сложнее, чем выглядит:

image
где x(n) — сигнал ЭКГ, N-ширина окна, в пределах которого разность первого порядка вычисляется, возводится в квадрат и взвешивается с использованием, коэффициента (N-i+1).

Взвешивающий коэффициент линейно спадает, начиная от текущей разности, до разности вычисленной на N отсчетов ранее по времени, что обеспечивает сглаживающий эффект.

Дальнейшее сглаживание выполняется с использованием фильтра скользящего среднего по M точкам:

image

При частоте дискретизации 100Гц ширина окна фильтра устанавливается как M=N=8. Данный алгоритм дает единственный пик для каждого QRS-комплекса и подавляет зубцы P и Т. В результате обработки, получаем следующий вид ЭКГ (Рисунок 3).

Рисунок 3 – Изображение ЭКГ после фильтрации.
image

Поиск зубца R в обработанном сигнале может быть выполнен с помощью простого алгоритма поиска пиков:
1. Сканирование фрагмента сигнала g(n), на котором ожидается наличие пика, и определение максимальной величины gmax.
2. Определение порога, как некоторой доли от максимума, Th=0.8gmax.
3. Для всех g(n)>Th выбираются те отсчеты, для которых соответствующие величины g(n) больше, чем определенное заданное число M предыдущих или последующих отсчетов g(n).

image

Определенный таким образом набор {p} содержит индексы всех найденных в сигнале g(n) пиков.
Пики, вызванные артефактами, можно отбраковать дополнительными условиями, например — минимальный интервал между двумя соседними пиками.

Рисунок 4 – Изображение ЭКГ с отмеченными R-зубцами.
image

Далее стоит сама простая задача — определение средней длины R-R интервала данной ЭКГ. И в этом случае она равна 733мс. «По фану» рассчитаем ЧСС: 60/0.733=81.85 ударов/мин. Теперь у нас есть величина, характеризующая работу сердца конкретного человека.

Небольшое пояснение:
Сердце – не метроном, оно не может выстукивать такт с равными временными промежутками между ударами. R-R интервал для здорового человека колеблется в небольших пределах. Если колебания интервала будут значительными – это свидетельствует о наличии аритмий и других нарушений. Механизм колебаний является очень сложным комплексом процессов, связанным с электрической проводимостью конкретного сердца.

Используя величину среднего R-R интервала в качестве параметра при построении дерева Пифагора можно придать ему «неповторимые» («личные») черты.

Теоретическая часть – 2. О фракталах


Фракталами называются геометрические объекты: линии, поверхности, пространственные тела, имеющие сильно изрезанную форму и обладающие свойством самоподобия. Основоположник теории фракталов франко-американский математик Бенуа Мандельброт образовал термин фрактал от латинского причастия fractus. Соответствующий глагол frangere переводится, как ломать, разламывать, т.е. создавать фрагменты неправильной формы. Самоподобие, предопределяет масштабную инвариантность (скейлинг) основных геометрических особенностей фрактального объекта, их неизменность при изменении масштаба. Повторяемость изрезанности линий фрактальных объектов может быть полной (в этом случае говорят о регулярных фракталах), либо может наблюдаться некоторый элемент случайности (такие фракталы называют случайными). Структура случайных фракталов на малых масштабах не является точно идентичной всему объекту, но их статистические характеристики совпадают.

Дерево Пифагора — разновидность геометрического регулярного фрактала, основанная на фигуре, известной как «Пифагоровы штаны» [3].

Принцип построения геометрического фрактала — рекурсия.

Практическая часть – 2


Алгоритм построения дерева Пифагора:
1) Строим вертикальный отрезок;
2) Из верхнего конца этого отрезка рекурсивно строим еще 2 отрезка меньшей длины под углом 90° друг к другу;
3) Вызываем функцию построения двух последующих отрезков для каждой ветви дерева;

Функция построения дерева Пифагора на языке С.

void Draw(double x, double y, double L, double a) {          
  if(L > max) {
     L*=0.7;
     moveto(x,y);
     lineto((int)(x+L*cos(a)),(int)(y-L*sin(a)));
     x=x+L*cos(a);
     y=y-L*sin(a);
    Draw(x,y,L,a+Pi/n);
    Draw(x,y,L,a-Pi/m); 
  }
}

Рисунок 5 – дерево Пифагора для ЭКГ при R-R: 733ms.

image

Единственное, что осталось изменить — это в качестве переменной L использовать в программе вычисленную длину среднего R-R интервала ЭКГ.

Таким образом можно получить «личное» дерево Пифагора, которое будет «дышать», в зависимости от физической нагрузки, а длина ветвей и их закрученность — «максимально точно описывать» вашу личность.

image

image

Список литературы


1. Исследовательский ресурс сложных физиологических сигналов: physionet.org;
2. Рангайян Р.М. Анализ биомедицинских сигналов. Практический подход / Пер. с англ. Под ред. А.П. Немирко. – М.: Физматлит, 2010. – 220 с. – ISBN 978-5-9221-0730-3;
3. ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D0%9F%D0%B8%D1%84%D0%B0%D0%B3%D0%BE%D1%80%D0%B0
Поделиться публикацией

Комментарии 30

    +2
    А что оно показывает? Я вижу только элементарную закономерность — чем чаще бьется сердце, тем гуще дерево. Было бы интереснее, если бы на фрактал влияло несколько независимых переменных.
      0
      Все верно, тут можно наращивать параметров сколько душе угодно! Но и есть особенность, что для людей с одинаковым пульсом — деревья буду — разные.
        0
        Идея в том, что ЭКГ, как длинный временной ряд, можно представить в компактном виде, сохраняя особенности самой ЭКГ. В данном случае — R-R интервалов.
        +1
        для построения «разных» деревьев у вас меняется только один параметр, «величина среднего R-R интервала».
        так каким образом для людей с одинаковым средним пульсом получатся разные деревья?
        также не понятно, каким именно способом из «среднего R-R интервала» можно восстановить оригинальный «длинный временной ряд»?
          0
          Оригинальный временной ряд восстановить не возможно. И это не архивация :) это визуализация.
          У людей с одинаковым целочисленным пульсом, различные длительности R-R интервалов. Тем более вероятность совпадения длительностей с точностью до десятых — крайне мала. Да деревья будут похожи, но не одинаковы. Для увеличения различий можно ввести дополнительные параметры. Например менять угол между ветвями.
          0
          Можно поточнее пояснить. R-R интервал — это грубо говоря «один цикл сердечной активности». Дано: 0.953мс на один удар сердца. В минуте 60 секунд, соответственно чтобы посчитать количество ударов в минуту, надо 60/0.953 = 62.95 уд/минуту. Откуда взялось данное вычисление «0.953*6*13=74,334»? У меня в голове когнитивный диссонанс моих познаний из второго класса и уроков математики.
            0
            Да, все верно, это я хотел сделать поправочный коэффициент к точности, ведь за 10 сек было полных 13 ударов, а значит пульс ближе к 78 уд/мин, чем к 63… А ЧСС, действительно = 60/R-R. Подскажите, в чем я напортачил?)
              0
              Благодарю, нашел и исправил ошибку!
              +1
              Тэг «DIY» — лишний.
                0
                Почему? Можете все расчеты повторить сами) Или я не так понимаю смысл слова DIY — do it yourself?
                  +1
                  Я имел ввиду, хаб, конечно. Тэги никто не читает. DIY можно перевести как «смастерил сам», к коду это не относится. Загуглите, посмотрите другие статьи в хабе.
              0
              Автор, случайно, не на кафедре мат статистики ВМиК МГУ учится?
                0
                Нет, я по образованию — электронщик :)
                  0
                  Коллега справа от меня мат стат закончил, говорит примерно про это была его дипломная работа) знакомый до боли список литературы)
                    0
                    Было бы интересно пообщаться! )
                0
                Теперь чисто медицинский/практический вопрос. Что это дает при практическом применении?
                У ЭКГ есть четкая задача — диагностика проблем в сердце.
                Представление в классическом виде универсально по сути и позволяет без больших проблем оценивать состояние сердца у любого человека, у любой группы и так далее.

                Что даст такое фрактальное представление?

                Или это просто наука ради науки? :-) Тогда ладно :-)
                  0
                  Практическое применение возможно только в эстетическом плане. :)
                  Можно представить прибор — типа напульсника с экраном, отображающим «живое» дерево Пифагора, в зависимости от ритма сердца.
                  ЭКГ гараздо информативнее и несет в себе не только ту информацию, которую может извлечь из неё кардиолог зрительно.
                  Тут-то и пригодятся фрактальные методы анализа, но применяются они напрямую к числовому ряду самой ЭКГ, что и было темой моей дипломной работы.
                  В статье я больший упор сделал на выделение R-зубца, чем на построение фрактала.
                  Дерево Пифагора — наглядное красиво-необычное представление изменчивости индивидуального ритма сердца.
                  Было-бы интересно, если кто-нибудь сделает более удачную графическую оболочку, а то я не владею такими навыками..) Тогда, можно и кол-во параметров увеличить.
                    +1
                    Эстетическое наслаждение тоже хорошо, и сердцу приятно :-)))

                    Но ответ породил еще подвопрос: какую информацию еще несет ЭКГ которую не может увидеть кардиолог?
                      0
                      Эта информация, как раз заложена в нерегулярности ритма сердца — флуктуации R-R интервалов. Эти флуктуации носят хаотический характер. Например у человека с аритмией — флуктуации будут значительные и кардиолог их диагностирует. Но если взять «здорового» человека у которого развивающееся нарушение еще не различимо визуально на кардиограмме, то на помощь приходят фрактальные методы анализа. Также с помощью этих методов можно прогнозировать будущие нарушения…
                      К тому же: т.к. кардиограмма является — следствием электрических процессов в сердце, на самой линии ЭКГ присутствует информация, воспринимаемая как шум, и от нее стараются избавиться фильтрацией. Но этот шум — тоже отражает «некие» электрические процессы в сердце, связанные проводимостью, изучение которых может пролить свет на причину сердечных заболеваний (некоторых).
                      Но это всё носит теоретический характер, для подтверждения нужны клинические исследования.
                      В дипломной работе, я проверял возможность диагностики аритмий с помощью фрактальных методов анализа. И нужно сказать результат был положительный.
                        0
                        Хм… интересно.
                        Конечно есть подозрение что с «шумами» бороться конечно будет очень не просто. По сути электрические импульсы порождают и другие мышцы… да и не только мышцы.

                        Но в принципе думаю интересная штука бы была при любом раскладе, а если бы удалось несколько автоматизировать процесс дешифровки ЭКГ это было бы совсем хорошо, в том числе и врачам. Это терапевты-кардиологи ЭКГ читают с листа, а все остальные спецы разве что инфаркт грубый найдут и то хорошо, да и то не все, а иногда надо бы…

                        Так что выскажу пожелание продолжить ваши изыскания и после диплома, найти себе заинтересованного товарища кардиолога и совместно с ним проверить эту тему на предмет реализации :-), глядишь и измените что то к лучшему в нашей медицине :-)
                          0
                          Благодарю! Посмотрим, как оно сложится. Тут голым энтузиазмом не обойтись :)
                      +1
                      Работа очень интересная. Отдельное спасибо за описание алгоритма детектирования R-пика.
                      Не интересовались вопросами дальнейшей обработки кардиоинтервалограммы? Тема ВСР (вариабельность сердечного ритма) довольно обширна, много людей в этой области работают. В первую очередь вспоминается Баевский Р.М. (Институт медико-биологических проблем).
                      Основная цель и практическое применение анализа ВСР — оценка функционального состояния человека и его резервов, оценка уровня стресса, как физиологического, так и психологического, риска заболеваний (не обязательно сердечно-сосудистых) и.т.п. Причем прогноз на длительных промежутках времени (космонавты, подводники).
                      Применение фрактальной математики для анализа ВСР пока еще не очень распространено, но работы по этой теме встречаются.
                      Сейчас все больше уклоняются в сторону хаотической (нелинейной) динамики, синергетики, вейвлет-анализа.
                        0
                        Вообще мне эта тема интересна, но направление моей деятельности на работе не связана с физиологией человека. Если у вас есть какие-то конкретные предложения, я с готовностью их рассмотрю.
                          0
                          Отписал Вам в личку. Кстати, если кто-то из присутствующих тоже интересуется этой темой — напишите мне, буду благодарен.
                        0
                        изменчивость индивидуального ритма сердца

                        Не понимаю, как тут она отражена?
                        Вы же дерево рисуете по средней длине R-R.
                        Если б каждый уровень дерева зависил от каждого последующего (или предыдущего) пика…
                          0
                          Имелось ввиду, что дерево будет «дышать», если произвести запись изменчивости дерева на достаточно длинной записи ЭКГ с плавающим временным окном в 10 сек.
                      +1
                      Спасибо автору за сеанс ностальгии (учился на биоинженера, и как раз с обработкой данных Холтеровских мониторов приходилось сталкиваться).

                      Считаю, что практические возможности методы не дооценены, а дело вот в чем. Существуют данные, и существует их представление (согласен, капитанское утверждение). Вопрос представления данных намного шире, чем эстетика, удобство, и другие довольно-таки субъективные категории. На хабре была хорошая статья про инфографику, и один из примеров там: когда на карту города нанесли в виде точек очаги заболеваний (вроде там шла речь о чуме, дело было в средние века) — то сразу увидели, что они кучкуются вдоль водоема, что позволило выявить механизм распространения заразы. Понимаете, о чем я?

                      Представление данных позволяет выйти на качественно иной уровень их анализа. И здесь есть несколько уровней, условно:
                      1. Сырые данны. Например несколько листов данных о R-R интервалах. Это можно пролистать, но в «оперативную память» столько не помещается, и в итоге увидеть какие-либо закономерности невозможно.
                      2. Таблицы — разбив данные по каким-то группам, выводя средние и пр. мы значительно уменьшили объем. Табличка теперь занимает половину листа, и что-то по ней можно увидеть.
                      3. Графики, диаграммы — позволяют меньше нагружать внимание человека, задействовать иные зоны мозга (связанные с восприятием визуальной информации, цветов и пр.). Понятно, что с каждым уровнем мы скрываем все больше деталей, но возростает ширина охвата, так сказать.
                      4. Специализированные графики — в вашем случае, например та же скатерограмма. Графики строятся сразу по нескольким величинам, и мы рассматривая их словно бы погружаемся в реальную систему. Помню исследование интересное, в области социологии, где объективные величины, характеризующие взаимодействие участников группы (высчитываемые по куче методик, ну фактически это анкетирование) были превращены в диаграмму, и там прям видно, вот точки распределены по разным сторонам, а вот они собрались в кучу (коллектив перешел в стадию объединения).
                      5. А вот тут самое интересное. Попытаться задействовать еще более глубинные механизмы восприятия человека. Я глубоко убежден (и в этом не оригинален), что «это красиво» имеет под собой математическую основу, т.е. нам визуально нравится та геометрия, в которой проявлены определенные закономерности. Нужно лишь правильно построить эту геометрию, выразить исследуемые параметры, важные для здоровья, в параметрах геометрии, важных для ощущения гармонии. Вы смотрите на фрактал (либо иную картинку), и это самые первый взгляд на здоровье сердца, чисто по общим оущениям симметричности, регулярности на разных масштабах, однородности, и пр. Если что-то цепляет взгляд — дальше спускаемся на предыдущие уровни представления информации. В общем, тема большая, могу много примеров еще привести, но думаю саму идею вы поняли.
                        +1
                        Спасибо за такой объемный комментарий! Мне даже самому стало более понятно, что я сделал!
                          0
                          Вы сделали хороший первый шаг, после которого главное не останавливаться)
                          Соединить точную науку с вопросом эстетики восприятия, сделать хотя бы небольшой шаг в научном понимании таких вещей как красота и гармония — это сложнейшая, и очень важная задача. Мы, кому интересен данный подход, можем сотрудничать, пишите в личку. В частности, у меня одна из задумок-разработок примерно похожа по смыслу (только там не фракталы, а фигуры Лиссажу, а предмет исследования не R-R интервалы, а музыка).

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                      Самое читаемое