Диссертация (1025342), страница 22
Текст из файла (страница 22)
3.5), то для повышения вероятности верногоопределения зубцов, целесообразно выполнить сглаживание кривой. Для даннойзадачи подходит практически любое сглаживание, в том числе вычислительнобыстрыеиэффективныеалгоритмы,например,аппроксимациякривойскользящим окном с усреднением (см. раздел 3.1.2). Важно верно определитьподходящую ширину окна, т.к. если окно будет слишком «узким», тосглаживание кривой будет недостаточным, а если слишком «широким» – можно140потерять важные пики и впадины кривой, а не только сгладить зазубрины. Какправило, в приложениях на практике выбирают ширину окна из 5-10 элементов.Однако если сглаженная кривая будет использоваться и в других методахцифровой обработки сигнала, то целесообразно использование и более сложных свычислительной точки зрения алгоритмов сглаживания, например, при помощисплайнов (см.
подробнее раздел 3.1.2). Таким образом, шаги алгоритмаследующие:1. Сглаживание исходной кривой (в случае ее зазубренности).Теперь для разбивки кривой на сердечные циклы необходимо выделитьточки-кандидаты кривой, которые теоретически могут быть искомыми границамиСЦ. Для этого нужно выбрать точки, в которых убывание значений рядасменяется возрастанием, т.е. точки «впадин». Для выполнения этой задачивыполним второй шаг алгоритма:2. Построимрядзначенийчисленнорассчитаннойпроизводнойдляисследуемой кривой. Производная рассчитывается по формуле центральнойразностной первой производной:(3.103)Точки впадин кривой будут в позициях смены знака производной (с – на +).Поэтому третьим шагом будет3.
Определение точек перемены знака производной с минуса на плюс.Из этих точек выберем те, которые удовлетворяют некому формальномукритерию (пороговому значению), заключающемуся в нахождении точкиперемены знака производной в нижней части полосы разброса значений исходнойкривой. Иначе говоря, значение показания ЛСК в точке-кандидате не должнопревышать некоторого порогового значения относительно минимума ЛСК.Поэтому четвертым шагом является4. Выбор из множества точек перемены знака производной тех, что лежат взаданной полосе разброса значений ЛСК.141В результате имеем набор точек, в которых убывание показаний ЛСКсменяется возрастанием и которые лежат в заданной области значений.
Будемсчитать их кандидатами на становление границами сердечных циклов. Однаковследствие зазубренности исходных кривых подобных точек все еще будетизбыточное количество. Особенно много подобных «кандидатов» будет в областиреальной границы СЦ, т.к. показания в этих областях достаточно сильнофлуктуируют. Поэтому для дальнейшего выбора точек хорошо подходиткластерный анализ. Однако большинство широко используемых методовкластеризации(алгоритмК-средних,нейроннаясетьКохоненаидр.)предполагают априорное знание количества кластеров, на которые необходиморазбить имеющееся множество точек.
В то время как в данной задаче количествоСЦ на заданном пользователем отрезке кривой ЛСК предполагается неизвестным.Соответственно, и количество кластеров, на которые будут разбиваться точкикандидаты, неизвестно. Поэтому реализован модифицированный алгоритмкластерного анализа.5. Кластеризация точек-кандидатов:5.1.Рассчитаем расстояния между точками-кандидатами.5.2.Все расстояния помечаются как нерассмотренные.5.3.Рассчитывается среднее расстояние между точками.5.4.Повторяется следующая последовательность шагов до тех пор, покавсе расстояния между точками в списке расстояний не будутрассмотрены:5.4.1. Поиск среди нерассмотренных расстояний пары точек сминимальным расстоянием между ними.5.4.2.
Пометим данное расстояние как рассмотренное.5.4.3. Поиск во множествах точексписка кластеровточки –левой границы рассматриваемого расстояния (индексаточки – правой границы (индексаданных точек во множествах) и). В случае обнаружениясписка кластеров, индексы142устанавливаются равными номеру кластера, в котором точкабыла найдена. Если точка не найдена во множествах точеккластеров, в индексустанавливается признак отсутствияданной точки в созданных кластерах.5.4.4.
Если найденное минимальное расстояние меньше некоторогокритерия от среднего расстояния между точками (30%)выполняются следующие действия:Еслиобеточкиотсутствуютвомножествахсформированных кластеров, то создается новый кластер,куда добавляются обе данные точки.Если точка – левая граница расстояния найдена, а правая –нет, то правая точка добавляется в кластер.Если правая граница найдена, а левая – нет, то левая точка –граница добавляется в кластер.5.4.5. Если рассматриваемое расстояние достаточно большое, топорядок действий следующий:Еслиобеточкиотсутствуютвомножествахсформированных кластеров, то создается два новых кластера(по одному для левой и правой границы), в каждый изкоторых добавляется соответствующая точка.Если точка – левая граница расстояния найдена, а правая –нет, то правая точка добавляется в новый создаваемыйкластер.Если правая граница найдена, а левая – нет, то левая точка –граница добавляется в новый создаваемый кластер.5.5.Для тех кластеров, в которых оказалось больше одной точки,выполняется выбор одной наиболее подходящей точки.6.
Выполняется перерасчет расстояний между «победителями» алгоритмакластеризации.1437. Проверка возможного «пропуска» на анализируемом участке кривой точек –границ СЦ.Вследствие того, что физиологические данные редко бывают «идеальными»и удобными для обработки, в них часто присутствуют спонтанные всплески ифлуктуации, то вполне вероятной является ситуация пропуска некоторой,например, высоко лежащей вследствие локального всплеска данных, точки привыборе точек – кандидатов границ СЦ. Поэтому при наличии среди отобранныхточек пар, между которыми расстояние существенно превышает перерасчитанноесреднее, целесообразно изменить пороговые критерии изначального отбора точеки повторить процедуру поиска и кластеризации точек для конкретного участка, накоторомвысока(формированиевероятностьколичествапропускакластеров,однойодногоилиилинесколькихбольше,точекзависитотпредположения о количестве пропущенных точек).8.
Для каждого из определенных СЦ (т.е. для каждой пары границ сердечногоцикла) производится по аналогичному алгоритму поиск точек – границсистолической и диастолической фаз внутри участка, соответствующегоконкретному СЦ (расчет производной, поиск подходящих точек изменениязнака производной, кластеризация и выбор одной точки из кластера спроверкой соотношения длительности систолы к длительности диастолы как4/6).9. Поиск возможного пропуска для какого-либо СЦ точки – границы фаз. Вслучае наличия таких ненайденных границ – изменение пороговых критериевотбора точек – кандидатов и повторение процедуры поиска внутри СЦ.10.Нанесение найденных точек на график кривой с цветовой дифференциацией.Пример результата работы описанного алгоритма можно видеть на Рис.
3.31.Черным цветом отмечены точки, указанные пользователем в качестве границучастка кривой, который необходимо разбить на СЦ и его фазы, зеленым –границы СЦ, фиолетовым – граница между систолической фазой СЦ идиастолической.144Рис. 3.31.Пример фазового анализа кривой кровотокаВ программном комплексе имеется функционал разбиения кривой полностьюв ручном режиме, т.е. расстановка границ СЦ и фаз пользователем.Предусмотрена и возможность «исправления» как результатов автоматическогоразбиения, так и ошибки пользователя в ручном режиме расстановки. При этомвозможно удаление неверно определенной точки и установка новой илипропущенной точки. (Точки будут упорядочены, поэтому исправление невернойточки в середине кривой к осложнениям в дальнейшей работе не приведет).Модификация расчета средней скорости кровотокаКроме того, при фазовом анализе ЛСК (с последующим расчетом наборапоказателей кровотока) в программном комплексе реализована модификациярасчета средней скорости за СЦ.
Используемая для периферическогокровотока формула [41]см секгде(3.104)– систолическая скорость кровотока (максимальная скорость),–конечная диастолическая скорость кровотока, не всегда дает хорошие результаты.Для коронарного кровотока уровень средней скорости потокаобычно145получают непосредственно из данных флоуметрии [95].
Однако в данной работезадача вычисления средней скорости кровотока ставится при цифровой обработкеоцифрованного сигнала скорости кровотока.При оцифровке АЦП получаемых данных с датчика скорости кровотока сзаданной частотой дискретизации или последующем «прореживании» временногоряда при обработке возможна потеря пиков, соответствующих глобальныммаксимумам за отдельный СЦ. Ситуация усугубляется тем, что для исследуемыхданных характерны «узкие» пики.
В результате может быть неверно определена. Аналогично – с определением. Поэтому возможным решением даннойпроблемы является вычислением средней скорости кровотока без участиявеличини, путем расчета среднего интегрального значения скорости засердечный цикл:(3.105)где a и b – границы конкретного сердечного цикла. Для вычисленияопределенногоинтеграламожновоспользоватьсялюбымхорошозарекомендовавшим себя численным методом, например, методом трапеций.После определения скоростикаждого i-го из сердечных циклов наисследуемом интервале данных, имеет смысл провести усреднение по i с цельюполучения средней скорости кровотока за n анализируемых СЦ.
Подобный расчет(как среднего интегрального значения) особенно целесообразен ввиду того,что наряду с указанными выше показателями, как правило, при такихисследованиях рассчитывается и отношение систолического (ударного) объемакрови к диастолическому (или к резервному объему), для чего также необходимрасчет интеграла за СЦ.Примеры полученных результатов исследования при помощи описаннойметодики приведены в разделе 4.2.Дополнительно для проверки и уточнения длительности СЦ в исследуемомсигнале можно использовать автокорреляционный анализ.
Автокорреляционный146метод сводится к вычислению значений автокорреляционной функции (далее –АКФ) двух фрагментов доплеровского сигнала, взятых через определенныйпромежуток времени и предположительно относящихся к соседним сердечнымсокращениям.