Моделирование динамики возбуждения миокарда...

151
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Томский политехнический университет На правах рукописи Андреев Сергей Юрьевич МОДЕЛИРОВАНИЕ ДИНАМИКИ ВОЗБУЖДЕНИЯ ПРЕДСЕРДИЙ В ЗАДАЧАХ ВОССТАНОВЛЕНИЯ РИТМА СЕРДЦА Специальность 05.13.18: “Математическое моделирование, численные методы и комплексы программДиссертация на соискание ученой степени кандидата технических наук. Научный руководитель: Доктор технических наук, профессор В.А. Кочегуров Томск - 2006

Transcript of Моделирование динамики возбуждения миокарда...

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Томский политехнический университет

На правах рукописи

Андреев Сергей Юрьевич

МОДЕЛИРОВАНИЕ ДИНАМИКИ ВОЗБУЖДЕНИЯ ПРЕДСЕРДИЙ В

ЗАДАЧАХ ВОССТАНОВЛЕНИЯ РИТМА СЕРДЦА

Специальность 05.13.18: “Математическое моделирование, численные

методы и комплексы программ”

Диссертация на соискание ученой степени кандидата технических наук.

Научный руководитель:

Доктор технических наук, профессор

В.А. Кочегуров

Томск - 2006

2

Содержание

Стр

Введение…………...…………………………………………………………………5

Глава 1. Обзор технологии построения карт возбуждения предсердий и методов

моделирования динамики возбуждения предсердий, выбор метода

моделирования………………………..…………………………………………….11

1.1. Свойства моделируемой среды………...……………………………………..11

1.2. Виды аритмий, механизмы их запуска и поддержания, методы

лечения…………………………………………………………………….…….16

1.3. Методология эндокардиального картирования…...………………………....21

1.4. Обзор моделей динамики возбуждения миокарда………………...………...25

1.4.1. Монодоменная и бидоменная модель миокарда……...…………………...25

1.4.2. Модели на основе уравнений реакции диффузии для возбудимых

сред………………………………………………………………………………….29

1.4.3. Модель клеточных автоматов…...………………………………………….32

1.5. Выбор метода моделирования………………………………..………………36

1.6. Выводы…………………………………………………………..…….……….38

Глава 2. Разработка модели динамики возбуждения предсердий на основе

клеточных автоматов………………………………………………………………39

2.1. Свойства и виды моделей клеточных автоматов……...…………………….39

2.2. Особенности применения клеточных автоматов для моделирования

процессов возбуждения предсердий………………………………………………42

2.3. Входные данные клеточной модели процессов возбуждения

предсердий…...……………………………………………………………………..47

2.4. Дискретизация пространства возбуждения предсердий……………………48

2.4.1. Виды решеток клеточных автоматов……………………………………….48

2.4.2. Модификация метода Шепарда, для реконструкции эндокардиальной

поверхности предсердий…………………………………………………………...50

3

2.4.3. Расчет решетки клеточного автомата...……………….……………………57

2.5 Правила клеточного автомата при моделировании динамики возбуждения

предсердий……………………….…………………………………………………63

2.5.1. Состояния клеточного автомата…………………………………………….63

2.5.2. Правила смены состояний клеточного автомата…………………………..65

2.5.3. Трехмерная реализация клеточного автомата……...……………………...69

2.6. Применение клеточных автоматов для моделирования неоднородной

среды……………………………………………………………………….………..71

2.6.1. Расчет времени перехода клеток в состояние возбуждения…...……..…..71

2.6.2. Расчет длительности рефрактерного периода…………...…….……….….74

2.6.3. Методы ввода в модель источников возбуждения………………………...76

2.6.4. Порядок расчета карты возбуждения………………………...…………….78

2.7. Выводы……………...……………………………………………………….....81

Глава 3. Программная реализация математической модели динамики

возбуждения предсердий…………………………………………………………..83

3.1. Структура программного обеспечения………………………………...…….83

3.2. Класс клетки……………………………………………………………………86

3.3. Класс контейнер………………………………………………………………..91

3.4. Алгоритм распознавания источников возбуждения……...………………..100

3.5. Реализация параллельных вычислений……………………………......……102

3.6. Интерфейс пользователя программы визуализирующей результаты

вычислений………………………………………………………………………..113

3.7. Выводы………..……………………………………………………………...118

Глава 4. Результаты моделирования динамики возбуждения

предсердий………………...………………………………………………………120

4.1. Примеры моделирования динамики возбуждения предсердий……...…....121

4.2. Проверка модели динамики возбуждения предсердий на

точность……………………………………………………………………………126

4

4.3. Зависимость ошибки моделирования от размеров ячеек клеточного

автомата……………………………………………………………………………130

4.4. Выводы……...…………………………………………………………..…….134

Заключение……………………………………………………………………..…135

Литература……………………………………………………………………..….139

Приложение 1…………………………………………………………………..…148

Приложение 2…………………………………………………………………..…150

5

Введение

В современной кардиологии, среди сердечнососудистых заболеваний

требующих хирургического вмешательств, в отдельный класс выделяют

нарушения ритма сердца.

Интервенционная аритмология насчитывает более 30 лет с того момента,

когда впервые была выполнена операция на открытом сердце. За этот период

были успешно проведены тысячи операций у больных с различными

аритмиями. Наиболее крупными вехами в развитии и становлении

интервенционной аритмологии являются.

1. Регистрация биопотенциалов в ходе операции на открытом сердце

[1].

2. Внедрение в практику эндокардиальных способов регистрации

биопотенциалов сердца. Разработка и внедрение в клиническую

практику внутрисердечного электрофизиологического метода

исследования: диагностическая электрическая стимуляция сердца,

эндокардиальное и эпикардиальное картирование распрострнения

возбуждения в миокарде [2-5].

3. Внедрение в практику новых методов деструкции аритмогенных зон

и дополнительных путей проведения: криодеструкция, фулгурация,

радиочастотная аблация, лазерная фотокоагуляция, химическая

аблация и другие [6].

4. Интенсивное развитие методов диагностики и лечения аритмий

привело к тому, что в начале 90-х годов стали развиваться методы

эндокардиального картирования полостей сердца. Эти технологии

позволяют определить путь движения возбуждения по стенкам

предсердий, на основе чего устанавливается вид аритмии и схема

катетерной аблации.

При проведении оперативного вмешательства врачу необходимо точно

знать какого результата он должен достигнуть своими действиями. Решая

6

поставленные перед ним задачи, он опирается на данные, которые были

получены в ходе проведения предварительного электрофизиологического

исследования. Используя свои знания и опыт, врач принимает решение по

выбору метода и тактики дальнейшего проводимого им лечения. Однако

необходимо отметить, что при этом основное внимание уделяется виду

аритмии.

Безусловно, графическое представление хода распространения импульса

по миокарду позволяет более точно понять механизм возникновения аритмии и

предугадать возможные изменения после проведения вмешательства. На

текущий момент уже созданы программно аппаратные комплексы,

позволяющие реконструировать анатомическое строение предсердий и

динамику их возбуждения.

1. CARTO – BiosenseWebster (США);

2. EnSite - Endocardial Solutions (США);

3. Биоток-3D − научно-производственное объединение "БИОТОК"

(Томск) [7-10];

4. Элкарт - II Навигатор – МПК Электропульс (Томск).

По сути, это модели, которые способны показать существующую

динамику возбуждения, но не обладают функцией прогностической оценки

результата оперативного вмешательства. Тем не менее, в некоторых ситуациях

одной визуализации недостаточно.

В связи с этим широкое распространение стали получать методы

моделирования распространения возбуждения по миокарду, в том числе и

после проведения аблации.

Современные работы по созданию моделей динамики возбуждения, как

сердца в целом, так и отдельных его отделов, ориентированы либо на научное

исследование объекта (сердца), либо на моделирование свойств активной среды

и отдельных характерных для нее эффектов [11 - 13]. В клинике эти технологии

не используются из-за их сложности, высокой затратной стоимости создания

индивидуальной модели, а использование готовых, шаблонных решений не

7

представляется возможным из-за уникальности каждого отдельно взятого

случая.

На основе изложенных фактов, Томским НИИ кардиологии ТНЦ СО

РАМН (Баталов Р.Е., Попов С.В.), была поставлена задача:

Создать трехмерную математическую модель миокарда предсердий для

оценки распространения волны возбуждения после проведения оперативного

вмешательства. Моделирование процесса должно быть основано на данных,

которые могут быть получены в ходе операции. Другими словами, модель

должна опираться на существующие технологии эндокардиального

картирования и визуализации полостей сердца. В такой постановке задача

решается впервые и безусловно является актуальной.

В первой главе рассмотрены свойства моделируемой среды, механизмы

запуска и поддержания аритмий, существующие технологии их диагностики и

лечения. Выполнен критический анализ существующих методов

моделирования динамики возбуждения, на основе которого сформулированы

основные требования к модели. Обоснован выбор метода клеточного автомата

как основы разрабатываемой модели.

Во второй главе построена математическая модель динамики возбуждения

предсердий. Решены следующие задачи:

1. Дискретизации пространства возбуждения путем построения

регулярной сетки, на которой моделируется динамика возбуждения

предсердий. Для этого произведена аппроксимация поверхности

предсердий, заданной в виде треугольной нерегулярной сетки,

объемными элементарными частицами.

2. Построения клеточного автомата, моделирующего динамику

возбуждения предсердий. При этом определен набор его состояний,

последовательность и условия перехода из одного состояния в другое,

сформулированы правила взаимодействия ячеек друг с другом.

3. Адаптации модели к реальным условиям, для чего разработан метод

расчета интервалов задержки при передаче возбуждения между

8

клетками, а также метод интерполяции времени возбуждения и

длительности рефрактерного периода применительно ко всем

элементам ячеек. Расчет производился на основе значений, заданных

для отдельных элементов клеточного автомата.

В третьей главе на основе предложенной модели разработан алгоритм

построения карт распространения возбуждения по предсердиям с учетом

проводимых аблационных воздействий. Рассмотрена возможность реализации

параллельных вычислений на основе разработанных алгоритмов.

В четвертой главе приведены результаты моделирования.

Научная новизна.

1. Метод реконструкции эндокардиальной поверхности, который

использует множество известных точек с заданными

пространственными координатами. Для восстановления замкнутых

оболочек предложено модифицировать метод Шепарда, который

традиционно используется для восстановления ландшафтных

поверхностей.

2. Метод настройки модели клеточных автоматов, использующий

данные электрофизиологических исследований. Он включает в себя

поиск и введение клеток пейсмейкеров, сопоставление времени

передачи возбуждения между парами ячеек, а также задает каждой

ячейке длительность рефрактерного периода.

Практическая ценность работы.

1. Модель позволяет производить проверку результата оперативного

вмешательства и оценивать его эффективность еще до проведения

воздействия. Эта процедура может проводиться интраоперационно,

после реконструкции анатомии предсердий и карты их возбуждения,

опираясь на полученные данные.

2. Возможность применения модели для поиска новых, более

эффективных схем катетерной аблации, с дальнейшей их проверкой на

данных, собранных в клинике. Цель – создание методологической

9

базы стандартных схем вмешательства при определенных типах

аритмий.

3. Обучение медицинского персонала вне операционной на основе

данных, полученных в ходе проведения операций. Модель наглядно

демонстрирует законы распространения возбуждения в предсердиях и

взаимодействие возбуждения с непроводящими участками, позволяет

обучаемому изменять параметры и наблюдать при этом ответную

реакцию.

Реализация и внедрение результатов.

Метод реконструкции эндокардиальной поверхности предсердий внедрен в

МПК «Электропульс».

Программный продукт для моделирования результатов процедуры

радиочастотной аблации внедрен в «ГУ Научно-исследовательский институт

кардиологии Томского научного центра РАМН, отделение хирургического

лечения сложных нарушений ритма сердца и электростимуляции».

Апробация работы.

Основные результаты диссертации опубликованы в 8 работах и

представлялись автором на следующих конференциях и симпозиумах:

1. Научно – технической конференции «Теоретические и прикладные

вопросы современных информационных технологий». Улан – Уде,

2004.

2. Научно – практической конференции «Молодежь Забайкалья

творчество и прогресс». Чита, 2003.

3. Школе – семинаре «Современные методы интервенционной

аритмологии». Томск, 2004.

4. Российском национальном конгрессе кардиологов «Российская

кардиология: от центра к регионам». Томск, 2004.

5. ESC Congress Munich, 2004.

6. Первом всероссийском съезде аритмологов. Москва, 2005.

10

7. Научно-практической конференции «Компьютерная медицина».

Харьков, 2005.

Результаты полученные в работе опубликованы в работах [79 - 86].

Работа поддержана грантом министерства образования Российской

Федерации по программе «Развитие научного потенциала высшей школы».

Подпрограмма 3 – «Исследования в области инфраструктуры научно-

технической и инновационной деятельности высшей школы и развитие ее

кадрового потенциала», раздел 3 – «Развитие научно-исследовательской работы

молодых преподавателей и научных сотрудников, аспирантов и студентов».

11

Глава 1. Обзор технологии построения карт возбуждения предсердий и

методов моделирования динамики возбуждения предсердий (выбор метода

моделирования)

1.1. Свойства моделируемой среды

Основной субъединицей, составляющей миокард, является кардиомиоцит -

высокодифференцированная клетка, обладающая свойствами автоматизма,

возбудимости, сократимости. В состав клетки входит оболочка, которая

является билипидной мембраной и имеет в своей структуре специфичные

элементы, необходимые для ее функционирования: мембранные каналы,

насосы, рецепторы.

Каналы представляют собой молекулы белка, которые пронизывают

клеточную мембрану. Мембранный белок формирует пору для прохождения

ионов через липидный барьер, имеет узкую полость, которая является

селективным фильтром для ионов различного размера. Канал содержит

открывающиеся и закрывающиеся ворота, управляемые электротонически с

использованием потенциал чувствительного сенсора канала, или связыванием

белка. При активации либо мембранным потенциалом, либо заряженным

белком канал пропускает ионы, которые поступают через него в направлении

электрохимического градиента. Из открытого состояния канал может

деактивироваться и перейти в закрытое состояние, после чего он может быть

снова открыт. Частые переходы канала из открытого в закрытое состояние

происходят во время одного и того же стимула. Кроме того, открытый канал

может инактивироваться. В этом состоянии он пребывает до тех пор, пока не

восстановится, что требует изменения трансмембранного потенциала. В

инактивированное состояние канал может перейти и из закрытого состояния.

Все переходы осуществляются при содействии канальных, управляющих

белков.

12

Перенос ионов против концентрационного градиента осуществляется за

счет работы ионных насосов, которые также являются многокомпонентными

белками, но в отличие от канала − энергетически зависимы.

Распространяющийся по сердцу электрический импульс обеспечивает

свойство возбудимости, запускает каждый цикл сокращений (свойство

сократимости) и называется потенциалом действия. Он представляет собой

волну кратковременной деполяризации, во время которой внутриклеточный

потенциал на короткое время становится положительным, а затем возвращается

к своему исходному отрицательному уровню. Изменения нормального

сердечного потенциала действия имеют характерное развитие во времени,

которое подразделяют на несколько фаз: фаза 0 – начальная быстрая

деполяризация мембраны; фаза 1 – быстрая, но неполная реполяризация; фаза 2

– «плато», или продолжительная реполяризация; 3 – конечная быстрая

реполяризация; 4 – период диастолы (Рис. 1.1).

0

-90

-10

-20

-30

-40

-50

-60

-70

-80

10

20

0

1 2

3

4

мВ

tмСек300200100 400

Быстрая деполяризация в начале потенциала действия вызывается мощным

входящим потоком ионов натрия, поступающих внутрь клетки (соответственно

градиенту их электрохимического потенциала) через открытые натриевые

Рис. 1.1. Схематическое изображение мембранного потенциала действия

13

каналы. Скорость регенеративной деполяризации (или нарастания потенциала

действия) зависит от силы входящего натриевого тока, которая в свою очередь,

определяется такими факторами, как величина градиента электрохимического

потенциала ионов натрия и количества доступных натриевых каналов.

Потенциалы действия быстро распространяются по сердцу. Скорость

распространения потенциала действия в клетках с одинаковой пропускной

способностью мембраны и характеристиками осевого сопротивления

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

протекающего во время фазы нарастания потенциала действия. Это связано с

тем, что локальные токи, проходящие через клетки непосредственно перед

потенциалом действия, имеют большую величину при более быстром

нарастании потенциала, поэтому мембранный потенциал в этих клетках раньше

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

протекают через мембрану и сразу после прохождения распространяющегося

потенциала действия, но они уже не способны возбудить мембрану в виду ее

рефрактерности. Продолжительный рефрактерный период после возбуждения

клеток обусловлен большой длительностью потенциала действия и вольтажной

зависимостью механизма ворот натриевых каналов. За фазой нарастания

потенциала действия следует период, от сотни до нескольких сотен

миллисекунд, в течение которого регенеративный ответ на повторный стимул

отсутствует. Это так называемый абсолютный или эффективный рефрактерный

период. Обычно рефрактерный период охватывает фазу 1, когда в

кардиомиоцит устремляется «быстрый» кальциевый ток, и фазу плато

потенциала действия, в которую натриевые каналы инактивируются и остаются

закрытыми. При этом внутрь идет «медленный» кальциевый ток, именно в этот

период осуществляется механическое сокращение кардиомиоцита.

В ходе реполяризации потенциала действия (фаза 3), в которую из клетки

быстро выходят ионы калия, инактивация натриевых каналов постепенно

устраняется, так что доля каналов способных снова активироваться постоянно

14

возрастает. Следовательно, с помощью стимула в начале реполяризации можно

вызвать лишь небольшой входящий поток ионов натрия, однако, по мере

продолжения реполяризации потенциала действия такие потоки будут

увеличиваться. Тем не менее, скорость деполяризации, а значит, и скорость

распространения потенциалов действия, значительно снижены и

нормализуются только после полной реполяризации, перед которой в фазу 4 из

клетки против градиента концентрации энергозависимыми насосами

выкачиваются ионы натрия, а закачиваются ионы калия в отношении 2/3.

Время, в течение которого стимул способен вызвать такие потенциалы

действия, называется относительным рефрактерным периодом. Если в

последующем клетка вновь не будет возбуждена распространяющимся

импульсом раньше, чем мембранный потенциал достигнет порогового уровня,

то в нем возникнет спонтанный потенциал действия (окончание фазы 4).

Изменение мембранного потенциала во время диастолы называется спонтанной

диастолической деполяризацией. Обуславливая возникновение потенциалов

действия, этот механизм служит основой автоматизма.

Реальный миокард состоит из множества клеток, которые связаны между

собой в сеть. Взаимодействие между ними осуществляется при помощи

щелевых контактов, которые образованы коннексонами. Каждое соединение

включает в себя по шесть белков, образующих коннексон. Движение ионов по

образованным щелям осуществляется практически беспрепятственно.

N.Wiener и A.Rosenblueth одни из первых рассмотрели задачу

моделирования распространения возбуждения в тканях предсердий,

сформулировали основные принципы возникновения спиральных волн и волн

re-entry вокруг круглых препятствий [1]. Они представили миокард как

однородную и изотропную среду. Проводимость такой системы одинакова во

всех точках и не зависит от направления.

В модели Винера − Розенблюта закон распространения импульсов

представляет собой принцип Гюйгенса в его простейшей форме:

15

последовательные фронты волны перпендикулярны воображаемой системе

лучей из натянутых нитей, которые начинаются в возбужденной точке и

огибают все препятствия (рис 1.2).

12

345678

A

1T

2T

R

3T

P

Q

Задний фронт волны рефрактерности — это другая кривая той же формы,

которая следует за передним фронтом волны на некотором расстоянии,

отложенном вдоль этих лучей. В этом случае фронт волны распространяется

только в область, находящуюся в состоянии покоя. Так как лучи совпадают с

натянутыми нитями и скорость распространения постоянна, все точки фронта

волны на каждый момент времени находятся на равном расстоянии

(измеренном вдоль соответствующей натянутой нити) от источника импульсов.

На бесконечной поверхности без отверстий и препятствий передний фронт

волны, распространяющейся из точки раздражения, будет представлять собой

окружность с центром в этой точке, радиус которой с течением времени

увеличивается. В конечной выпуклой области одиночная точка раздражения

тоже даст расширяющийся круговой фронт волны, который исчезает без

отражения, достигнув границы. Если систему представить не в виде плоскости,

а в виде замкнутой оболочки, то возбуждение исчезнет, достигнув встречного

фронта волны.

Так же Винер и Розенблют рассмотрели условия, при которых фронт

Рис. 1.2. Влияние выпуклого препятствия на распространение импульсов в однородной двумерной проводящей системе

16

волны может быть искривлен. Этот эффект достигается при наличии вогнутых

участков границы проводящей среды или, если присутствует непроводящий

участок (рис 1.2). В этом случае в области, ограниченной линиями 1AT и 2AT ,

которые являются касательными, проведенными из точки A к препятствию,

картина останется прежней. Вне этой области форма фронта волны будет

представлять эвольвенту препятствия. Другими словами, если провести из

произвольной точки Ρ на фронте волны касательную к препятствию, сумма

расстояний QPQTAT 22 будет равна радиусу 3AT дуги окружности, которая

образует часть того же самого фронта волны. Эвольвента состоит из двух дуг

окружностей: одной с центром в 1T и другой с центром в 2T . Только в одной

точке на препятствии расстояния до точки А, измеренные нитью, натянутой

через 1T и 2T , совпадут (они равны сумме длины радиуса 1AT и расстояния от 1T ,

до R по границе препятствия). Если расстояние 3AT меньше, чем

соответствующее расстояние до R, то фронт волны пересекает препятствие в

двух точках. Если это расстояние больше, то две дуги эвольвенты фронта

волны пересекаются под некоторым углом, который постепенно возрастает с

увеличением расстояний.

Приведенная аксиоматическая модель Винера − Розенблюта является

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

миокарда, но довольно наглядно представляет основные законы

распространения импульса возбуждения в миокарде, а так же способна

воспроизвести существующие виды аритмий и объяснить механизмы их

запуска.

1.2. Виды аритмий, механизмы их запуска и поддержания, методы

лечения

Все виды аритмии можно разделить на две большие группы [2]. В первую

группу относят аритмии, при которых частота сердечных сокращений ниже

17

нормы – брадиаритмии, или аритмии с редким пульсом, единственным

способом лечения этих аритмий является имплантация искусственного

водителя ритма, поэтому этот вид далее не рассматривается.

Во вторую группу выделяют аритмии с частым пульсом, или тахикардии,

которые в свою очередь по механизму их развития делятся на эктопические и

риентри тахикардии. В развитии эктопических тахикардий основную роль

играет появление в сердце аномального, дополнительного водителя ритма. В

развитии риентри тахикардий главную роль играет появление круга, по

которому непрерывно двигается возбуждение. В образовании круга могут

участвовать, как естественные анатомические препятствия (верхняя и нижняя

полые вены, кольца клапанов и др.), так и патологические рубцы, возникшие по

тем или иным причинам, а также врожденные аномальные пути проведения.

Необходимо отметить, что круг re-entry может быть, как большим в диаметре

до нескольких сантиметров, так и очень маленьким, для его функционирования

достаточно нескольких десятков клеток. Для развития re-entry необходимы

следующие условия [3].

1. При фиксированной длине пути, например вокруг препятствия,

развитие re-entry возможно, если размеры этого пути позволяют уместиться

длине волны L , определяемой как произведение рефрактерности - R на

скорость проведения - V )/(V)(R)( секммсекммL .

2. Циркуляция возбуждения возможна, если размеры ткани таковы,

что позволяют уместиться в ее пределах длине волны, то есть ткань должна

достигать критической массы.

3. Начало любого вида циркуляции возбуждения возможно лишь при

наличии однонаправленного блока проведения возбуждения.

Одновременное выполнение вышеперечисленных условий обеспечивает

развитие циркуляции возбуждения.

На рисунке 1.3.а представлено распространение волны возбуждения по

мышечному кольцу после инициации возбуждения.

18

1 2 3 4

5 6 7 8

1 2 3 4

5 6 7 8

а.

б.

Черные участки кольца соответствуют ткани, находящейся в рефрактерном

состоянии. Из рисунка видно постепенное распространение волны по кольцу.

Фронты волны возбуждения идут навстречу друг другу – 2, 3, встречаются – 4 и

гаснут вместе с рефрактерностью – 5, 6, 7, после чего восстанавливается

исходное состояние покоя – 8. Установление кругового движения в кольце

возбудимой ткани показано на рисунке 1.3.б. Кольцо стимулируется в его

нижней части и волна распространяется в обоих направлениях. В одном из

направлений волна блокируется, но в другом продолжает распространяться

вдоль кольца. Когда волна пребывает в точку блокирования волны,

рефрактерность этого учстка заканчивается и поэтому волна начинает

циркулировать по кольцу (5 - 10).

В зоне ишемии в результате сложных процессов, обусловленных

отсутствием кислорода и субстратов окисления, происходят неоднородные

нарушения межклеточных связей, что в конечном итоге может образовывать

Рис 1.3. Схема механизма re-entry и возбудимого мостика

19

сложные траектории для распространения возбуждения и формировать

циркуляцию возбуждения. Ключевую роль в этих процессах играет накопление

лизосомальных ферментов, закисление внутриклеточной среды и в результате

наступает разобщение клеток в зоне ишемии. Разобщение клеток происходит

благодаря увеличению сопротивления межклеточных щелевых контактов и,

таким образом, сильно поврежденные клетки полностью изолируют себя от

жизнеспособных волокон, создавая зоны полного или частичного блока

проведения. При этом создаются условия для формирования циркуляции

возбуждения в пределах зоны инфаркта миокарда.

Образование круга re-entry не всегда происходит с наличием

анатомического препятствия. Очень часто замедление проведения одной волны

возбуждения на участке миокарда приводит к тому, что следующий фронт

волны возбуждения, наталкиваясь на его хвост, «рассыпается» на два или один,

что приводит к образованию ротора, который показан на рисунке 1.4.

а. б. в. г.

Фронтволны

Хвостволны

Ротация волны возбуждения описана в различных биологических,

физических и химических системах. Ярким примером такой ротации может

служить реакция Белоусова – Жаботинского [4]. При этой реакции малоновая

кислота обратимо окисляется броматом в присутствии фероина. В ходе реакции

фероин изменяет цвет от красного до голубого и затем опять становится

красным, что позволяет наблюдать за этой реакцией. Место активации реакции

Рис. 1.4. Образование завихрения

20

образует центр ротации волны, которая формирует спираль. Процессы

возникновения роторов в моделируемой среде и их переход во множественные

re-entry, которые характерны для одной из сложно поддающихся лечению

аритмий – фибрилляции предсердий, до сих пор остаются наиболее сложными

для понимания. На сегодняшний день доказано, что для наличия фибрилляции

предсердий необходим своебразный «хаос» циркулирующих волн возбуждения

по предсердиям [5]. Для поддержания стойкой фибрилляции их требуется

минимум три, хотя по данным последних исследований количество их

достигает пяти и семи.

Для прекращения фибрилляции предсердий необходимо прервать

циркулирующие очаги re-entry, блуждающие по предсердиям. Для этого можно

использовать специфические антиаритмические препараты, которые оказывают

влияние на скорость проведения импульса по предсердиям и тем самым

исключают одно из условий поддержания re-entry. Однако, уменьшить до нуля

скорость проведения нельзя, так как заметное снижение скорости может

вызвать остановку автоматической деятельности сердца. Поэтому в настоящее

время разработан ряд операций, при которых исключается другой

немаловажный фактор поддержания re-entry – критическая масса миокарда. Для

этого выполняются изолирующие операции, которые заставляют возбуждение

двигаться по искусственно созданным «коридорам», и исключить возможность

его закручивания с образованием re-entry.

Все подобные операции выполняются эндокардиальным способом, при

котором доступ к сердцу осуществляется через крупные сосуды, для чего по

ним проводятся диагностические электроды и устанавливаются в полостях

сердца в зависимости от решаемой задачи.

Активному воздействию по устранению причин аритмии предшествует

изучение динамики возбуждения миокарда. Для этого производится процедура

построения временной карты возбуждения предсердия, цель которой

21

установить механизм запуска, поддержания существующей аритмии и

определить места воздействия для ее устранения.

1.3. Методология эндокардиального картирования

Для проведения процедуры эндокардиального картирования необходимым

условием является точная локализация электрода. Это необходимо для того,

чтобы произвести привязку электрофизиологических свойств ткани к точке

пространства возбуждения.

Для локализации электрода существует три метода:

1. локализация при помощи рентгеноскопического изображения;

2. локализация электрода при помощи магнитного поля;

3. локализация электрода на основе градиента потециала.

Первый способ обладает несколькими существенными недостатками: он не

несет информации о глубине нахождения электрода, а также подвергает

медицинский персонал длительному воздействию рентгеновских лучей.

Локализация электрода при помощи магнитного поля используется в

системе CARTO - Biosense Webster [6]. Использует пассивный датчик

магнитного поля, интегрированный с катетером, что позволяет одновременно

получать координаты расположения электрода и записывать с него

электрограммы. Под пациентом располагаются три генератора, каждый из

которых создает электромагнитное поле, обладающее заданной частотной

характеристикой. Таким образом «кодируется» картируемое пространство

вокруг грудной клетки пациента. Этот метод имеет существенные недостатки:

требует дорогостоящих расходных материалов – катетеров с интегрированным

датчиком магнитного поля, а также этот метод чувствителен к наличию

металлических объектов вблизи пациента (операционный стол).

Для локализации электрода на основе градиента потенциала используются

три пары электродов, которые накладываются на пациента в трех, взаимно

22

перпендикулярных плоскостях и задают систему координат zyx ,, . Между

каждой парой электродов течет переменный ток, частота которого

индивидуальна для каждой из трех пар. Протекающий ток создает падение

напряжения на участке между электродами, измеряя которое можно установить

положение катетера относительно каждой из осей. Поэтому регистрируется

разность потенциалов между двумя точками внутри пространства,

ограниченного электродами, выделяется составляющая от каждой пары

активных электродов, измеряются амплитуды полученных сигналов [7]. На

основе полученных амплитуд вычисляется положение электрода.

Разность потенциалов регистрируется при помощи электродов, которые

также служат для проведения аблации и записи сигнала электрической

активности миокарда. Как показано на рисунке 1.5 сигнал с датчиков поступает

в блок вычисления пространственных координат и одновременно на вход

усилителя биопотенциалов. После усиления и оцифровки сигнал и

вычисленные координаты через интерфейсную плату поступают в ЭВМ.

Рис. 1.5. Состав аппаратного комплекса Елкарт II Навигатор

23

Для вычисления пространственных координат электродов необходимо,

чтобы один из них постоянно находился в одном и том же месте (референтный

электрод) и его расположение принимается за начало координат, картирующий

электрод перемещается. Для калибровки используются электроды,

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

Второй и третий способ, позволяет получить координаты электрода

одновременно с записью электрограмм с внутренней поверхности камер

сердца. Основным достоинством последнего метода является возможность

использовать для работы стандартный электрод, что существенно снижает

стоимость проводимой операции.

Для того чтобы осуществлять навигацию внутри сердца без использования

рентгеновской установки, достаточно только реконструировать анатомические

структуры сердца. Но кроме этого возможно построение карты локальных

электрофизиологических свойств и их наложение на анатомическую структуру

сердца – построение электрофизиологических карт.

Процедура картирования включает последовательное перемещение

картирующего электрода по эндокарду и требует регистрации координат для

некоторого множества точек и записи электрограммы в каждой. На основе

полученного набора координат производится реконструкция эндокардиальной

поверхности. На основе записанных электрограмм определяется время

локального возбуждения для каждой полученной точки с известными

координатами. Под временем локального возбуждения понимается время,

прошедшее с момента возбуждения участка миокарда, над которым расположен

референтный электрод, до момента, когда фиксируется возбуждение в точке

установки картирующего электрода. Как правило, референтный электрод

находится в коронарном синусе. На рисунке 1.6 представлен пример

возможного расположения электродов при электрофизиологических

исследованиях.

24

ЭППВ

ЭППНЭПЖ

ЭПГ

ЭКОС

Для точек, расположенных на реконструированной поверхности, у

которых время локального возбуждения оказалось не заданным, производится

интерполирование значений времени на основе точек с известными

временными параметрами. Затем полученные результаты кодируются цветом и

накладываются на трехмерную модель.

Несмотря на то, что внедрение технологий построения пространственных

карт позволило современной аритмологии выйти на новый качественный

уровень в лечении аритмий, метод имеет существенный недостаток. Катетерное

картирование использует перемещаемый катетер, и уточнение модели

происходит последовательно от удара сердца к удару, что накладывает два

требования на процесс картирования:

1 - стабильный ритм;

2 - фиксированные референтные точки.

Эти ограничения не позволяют рассматривать нестационарную динамику

возбуждения предсердий, поскольку технология предполагает повторяемость

процесса с каждым ударом сердца. Следует отметить, что существуют

технологии, лишенные этого недостатка, однако они связаны с использованием

Рис. 1.6. Положение эндокардиальных электродов в сердце при проведении электрофизиологического исследования

25

специального «баллонного» электрода, который имеет большое количество

полюсов и способен за одно сокращения регистрировать электрограммы со

всей поверхности исследуемой камеры сердца. Однако его широкое

применение затруднено из-за высокой стоимости.

Представленная технология способна выявить и наглядно представить

динамику возбуждения предсердий, но отображая ход волны возбуждения по

эндокардиальной поверхности, она не может предсказать динамику

возбуждения при изменении свойств миокарда. Тем не менее, существуют

методы математического описания динамики возбуждения миокарда, которые

способны решить эту задачу.

1.4. Обзор моделей динамики возбуждения миокарда

В решении задачи моделирования распространения возбуждения в

миокарде выделяются два подхода: макроскопический и микроскопический.

Первый подход оперирует макро структурами, представляющими некоторые

группы клеток. Модели, рассматривающие миокард на микроскопическом

уровне, оперирует отдельными клетками. В последнее время наибольшее

развитие получили модели, работающие на макро уровне, среди которых

выделяются три:

бидоменная модель;

модели на основе уравнения реакции диффузии для возбудимых

сред;

модели клеточных автоматов.

1.4.1. Монодоменная и бидоменная модель миокарда

Сегодня наибольшее распространение получила бидоменная модель,

которой предшествовал монодоменный подход. Эти модели описывают

26

электрическое поведение клеточной мембраны и распространение потенциала

действия по миокарду. Оба подхода используют представление сердечной

мышцы в виде двух взаимосвязанных пространств — внутриклеточного и

внеклеточного [8 – 13].

Для монодоменной модели характерно представление внеклеточного

пространства как эквипотенциального и заземленного. Все внутриклеточное

пространство разделено на одинаковые области — домены, и каждая область

соединена с окружающими ее доменами через сопротивления iR , как показано

на рисунке 1.7. По аналогии с моделируемой средой сопротивления iR –

моделируют щелевые контакты, которыми клетки миокарда соединены друг с

другом, а узлы графа — домены моделируют работу клеток.

iR

iR

iR

iR

i

e

iI

iI

iI

iIiI

iR

e

ee

i

ii

В отличие от монодоменного подхода бидоменный формализм не

игнорирует внеклеточное пространство, учитывает проводимость и токи,

протекающие в нем. Состояние бидоменной системы описывается

внутриклеточным i и внеклеточным e потенциалами, которые показаны на

рисунке 1.8, как функциями на некоторой пространственной области .

Рис. 1.7. Граф для монодоменной модели

27

iR

eR

iR

iR

iReR

eR

eReR

iR

iI

eI

iI eI

iI

eI

iI eI

eI

iI

e

e

e

ei

i i

i

Искомой переменной для этих моделей служит трансмембранный

потенциал, который определяется как разность потенциалов eimV em , для

монодомена 0e .

Внутриклеточный ток mniI , протекающий через щелевые контакты, между

узлами n и m , определяется как:

(1.1)

где ),( mniR – сопротивление на участке между узлами n и m , для

внутриклеточного тока.

Внеклеточный ток mneI , протекающий через щелевые контакты, между

узлами n и m , определяется из выражения:

(1.2)

где ),( mneR – сопротивление на участке между узлами n и m для

внеклеточного тока.

Рис. 1.8. Граф для бидоменной модели

,),( mn

i

mi

nimn

i RI

,),( mn

e

me

nemn

e R

VVI

28

Внутриклеточные токи, поступающие в узел n из соседних узлов через

щелевые контакты, определяются из выражения:

(1.3)

где – узлы, связанные ребрами с n .

Внеклеточный ток рассчитывается аналогично:

(1.4)

Бидоменная модель накладывает еще одно требование, при котором токи,

поступающие в узел n через щелевые контакты, должны покидать его как

внеклеточные:

(1.5)

Кроме этого мембранный ток узла ntransI определяется как сумма ионного и

емкостного токов:

(1.6)

где nmemC – мембранная емкость в микро фарадах,

nS – площадь поверхности мембраны в квадратных миллиметрах,

nionI – плотность мембранного тока, в микроамперах на сантиметр

квадратный.

Алгоритм вычисления ионного тока ),( tVIion зависит от конкретной модели

клетки. Существует значительное количество таких моделей, от простых и

менее точных [14] до более сложных Luo-Rudy phase I [15], Luo-Rudy phase II

[16, 17]. В основе все эти модели описывают свойства различных ионных

каналов в рамках формализма Ходжкина-Хаксли [18]. С математической точки

зрения — это системы обыкновенных дифференциальных уравнений первой

степени с коэффициентами, зависящими от значения трансмембранного

потенциала.

,),(

an

nai

ni II

.),(

an

nae

ne II

.0 ne

ni II

,ni

nionn

nmemn

memntrans IIS

dt

dVCI

29

Бидоменная модель широко используется для моделирования динамики

возбуждения предсердий. В качестве примера можно привести модель

возбуждения миокарда [19] и модель возбуждения желудочков [20].

1.4.2. Модели на основе уравнений реакции диффузии для возбудимых сред

Описание активных сред также возможно на основе дифференциальных

уравнениях в частных производными типа реакция — диффузия. Уравнения

имеют две части, где первая часть — диффузионная составляющая

характеризует связь между участками среды, а динамика отдельного элемента

среды описывается реакционной составляющей. Реакционная составляющая это

функция, которая описывает динамику компонент, которые характеризуют

среду. Уравнение реакции диффузии используется для описания автоволновых

процессов независимо от их физической сущности, но по отношению к

миокарду в качестве компонент выступают концентрации ионов и

трансмембранные токи.

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

двухкомпонентная система реакции – диффузии [21].

(1.7)

Первое уравнение характеризует быструю переменную — изменение во

времени автоволны u , а второе — медленную переменную v — изменение во

времени активной среды. Уравнения ),( vuF и ),( vuG являются реакционными

членами. Для волн возбуждения в миокарде u – потенциал мембраны, а v это

проводимость медленной компоненты ионного тока, 1D и 2D – коэффициенты

диффузии, – оператор Лапласа.

).,(

);,(t

2

1

vuFEDt

vuGgDu

30

Также как и для моделей, основанных на бидоменном формализме, в

моделях типа реакция – диффузия пространство возбуждения делится на

участки, для каждого из которых записывается система уравнений вида (1.7).

Решение этих уравнений определяет динамику каждого участка. Существует

три вида активных сред: бистабильные, возбудимые и автоколебательные [22].

Миокард это возбудимая среда, потому для моделирования динамики

возбуждения используются уравнения типа реакция − диффузия для

возбудимых сред. Этот вид уравнений характеризуется тем, что система имеет

одно устойчивое состояние и находится в нем до тех пор, пока не выйдет из

него под действием внешнего воздействия. Для системы, в зависимости от

значений коэффициентов уравнений существует свой порог возбуждения.

После того как система была выведена из равновесия, она возвращается к нему

по определенной траектории. На рисунке 1.9 представлен фазовый портрет

точечной, возбудимой системы. На рисунке, точка – О соответствует

устойчивому состоянию, А − точка начала возбуждения, ABCDO − траектория

эволюции системы.

u

Рис. 1.9. Фазовый портрет точечной возбудимой системы

31

Если коэффициенты диффузии отличны от нуля, соседние участки

являются связанными друг с другом. Значения параметров одной системы

передаются с поправкой на коэффициент диффузии соседним областям, выводя

их из состояния равновесия, если сама система совершает цикл возбуждения.

Процесс возбуждения соседних клеток будет запущен, если значение

диффузионной части уравнения начинает превышать порог возбуждения, после

чего ячейка начинает эволюционировать, пока не вернется в исходное

состояние.

Уравнения типа реакция – диффузия широко используются в задачах

моделирования распространения возбуждения. В качестве примера можно

привести работу по моделированию развития электрической турбулентности в

предсердиях – Ф. Ланг, М. Шальдах [23]. Другим примером могут служить

работы по моделированию прохождения возбуждения через систему

препятствий [24, 25].

В последней за основу была принята модель Алиева – Панфилова [26]:

(1.8)

В уравнении (1.8), функция )1)(( uauku определяет быстрый процесс –

инициацию потенциала действия, динамика фазы восстановления определяется

функцией 2

10

u

. Часть параметров модели не имеют четкого

физиологического смысла, однако позволяют воспроизвести форму потенциала

действия кардиомиоцита.

Также подобный класс задач решает модель ФитцХью-Нагумо [27]:

)).1()((

;)1)((

2

10

aukuut

uuaukuut

u

32

,)(

;)3

(3

1

ut

uu

ut

u (1.9)

модель Баркли [28]:

(1.10)

В этих моделях ba , , , , , − постоянные, при этом равно 0 или 1, 1 ,

а постоянные ba, в модели Баркли определяют тип локальной динамики

системы.

1.4.3. Модель клеточных автоматов

С активным развитием электронно-вычислительных машин в последнее

время все большее применение стали получать модели, основанные на теории

конечных автоматов. Одна из первых таких моделей принадлежит

американскому исследователю G.Moe. Модель состояла из 992 гексагональных

элементов, каждому из которых было задано пять различных дискретных

состояний. При раздражении такой матрицы могут быть получены различные

траектории движения возбуждения. Наиболее сложными для понимания

являются процессы возникновения роторов в моделируемой среде и их переход

во множественные re-entry, которые характерны для одной из сложно

поддающихся лечению аритмий – фибрилляции предсердий. В своих работах

G.Moe на матрице 70*70 гексагональных элементов показал возможность

возникновения ротора с дальнейшим его переходом в фибрилляцию

предсердий [29].

.

;))(1(1

ut

ua

buuu

t

u

33

Дальнейшая математическая обработка полученных G.Moe данных и их

сопоставление с данными многоэлектродного картирования во время операции

на открытом сердце позволила разработать одну из основных в настоящее

время теорий возникновения фибрилляции предсердий, в которой четко

показано, что для наличия фибрилляции предсердий необходим своеобразный

«хаос» циркулирующих волн возбуждения по предсердиям. Для поддержания

стойкой фибрилляции их требуется минимум три, хотя по данным последних

исследований количество их достигает пяти или семи [30, 31].

В другой работе [32], которая проводилась американским ученым A.T.

Winfree, рассматривается миокард как однослойная гексагональная решетка, в

которой каждая клетка могла принимать одно из трех состояний:

возбужденное, рефрактерное и состояние покоя. Смена состояний подчинена

определенным правилам.

1. Если клетка возбуждена, значит, в следующий момент времени она

станет рефрактерной.

2. Если клетка рефрактерна, значит, в следующий момент времени она

перейдет в состояние покоя.

3. Если клетка находится в состоянии покоя, значит, в следующий момент

времени она перейдет в состояние возбуждения, если одна из шести соседних

клеток находится в возбужденном состоянии.

При построении этой модели прежде всего преследовалась цель показать

механизм возникновения re-entry. Поэтому после описания правил поведения

автомата были рассмотрены некоторые ситуации, при которых волна

поддерживает себя в течение неограниченного промежутка времени. Поскольку

в исходном состоянии автомат обладает некоторыми начальными условиями,

то перед расчетом каждая клетка устанавливается в определенное состояние.

Например, момент времени t1- шаг 1, вся сетка находится в состоянии покоя, а

одна центральная клетка возбуждена. Такая ситуация может возникнуть, если

центральная клетка представляет особую ткань, которая обладает свойством

34

самовозбудимости. Для миокарда в качестве водителя ритма выступает

синусовый узел или любая область, к которой приложен электрический стимул.

В следующие моменты времени замкнутый фронт волны возбуждения

распространяется в виде концентрических колец, сначала рефрактерных, а

затем готовых к следующему возбуждению (рис. 1.10).

Для получения ротации волны возбуждения расчет должен начинаться с

незакрепленного фронта волны (рис. 1.11). При этом часть клеток находится в

возбужденном состоянии, часть в рефрактерном состоянии и остальные в

состоянии покоя. В момент времени 1t , клетки, находящиеся в возбужденном

состоянии и образующие фронт волны, пересекают клеточное поле, не достигая

его границы. Клетки, расположенные за фронтом волны, рефрактерны. Уже с

момента времени t2 фронт волны начинает закручиваться, по часовой стрелке в

спираль. Одним из интереснейших свойств спиральной волны является то, что

она может поддерживать себя во времени, точка, находящаяся в центре

спирали, называется особой точкой. Спиральная волна в сердце была получена

экспериментально при помощи стимуляции [4, 5].

Рис. 1.10. Распространение возбуждения в модели Winfree

35

Для получения двойной спирали необходимо нанесение двойного стимула.

Первый стимул 1S должен быть нанесен специальным электродом для

получения плоской волны. Второй стимул 2S наносится вторым электродом

сразу за фронтом волны в области рефрактерности. Результатом такой

стимуляции является двойная спираль (рис. 1.12). Значение времени, в которое

наносится стимул 2S очень важно. Если стимул наносить слишком рано или

слишком поздно, эффект не будет получен.

Из рассмотренных трех подходов моделирования динамики возбуждения

миокарда, для решения поставленной задачи, необходимо выбрать один. Для

этого сформулируем основные требования к разрабатываемой модели.

Рис. 1.12. Двойная спираль в модели Winfree

Рис. 1.11. Ротация волны возбуждения в модели Winfree

36

Выбор метода моделирования

Требования, которым должна соответствовать разрабатываемая модель,

вытекают из необходимости ее использования в клинике.

1. Модель должна адекватно отображать ход волны возбуждения.

2. Модель должна учитывать скорость распространения возбуждения

по миокарду предсердий, а также анатомические свойства предсердий каждого

отдельного пациента.

3. Модель должна позволять изменять свойства ткани, не затрагивая

анатомического строения, и перестраивать в соответствии с этими изменениями

ход волны возбуждения.

4. Модель должна оперировать данными, поступающими в процессе

проведения операции, и должна использовать технологии, широко

применяющиеся при проведении операций эндокардиального картирования.

5. Скорость расчета карты возбуждения должна позволять

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

ход операции.

Опираясь на требования к модели, произведем оценку пригодности

вышерассмотренных подходов для решения поставленной задачи.

Следует отметить, что на основе методов, рассмотренных в параграфе 1.4.1

и 1.4.2, построено достаточно большое количество моделей, которые уже были

приведены в качестве примеров в этой главе. Однако эти модели не обладают

свойствами адаптации к электрофизиологическим свойствам пациента,

поскольку не преследовалась цель воспроизведения динамики возбуждения

предсердий отдельных людей, они ставилась задача изучения феноменов,

которые наблюдаются в миокарде. В этих моделях для отдельных участков

миокарда заданы параметры, определяющие свойства ткани, которые в свою

очередь были определены экспериментально, усреднены и приняты как

наиболее часто встречающиеся у людей. Такие модели хороши для

37

эксперимента, они способны достаточно точно показать, как изменится

поведение всей системы при изменении свойств клеток (концентраций ионов,

величина трансмембранных токов), а также изменения свойств связующих

элементов R .

Для того чтобы модель могла использоваться в условиях клиники,

необходимо ввести возможность адаптации модели к динамике возбуждения

предсердий пациентов. Если за основу разрабатываемой модели взять

бидоменный формализм или уравнения реакция − диффузия, то задача

адаптации этих моделей сведется к решению обратной задачи − расчету на

основе временных карт возбуждения и значений длительности рефрактерных

периодов, параметров модели. Для адаптации бидоменной модели к данным,

получаемым в ходе операции, необходимо найти величины ионных токов и

значения сопротивлений по значениям временных карт. Для моделей,

основанных на уравнениях (1.8 − 1.10), должны быть вычислены значения

констант и коэффициентов диффузии.

Следует отметить, что нахождение коэффициентов для уравнений реакции

− диффузии, или параметров бидоменной модели, позволит только настроить

модель, но для решения поставленной задачи необходимо провести расчеты

времени возбуждения каждой ячейки всей системы клеток, с учетом найденных

значений коэффициентов, токов и других необходимых параметров моделей.

В отличии от первых двух подходов, клеточные автоматы оперируют

значениями времени, которые требуются для передачи возбуждения между

соседними элементами решетки. Значения времени передачи возбуждения

между участками пространства возбуждения являются входными данными

модели. В этом случае процесс расчета существенно упрощается. Возможность

задать входные данные модели без предварительного расчета параметров,

косвенно связанных с ними, является существенным аргументом в пользу

клеточных автоматов. Этот аргумент окажется тем более значимым, если

учесть, что разрабатываемая модель должна работать в операционной, а значит

38

время, отводимое на расчеты, сильно ограничено.

На основе приведенных рассуждений выбор был сделан в пользу

клеточных автоматов.

1.6. Выводы

1. Проведен анализ основных свойств моделируемой среды и процессов,

обеспечивающих свойство возбудимости, а также фазы возбуждения. Показаны

законы распространения возбуждения в однородной изотропной среде на

примере модели Винера − Розенблюта.

2. Детально рассмотрены различные виды аритмий, механизмы их

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

технологии радиочастотной аблации.

3. Проанализирована технология кардио картирования, применяемая в

клинике, методы локализации электрода, также указаны недостатки каждого из

подходов. Показано, что в ходе проведения операции в качестве исходных

данных модели доступны координаты точек, расположенных на поверхности

предсердий, а также значение времени возбуждения этих точек.

4. Сформулированы основные требования к модели, двумя основными из

которых являются:

− модель должна иметь механизмы адаптации к динамике возбуждения

миокарда предсердий каждого отдельного пациента;

− модель должна оперировать данными, поступающими в ходе проведения

операции.

5. Произведен критический анализ существующих моделей

распространения возбуждения в активной среде, на основе которого

обосновано для решения поставленной задачи применение метода клеточных

автоматов.

39

Глава 2. Разработка модели динамики возбуждения предсердий на основе клеточных автоматов

2.1. Свойства и виды моделей клеточных автоматов

Клеточный автомат это дискретная система, поведение которой полностью

определяется локальными правилами [46, 47]. Все клетки образуют так

называемую решетку клеточного автомата. Решетки могут быть разных типов,

отличаясь размерностью и формой клеток.

Основными свойствами классических клеточных автоматов являются:

1. локальность правил взаимодействия;

2. однородность системы;

3. конечность множества возможных состояний клетки;

4. синхронность смены состояний всех клеток.

Под локальностью правил взаимодействия следует понимать то, что новое

состояние клетки зависит от состояния автоматов, составляющих ее

окрестность, и ее собственного состояния в предшествующий момент времени.

Однородное клеточное пространство состоит из клеток одинаковой

формы, имеющих одинаковые правила взаимодействия с клетками окрестности.

Тем не менее, на границе решетки это свойство нарушается, так как у клеток,

расположенных в глубине и на границе решетки, число соседей различно. Для

замкнутых решеток (тор, лист Мебиуса) краевые эффекты отсутствуют.

Условие конечности состояний автомата необходимо для получения

нового состояния клетки конечным числом операций.

Под синхронностью смены состояний следует понимать необходимость

присвоения клеткам новых значений в конце итерации, а не по мере

вычисления. Отсутствие четвертого свойства у клеточного автомата привело бы

к тому, что порядок перебора клеток решётки при совершении итераций

существенно влиял бы на результат расчетов.

40

Классически клеточный автомат представляют как четверку объектов [48 -

50] :

(2.1)

Компонента dZ определяет пространство, в котором расположена решетка

клеточного автомата. Это множество всех d - мерных кортежей целочисленных

координат точек в евклидовом пространстве, т. е. dZ представляет собой

целочисленную решетку в евклидовом пространстве, элементы которой служат

для пространственной идентификации единичных автоматов структуры. Все

множество моделей разделяют на два подмножества: модели одномерной 1d

и высших 2d размерностей. Переход уже от одномерного случая к

двухмерному резко изменяет не только динамику моделей клеточных

автоматов (обусловленную увеличением размерности), но и увеличивает

сложность решаемых проблем [51].

В этом определении },...,2,1,0{ n - конечное непустое множество,

называемое алфавитом внутренних состояний единичных автоматов и

представляющее собой множество состояний, которые может принимать

каждый элементарный автомат. Говорят, что клетка пребывает в состоянии,

которое кодируется данным значением. В зависимости от потребностей задачи,

множество может состоять из булевых, целых и чисел с плавающей точкой.

Совокупность состояний всех клеток решётки называется состоянием

решётки. Состояние решётки меняется в соответствии с некоторыми законами -

правилами клеточного автомата. Каждое изменение состояния решётки

называется итерацией. Каждая итерация соответствует некоторому

дискретному моменту времени.

Правила итерации определяют, в каком состоянии будет пребывать клетка

в следующий момент времени (на следующем расчетном шаге). Состояние

клетки в следующий момент времени определяется на основе значений в

}.,,,{A XnZ d

41

клетках окрестности в текущий момент, а также, возможно, от значения,

содержащегося в ней самой.

Клеточный автомат, новое состояние которого зависит от текущего

состояния, называется автоматом с памятью. Если состояние автомата на

следующей итерации не зависит от текущего состояния, то он является

автоматом с клетками без памяти.

Множество автоматов, состояния которых определяют для клетки

значение , называется окрестностью. Окрестность для клетки задается

индексом соседства, в качестве которого выступает компонента X . Индекс

соседства есть упорядоченный кортеж n элементов из dZ . Он служит для

определения автоматов - соседей любого единичного автомата структуры, т.е.

тех ее автоматов, с которыми данный единичный автомат непосредственно

связан информационными каналами.

Для простейшего примера структуры плоского клеточного автомата

пространства 2Z можно использовать прямоугольную решетку, в каждой

ячейке которой расположена копия некоторого конечного автомата. Для этой

решетки можно записать два наиболее распространенных индекса соседства:

(2.2)

Символом HX обозначены индексы соседства Джона фон Неймана, а

символом MX индексы Мура. Эти индексы соседства стали классическими и

широко используются в теоретических и прикладных исследованиях.

Для каждой клетки определяется набор правил смены состояний. Правила

определяются индивидуально для каждой решаемой задачи. Состояние

конечного автомата в момент 0t есть некоторая функция )1,...,( 21 tSSSF n его

входов в предыдущий момент времени 1t . В качестве входов клеточного

автомата служат клетки окрестности. При этом выход автомата в момент

времени t тождественен его внутреннему состоянию и при наличии связи

)}.1,1(),1,1(),1,1(),1,1(),0,1(),1,0(),0,1(),1,0(),0,0{(X

)};0,1(),1,0(),0,1(),1,0(),0,0{(X

M

H

42

является входом для другого автомата. В качестве входов, внутренних

состояний и выходов клеточного автомата используются символы из

некоторого фиксированного конечного алфавита. В этом случае каждая точка dZ определяет имя или координату единичного автомата, помещенного в

данную точку.

2.2. Особенности применения клеточных автоматов для

моделирования процессов возбуждения предсердий

Сегодня клеточные автоматы широко применяются для моделирования

физических, биологических, химических и прочих процессов. Они

представляют собой простые, удобные и точные модели макро и микромира,

эволюционных процессов, динамики жидкостей, турбулентности,

фрактальности, хаотичности, упорядоченья и т.д. Клеточные автоматы

обеспечивают простые модели дифференциальных уравнений такие как

уравнение Навье – Стокса и уравнение теплопроводности [49]. Не являются

исключением динамический процесс возбуждения предсердий. В первой главе

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

на модели клеточных автоматов, создателем которой, являются N.Wiener и

A.Rosenblueth [14].

На сегодняшний день существует несколько видов клеточных автоматов,

каждый из которых обладает различными свойствами и может быть применен

для решения определенного класса задач. Очень важно на начальном этапе

сделать правильный выбор вида клеточного автомата для дальнейшей

разработки модели динамики возбуждения предсердий.

Формально, задачи, решаемые при помощи клеточных автоматов, можно

разделить на два вида:

- моделирование временной динамики процессов;

- моделирование пространственно – временной динамики процессов.

43

Первый класс задач не рассматривает пространство, такие модели

называются пространственно – нераспределенными. Классически подобные

задачи решаются на основе дифференциальных уравнений. В качестве примера

можно привести модель динамики популяций, решенную Вольтером [49].

Вольтер одним из первых открыл уравнения, известные как уравнения

взаимодействия видов, которые основаны на предположении, что скорость

убыли количества жертв и скорость прибыли количества хищников

пропорционально их произведению. Простейшая модель взаимодействия видов

типа хищник – жертва описывается двумя нелинейными уравнениями:

(2.3)

где yx, - количество (концентрация) хищников и жертв соответственно.

Классическим и простейшим примером моделирования динамики

популяции на основе клеточных автоматов является игра «Жизнь», которую

создал английский математик Джон Хортон Конвей [52]. В этой модели каждая

ячейка клеточного поля может принимать два состояния:

0 – клетка пуста;

1 – клетка занята живым организмом.

В каждой клетке, в зависимости от ее собственного состояния и состояния

соседних ячеек, может произойти рождение, гибель или выживание организма.

Условием выживания организма является наличие двух соседей. Если рядом с

организмом находятся меньше двух или более трех других, он погибает. При

трех соседях организм перерождается, а если клетка пуста, то происходит

рождение нового. В итоге, этот автомат дает возможность проследить

изменение численности популяции живых организмов на некотором

пространстве клеток. Представленная модель клеточного автомата

функционирует на конечном множестве клеток, которые занимают некоторую

площадь, но задача моделирования динамики популяции не рассматривает

,

;

dycxyt

y

bxyaxt

x

44

пространственное распределение живых организмов, поэтому представленную

модель можно отнести к пространственно – нераспределенным.

Класс моделей, в котором каждый элементарный автомат имеет

уникальное положение в пространстве, называется пространственно –

распределенным. Модели этого вида позволяют наблюдать развитие

пространственной картины во времени. В качестве примера можно привести

модель движения толпы на основе клеточных автоматов [53]. В этой работе

рассмотрен клеточный автомат, каждая ячейка которого может находиться в

одном из двух состояний:

1 – ячейка пуста;

2 – в ячейке находится человек.

Все клеточное пространство разбито на блоки размерностью 22 ячейки.

На каждом этапе расчета все блоки ячеек поворачиваются на девяносто

градусов. Поворот может осуществляться в двух направлениях: по часовой

стрелке и наоборот. Вероятность выбора того или иного направления

одинакова. Для того чтобы учесть общее направление движения потока, на

каждой итерации производится сдвиг блока на одну ячейку, если это возможно.

Ячейка не может быть сдвинута, если она занята другим человеком или если в

этой ячейке находится препятствие. Для более точного описания законов

поведения потока людей в ограниченном пространстве в модель может быть

добавлена возможность оценки количества свободных ходов при выборе

направления смещения клетки [54]. Помимо приведенного примера существует

множество других пространственно – распределенных моделей клеточных

автоматов, решающих физические и химические задачи [55, 56].

Помимо классификации, основанной на факторе учета пространственного

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

состояний. Самым простой класс составляют автоматы, способные находиться

только в двух состояниях, такие системы называются черно-белыми

автоматами [57]. Классическим примером черно-белых клеточных автоматов

45

является игра «Жизнь», в которой ячейка либо пуста, либо заполнена живым

организмом. Автоматы с числом состояний, больше двух называются цветными

клеточными автоматами [46, 58]. Цветные клеточные автоматы обладают более

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

Также модели могут быть классифицированы на основе правил эволюции

ячеек клеточного автомата. Если значение переменной , содержащейся в

ячейке клеточного автомата, полностью зависит от его собственного состояния

на предыдущем расчетном шаге, то он называется детерминированным.

Именно такой автомат использовал Джон Хортон Конвей в игре «Жизнь». Если

состояние ячейки зависит от одной или более случайных величин, то

клеточный автомат называется вероятностным или стохастическим. Простым

примером модели, базирующейся на стохастическом клеточном автомате,

может служить модель динамики развития эпидемий [59]. В этой модели клетка

может находиться в трех состояниях.

1 – клетка здорова;

2 – больна;

3 – переболела и обладает иммунитетом.

В случае, если клетка переболела, она обладает некоторым иммунитетом к

данному заболеванию и не может быть инфицирована повторно. Здоровая

клетка, не обладающая иммунитетом, может быть инфицирована с некоторой

вероятностью p , величина которой зависит от количества инфицированных

соседних клеток. Каждый дискретный момент времени характеризуется числом

больных и здоровых клеток.

Отдельным классом моделей являются модели, называемые «двойными

решетками». Строго говоря, двойные решетки нельзя отнести к моделям

клеточных автоматов, так как они обладают переменной состояния, которая

характеризуется бесконечным числом возможных состояний. Сходство с

клеточными автоматами заключается в том, что, как и у клеточных автоматов,

для двойных решеток определяется некоторая окрестность ячеек, а также

46

задается функция связи. Двойные решетки обладают очень богатым

динамическим поведением. В отличие от клеточных автоматов, двойные

решетки в некоторых случаях допускают аналитическое описание [60].

Бидоменная модель, подробно рассмотренная в первой главе, принадлежит к

классу моделей с двойными решетками.

По приведенной классификации клеточных автоматов для возбуждения

предсердий должна быть использована пространственно распределенная

модель, в которой для построения карты возбуждения предсердий необходимо

определить пространственную картину состояния ячеек всей системы. Для

этого необходимо произвести расчет состояния каждой ячейки на каждый

момент времени из некоторого заданного интервала. Проводя аналогию с

сократительной клеткой миокарда, очевидно, что минимальное число

состояний , в которых может прибывать ячейка автомата, должно равняться

трем (возбужденное, пассивное и рефрактерное). Количество состояний

определяет, что за основу модели должен быть взят «цветной» клеточный

автомат. Исходя из того, что передача возбуждения между клетками не

является вероятностным процессом, а зависит строго от состояния автомата в

предыдущий момент времени и состояния окрестных клеток, следует, что в

работе целесообразно использовать детерминированный клеточный автомат.

Также учитывая, что смена состояния зависит от состояния в предыдущий

момент времени, то автомат должен обладать памятью.

Модель динамики возбуждения предсердий, в основе которой лежит

клеточный автомат, должна решать три основные задачи:

1 – дискретизация пространства;

2 – определение правил клеточного автомата;

3 – адаптация модели к реальным условиям.

Первые две задачи вытекают непосредственно из свойств, которыми

обладает метод клеточного автомата. Третья задача является самостоятельной,

тем не менее, решение должно опираться на свойства и особенности

47

выбранного подхода.

2.3. Входные данные клеточной модели процессов возбуждения

предсердий

При разработке модели основные ограничения на используемые методы

накладывают исходные данные, которые могут быть использованы в модели.

Количество и вид этих данных нельзя расширить, прежде всего, из–за того, что

модель ориентирована на использование данных, которые могут быть получены

в ходе проведения операции. Доступность данных для использования в

разработанной модели обеспечена существующими на сегодняшний день

методиками исследования и оперативного вмешательства, а также

разработанным для этого медицинским оборудованием.

В качестве входных данных модели может быть использовано множество

точек }Ls |,...,,{ 21 nsssS с заданными пространственными координатами zyx ,,

и сопоставленными им временем возбуждения и длительностью рефрактерного

периода }t, t,,,{L rfact zyx ,

где actt - время возбуждения, а rft - длительность рефрактерного периода

пространственной области с координатами zyx ,, .

Множество L может быть задано не полностью, в нем может

отсутствовать значение длительности рефрактерного периода, времени

возбуждения, или оба значения, но значения координат присутствуют всегда.

Каждая точка находится на стенке поверхности эндокарда предсердий и

фактически задает анатомическую модель предсердий. В ходе проведения

операции для построения карты возбуждения предсердия берется не менее 60 –

70 точек.

48

2.4 Дискретизация пространства возбуждения предсердий

2.4.1. Виды решеток клеточных автоматов

Модели, основанные на клеточных автоматах, являются дискретными, но

среда, которую они моделируют, непрерывна. Для того чтобы построить

клеточный автомат, необходимо произвести дискретизацию пространства.

Рассмотрим виды двухмерных решеток клеточного автомата, на основе

которых можно создать плоскую модель. Для дискретизации двухмерного

пространства, необходимо разбить моделируемую область на конечное число

элементов, каждый из которых будет граничить с некоторым количеством

соседних элементов.

Для клеточных автоматов с двумерными решётками из правильных

многоугольников, существует всего три вида решётки: треугольная, квадратная

и гексагональная (рис. 2.1).

Для каждого типа решетки существует своя окрестность клеток. Как

правило, в качестве окрестности клетки используют ближайших соседей

(окрестность Мура). Среди всех соседних клеток в отдельный класс выделяют

клетки, имеющие общие стороны – главные соседи. Окрестность, составленная

Рис. 2.1. Виды решеток. а) треугольная, б) четырехугольная, в) гексагональная

49

только из главных соседей, называется окрестностью фон Неймана. В таблице

2.1 представлены окрестности для всех типов плоских решеток.

Окрестности клеточных автоматов с различными плоскими пространственными решетками

Таблица 2.1 № Тип решетки Количество

главных соседей

Общее число

соседей

1 Четырехугольная 4 8

2 Треугольная 3 12

3 Гексагональная 6 6

Для четырехугольных решеток характерно наличие восьми соседей,

четыре из которых являются главными. Треугольная решетка имеет двенадцать

общих соседей, шесть из которых главные. У гексагональной решетки из шести

соседей все шесть главные.

Независимо от вида сетки, для каждой клетки существует окрестность,

составляющая кольцо вокруг центральной клетки. Понятие кольца является

одним из ключевых для построения пространственной модели на основе

клеточных автоматов. Для однородной среды кольцо можно отождествлять с

фронтом волны. Именно форма кольца будет определять точность

аппроксимации клеточным автоматом формы фронта возбуждения. Для разных

типов решетки точность аппроксимации различна. Четырехугольная решетка

дает четырехугольный фронт волны, а треугольная и гексагональная –

шестиугольные кольца. Соответственно гексагональная и треугольная сетки

лучшим образом аппроксимирует фронт волны в случае однородной

изотропной среды, однако использование комбинации окрестности Мура и фон

Неймана для четырехугольной решетки дает возможность воспроизвести

восьмиугольный фронт волны, который точнее аппроксимирует фронт волны

для случая с однородной изотропной средой.

50

Для трехмерного пространства наиболее простыми и широко

используемыми являются сетки, состоящие из параллепипедов. Для сеток этого

типа характерно наличие двадцати шести соседей, шесть из которых граничат

сторонами, двенадцать ребрами и восемь вершинами. Также сетки могут быть

образованы пирамидами с треугольником в основании. Приведенные примеры

решеток объединяет отсутствие в них пустот.

2.4.2. Модификация метода Шепарда для реконструкции

эндокардиальной поверхности предсердий

Предсердие это выпуклый полый объект, имеющий наибольшее сходство с

эллипсоидом. Технология проведения операции допускает получение

информации об исследуемом объекте в виде набора точек с известными

координатами zyx ,, . Каждая точка лежит на поверхности внутренней стенки

предсердия, а саму поверхность можно определить как бесконечное множество

принадлежащих ей точек.

Реконструкция поверхности эндокарда заключается в расчете положения

каждой точки поверхности в трехмерном пространстве на основе заданных.

При этом восстановленная поверхность должна быть гладкой и должна

проходить через задающие точки. Точность построенной модели тем выше, чем

больше известных точек используется для ее реконструкции.

Традиционно для отображения объектов на экране компьютера

используют сетчатые объекты [61, 62]. Основной задачей при реконструкции

внутренней поверхности предсердий является создание такой сетчатой

трехмерной модели на основе набора точек пространства, полученных

экспериментальным путем. Нами для восстановления эндокардиальной

поверхности предсердий предлагается метод основанный на деформации

исходной сеточной модели. Допустим исходной моделью является модель шара

с центром в точке с координатами ),,( CzCyCxC . Деформация исходной модели –

51

шара осуществляется за счет изменения положения узлов ее сетки. Для этого

необходимо передвигать узлы секи вдоль прямой, проходящей через центр

модели C и узел сетчатой модели iT . В качестве искомого значения выступает

id – расстояние узла от центра модели до поверхности эндокарда.

Для создания поверхности, проходящей через конечное число заданных

точек, (задача интерполяции поверхности) воспользуемся методом Шепарда

[63]. Этот метод широко применяется для восстановления ландшафта земной

поверхности по заданному набору точек. Он базируется на предположении о

том, что значения некоторой функции в точках, находящихся в

непосредственной близости друг к другу, имеют близкие значение.

Соответственно чем меньше расстояние между точками, тем меньше

различаются значения функций в этих точках. Другими словами,

предполагается, что искомое значение в точке функционально зависит от

значений в заданных точках и расстояний между искомой точкой и точек с

заданными значениями. Чем ближе друг к другу находятся заданная и искомая

точки, тем большее влияние оказывает первая на расчетное значение, и это

влияние уменьшается при увеличении расстояния. При достижении некоторого

предельного расстояния влияние заданных точек поверхности становится

равным нулю.

Метод Шепарда имеет ряд ограничений, прежде всего этот метод работает

только для восстановления гладких поверхностей. Метод не может

реконструировать разрыв поверхности, так как скачкообразное изменение

функции противоречит основному предположению, которое было

сформулировано выше.

Опираясь на обозначения входных данных, которые были введены в

параграфе 2.3, обозначим координаты известных точек поверхности как

sss zyx ,, . Обозначим множество точек, которые образуют искомую поверхность

как },,|,...,{ 21 zyxqqqqQ k , QS и запишем формулу Шепарда в следующем

виде:

52

(2.4)

где iw весовая функция для точки is с координатами iii sss zyx ,, , а qqq zyx ,,

координаты искомой точки. Подразумевается, что координаты всей системы

точек в плоскости xy заданы, а координата z является искомой. Вычисление

весовых коэффициентов производится по формуле:

(2.5)

где R – это предельное расстояние от рассчитываемой точки, на котором

точки, задающие модель, могут оказывать на нее влияние, ),,,h(ii ssqq yxyx –

расстояние от заданной точки, включенной в расчет, до искомой, r – число

точек участвующих в расчете.

Использование метода Шепарда для реконструкции эндокардиальной

поверхности предсердий в исходном виде невозможно. Это связано с тем, что

невозможно рассчитать расстояния по поверхности h и R между точками, так

как сама поверхность неизвестна. Это затруднение может быть преодолено,

если за расстояние принять не длину кратчайшего пути по поверхности, а синус

угла, который образуется двумя точками поверхности и центром модели

),,( CCC zyxC (рис. 2.2). При этом искомыми являются значения удаленности

точки поверхности от центра модели.

,),,,(S),y,F(x

S);,y,F(x z

1qq

qqq

n

isssqqi iii

zyxyxw

,

),,,(

),,,(

),,,(

),,,(

),,,(

1

2

2

r

j ssqq

ssqq

ssqq

ssqq

ssqqi

jj

jj

ii

ii

ii

yxyxhR

yxyxhR

yxyxhR

yxyxhR

yxyxw

53

z

y

x

is

C

1q

2q

3q

4q

5q6q

7q

8q

nq

Рассчитаем геометрический центр ),z,yC(x CCC реконструируемой модели,

относительно которого будут проводиться расчеты углов. Этот центр

необязательно должен находиться в начале общей системы координат, поэтому

может быть рассчитан по следующей формуле:

(2.6)

Поместим в C центр дискретной модели шара с ограниченным

количеством точек поверхности },,|...,{ 21 zyxqqqqQ K , тогда углы,

выступающие в роли расстояний, будут образованы в ),,( CCC zyxC ,

рассчитываемыми и заданными точками. При таком подходе заданными

значениями являются расстояния, на которые исходные точки s удалены от

центра, а искомыми расстояния до точек q , обозначим их sd и qd

соответственно. Произведем деформацию исходной поверхности сферы,

перемещая точки q вдоль прямой, проходящей через центр модели C и саму

точку.

Рис. 2.2. Иллюстрация к методу деформации объектов

).2

z,

2

y,

2

xx(),,( maxminmaxminmaxmin ssssss zy

zyxC CCC

54

Расчет расстояний, на которых должны находиться узлы исходной сетки,

произведем на основе формулы Шепарда, используя в качестве расстояний

между точками синусы углов:

(2.7)

(2.8)

где )γsin( − максимальное расстояние, обозначаемое ранее как R . Угол γ

определяет локальность правил деформации объекта и не должен превышать 090 .

Обозначим длину отрезков соединяющих точки s и q как sq , а расстояния

от центра до заданных и рассчитываемых точек поверхности Cs и Cq

соответственно. Используя введенные обозначения и известные координаты

точек qqq zyxq ,, и sss zyxs ,, , синусы углов могут быть рассчитаны из

следующих выражений:

(2.9)

(2.10)

Найденное при помощи формулы Шепарда значение qd есть расстояние,

которое необходимо отложить от центра модели C вдоль прямой, проходящей

через точки q и C . Фактически необходимо рассчитать новую поверхность

},,|,...,,{ ''''''

2'1

' qqqn zyxqqqqQ деформировав поверхность Q .

;

)),(sin()sin(

)),(sin()sin(

)),(sin()sin(

)),(sin()sin(

)),,((

1

2

2

r

j kj

kj

kn

kn

ii

qs

qs

qs

qs

qsw

,)),,((d1

qk

n

isii i

dqsw

;)()()( 2222qsqsqs zzyyxxsq

;)()()( 2222sCsCsC zzyyxxCs

;)()()( 2222qCqCqC zzyyxxCq

.2

1)),(αsin(2222

CsCq

sqCqCssq

55

Можно перейти от значений qd к пространственным координатам узлов,

если воспользоваться следующими выражениями:

(2.11)

На рисунке 2.3 представлены результаты применения предложенного

метода для реконструкции эндокардиальной поверхности предсердия. Слева

приведен исходный объект, в данном случае это шар. Справа приведен

результат деформации шара в соответствии с задающими точками,

определяющими поверхность предсердия, которые показаны в виде черных

точек.

Предложенный метод имеет ряд ограничений. Прежде всего, метод может

быть использован только для построения поверхности, геометрический центр

которой находится внутри замкнутого пространства, отсекаемого самой

поверхностью. Для восстановления поверхности, центр которой находится во

внешнем пространстве, этот метод не применим из – за неоднозначного

расположения заданных точек. В этом случае в область расчета будут

Рис. 2.3. Результат деформации исходного объекта

;)(

'

i

qqCCq Cq

dxxxx ii

i

;)(

'

i

qqCCq Cq

dyyyy ii

i

;)(

'

i

qqCCq Cq

dzzzz ii

i

56

одновременно попадать задающие точки задней и передней стенки

реконструируемой поверхности, либо точки будут отсутствовать. Другими

словами при расположении центра модели вне области внутреннего

пространства исходные данные, определяющие анатомию предсердия, не могут

быть распределены равномерно. Однако указанное ограничение не является

препятствием в использовании этого метода для разрабатываемой модели, так

как эндокардиальная поверхность предсердий является выпуклым

геометрическим объектом.

Другое ограничение, которое необходимо учитывать, связано с выбором

числа и места расположения задающих модель точек. Эти точки должны быть

рассредоточены по всей восстанавливаемой поверхности. Это значит, что для

каждой искомой точки должно быть не менее трех заданных, которые входят в

. Фактически, для построения анатомической модели при максимально

заданном угле 90 требуется как минимум 10 точек. Для общего случая

можно записать:

(2.12)

где n - базовое число точек при заданном угле. Таким образом, увеличение

локальности правил при построении поверхности приводит к увеличению

базового числа точек, задающих поверхность. Для n точек положение в

пространстве задается строго, каждая из заданных точек должна располагаться

в секторе, угол которого составляет . Если обозначить за N общее число

заданных точек, тогда bnN точек могут располагаться произвольно и могут

быть использованы для дальнейшего уточнения модели.

Обобщая, можно сказать, что при последовательном определении

координат точек построение модели производится в два этапа. На первом этапе

производится получение некоторого базового числа входных данных s , причем

к этим данным применимо ограничение по пространственной локализации. На

,22360

bn

57

втором этапе производится уточнение модели и к последующим поступающим

данным никаких требований не предъявляется.

2.4.3. Расчет решетки клеточного автомата

Для задания и отображения на экране компьютера трехмерных объектов

используются сетки, где в роли ячеек выступают многоугольники. Число углов

для ячеек не ограничено, более того сетки могут состоять как из одинаковых,

так и различающихся по количеству углов многоугольников. При

реконструкции эндокардиальной поверхности предсердий ограничимся

использованием только треугольных сеток.

Используемая в качестве анатомической модели предсердий трехмерная

сеточная модель, которая была показана на рисунке 2.3, представлена в виде

треугольной нерегулярной сетки, которую можно представить как множество

ячеек:

(2.13)

Представив узел сетки как кортеж из трех рациональных чисел, можно

записать:

(2.14)

Здесь ic – множество всех узлов, образующих ячейку C исходной,

нерегулярной сетки. Задаваемое количество ячеек анатомической модели G

является входным параметром модели и задает размерность сетки.

Сетка объекта, полученного путем деформации шара, не является

регулярной. Являясь однородной по числу соседей, она не может

использоваться как расчетная решетка клеточного автомата из-за

}.|{ 21 iin Cg, ...,g, ggG

}.|,,{C

;zy,x,V

321 ii Vcccc

58

различающихся размеров ячеек. Поэтому, прежде чем перейти к разработке

автоматной модели, необходимо построить его расчетную сетку. Для

построения расчетной решетки клеточного автомата зададим геометрическую

форму единичного автомата в виде куба.

Рассмотрим куб ячеек (рис. 2.4). Размер всего куба и его пространственные

координаты должны быть такими, чтобы исходная сеточная модель предсердий

помещалась внутри него. Далее исходный куб разделим на некоторое число

более мелких ячеек – кубиков, которые и составляют основу решетки

клеточного автомата. Обозначив число ячеек, умещающихся по оси x за m , а

по осям y и z за l и k соответственно, можно найти общее число элементов

kmn n . Размер сетки может быть задан, исходя из вычислительной

мощности используемой компьютерной техники.

iA

Рассмотрим каждый элементарный объем как пересечение шести

плоскостей, которые отсекают некоторое пространство. Исходя из этого,

рассмотрим ячейку как множество:

(2.15)

состоящее из двенадцати ребер:

Рис. 2.4. Исходный куб ячеек решетки клеточного автомата

},H r | r,..,r,{r ii1221 R

59

(2.16)

каждое из которых состоит из пары вершин:

(2.17)

Опираясь на введенные обозначения, напишем определение для исходного

куба ячеек:

(2.18)

Построение решетки клеточного автомата сводится к задаче определения

пространственного пересечения сеток G и P . Для решения этой задачи

запишем определение решетке клеточного автомата:

(2.19)

Другими словами построение решетки клеточного автомата в данном

случае сводится к задаче нахождения подмножества клеток, образующих

решетку клеточного автомата А из множества ячеек, составляющих исходный

куб P .

Исходя из введенных обозначений, можно записать набор логических

функций, которые позволят выделить подмножество элементов А , образующее

решетку клеточного автомата:

(2.20)

где G)F(p, – логическая бинарная функция, определяющая принадлежность

элемента ip подмножеству A .

Логическая функция G)F(p, имеет вид:

(2.21)

где g)F(p, − бинарная логическая функция, определяющая геометрическое

пересечение элемента Ppi с элементом Gig . Другими словами, 1F(p) ,

если элементарный куб ячеек пересекается с сеткой анатомической модели.

Элемент пересекает анатомическую модель, если хотя бы одно из ребер

пересекает плоскость, в которой лежит ячейка, и точка пересечения находится

},B h,h | h,{hH i2121

.zy, x, B

}. { 21 iin Rp|,..,p,ppP

}.{ 21 P | A,..,a,aa A e

0,G),F(p если ,p

1G),F(p если ,p

ii

ii

A

A

1,)g(p, ...1)g(p,1)g(p, если 0,

1)g(p, ...1)g(p,1)g(p, если 1,G)F(p,

n21

n21

FFF

FFF

60

внутри ячейки.

(2.22)

где Sum(r) - сумма углов , и , образованных точкой пересечения ребра

с плоскостью и вершинами треугольника Gg :

(2.23)

Если точка находится внутри треугольника, то косинус суммы улов

должен составлять 180 . Если же одно из ребер r объемного элементарного

элемента пересекает элемент g сетки G , значит, элемент p входит в

подмножество A образующее расчетную сетку клеточного автомата.

Расчет пересечения сводится к нахождению уравнения плоскости для

каждого элемента исходной сетки, уравнений прямых, на которых лежат ребра

элемента p и точек их пересечения.

Запишем уравнение плоскости для каждого треугольника сетки G :

(2.24)

и проведем расчеты на примере вычислений для ячейки 1g . Введем

обозначения:

(2.25)

где 333222111 ,,x;,,;,,x zyzyxzy координаты вершин ячейки Ggi .

Для расчета коэффициентов плоскости DCBA k ,k ,k ,k необходимо

использовать координаты вершин ячеек Gg треугольников:

(2.26)

Найти точку пересечения можно из совместного решения уравнения

180)Sum(r...180)Sum(r180)Sum(r если ,0

;180)Sum(r...180)Sum(r180)Sum(r если 1,F(p)

1221

1221

. Sum(r)

0,kxkxkxk DCBA

,

;}V,V,{V

;,,

;,,

;,,

11

1321

3333

2222

1111

gC

C

Vzyx

Vzyx

Vzyx

).()()(

),()()(k

),()()(k

),()()(yk

122133113223321

213132321C

213132321B

213132321A

zyzyxzyzyxzyzyxk

yyxyyxyyx

xxzxxzxxz

zzyzzyzz

D

61

плоскости и уравнения прямой для трехмерного пространства:

(2.27)

где

(2.28)

Для выражения (2.27) zy,x, – координаты точки пересечения прямой и

плоскости, zB yB, xB,zA; yA, xA, – координаты точек задающих ребро r .

Для вычисленных координат точки пересечения ребра ячейки p с

плоскостью треугольника ig необходимо проверить, лежит ли эта точка внутри

ячейки сетки визуализации, воспользовавшись теоремой косинусов и формулой

(2.29).

(2.29)

Подобные расчеты необходимо проделать для каждого ребра ячейки и

каждой ячейки. Ячейки, для которых 1),( GpF , образуют решетку клеточного

автомата.

Таким образом, поверхность, ранее заданная как множество

,)()(

;)()(

;)kk()kk()kk(

kkkk-yAky

;z

z-z

y

y-y

x

x-x

CCBBAA

CBADD

12

0

12

0

12

0

yAyB

yByzAyAyzBz

yAyB

yByxAyAyxBx

zAzByAyBxAxB

yBzAyAzByBxAAyAxByB

zyx

}.B h ,Bh | h,{h H

;B zAyA, xA,

;B zAyA, xA,

B2А121

B

A

.)()()()()()(2

)()()()()()()cos(

;)()()()()()(2

)()()()()()()cos(

;)()()()()()(2

)()()()()()()cos(

22

22

22

23

23

23

22

22

22

23

23

23

23

23

23

21

21

21

23

23

23

21

21

21

22

22

22

21

21

21

22

22

22

21

21

21

yyyyxxyyyyxx

yyyyxxyyyyxx

yyyyxxyyyyxx

yyyyxxyyyyxx

yyyyxxyyyyxx

yyyyxxyyyyxx

62

треугольников, аппроксимируется конечным количеством объемных элементов.

В нашем случае в качестве объемных элементов используются кубы. Такой

подход позволяет создать решетку клеточного автомата, которая состоит из

геометрически одинаковых элементов, имеющих одинаковое число соседей.

Как и для плоского случая, окрестность центральной клетки будет равняться

восьми.

На рисунке 2.5 изображена исходная модель в виде шара (треугольная

сетка) и часть решетки клеточного автомата. Естественно, что чем меньше

размер элементарного элемента, тем точнее аппроксимация исходной модели,

но увеличение размерности решетки влечет за собой увеличение объема

потребляемой памяти и увеличение времени расчета.

Рис.2.5. Исходная сетка модели и часть решетки клеточного автомата

63

2.5. Правила клеточного автомата при моделировании динамики

возбуждения придсердий

2.5.1. Состояния клеточного автомата

Для задания основных свойств и функций смены состояний клеточного

автомата рассмотрим его двухмерную реализацию, определив dZ как 2Z , взяв

за основу решетку с ячейками прямоугольной формы. Для удобства

проиндексируем ячейки клеточного автомата, сопоставив каждой индексы,

определяющие ее положение в системе клеток. Выстроим ячейки таким

образом, чтобы они располагались параллельно осям координат. Опираясь на

эти построения, обозначим клетку символом jia , , где ji, порядковые номера

ячеек в направлении осей x и y соответственно. Обозначим состояние

автомата с индексами i и j в момент времени t как )(, ta ji .

Рассматриваемый автомат может принимать одно из четырех состояний,

где величина 1 соответствует состоянию покоя, 2 - возбужденному

состоянию, 3 - рефрактерности, а 4 - состоянию, в котором клетка не

обладает свойствами активного проведения. Таким образом, автомат обладает

емкостью памяти 4m . Определим для автомата необходимое число действий:

(2.30)

где 1f - переход от состояния 1 к состоянию 2 , 2f - переход от 1 к 3 и

3f - переход от 3 к 1 .

Отдельно следует рассмотреть действие автомата, находящегося в

состоянии 4 . Автомат, находящийся в состоянии, при котором отсутствует

свойство активного проведения, остается в нем постоянно, другими словами

совершает переход от 4 к 4 . Схематически такое поведение автомата

показано на рисунке 2.6.

},,,..,{ 421 ffff

64

Так как пребывание автомата в состоянии 4 не является функцией

времени, обозначим автомат, находящийся в состоянии отсутствия активного

проведения как, 4, jia .

Изменение состояний может происходить в строго определенной

последовательности. Если клетка находится в фазе покоя, то в следующий

момент времени она может стать активной, затем рефрактерной и только после

этого вернуться в исходное состояние. На рисунке 2.7 показан порядок

эволюции клетки.

1 2 32f1f

3f

В качестве начальных условий задается состояние каждой клетки. По

умолчанию каждая ячейка находится в фазе покоя. Добавим к модели

возможность задания клеток пейсмейкеров, которые инициируют движение

волны возбуждения. Изначально эти ячейки могут находиться в активной фазе

или принимать возбужденное состояние в заданный момент времени, что также

задается в начальных условиях 2, )( ta ji . Это позволяет вывести систему

клеток из равновесия. Предполагается, что ячейки, которым в начальных

условиях присвоено значение 2 , являются водителями ритма и поэтому могут

самопроизвольно возбуждаться. Для того чтобы задать непроводящие участки,

Рис. 2.6. Диаграмма смены состояний непроводящего элемента

Рис. 2.7. Диаграмма смены состояний клетки

65

соответствующим клеткам присваивается состояние 4, jia .

2.5.2. Правила смены состояний клеточного автомата

Для решения поставленной задачи каждая генерация фронта волны

клеточного автомата должна быть непрерывна. Другими словами за фронтом

волны не должно оставаться клеток, которые не участвовали в процессе

возбуждения. Исключение могут составлять только невозбудимые клетки

4, jia и клетки, которые в момент прохождения фронта волны оказались в

состоянии рефрактерности 3, jia .

Существует множество способов задания связей между узлами, они

отличаются друг от друга числом соседей и правилами взаимодействия клеток.

Для каждого элемента матрицы клеток существует множество вариантов

взаимодействия с другими элементами, но для того чтобы выполнялось

поставленное условие, информационные связи должны обеспечить

поддержание колец сетки автомата. Это возможно при использовании

окрестности Мура - MX или окрестности Неймана - HX . Для удобства введем

следующие обозначения клеток, составляющих окрестность:

)(1,0 ta ; )(1,0 ta ; )(0,1 ta ; )(0,1 ta - окрестность Неймана;

)(1,0 ta ; )(1,0 ta ; )(0,1 ta ; )(0,1 ta ; )(1,1 ta ; )(1,1 ta ; )(1,1 ta ; )(1,1 ta - окрестность

Мура.

Действие клетки jia , в момент времени t запишем как: )),,(( tjiaf .

Рассмотрим правила перехода клеток в возбужденное состояние для

клеточного автомата с окрестностью Мура и Неймана. Клетка переходит в

состояние возбуждения в некоторый момент времени t , если хотя бы одна

клетка окрестности находилась в возбужденном состоянии в предыдущий

момент времени. Это правило будем использовать как для окрестности фон

Неймана, так и для окрестности Мура.

66

Запишем для окрестности Мура сформулированное правило, используя

обозначения принятые выше:

(2.31)

Форма колец, характерная для клеточного автомата с окрестностью Мура и

принятыми правилами перехода в возбужденное состояние показана на рисунке

2.8. Кольца, полученные на нечетных итерациях, показаны белым цветом, а

кольца четных итераций черным. Первая клетка, совершившая действие 1f ,

расположена в центре.

Запишем сформулированное правило для окрестности фон Неймана:

(2.32)

Форма колец, характерная для клеточного автомата с окрестностью фон

Неймана и принятыми правилами перехода в возбужденное состояние,

показана на рисунке 2.9.

Как видно из рисунков 2.8 и 2.9, оба рассмотренных клеточных автомата

позволяют сформировать кольца, которые с каждым расчетным шагом

удаляются от источника. Однако, для построения модели динамики

Рис. 2.8. Кольца, образуемые клеточным автоматом с окрестностью Мура

))((1)-(t 1)-(t 1)-(t 1)-(t ,120,120,121,021,0 tafaaaa ji

)).((1)-(t 1)-(t 1)-(t 1)-(t

1)-(t 1)-(t 1)-(t 1)-(t

,121,121,121,121,1

20,120,121,021,0

tafaaaa

aaaa

ji

67

возбуждения предсердий приведенные клеточные автоматы являются не всегда

пригодными, так как порой дают грубое описание реального процесса. Оба

автомата позволяют смоделировать бегущий импульс, который имеет фронт в

виде прямоугольника.

Для того чтобы улучшить аппроксимирующие свойства клеточного

автомата, нами рассмотрен автомат с комбинированной окрестностью. Для

этого введем понятие четной и нечетной генерации фронта волны. Для четной

генерации возбуждение передается в соответствии с предположением о восьми

связанности клеток − окрестность фон Неймана, а для нечетной в соответствии

с четырех связанностью клеток − окрестность Мура. Этот вид клеточного

автомата позволяет смоделировать волну, которая показана на рисунке 2.10 и

имеет фронт с восьмигранной структурой.

Рис. 2.9. Кольца, образуемые клеточным автоматом с окрестностью Неймана

68

Следует оговориться, что разбиение процесса расчета на четные и

нечетные шаги не противоречит требованию однородности клеточного

автомата. Все ячейки клеточного автомата имеют одинаковое число соседей,

однако на разном шаге расчета регламентируется различное число

задействованных связей. Другими словами, одна клетка на разных расчетных

шагах может работать, используя четыре информационных канала, а на другом

восемь. Фактически устанавливаются правила поведения клеток, которые

зависят от расчетного шага, а окрестность клетки постоянна.

Для того чтобы учесть в модели свойство рефрактерности активной среды

и возможность пребывания клетки в невозбудимом состоянии, запишем полное

условие перехода клетки в возбуждение для окрестности фон Неймана и

окрестности Мура соответственно:

(2.33)

(2.34)

Клетка переходит в состояние возбуждения в момент времени t , если хотя

бы одна из клеток окрестности в предыдущий момент времени находилась в

состоянии возбуждения, а также она не находится в состоянии рефрактерности

и является проводящей клеткой. Уравнения (2.33) и (2.34) различаются только

Рис. 2.10. Кольца, образуемые автоматом с комбинированной окрестностью

));(()(

1)-(t 1)-(t 1)-(t 1)-(t

1)-(t 1)-(t 1)-(t 1)-(t

,13,4,

21,121,121,121,1

20,120,121,021,0

tafaa

aaaa

aaaa

jijiji

)).(()(

1)-(t 1)-(t 1)-(t 1)-(t

,13,4,

20,120,121,021,0

tafaa

aaaa

jijiji

69

числом связанных клеток, которое в свою очередь определяется видом

окрестности.

Рассмотрим условие перехода клетки в состояние рефрактерности. Для

некоторой клети к координатами ji, это условие можно представить в виде:

(2.35)

Это означает, что клетка, перешедшая в состояние возбуждения в момент

времени t , в момент времени 1t переходит в рефрактерное состояние.

Пребывание клетки в рефрактерном состоянии можно описать следующим

правилом:

(2.36)

То - есть клетка, перешедшая в состояние рефрактерности в момент

времени t , прибывает в нем до момента времени rftt , где rft длительность

рефрактерного периода для данной клетки.

Уравнение (2.35) и уравнение (2.36) применимы, как для четного, так и

нечетного расчетного шага.

2.5.3. Трехмерная реализация клеточного автомата

Трехмерная реализация клеточного автомата мало отличается от плоской

реализации. Это связанно, прежде всего, с тем, что объект исследования

представляет собой оболочку. Другими словами решетка клеточного автомата

представляет собой совокупность клеток толщиной в один слой. Тем не менее,

для идентификации клетки в пространстве наиболее удобно использовать 3Z

компоненту.

По аналогии с плоским клеточным автоматом проиндексируем ячейки

клеточного автомата, сопоставив каждой индексы, определяющие ее положение

в системе клеток. Выстроим ячейки таким образом, чтобы они располагались

параллельно осям координат. Опираясь на эти построения, обозначим клетку

символом kjia ,, .

)).1(())(( ,2,1 taftaf jiji

)).(())(( ,3,2 rfjiji ttaftaf

70

Для трехмерной реализации клеточного автомата окрестность клеток будет

записана:

(2.37)

для окрестности фон Неймана и окрестности Мура соответственно.

Обозначив подмножество автоматов, составляющих окрестность автомата

а как XA , можно записать: AAX . Таким образом, непосредственными

соседями клетки являются автоматы решетки A клеточного автомата,

входящие, но не составляющие полную окрестность Мура или окрестность

Неймана.

Для окрестности Мура с клеткой связано двадцать шесть клеток, а для

окрестности фон Неймана восемнадцать. Несмотря на это, основная часть

информационных связей будет являться несуществующей, так как большая

часть клеток не принадлежит множеству клеточного автомата A , или Xkj,i,p

если Akj,i,p . Для трехмерной реализации клеточного автомата, как и для

плоской модели, полная окрестность клеток равна восьми. Для того чтобы

записать полное правило перехода клетки в состояние возбуждения

необходимо проиндексировать клетки окрестности. Обозначим клетки

окрестности символом 821 ,...,, XXX aaa где 821 ,...,, XXX - индекс, кодирующий

номер клетки окрестности. Исходя из принятых обозначений, полное правило

перехода клетки в состояние возбуждения запишется в следующем виде:

(2.38)

})1,1,0{,,)}(,,{(X

)};1,0,1(),1,0,1(),1,0,1(),1,0,1(),1,1,0(),1,1,0(),1,1,0(

),1,1,0(),0,1,1(),0,1,1(),0,1,1(),0,1,1(),0,0,1(),0,0,1(),0,1,0(),0,1,0(),1,00(),1,0,0{(X

M

H

kjikji

));(()(

1)-(t 1)-(t 1)-(t 1)-(t

1)-(t 1)-(t 1)-(t 1)-(t

,,13,,4,,

28272625

24232221

tafaa

aaaa

aaaa

kjikjikji

XXXX

XXXX

71

(2.39)

Представленные правила справедливы для однородной изотропной среды,

что не всегда выполняется на практике. Для того чтобы модель могла работать

на реальных объектах в условиях неоднородной среды, необходимо ввести

дополнительные механизмы адаптации. Это важно при моделировании

динамики возбуждения предсердий в реальных условиях.

2.6. Применение клеточных автоматов для моделирования

неоднородной среды

2.6.1. Расчет времени перехода клеток в состояние возбуждения

Представленные выше правила справедливы только для однородной

среды, в которой скорость распространения возбуждения одинакова на каждом

участке. В реальном миокарде на различных участках возбуждение может

распространяться с разной скоростью, а значит время передачи возбуждения

между соседними ячейками не одинаково. Так как у разных пациентов значения

времени передачи возбуждения между одинаковыми участками миокарда могут

существенно отличаться, то необходимо ввести механизм адаптации модели к

динамике возбуждения миокарда предсердий пациента. Решение этой задачи

должно производиться на основе временных карт динамики возбуждения

предсердий.

Карта динамики возбуждения предсердий — это некоторое множество

точек, которые расположены на анатомической модели сердца. Каждой точке

сопоставлено значение времени, в которое она переходит в возбужденное

состояние. Важно, то, что значения времени заданы не для всех точек

эндокардиальной поверхности, поэтому в существующих картирующих

)).(()(

1)-(t 1)-(t 1)-(t 1)-(t

,,13,,4,,

24232221

tafaa

aaaa

kjikjikji

XXXX

72

системах для отображения динамики возбуждения предсердий производится

интерполяция значений времени на всю систему точек, из которых состоит

анатомическая модель.

Для адаптации модели клеточных автоматов к динамике возбуждения

миокарда предсердий пациента добавим к трем существующим объектам,

которые составляют клеточный автомат, еще один – время возбуждения ячейки

}t,,,{ actXZа d .

Так же как и при построении карт возбуждения, интерполируем значения

времени actt на всю систему ячеек клеточного автомата. При этом исходные

значения времени возбуждения будут заданы только для ячеек, в которых

пространственно расположены точки },,,{ acttzyx и которые являются

входными данными модели. Для расчета времени передачи возбуждения между

клетками точки, задающие анатомическую модель, но которым не сопоставлено

значение времени actt , в адаптации модели к входным данным не участвуют.

Для восстановления времени возбуждения для каждой из существующих

ячеек клеточного автомата воспользуемся методом Шепарда:

(2.40)

(2.41)

В формуле (2.40) клетки с известными значениями actt проиндексированы,

поэтому значения времени возбуждения клеток с номером l обозначены как

)( lact at . Для рассчитываемой ячейки величина R - это предельное от нее

расстояние, на котором точки, задающие модель, оказывают влияние на

значение actt , а lh – расстояние до каждой заданной точки, которое не

превышает R .

n

llactl atwt

1kj,i,act );()(a

.

1

2

2

n

q q

q

l

l

l

Rh

hR

Rh

hR

w

73

Имеется проблема выбора метрики для измерения расстояний, поскольку

анатомическая модель предсердий, на которой моделируется динамика

возбуждения, является сложной криволинейной поверхностью. В расчетах

необходимо использовать расстояние, учитывающее кривизну поверхности,

именно поэтому нельзя использовать Декартово расстояние а также нельзя

принять метрику, которая использовалась для реконструкции анатомической

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

нахождения геодезического расстояния между точками поверхности.

Нами в качестве расстояния между двумя точками предложено

использовать число укладываемых между ними колец. Такая метрика удобна

тем, что использует тот же самый метод, который моделирует ход волны

возбуждения. Следует отметить, что использование этой метрики допустимо

только для регулярных решеток, в противном случае для разных направлений и

разных участков сетки расстояние lh может оказаться различным для

равноудаленных клеток.

Для того чтобы учесть время передачи возбуждения между соседними

ячейками необходимо перейти от значений времени возбуждения в каждой

точке к значениям задержки передачи возбуждения между связанными

клетками.

Представим индекс соседства X как пару объектов },{X tI где I – сам

индекс соседства, а t – значение длительности задержки передачи

возбуждения между парой связанных клеток. В дальнейшем эту пару объектов

будем называть информационным каналом. Расчет значения времени t

производится на основе карты возбуждения. Обозначим время задержки при

передаче возбуждения по информационным каналам для ячейки kj,i,a как

)(at ),...,(a t),(at kj,i,8kj,i,2kj,i,1 , время возбуждения ячейки как )(t ,,act kjia , а время

возбуждения связанных с ней клеток как )(t 1act Xa , )(t 2act Xa ,…, )(t 8act Xa . Тогда

значение задержки по информационным связям можно рассчитать, используя

выражения:

74

(2.42)

Для каждой клетки число информационных каналов равняется числу

существующих соседей. Если клетка находится в невозбудимом состоянии

4,, kjia , то число ее информационных каналов равняется нулю. Из

рассчитанных значений времени передачи возбуждения по информационным

каналам только два значения являются адекватными. Это связано с тем, что

только два информационных канала работают для передачи возбуждения

между клетками. По одному каналу возбуждение передается к рассчитываемой

клетке, второй канал связан с клеткой, которая перейдет в состояние

возбуждения в следующий момент времени, при этом расчетная клетка

является инициатором ее возбуждения. Остальные информационные каналы

данной клетки не работают. Фактически остальные шесть клеток и

рассчитываемая образуют фронт волны. Поэтому необходимо выбрать одно

наибольшее значение из матрицы t , которое и составит время перехода клетки

в возбудимое состояние.

2.6.2. Расчет длительности рефрактерного периода

Так же как и в случае со скоростью распространения возбуждения, для

реальной ткани характерно наличие некоторой дисперсии длительности

рефрактерного периода. Если разброс значений длительности рефрактерного

периода велик, то можно говорить о наличии аритмогенного фактора, поэтому

очень важно учитывать это свойство в модели [64]. В рассмотренных до этого

правилах смены состояний клеточного автомата предполагалось, что

длительности рефрактерного периода для всей системы клеток являются

.)()()(t

...

;)()()(t

;)()()(t

8,,,,8

2,,,,2

1,,,,1

Xactkjiactkji

Xactkjiactkji

Xactkjiactkji

atata

atata

atata

75

одинаковыми. Для того чтобы клеточный автомат учитывал дисперсию

рефрактерности миокарда, необходимо добавить к четверке объектов еще один:

(2.43)

где rft – длительность рефрактерного периода.

Длительность рефрактерного периода, как и время возбуждения

предсердий, известна только для отдельных точек модели. Необязательно они

должны совпадать с точками, в которых указано время возбуждения.

Как и для построения временных карт возбуждения, для восстановления

длительности рефрактерного периода rft для всех ячеек клеточного автомата,

воспользуемся формулой Шепарда. При этом исходные значения длительности

рефрактерного периода будут заданы только для ячеек, в которых

пространственно расположены точки },,,{ rftzyx и которые являются

входными данными модели. Такой метод интерполяции длительности

рефрактерного периода справедлив, так как клетки миокарда не являются

изолированными друг от друга и соединены щелевыми контактами. Значения

длительности рефрактерного периода клеток миокарда не может меняться

скачкообразно [65]. Фактически, если в двух точках анатомической модели

длительность рефрактерного периода различна, то значение этого параметра

изменяется постепенно, по мере перемещения от одной точки к другой.

Рассчитаем длительность рефрактерного периода по формуле Шепарда:

(2.44)

(2.45)

В качестве искомого значения выступает длительность рефрактерного

периода )(a kj,i,rft каждой ячейки клеточного автомата. В уравнении (2.45) R −

предельное расстояние от расчетной клетки, на котором ячейки с заданной

},t,t,,,{ rfactXZA d

;)()(a1

kj,i,

n

llrflrf atwt

.

1

2

2

n

q q

q

l

l

l

Rh

hR

Rh

hR

w

76

длительностью рефрактерного периода участвуют в расчете. Переменные lh и

qh - расстояния до каждой из точек с известным rft . Клетки с заданной

длительностью рефрактерного периода участвует в расчетах, если выполняется

условие: Rhq , Rhl .

Как и для расчета временных карт возбуждения предсердий в качестве

метрики расстояний удобно использовать число колец, которое укладывается

между ячейками.

Вводя длительность рефрактерного периода, необходимо определить

условия перехода клетки в возбужденное состояние с учетом того, что

длительность рефрактерного периода для разных клеток может существенно

различаться. В этом случае клетка может перейти в возбужденное состояние,

если она успевает выйти из состояния рефрактерности, в котором она

пребывала после предыдущего возбуждения:

(2.46)

где *,,act )(t kjia − время предыдущего возбуждения клетки.

Учитывая введенную переменную − rft , перепишем правило пребывания

клетки в состоянии рефрактерности:

(2.47).

Кроме настройки времени передачи возбуждения между клетками и

длительности рефрактерного периода клеточный автомат требует введения

клеток пейсмейкеров. Источники возбуждения также должны рассчитываться

на основе карт возбуждения.

2.6.3. Методы ввода в модель источников возбуждения

Для того чтобы вывести систему клеток из равновесия, необходимо ввести

клетки, самопроизвольно переходящие в состояние возбуждения – клетки

пейсмейкеры, клетки источники возбуждения. Фактически любая клетка может

выступать в роли водителя ритма, но не каждая реализует эту возможность и

),(t)(t)(t ,,ref*

,,act,,act kjikjikji aaa

))).()(())(( ,,ref,,3,,2 kjikjiactactkji atatftaf

77

переходит в активное состояние, если одна из клеток окрестности перешла в

состояние 2 .

Существует два варианта введения клеток пейсмейкеров:

1 − клетки назначаются по усмотрению пользователя модели;

2 – проводится анализ карт возбуждения с целью выявления источников

возбуждения.

Первый способ наиболее прост, оператор может назначить участок –

ячейку или группу ячеек источником возбуждения и сопоставить ему время

возбуждения. Этот режим введения пейсмейкеров воспроизводит режим

стимуляции.

Второй способ строится на анализе карт возбуждения и применяется в

случае, если необходимо построить модель возбуждения на спонтанном ритме.

Анализ карт возбуждения должен опираться на свойства, которые

характеризуют клетку как источник. Для пейсмейкера характерно наличие

самого раннего времени возбуждения. В свою очередь клетка или группа

клеток с наиболее ранним для всей карты временем возбуждения может

являться не единственным источником, поэтому клетки, инициирующие

возбуждение, должны быть определены при помощи поиска локального

минимума времени. Учитывая приведенные свойства, для поиска пейсмейкеров

необходимо проводить анализ каждой ячейки клеточного автомата и считать

ячейку пейсмейкером в том случае, если все клетки окрестности имеют более

позднее время возбуждения.

На основе приведенных рассуждений можно записать функцию поиска

источников возбуждения:

(2.48)

Функция возвращает единицу, если клетка является пейсмейкером, в

противном случае результат будет равняться нулю. Клеткам, для которых

).(),,(...)(),,()(),,( если 0

),(),,(...)(),,()(),,( если 1),(

821

821,,

XactactXactactXactact

XactactXactactXactactXkji atkjitatkjitatkjit

atkjitatkjitatkjitaaF

78

значение функции 1),( ,, Xkji aaF , в соответствие ставится значение времени

перехода в возбужденное состояние. Это значение должно быть найдено на

карте возбуждения, где каждой точке пространства возбуждения сопоставлено

время.

Перечисленные способы, задающие источники возбуждения, могут быть

скомбинированы после того, как источники будут найдены для случая со

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

заданные принудительно.

2.6.4. Порядок расчета карты возбуждения

Выявленные или заданные клетки − пейсмейкеры составляют малую часть

клеток с известным временем возбуждения, для остальных это значение должно

быть рассчитано. Вычисление карты проводится итеративно, и начинается с

источников. На каждом шаге итерации в процесс возбуждения вовлекаются

клетки, составляющие окрестность ячеек, которые перешли в состояние 2 на

предыдущем расчетном шаге. В клеточных автоматах каждый итерационный

шаг соответствует некоторому моменту времени, при переходе к каждой

следующей итерации величина времени увеличивается на величину принятого

для вычислений дискрета [46]. Использование в расчетах дискретных значений

времени требует согласования результатов вычислений с используемой

длительностью дискрета.

Синхронизация может быть проведена на основе приведения

длительностей передачи возбуждения между клетками к значениям, кратным

дискрету времени. Также в качестве синхронизируемого параметра может

выступать рассчитанное значение времени возбуждения ячеек. Оба подхода

могут быть реализованы только за счет округления вычисляемых значений. Так

как алгоритм моделирования итеративный и на каждом шаге вычислений

используются результаты, полученные на предыдущем расчетном шаге, то при

79

наличии большого числа итераций происходит накапливание ошибки. Для того

чтобы избежать этого, от дискретизации времени в необходимых случаях

можно отказаться.

Рассмотрим клетку как автомат, имеющий восемь информационных

каналов, каждый из которых может служить как входом, так и выходом.

Схематично такой автомат представлен на рисунке 2.11. В качестве данных,

передаваемых по каналам, выступают значения времени. Отношение числа

входных каналов к выходным зависит от состояний клеток окрестности. Для

источника характерно наличие восьми каналов, по которым информация

передается из клетки. Клетку, у которой все каналы работают только как

входные, будем называть стоком.

int1kjia ,,

int3

int2int4

outt4

outt4

outt4 outt4

Клетка kjia ,, , которая не работает как источник или сток, участвует в

расчетах в течение двух итераций. Для первой итерации в расчетах

используются каналы, работающие только на вход. В этом случае время

возбуждения клетки есть функция от значений времени, которые передаются по

информационным каналам:

(2.49)

где inn

inin ttt ,...,, 21 время для клеток окрестности, перешедших в состояние

возбуждения на предыдущем итерационном шаге, n - число каналов по

которым информация о возбуждении поступает к клетке. Значение времени

Рис. 2.11. Схема входных и выходных сигналов клетки

),,...,,()( 21,,inn

ininkjiact tttfat

80

возбуждения, поступающее по каждому из входных каналов, можно выразить

как сумму времени возбуждения клетки, от которой передается возбуждение, и

времени задержки информационного канала. Таким образом, для каждого из

входных каналов время возбуждения можно рассчитать по формулам:

(2.50)

Из множества возможных вариантов времени возбуждения необходимо

выбрать один. Для клетки тот информационный канал будет являться

активизирующим, время возбуждения через который принимает наименьшее

значение:

(2.51)

В случае, если клетка находится в рефрактерном периоде, то

возбуждающим является канал, время которого наиболее близко к моменту

выхода клетки из состояния рефрактерности. Запишем полную формулу

расчета времени возбуждения клетки:

(2.52)

При наличии нескольких источников возбуждения необходимо произвести

расчет карт возбуждения от каждого и произвести их анализ для выявления

участков встречи волн, порожденных разными источниками. Наложение карт

необходимо производить по следующим правилам:

(2.53)

).()(

...

);()(

);()(

,,

,,22

,,11

kjiXnactinn

kjiXactin

kjiXactin

atatt

atatt

atatt

}.,...,,min{)( 21,,inn

ininkjiact tttat

. если )(

...

; если )(

; если )(

);min()(

,,

2,,2

1,,1

,,

)(at)(at)(atTat

)(at)(at)(atTat

)(at)(at)(atTat

Tat

i,j,kref*

i,j,kacti,j,kinnkji

inn

i,j,kref*

i,j,kacti,j,kin

kjiin

i,j,kref*

i,j,kacti,j,kin

kjiin

kjiact

)),(),...,(),(min()( ,,,,2

,,1

,, kjipnactkji

pactkji

pactkjiact atatatat

81

где 1pactt , 2p

actt , …, pnactt − время возбуждения клетки при распространении

волны возбуждения от клетки пейсмейкера с индексом, соответствующим

номеру источника возбуждения. В уравнении n - число клеток пейсмейкеров.

Фактически, для каждой ячейки клеточного автомата в соответствие ставится

множество значений времени возбуждения клетки, из которых необходимо

выбрать одно с наименьшим значением. Количество элементов множества

зависит от числа клеток пейсмейкеров.

2.7. Выводы

1. Разработан метод дискретизации пространства возбуждения,

который позволяет произвести реконструкцию эндокардиальной поверхности

предсердий, а также произвести расчет решетки клеточного автомата по

созданной поверхности. Для метода реконструкции сформулирован ряд

ограничений и показано, что ограничения не противоречат применяемым

методикам оперативного вмешательства, что является необходимым условием

для его использования в медицинской практике.

2. Рассмотрены виды решеток клеточных автоматов и сделан выбор в

пользу прямоугольных. Показано, что этот тип решетки наиболее подходит для

решения поставленной задачи. Выделены четыре вида состояний клеток,

определены правила и порядок смены состояний.

3. Разработаны методы и алгоритмы адаптации модели клеточных

автоматов к существующей динамике возбуждения миокарда предсердий

моделируемого объекта. Разработанные механизмы настройки модели

используют данные, которые доступны в ходе проведения операции.

4. Решена задача ввода в модель источников возбуждения. Показано,

что в качестве пейсмейкеров могут быть использованы источники двух видов:

источники, найденные из анализа карт возбуждения, и источники, вводимые в

модель для задания стимулирующего воздействия.

82

5. Определен порядок расчета карт возбуждения на основе клеточного

автомата, решена задача расчета карт возбуждения при наличии нескольких

источников.

83

Глава 3. Программная реализация математической модели динамики

возбуждения предсердий

К разрабатываемому программному обеспечению было предъявлено

несколько требований:

1 − реализация в виде библиотеки, для работы с которой достаточно

подключить заголовочный файл;

2 − возможность использования библиотеки на разных операционных

системах;

3 − наличие простого однозначного интерфейса с набором методов,

реализующих основные этапы моделирования.

На основе второго пункта требований к программному обеспечению

решено было использовать язык программирования C++, который

стандартизован (ISO/IEC 14882) и имеет реализации компиляторов практически

для всех операционных систем. В процессе разработки использовалась среда

программирования MS Visual Studio. Net 2003. Для работы с векторами,

словарями и словарями с дубликатами в программе использовалась стандартная

библиотека шаблонов − STL, которая включена в стандарт C++, а потому

может использоваться для различных операционных систем.

Для отладки алгоритмов и визуализации результатов расчетов была

создана программа, рассчитанная на работу под операционной системой

Windows 2000/XP. В разработке использовалась шаблонная библиотека окон –

WTL, визуализация результатов расчетов реализована на основе библиотеки

инструментов визуализации − VTK (visualization toolkit) [66].

3.1. Структура программы

На этапе проектирования структуры программы был выбран объектно-

ориентированный стиль программирования [67]. Выбор был сделан на основе

84

анализа модели, рассмотренной во второй главе, данный подход максимально

удобен для ее реализации. Модель оперирует двумя четко разграниченными

понятиями: клеточный автомат и клетка.

Ячейка клеточного автомата, в рамках реализуемой модели, это

элементарная составляющая, в которой заключены электрофизиологические

свойства некоторого пространства.

Клеточный автомат — совокупность всех ячеек с одинаковыми для всех

правилами поведения.

Такое четкое разделение двух понятий на уровне модели позволяет

спроецировать данную классификацию на уровень объектов в ее программной

реализации.

Поэтому в программе реализованы два класса:

1 − класс клетки – Ccell;

2 − класс контейнер – CContainer, который выступает в роли клеточного

автомата.

На рисунке 3.1 показана схема композиции классов для тестовой

программы, поэтому в ней содержится класс дочернего окна и полиданных.

Рис. 3.1. Диаграмма композиции классов

85

Класс дочернего окна содержит экземпляр класса полиданных, класс

контейнера. Контейнер в свою очередь содержит словарь и вектор, элементами

которых являются экземпляры класса CCell.

В классе контейнере, моделирующем работу клеточного автомата,

хранятся все его ячейки, а также этот объект реализует расчеты решетки

клеточного автомата, алгоритм интерполяции, а также расчет карт

возбуждения.

Структурные отношения экземпляров объектов − клеток, а также

контейнера показаны на рисунке 3.2.

Cell1 : CCell

Cell3 : CCell

Cell2 : CCellCell4 : CCell Cell0 : CCell

1

1

1

1

1

1

1

1

Объект в диаграмме не присутствует, но подразумевается, что он существует

Связь обьектов через указатели

1

1

Container : CContainer

1 1 1 1

1

11

1

1

1 1

11

1

1

1

1 11 1

1

1

1

1

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

содержится массив указателей на клетки соседей, по этим указателям

осуществляется быстрый доступ к ячейкам окрестности. Фактически, связи

Рис. 3.2. Диаграмма взаимодействия объектов

86

являются двунаправленными, так как каждая ячейка, имеющая ссылку на

клетку соседа, также входит в список ее соседей. Таким образом, все ячейки

клеточного автомата связаны друг с другом указателями в сеть, благодаря чему

возможен последовательный обход всех клеток из любой точки клеточного

автомата.

3.2. Класс клетки

Класс клетки − CCell, реализует работу ячейки клеточного автомата. Число

экземпляров клеток определяется размером клеточного поля, которое

вычисляется в контейнере. Каждая ячейка содержит три структуры:

1 – Ccell::geometry;

2 - Ccell::indexes;

3 - Ccell::physics.

Структура Ccell::geometry содержит координаты положения ячейки в

трехмерном пространстве: x, y, z. Для координатной привязки ячейки

используется геометрический центр клетки. По умолчанию значения координат

инициализируются нулями. Следует уточнить, что клетка не содержит данных

о размере и форме ячейки, эти данные размещены в контейнере, который

определяет их форму, размеры и количество.

Для индексации и визуализации клеток используются две различные

системы координат, которые удобны в использовании на разных этапах работ.

Первая система координат с осями zyx ,, используется для визуализации

объектов, в дальнейшем будет называться пространством визуализации. Вторая

система координат служит для индексации ячеек клеточного автомата также

содержит три оси: zyx nnn ,, , направления которых совпадают с направлениями

осей пространственной системой координат, как это показано на рисунке 3.3.

Совпадение центров координат не требуется, но и не воспрещено.

87

xn

zn

yn

nO

x

y

z

O

Система координат, которая служит для индексации клеток, имеет

дискретные шкалы, которые содержат только целые числа. Расстояния между

делениями одинаковы для всех трех осей и соответствуют длине ребра ячейки

клеточного автомата.

Таким образом, обе системы координат являются взаимосвязанными, а

значит, для каждой точки может быть совершен переход от пространства

визуализации к пространству индексов и наоборот.

Структура индексов − CCell::indexes содержит порядковые номера клеток,

отсчитываемые относительно некоторой ячейки, принятой за центр индексов в

направлении координатных осей: CCell::indexes::x, CCell::indexes::y,

CCell::indexes::z. Геометрический центр первой ячейки удобно расположить в

точке начала координат. Также в структуре индексов содержится

идентификатор клетки n_Id, который вычисляется по формуле:

(3.1),

где zyx ,, − количество клеток в каждом из направлений, znynxn _,_,_ −

индексы относительно координатных осей.

Структура Ccell::physics предназначена для хранения

электрофизиологических свойств ячейки, а также данных, используемых для

Рис. 3.3. Взаиморасположение систем координат

xnynxznyxIdn ____

88

построения карт возбуждения. К числу электрофизиологических свойств

относится:

1 − длительность рефрактерного периода – int n_Ref;

2 − время возбуждения, рассчитанное на основе карты возбуждения int

n_Act;

3 − вектор, содержащий набор значений времени возбуждения от каждого

источника std::vector<int> vec_Act;

4 − результирующее время возбуждения ячейки int n_FinAct;

5 − состояние ячейки int n_Condition;

6 − массив расстояний до ячеек с заданным временем возбуждения,

реализованный на основе словаря с дубликатами std::multimap<int, int>

mmap_ActDist;

7 − массив расстояний до ячеек с заданной длительностью рефрактерного

периода, реализованный на основе словарей с дубликатами std::multimap<int,

int> mmap_RefDist;

8 − время, требуемое для перехода клетки в возбужденное состояние int

n_Delay.

В словарях с дубликатами, которые используются для хранения

расстояний между ячейками, ключом служит расстояние, по которому он

упорядочен. Использование словарей с дубликатами обусловлено наличием

равноудаленных ячеек.

Возможные состояния ячеек (Passive - 0, Active - 1, Refract - 2, Scarring - 3),

определены в классе.

Переменные структур CCell::physics, CCell::geometry, CCell::indexes

инициализируется нулями, переменной CCell::physics::n_Condition

присваивается значение Passive. После инициализации массивы:

std::multimap<int, int> mmap_ActDist, std::mmap<int, int> mmap_RefDist,

CCell::physics::vec_Act, пусты.

89

Последним информационным элементом ячейки является массив

указателей на клетки окрестности, для реализации которого используется

вектор std::vector<CCell*>. Вектор с указателями на ячейки окрестности

заполняется после построения решетки клеточного автомата. Число клеток –

соседей может принимать значение от одного до восьми. Число соседей зависит

от положения ячейки, в случае, если ячейка находится на границе поверхности,

число соседей будет меньше восьми. Альтернативой указателям могут служить

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

не менее, обращение к клеткам окрестности через индекс требует большего

времени, если данные хранятся в списках, или словарях стандартной

библиотеки шаблонов, кроме того, каждый раз индекс должен быть рассчитан.

При реализации вычисления карт возбуждения предполагается большое число

обращений к массиву клеток, поэтому использование указателей

предпочтительней. Тем не менее, индексы очень удобны, а иногда просто

незаменимы при обеспечении работы пользователя с программой.

В объектно-ориентированном программировании принято

инкапсулировать данные объекта, а для работы с объектом разрабатывается

набор функций, реализующих интерфейс доступа к ним. Такой подход

обеспечивает надежность и мобильность разрабатываемого программного

обеспечения. Надежность повышается за счет того, что разработанные функции

− методы обеспечивают однозначное управление объектом. По отношению к

объекту клетки такой подход также справедлив, поэтому структуры

CCell::physics, CCell::geometry, CCell::indexes объявлены в классе как privet.

В классе реализованы функции, которые обеспечивают безопасный доступ

к данным. Запись координат производится функцией

CCell::SetCoordinate(double, double, double), чтение CCell::geometry

CCell::GetCoordinate(void).

Для установки индексов реализована функция int CCell::SetIndex(int, int,

int), в параметрах которой передаются значения индексов по каждой из

90

координатных осей. Индекс Ccell::indexes::n_Id, вычисляется в функции и

присваивается ячейке, также значение возвращается функцей. Чтение индексов

реализовано аналогично чтению координат.

Работа с данными, отвечающими за электрофизиологические свойства,

более сложна и реализуется несколькими функциями. Длительность

рефрактерного периода может быть непосредственно установлена или

рассчитана. Установка длительности рефрактерного периода производится

через функцию void CCell::SetRefTime(int), которой в качестве параметра

передается длительность периода в миллисекундах. Расчет длительности

рефрактерного периода производится функцией int CCell::RefTiming(void),

которая вычисляет и присваивает результат переменной CCell::physics::n_Ref, а

также возвращает его.

Доступ к переменным CCell::physics::n_Act и CCell::physics::n_Сondition

реализован аналогично длительности рефрактерного периода функциями int

CCell::ActTiming(void), void CCell::SetActTime(int), int

CCell::GetCondition(void), void CCell::SetCondition(int).

Доступ к CCell::physics::n_FinAct осуществлен через функцию int

CCell::CreateMap(void), которая рассчитывает итоговое время возбуждения

ячейки.

Расстояния между точками, размещенными в контейнерах

std::multimap<int, int> mmap_RefDist и std::multimap<int, int> mmap_ActDist

используются функциями: void CCell::SetActDist(int, int), void

CCell::SetRefDist(int, int), которые добавляют значения. Функция void

ResetDist(void) очищает массивы расстояний.

Для работы с std::vector<int> vec_Act, используются функции void

CCell::AddTime(int), int CCell::GetTime(int), void CCell::Reset(void).

Время перехода в возбужденное состояние вычисляется в функции int

CCell::SetDelay(void), устанавливаемое значение возвращается функцией.

91

Класс клетки является максимально компактным классом, который

предназначен для хранения состояний и свойств некоторой пространственной

области, в которой располагается экземпляр клетки. Функции, реализующие

основные вычисления и предоставляющие основной набор инструментов по

работе с ячейками на уровне клеточного автомата, реализованы в классе

контейнере.

3.3. Класс контейнер

Класс контейнер − CContainer реализует несколько паттернов

программирования [68]:

1 − Mediator (посредник);

2 − Adapter (адаптер);

3 − Facade (фасад).

Как посредник, контейнер инкапсулирует способ взаимодействия

множества объектов − клеток. В случае отсутствия контейнера как посредника

появилась бы необходимость обеспечить связь между ячейками клеточного

автомата на уровне их класса, что в свою очередь привело бы к увеличению их

размеров и существенно усложнило систему в целом.

Как адаптер, контейнер преобразует интерфейс класса CCell к удобному

для пользователя интерфейсу.

Как фасад класс CContainer, выполняет функцию упрощения работы с

клеточным автоматом, предоставляя методы, которые необходимы для решения

на его основе узкоспециализированной задачи. К таким методам относятся:

1 − построение решетки клеточного автомата;

2 − задание начальных условий;

3 − поиск клеток пейсмейкеров;

4 − расчет карт возбуждений.

92

Построение решетки клеточного автомата начинается с задания размеров

ячейки клеточного автомата void CContainer::SetCellSize(int). Геометрические

размеры ячейки являются переменной величиной и задаются пользователем как

входной параметр модели. Уменьшение объема клетки приводит к увеличению

числа ячеек решетки клеточного автомата, что в свою очередь приводит к

увеличению требуемого для хранения массива клеток объема памяти.

Решетка клеточного автомата содержит гораздо меньшее число ячеек, чем

первичный куб, рассмотренный в параграфе 2.4.3, на основе которого

производится индексация клеток. Поэтому даже временное создание полного

массива данных, большая часть которых не используются в дальнейших

расчетах, приводит к неоправданным расходам памяти. Уменьшить объем

расходуемой памяти можно, если расчеты проводить итеративно, создавая

только ячейки, принадлежащие клеточному автомату.

Создание клетки требует предварительного расчета ее положения в

трехмерном пространстве относительно системы координат, которая

используется для визуализации объектов на экране. Расчет может быть

проведен на основе геометрических размеров ячеек и координат нулевого

индекса, эти данные позволяют преобразовать индексы по каждой из осей в

координаты ее вершин, на основе которых можно проверить ячейку на

принадлежность клеточному автомату.

Первым шагом в алгоритме построения решетки клеточного автомата

является вычисление первой ячейки. Для решения этой задачи используется

произвольный узел анатомической модели предсердия, на основе координат

которого рассчитывается индекс ячейки. На основе вычисленного индекса

создается первая клетка, для которой заполняются структуры CCell::indexes и

CCell::geometry.

Вычисленная клетка помещается в массив ячеек клеточного автомата. На

следующем шаге производится вычисление индексов клеток окрестности и

проверка их пересечения с поверхностью анатомической модели предсердий.

93

На каждом шаге итераций проверяются клетки окрестности ячеек, добавленных

в клеточный автомат на предыдущем расчетном шаге. При этом клетки,

которые были проверены ранее, повторно не рассматриваются. Такой подход

позволяет построить решетку клеточного автомата, не прибегая к созданию не

используемых в дальнейшем ячеек. Кроме этого, существенно уменьшается

число рассчитываемых ячеек, которые не принадлежат решетке клеточного

автомата.

Индексация ячеек по координатным осям удобна для расчета решетки

клеточного автомата и для визуализации ячеек, но не удобна для хранения

ячеек. Намного удобнее хранить экземпляры ячеек клеточных автоматов в

линейном массиве и обращаться к ним по индексу. Поэтому необходимо

проиндексировать ячейки, для чего следует провести вычисления по формуле

3.1. Таким образом, трехмерный массив ячеек может быть размещен в

одномерном.

В качестве массивов удобно использовать объекты контейнеры

стандартной библиотеки шаблонов [69], в состав которой входят:

1 – вектора – std::vector<>;

2 – списки – std::list<>;

3 – словари.

Для того чтобы выбрать, какой из указанных контейнеров является более

удобным вариантом хранения решетки клеточного автомата, следует

рассмотреть свойства каждого.

Вектор − std::vector это контейнер, который хранит весь массив данных в

непрерывной области памяти. Гарантируя монолитность размещения данных,

контейнер не гарантирует сохранность истинности указателей на элементы

данного массива. Это связано с тем, что при удалении одного из элементов

массива позиция в памяти всех следующих за ним элементов смещается на

размер ячейки, при этом изменяются указатели на те ячейки, которые были

смещены. Также указатели на элементы массива могут измениться при

94

добавлении новых данных, это произойдет, если кончится блок памяти,

выделенной под данные. В этом случае будет выделена другая область

большим размером, после чего элементы массива копируются в нее, а исходная

память освобождается.

Изменение указателей на элементы массива является крайне негативным

фактором, так как указатели на клетки окрестности, хранящиеся в каждой из

ячеек, становятся ложными. Также обращение к элементам массива возможно

по индексу, но индексы должны быть сплошными, то есть ряд индексов не

может содержать пропусков. Учитывая тот фактор, что большая часть ячеек из

общего количества является несуществующей, использование вектора для

решения данной задачи возможно только при создании всего числа ячеек

первичного куба со значениями NULL в несуществующих ячейках.

Списки − std::list лишены некоторых недостатков, которыми обладает

вектор. При размещении в памяти элементов массива этот контейнер размещает

данные в произвольных, свободных участках памяти, поэтому при изменении

размера списка память не перераспределяется. Каждый элемент списка

содержит указатель на следующий, что позволяет осуществить перебор всех

элементов массива. Для списков нет возможности произвольного доступа к

данным, а последовательный доступ увеличивает время. Тем не менее std::list

обладает одним существенным преимуществом, гарантирует сохранение

истинности указателей.

Словарями − std::map называются контейнеры, каждый элемент которых

состоит из двух частей: ключа и ассоциированного с ним значения. В словарях

ключи уникальны. В качестве данных, которые содержит словарь, могут

выступать строки, числа и любой другой тип данных. Словари, которые могут

иметь повторяющиеся ключи, называются словарями с дубликатами. В

соответствие экземпляру класса CCell может быть поставлен его индекс. В

массиве клеток индексы не повторяются, поэтому свойства словарей с

дубликатами далее не рассматриваются. Словари также как и списки

95

гарантируют валидность указателей на элементы в течении всего срока

существования словаря. Обычно словари используются в случае, если

необходим быстрый поиск по ключам. Время доступа к элементам словаря

больше чем у векторов, но гораздо меньше чем у списков. Вторым важным

свойством словарей является возможность использования ряда ключей с

пропусками.

На основе вышеперечисленных свойств контейнеров для хранения ячеек

клеточного автомата решено было использовать словари. Большее время

доступа к данным по сравнению с векторами является существенным

недостатком словарей, тем не менее, возможность существенно сократить

объем требуемой памяти является приоритетным фактором при выборе

контейнера.

Взаимодействие объектов при расчете решетки клеточного автомата

показано на рисунке 3.4.

Рис. 3.4. Диаграмма взаимодействия объектов при построении решетки клеточного автомата

96

Окно, которое содержит объект – реконструкцию анатомической модели

предсердий, передает контейнеру указатель на него через вызов функции void

CContainer::SetLpPolyData(PolyData*). Из сетки анатомической модели

извлекается узел на основе функции double[3] PlyData::GetPoint(int), которая

является методом класса PolyData. Расчет клетки, в которую попадает

извлеченный узел, производится функцией методом класса контейнера - int

CContainer::CalcFirstCell(double[3]). Для расчета стартовой клетки

целесообразно брать узел с нулевым индексом, так как его существование

гарантировано. Рассчитанная клетка помещается в вектор временного хранения

ячеек, с этого момента производится циклический расчет. По порядку из

вектора извлекаются клетки, рассчитываются ячейки окрестности, которые в

свою очередь помещаются в вектор, а извлеченная клетка, после удаления из

вектора помещается в словарь, где хранится постоянно. Извлечение, расчет

клеток окрестности и перенос клеток в словарь осуществляется до тех пор, пока

вектор не окажется пуст. Это произойдет в том случае, если вся поверхность

исходной сетки будет аппроксимирована ячейками клеточного автомата.

Следует отметить, что на каждом этапе внесения в вектор новой ячейки

необходимо проводить проверку на наличие клетки с данным индексом в

словаре.

Построение решетки клеточного автомата не может сопровождаться

расстановкой указателей на клетки окрестности. Это связанно с тем, что в

момент создания ячейки доступны не все указатели на клетки окрестности.

Поэтому могут быть назначены только указатели на те ячейки, которые были

созданы на предыдущем расчетном шаге, остальные ячейки не существуют, а

также неизвестно, какая именно из клеток полной окрестности будет

использована в качестве ячейки клеточного автомата. Именно по этой причине

следует вынести реализацию расстановки связей в отдельный цикл.

Решение задачи расстановки связей производится за один проход

содержимого словаря. Перебирая ячейки сетки клеточного автомата,

97

необходимо проверить на существование каждую клетку окрестности, если

ячейка существует, в вектор ячеек соседей добавляется указатель на нее. Эта

процедура повторяется в цикле до тех пор, пока не будут проверены все

элементы словаря.

Для адаптации модели к реальным условиям необходимо реализовать

возможность сопоставить некоторому числу клеток время перехода в

возбужденное состояние, а также длительность рефрактерного периода. С этой

целью в класс контейнер была внесена функция int

СCDirect::SetTimeParam(double, double, double, int timeAct = -3000, int timeRef =

-3000), в параметрах которой передаются координаты точки пространства,

время его возбуждения и длительность рефрактерного периода. По умолчанию

временным параметрам присваивается значения -3000, что соответствует не

заданному параметру. Значения по умолчанию были выбраны неслучайно, все

временные параметры указываются в миллисекундах, 3000 миллисекунд

превышают допустимый интервал. Функция производит поиск ячейки

клеточного автомата на основе пространственных координат, и в случае ее

существования присваивает указанные значения времени, возвращая линейный

индекс ячейки, в противном случае возвращается ноль.

В качестве исходных данных при интерполяции временных параметров на

всю систему клеток используются расстояния между вычисляемой ячейкой и

ячейками с заданными свойствами. Сам метод подробно был изложен в

параграфе 2.6.1 и 2.6.2. Вычисление расстояний производится итеративно на

основе волнового алгоритма [70-73], где за расстояние между ячейками принят

номер итерации.

Расчет расстояний реализован в функции void

CContainer::SetDistance(CCell*). В качестве параметра, функции передается

указатель на клетку, относительно которой будут рассчитаны расстояния. В

результате работы функции устанавливаются все расстояния от клетки

источника волны до каждой клетки клеточного автомата. Для реализации

98

волнового алгоритма в функции созданы два вектора std::vector<CCell*>

vec_front и std::vector<CCell*> vec_links. Первый вектор используется для

хранения ячеек клеточного автомата, которые образуют фронт волны. После

заполнения этого вектора всем ячейкам ставится в соответствие номер

итерации. Вектор vec_links используется для временного хранения ячеек,

которые составляют окрестность ячеек расположенных в векторе vec_front.

Этот вектор заполняется после заполнения вектора фронта волны, при этом

важно следить за тем, чтобы значения в векторах не совпадали, в противном

случае процесс вычислений окажется бесконечным. Для реализации волнового

алгоритма Ли можно определить следующую последовательность действий:

1 − внесение в вектор vec_front указателя на клетку с заданным

значением;

2 − расчет клеток окрестности клеток из vec_front и занесение результата

в вектор vec_links;

3 − занесение номера итерации в таблицу расстояний для ячеек указатели

на которые расположены в векторе vec_front;

4 − перенос содержимого vec_links в vec_front;

5 − очистка вектора vec_links.

В алгоритме расчета расстояний для представленной последовательности

действий на участке 2 − 5 должен быть реализован цикл, условием выхода из

которого является отсутствие в векторе vec_links указателей. Приведенную

процедуру необходимо выполнить для каждой клетки с заданными

параметрами. Блок - схема реализации волнового алгоритма представлена в

приложении.

Для расчета времени возбуждения и длительности рефрактерного периода

ячейки в классе клетки реализованы функции int CCell::RefTiming(void) и int

CCell::ActTiming(void). Расчет этих параметров может быть реализован в

клетке, так как в ней присутствуют все необходимые для этого данные. После

расчета данных параметров массивы расстояний очищаются.

99

Для поиска источников возбуждения в классе контейнере реализована

функция void CContainer::SetSourse(void) и вектор

CContainer::std::vector<CCell*>, в котором хранятся указатели на источники

возбуждения. В функции производится перебор всех ячеек клеточного

автомата, для каждой производится вызов функции bool::CCell::IfSourse(void),

которая в случае, если клетка является источником возбуждения, возвращает

истинное значение. В этом случае в вектор источников добавляется указатель

на клетку.

Вторым этапом настройки клеточного автомата является расчет времени

перехода клеток в состояние возбуждения. Вычисления проводятся на основе

формул, которые были приведены в параграфе 2.6.1. и реализованы в классе

клетки функцией int CCell::SetDelay(void). Данная функция вызывается для

каждой ячейки клеточного автомата из функции void CContainer::SetDelay(void)

класса контейнера.

Расчет карт возбуждения производится отдельно для каждого источника.

На втором этапе производится совмещение рассчитанных на клеточном

автомате карт возбуждения. Алгоритм расчета карт возбуждения основан на

волновом алгоритме, который показан в приложении 1. К волновому алгоритму

добавляется блок вычисления времени перехода клетки в возбуждение на

основе метода, представленного во второй главе, в разделе 2.6.4. Функция

вычисления времени возбуждения клеток void CContainer::CreateMap(CCell*)

реализована в классе контейнера, перебирает все клетки клеточного автомата в

соответствии с волновым алгоритмом, проводя в этой последовательности

расчеты времени возбуждения клеток. Функция void

CContainer::CreateMap(CCell*) вызывается в соответствии с количеством

источников возбуждения. Совмещение карт возбуждения реализовано в

функции void CContainer::StickMap(void) путем перебора всех ячеек клеточного

автомата и выбора самого раннего значения времени.

100

3.4. Алгоритм распознавания источников возбуждения

Метод моделирования динамики возбуждения предсердий предполагает

наличие источника возбуждения. Во второй главе подробно описан метод

поиска клеток источников возбуждения, тем не менее, следует отдельно

остановиться на практической реализации этого метода. Алгоритм,

разработанный во второй главе анализирует все ячейки клеточного автомата.

Такой подход является не оптимальным, так как экстремумы могут находиться

только в точках на основе которых производилась интерполяция. Это свойство

обусловлено используемым методом интерполяции. Поэтому в практической

реализации на принадлежность к источникам возбуждения проверяются только

точки из множества S , у которых заданно время локального возбуждения.

Также при реализации этого алгоритма следует учитывать наличие

ложных экстремумов, которые появляются из-за несовершенства методов

интерполяции. Для того чтобы исключить появление ошибочных источников

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

Введем некоторый порог, который ограничит степень локальности экстремумов

принимаемых за источники возбуждения и выделит только глобальные

экстремумы. Вводимый порог измеряется в количестве итераций волнового

алгоритма, на котором точка источник должна иметь наименьшее время

локального возбуждения. Определение числа итераций — это задача в которой

присутствует доля субъективизма, поэтому в программе необходимо

предоставить пользователю возможность устанавливать количество итераций

самостоятельно. Дополнительно необходимо реализовать возможность

удаления ложных источников, которые были ошибочно распознаны

программой, а также внесение источников по усмотрению пользователя.

На рисунке 3.5 представлены два распознанных источника возбуждения.

Ячейки клеточного автомата, в которых находятся источники возбуждения,

окрашены в фиолетовый цвет, на рисунке такие ячейки помечены стрелками.

101

На рисунке 3.6 стрелками показаны ложные источники возбуждения. Для

демонстрации случаев появления ложных источников, интерполяция

проводилась методом Шепарда на наборе точек, которые были крайне

неравномерно распределены по трехмерной поверхности. В области раннего

возбуждения точки расположены близко, а в области позднего возбуждения

точек мало и они расположены на большом расстоянии друг от друга. В

результате, радиус R , при котором для каждой точки поверхности существует

как минимум три задающих, оказывается велик. По этой причине на участке

раннего возбуждения существенное влияние оказывают точки позднего

возбуждения, что приводит к появлению множества локальных экстремумов на

участке, который имеет более раннее время возбуждения. В случае если

распределение точек будет обратно, тому которое было представлено на

рисунке, ложные экстремумы будут характеризоваться более поздним

временем локального возбуждения – стоками.

Рис. 3.5. Распознанные источники возбуждения

102

Из приведенного примера хорошо видно, что чувствительность системы к

неравномерному распределению заданных точек зависит от метода

интерполяции. Увеличить устойчивость системы можно, если интерполяцию

проводить с помощью метода разработанного южноафриканским горным

инженером Д.Г. Кригом – кригинга, но полностью избавиться от данного

эффекта невозможно.

3.5 Реализация параллельных вычислений

Одним из наиболее перспективных направлений в программировании

является технология параллельной обработки информации. На современном

этапе развития микропроцессорной техники наметился поворот от наращивания

тактовой частоты к созданию многоядерных процессоров. Использование

технологий, которые позволяют одновременно выполняться нескольким

Рис 3.6. Ложные источники возбуждения

103

программным патокам, требует от разработчиков создания программного

обеспечения, рассчитанного на параллельную обработку информации.

Технология многопоточного программирования существует достаточно

давно, и современные операционные системы поддерживают выполнение

нескольких параллельных потоков, но наиболее широкое применение

технологии параллельной обработки информации получили в серверных

приложениях, либо в специализированных приложениях, созданных для работы

на суперкомпьютерах. Появление новых многоядерных процессоров дает

основание полагать, что данные технологии поступят в массовое производство,

что сделает их доступными по цене для рядовых пользователей. Это

обстоятельство требует рассмотрения возможности реализации параллельных

вычислений для алгоритмов, рассмотренных в предыдущих параграфах.

Ключевым понятием для параллельных вычислений на уровне приложения

является поток − объект, получающий процессорное время.

Для реализации параллельных вычислений следует рассмотреть модели

функционирования потоков, каждая из которых характеризуется собственной

декомпозицией работ. Каждая из моделей отвечает за состояние потоков и

условия, при которых они создаются. Выделяют следующие модели [74, 75]:

1 – делегирование;

2 – сеть с равноправными узлами;

3 – конвейер;

4 – изготовитель – потребитель.

Модель делегирования характеризуется наличием управляющего потока,

который создает рабочие потоки и назначает для каждого из них задачу.

Управляющий поток существует до тех пор, пока существует хотя бы один

рабочий. На рабочий поток возлагается обязанность за выполнение некоторой

задачи и получение результатов.

Управляющий поток должен выполнять функцию распределения заданий

среди рабочих потоков, которые в свою очередь поступают к нему, при этом

104

для выполнения каждого из запросов создается новый поток. При таком

подходе есть опасность, что число созданных рабочих потоков может

превысить допустимое число или процесс может превысить объем выделенных

ему ресурсов. Поэтому модель делегирования требует от управляющего потока

наличия механизма, контролирующего количество создаваемых им потоков и

потребляемых ресурсов.

В качестве примера решения проблемы избыточного числа потоков может

быть предложен пул рабочих потоков, которым будут назначаться задания.

После выполнения задания поток не удаляется, а переходит в состояние

ожидания до тех пор, пока ему не будет поручено новое. Для этого создается

очередь заданий, из которой каждый поток выполняет только определенный

тип.

Противоположный подход в организации параллельной обработки данных

демонстрирует модель с равноправными узлами. Данный подход использует

несколько потоков с одинаковым статусом, которые создаются некоторым

начальным потоком, не выполняющим функции управления. Рабочие потоки

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

данные являются общими. В последнем случае на рабочие потоки ложится

большая ответственность по синхронизации доступа к данным.

Для конвейерной модели характерна поэтапная обработка данных. За

выполнение каждого этапа отвечает отдельный поток. Для этой модели важен

порядок следования операций. Потоки завершают свою работу, когда будет

обработана вся совокупность данных. Каждый поток отвечает за получение

промежуточных результатов, делая их доступными для следующего потока.

Последним потоком вырабатывается конечный результат.

Для конвейерной модели характерно наличие буферизации, это связано с

тем, что каждый из потоков может требовать различного количества

процессорного времени для обработки одинаковых объемов данных. Тем не

менее, накапливающиеся данные необходимо перерабатывать, для чего может

105

быть организованно несколько потоков на критическом участке или

расставлены различные приоритеты для каждого из участков конвейера.

В модели изготовитель – потребитель существует поток, который

подготавливает данные для потока потребителя. Для этого подхода характерно

наличие разделяемого обоими потоками массива данных, что требует

синхронизации доступа к ней. Такая необходимость связана с тем, что

существует опасность обращения потока потребителя к неподготовленным

данным или поток изготовитель перепишет данные несколько раз, в результате

чего они будут утеряны.

Каждая из представленных моделей ориентирована на решение

определенного класса задач.

Рассмотрим задачи, которые решаются в процессе моделирования

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

применены к ним.

Функционально, весь процесс вычислений можно разбить на несколько

этапов:

1 – реконструкция эндокардиальной поверхности;

2 – расчет решетки клеточного автомата;

3 – расстановка связей между ячейками клеточного автомата;

4 – расчет карты на основе экспериментальных данных;

5 – настройка ячеек автомата;

6 – выявление источников возбуждения;

7 – расчет карт от каждого из источников;

8 – сведение результатов расчета к одной карте.

Все этапы следуют друг за другом в той последовательности, в которой

они приведены в перечне задач, каждый последующий шаг вычислений

использует результаты работы предыдущего. Исключение составляют только

процедура настройки ячеек автомата и этап выявления источников

106

возбуждения, поэтому эти вычисления могут быть проведены параллельно,

диаграмма последовательностей вычислений приведена на рисунке 3.7.

Несмотря на то, что каждый этап расчетов использует результаты

вычислений предыдущего, проведение параллельной обработки информации на

основе конвейерной модели затруднительно. Формально, по отношению к

этапам 1 − 3 может быть применена конвейерная схема работы потоков. Так,

например, часть реконструированной поверхности может быть использована

для создания решетки клеточного автомата, а часть рассчитанной решетки

может служить основой для расстановки связей между ячейками. Однако

следует учесть, что все три потока в этом случае должны быть жестко

синхронизированы между собой, а также при таком подходе максимальное

число параллельных потоков будет равняться трем. Этапы 4, 7, 8, вовсе не

могут использовать часть выходных данных, а работают со всей совокупностью

Рис. 3.7. Последовательность проводимых расчетов

107

данных, получаемых в результате работы первых трех блоков. Поэтому в

данной ситуации предпочтительней произвести параллельные расчеты внутри

самих вычислительных этапов.

Проведение параллельных вычислений в пределах представленных

функциональных блоков ограничено необходимостью разделения доступа к

одному массиву памяти разными потоками. В ситуации, когда два потока

вынуждены обращаться к одному массиву данных, может случиться так, что

один поток обращается к массиву на чтение, в то время как другой производит

изменение данных. В этом случае произойдет конфликт, который приведет к

разрушению процесса. Для того чтобы этого не произошло, следует

синхронизировать потоки. Поток, осуществляющий изменение данных, должен

блокировать доступ к ним на чтение до тех пор, пока не завершит их

изменение. Использование блокировок продиктовано необходимостью

создания механизмов синхронизации потоков при обращении к данным, однако

это приводит к снижению производительности программы в проводимых

расчетах. Снижение наблюдается за счет того, что потоки вынуждены

простаивать в тот момент обращения к данным, блокированным другим

потоком. Увеличение числа потоков использующих один массив данных

приводит к увеличению времени простаивания потоков и снижению прироста

общей производительности. Существует предельное число параллельно

работающих потоков, при котором достигается максимальная

производительность, дальнейшее увеличение их числа приведет к ее снижению.

По этой причине, по возможности, следует избегать блокировок.

При реконструкции эндокардиальной поверхности параллельные

вычисления могут быть обеспечены за счет выделения каждому потоку

диапазона узлов, которые должны быть в нем рассчитаны. Результаты расчетов

могут быть записаны в массив узлов внутри самого потока. Изменение

положения узлов внутри объекта PolyData совершается после того, как все

расчеты будут закончены. Такой подход позволяет сократить число обращений

108

к памяти на изменение данных, а значит и время простоя потоков в ожидании

завершения процедуры изменения данных. Предложенная схема является

моделью сети с равноправными узлами.

Расчет решетки клеточного автомата является самым вычислительно

емким процессом. На данном этапе требуется большое число вычислений.

Кроме этого, из-за отсутствия связей через указатели между ячейками, нет

быстрого механизма доступа к клеткам окрестности. В связи с этим наиболее

выгодна реализация параллельных вычислений именно на этапе расчета

решетки клеточного автомата. На данном этапе расчетов параллельные

вычисления могут быть проведены двумя способами:

1 − блочная обработка;

2 − очередь клеток.

Первый способ подразумевает создание нескольких потоков, каждому

назначается клетка, с которой начинается расчет остальных ячеек. Расчет

исходных клеток должен производиться на этапе подготовки к вычислениям.

Также как и в случае с расчетом анатомической модели, каждому потоку

необходимо назначить диапазон рассчитываемых им клеток. Важно, чтобы

клетки начала расчета попадали в этот диапазон, также выделенный диапазон

должен быть монолитным (под монолитностью следует понимать возможность

обхода клеток на основе волнового алгоритма Ли).

Второй способ основан на создании нескольких потоков, каждый из

которых будет извлекать клетку из промежуточного расчетного вектора,

проверять условия принадлежности ячейки решетки клеточного автомата, затем

помещать связанные с ним клетки в этот массив, прежде удалив из него

рассчитанную клетку. Все потоки извлекают из общего вектора свободные для

вычисления клетки и проводят для них все необходимые вычисления.

Оба подхода имеют сильные и слабые стороны. К основному недостатку

первого следует отнести необходимость вычисления ячеек − начала обхода

клеток, а также рассчитать диапазон клеток для каждого из потоков.

109

Дополнительные вычислительные этапы должны быть проведены для каждого

из планируемых потоков. На конечном этапе расчета необходимо провести

объединение созданных потоками ячеек клеточного автомата, что так же

является недостатком данного подхода. Существенное достоинство первого

метода заключается в полной независимости вычислительных потоков. В

период вычисления данные размещаются в независимых массивах, созданных в

функции. За счет независимого размещения данных потоки не тратят время в

ожидании очереди на доступ к данным.

Второй подход, где используется разделяемый доступ к памяти, требует

жесткой синхронизации при записи и удалении элементов массива, что в свою

очередь накладывает серьезное ограничение на число параллельно

действующих потоков. Положительным свойством последнего способа можно

считать отсутствие дополнительных этапов подготовки к расчетам решетки

клеточного автомата и необходимости на конечном этапе формирования

единого массива данных.

Оба подхода имеют право на существование, в данной работе выбор был

сделан в пользу блочного метода расчета. Приведенные выше методы также

реализуют модель сети с равноправными узлами.

Для расстановки связей между ячейками клеточного автомата может

быть использована схема, аналогичная той, которая была использована для

расчета решетки. Однако реализация вычислений несколькими потоками для

решения данной задачи нецелесообразна, поскольку быстро выполняется в

единственном потоке.

Для всех остальных этапов расчета схемы параллельных вычислений,

аналогичные представленным, не могут быть использованы. Это связано с тем,

что так или иначе появляется необходимость обращения к ячейкам, которые

уже находятся в ассоциированном списке. В связи с этим появляется

необходимость синхронизации при обращении к блоку памяти.

Традиционно для синхронизации применяются:

110

1 − критические секции;

2 − wait функции;

3 − события;

4 − семафоры;

5 − мьютексы.

Критические секции — это небольшой участок кода, требующий

монопольного доступа к каким-то общим данным. Они позволяют сделать так,

чтобы единовременно только один поток получал доступ к определенному

ресурсу. Естественно, система может в любой момент вытеснить поток и

подключить к процессору другой, но ни один из потоков, которым нужен

занятый ресурс, не получит процессорное время до тех пор, пока первый поток

не выйдет за границы критической секции. Критические секции отличаются

большей скоростью выполнения по сравнению с механизмами синхронизации

уровня ядра.

Wait функции — функции позволяют потоку в любой момент

приостановиться и ждать освобождения какого-либо объекта ядра. Существуют

функции ожидания как единственного объекта ядра, так и некоторого

множества объектов. Для функций существует возможность задания

предельного времени ожидания освобождения объекта, по истечении которого

функция возвращает флаг превышения времени ожидания. Если объект

освобождается раньше установленного времени, функция возвращает флаг

завершения процесса. Использование данного механизма удобно при

необходимости блокирования одного потока, пока не завершит свою работу

другой поток.

События — объекты ядра, содержащие счетчик числа пользователей и две

булевы переменные: одна сообщает тип данного объекта-события, другая —

его состояние (свободен или занят).

События уведомляют об окончании какой-либо операции. Объекты-

события обычно используют в том случае, когда какой-то поток выполняет

111

инициализацию, а затем сигнализирует другому потоку, что тот может

продолжить работу. Инициализирующий поток переводит объект "событие» в

занятое состояние и приступает к своим операциям. Закончив, он сбрасывает

событие в свободное состояние. Тогда другой поток, который ждал перехода

события в свободное состояние, пробуждается и вновь становится

планируемым.

Семафоры — объект ядра, позволяющий произвести учет ресурсов.

Данный инструмент синхронизации позволяет обеспечить выполнение

заданного количества потоков. При увеличении количества потоков до

значения, которое превышает заданное семафору, поток останавливается и

ожидает освобождения очереди, после чего продолжит выполнение, уменьшив

счетчик свободных объектов на единицу.

Мьютекс — объект ядра для обеспечения исключительного доступа к

участку кода. Мьютексы не вносят новой концепции синхронизации, а

используют схему, аналогичную критическим секциям. Основное отличие

мьютексов от критических секций заключено в возможности использования

первых в нескольких процессах, в то время как критические секции имеют

возможность работать только в пределах одного.

Этап расчета карты возбуждения требует нахождения расстояний между

каждой парой ячеек с заданным временем возбуждения и неизвестным

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

количество потоков, которое равно числу заданных точек. Необходимость

перезаписи значений массива данных требует синхронизации.

Несомненно, для расчета расстояний между ячейками наиболее красивым

решением задачи организации параллельных вычислений является создание

необходимого числа потоков (по числу процессоров). Наиболее удобным в

данной ситуации является создание независимых потоков вычисления

расстояний между ячейками от каждого источника. Обеспечить постоянную

работу необходимого числа потоков наиболее удобно с помощью семафоров.

112

Создавая очередь из потоков, если число источников больше числа

процессоров, семафоры обеспечивают подключение новых потоков при

завершении работы одного из потоков. Второй точкой синхронизации потоков

является доступ к элементам ассоциированного списка. Для того, чтобы

избежать одновременного обращения к одному элементу списка на запись или

запись и чтение нескольких потоков, необходимо введение критических секций

в участки кода, осуществляющие запись данных в массив данных.

Необходимость введения критических секций налагает ограничения на число

параллельно работающих потоков.

Так как алгоритм расчета расстояний между клетками содержит основные

операции чтение и запись, то приведенный вариант параллельных вычислений

неприемлем, так как введение критических секций приведет к тому, что потоки

будут большую часть времени простаивать, ожидая доступа на запись или

чтение в массив данных. По этой причине, не смотря на удобный для

параллельных вычислений алгоритм расстановки расстояний, эта операция

осуществляется последовательно.

Организация параллельных вычислений времени локального возбуждения

клеток на основе входных данных может быть произведена по схеме,

применяемой для расчета решетки клеточного автомата. Введение критических

секций на участки кода, производящие запись в ассоциированный список, не

приведет к ситуации, которая была описана для предыдущего этапа, так как

время обращения к памяти гораздо меньше, чем время, затрачиваемое

процессором на проведение вычислений.

Выявление источника возбуждения и настройка ячеек может

производиться параллельно. Проведение параллельно двух этих операций

возможно благодаря тому, что для этого присутствуют все необходимые

данные. Поиск источников возбуждения требует чтения данных из

ассоциированного списка. Настройка клеток требует чтения и изменения

данных из списка, поэтому обращение на чтение данных следует

113

синхронизировать с изменением данных в списке, для чего наиболее удобны

критические секции.

Расчет карт возбуждения от каждого из источников также может быть

произведен параллельно. Тем не менее, расчет времени локального

возбуждения для каждой клетки требует обращения на чтение и изменение

данных, и требует синхронизации. В данной ситуации основной является

операция чтение − запись. Поэтому расчет карт возбуждения проводится

последовательно.

Сведение карт возбуждения к одной производится в единственном потоке,

так как проводится в один проход ячеек клеточного автомата и не требует

значительных затрат времени.

3.6. Интерфейс пользователя программы, визуализирующей

результаты вычислений

В разработанном программном обеспечении используется однооконный

интерфейс. Этот выбор продиктован большим количеством потребляемой

программой памяти, одновременное построение двух и более моделей, в

большинстве случаев, приведет к использованию файла подкачки и, как

следствие, к заметному снижению производительности вычислительной

системы.

В программном продукте все функциональные возможности доступны из

панели инструментов, которая показана на рисунке 3.8. Панель инструментов

разделена на пять логических частей:

- инструменты ввода – вывода;

- инструмент для настройки решетки клеточного автомата;

- инструменты изменения данных;

- кнопки переключения отображаемой на экране карт;

- кнопка вызова окна свойств модели.

114

Операции ввода − вывода информации связаны с загрузкой данных,

которые были получены во время операций. Программным продуктом могут

быть использованы данные системы Carto – BiosenseWebster и Елкарт II

Навигатор – Электропульс. Также могут быть загружены данные, которые были

сохранены ею ранее. В этом случае загружается не только анатомическая

модель эндокардиальной поверхности и данные о времени возбуждения

участков поверхности, но также и спроектированные аблационные дорожки и

точки стимуляции с заданным в них временем нанесения стимула. Внесенные в

исходную модель изменения могут быть отменены при помощи первой кнопки

панели инструментов.

Операции над решеткой клеточного автомата сводятся к ее перестройке с

новым размером ячейки. Размер задается в виде количества клеток,

укладываемых вдоль анатомической модели по выбранной оси координат.

В программном обеспечении реализовано четыре инструмента по

внесению изменений в модель:

- инструмент внесения точек с сопоставленным в них временем;

- инструмент создания точек стимуляции;

- инструмент создания препятствий;

- инструмент внесения области re-entry.

Инструмент по внесению в карту возбуждения новых точек с заданным

временем предназначен для редактирования карт с уже имеющимся набором

точек. Также он может быть использован для создания карт с первой точки. Для

того чтобы добавить новую точку с известным временем возбуждения,

достаточно выбрать данный инструмент и произвести двойной щелчок левой

копкой мыши на трехмерной модели предсердия. После этого появится

Рис. 3.8. Панель инструментов

115

диалоговое окно ввода времени локального возбуждения и длительности

рефрактерного периода, которое показано на рисунке 3.9.

Создание точки стимуляции производится аналогично предыдущей

процедуре, однако поле, соответствующее длительности рефрактерного

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

нанесения стимула в выбранной точке.

Инструмент по созданию препятствий назначает набор ячеек, которые

переводятся в невозбудимое состояние. Трассировка дорожек производится по

кратчайшему расстоянию между двумя точками поверхности. Для создания

препятствий необходимо двойным щелчком левой кнопки мыши отметить две

точки поверхности, которые будут соединены по кратчайшему пути. Созданная

невозбудимая дорожка попадает в список препятствий. При необходимости она

может быть удалена из него. В этом случае клетки, которые принадлежали

удаленной из списка дорожке, возвращаются к исходному состоянию и

становятся возбудимыми. На рисунке 3.10 красным цветом показана

непроводящая область, созданная при помощи данного инструмента. Для

визуализации непроводящей области используются ячейки клеточного

автомата, которые становятся видимыми.

Рис. 3.9. Окно ввода временных параметров

116

Инструмент для обозначения области re-entry используется для создания

циркуляции волны возбуждения вокруг препятствия. Необходимость такого

вмешательства связана с тем, что при интерполяции не учитывается эффект

циркуляции возбуждения вокруг препятствия, что приводит к появлению

близко расположенных зон раннего и позднего возбуждения и градиента

времени возбуждения между ними. Физически такого градиента нет, а

существует скачек времени. Эту ситуации необходимо распознать. Решено

было не разрабатывать алгоритм автоматического распознавания циркуляции, а

создать инструмент для назначения области повторного вхождения

возбуждения. Клетки, расположенные в области более позднего возбуждения,

назначаются рефрактерными.

В программном обеспечении реализованы три кнопки, которые позволяют

выбирать для отображения на трехмерной модели эндокардиальной

поверхности. Пользователю доступна карта времени локального возбуждения,

длительности рефрактерного периода и карта времени локального

возбуждения, которая рассчитывается на клеточном автомате. Изображения

карт возбуждения будут представлены в четвертой главе в качестве результатов

моделирования.

Рис. 3.10. Непроводящая область

117

Кнопка вывода информации о модели содержит:

- поле для вывода числа ячеек образующих клеточный автомат;

- число точек, которые задают карту возбуждения поверхности;

- число источников, диапазон времени возбуждения в мили секундах,

которое получают в виде входных данных;

- диапазон времени возбуждения, которое получают после расчетов

произведенных на клеточном автомате;

- максимальная ошибка моделирования в миллисекундах;

- наличие или отсутствия повторного вхождения возбуждения в область,

которая уже участвовала в сокращении. Вид информационной панели

представлен на рисунке 3.11.

Рис. 3.11. Информационное окно свойств модели

118

3.7. Выводы

1. Сформулированы требования к разработанному программному

обеспечению, которое реализует математическую модель динамики

возбуждения предсердий. Решено, что программная реализация модели должна

быть оформлена в виде библиотеки с возможностью использования ее

сторонними разработчиками. Так как программный продукт ориентирован на

использование на различных платформах, поэтому он должен быть написан с

использованием стандартизированного языка программирования. Библиотека

должна иметь простой однозначный интерфейс с набором методов,

реализующих основные этапы моделирования.

2. Разработаны основные аспекты программной реализации модели,

доказана необходимость использования объектно-ориентированного стиля

программирования, а также обоснована необходимость конструирования двух

классов: класса клетки и класса контейнера.

3. Для каждого класса определен набор хранимых данных, а также

методы, в которых реализованы вычислительные алгоритмы. Для классов

определен набор функций, которые реализуют интерфейс управления моделью

и извлечения данных. В классе клетки реализованы методы записи и чтения

данных о пространственных характеристиках клетки, а также ее

электрофизиологических свойствах и индексов. Из вычислительных методов в

клетку вынесена функция интерполяции электрофизиологических параметров.

В классе контейнере реализованы функции расчета решетки клеточного

автомата, трассировки препятствий и другие действия, выполняющие операции

над большим числом ячеек клеточного автомата.

4. Проведен анализ и выбор оптимального способа хранения данных.

Показано, что решаемая задача требует компромисса между скоростью доступа

к данным и занимаемым объемом памяти, который необходим для их хранения.

119

Обоснован выбор варианта хранения данных, использующего словари в

реализации стандартной библиотеки шаблонов – STL.

5. Обоснована целесообразность реализации параллельных

вычислений на основе разработанных алгоритмов. Показано, что параллельная

обработка данных наиболее эффективна на этапе реконструкции

эндокардиальной поверхности трехмерной модели, а также расчета решетки

клеточного автомата. На этих этапах расчетов предлагается использовать

модель с равноправными узлами.

120

Глава 4. Результаты моделирования динамики возбуждения предсердий

Традиционно для отображения хода волны возбуждения по эндокардиальной

поверхности миокарда используют цвета, которыми обозначают время локального

возбуждения. Такой способ представления информации очень удобен для

восприятия. В современных картирующих электрофизиологических системах

именно этот метод используется для отображения динамики возбуждения

поверхности миокарда. При этом модели, которые строятся на основе данных,

полученных опытным путем, отображают существующую динамику, но не носят

аналитический характер. Фактически, это способ отображения информации,

которая поступает в ходе операции эндокардиального картирования.

Диссертационная работа ставит перед собой задачу разработки

аналитической модели, которая способна воспроизвести ход возбуждения с

учетом существующей динамики возбуждения миокарда предсердий. Кроме этого,

модель должна учитывать наличие вносимых в нее невозбудимых участков,

моделирующих аблационные воздействия при расчетах карт времени возбуждения

областей миокарда. Вносимые изменения должны учитываться при расчетах карт

времени возбуждения участков миокарда. Второй отличительной особенностью

модели является наличие механизмов настройки, позволяющих учесть

неоднородность среды возбуждения, тем самым обеспечить адаптацию модели к

реальному объекту исследований. Механизмы адаптации модели ориентированы

на использование данных, которые получают в ходе операции. Это отличительное

свойство разработанной модели позволяет перейти от теоретических

исследований возбудимых сред к практическому их применению в клинических

условиях как в ходе операции, так и во внеоперационное время.

С точки зрения практической медицины такой подход открывает новые

возможности для анализа влияния аблационных воздействий на динамику

121

возбуждения миокарда. По сути дела это следующий шаг, позволяющий перейти

от демонстрации существующей динамики возбуждения к анализу планируемых

воздействий.

Для врача результат моделирования заключается в возможности посмотреть

цветовую карту распространения возбуждения на трехмерной оболочке, при

расчете которой учитывались предполагаемые аблационные воздействия, а также

зафиксировать повторное вхождение возбуждения. При этом он самостоятельно

может вносить изменения в условия протекания моделируемого процесса при

помощи программных средств, которые были разработаны в третьей главе

диссертационной работы.

Все изложенные свойства разработанной модели представляют практический

интерес только в том случае, если они с достаточной точностью отображают

реальную динамику возбуждения. Поэтому важно знать, насколько точно

реальные процессы воспроизводятся моделью.

4.1. Примеры моделирования динамики возбуждения предсердий

При проверке работоспособности модели были использованы данные,

которые были получены во время операций, проведенных в Томском

кардиологическом центре, в отделении хирургического лечения нарушений ритма

сердца. Рассмотрим по одному примеру моделирования для левого и правого

предсердия.

На рисунке 4.1 представлена модель левого предсердия. Слева расположен

вид на правую нижнюю легочную вену, справа - вид на митральный клапан и

коллектор левых легочных вен. Реконструкция левого предсердия производилась с

использованием пятисот сорока точек, с известными пространственными

координатами.

122

На трехмерной модели показан ход возбуждения в виде цветовой карты.

Красным цветом кодируется самое ранее время возбуждения, а синим позднее.

Электрофизиологическая модель построена с использованием сорока семи точек,

в которых задано время локального возбуждения. В остальных точках модели

время возбуждения восстановлено на основе интерполяции. Несмотря на то, что

на рисунке показаны линии повреждения возбудимой ткани, на карте их влияние

не отражено.

В норме левое предсердие начинает возбуждаться с межпредсердной

перегородки, эта область отмечена белой стрелкой. На рисунке 4.1 отчетливо

видно, что возбуждение начинается из правой нижней легочной вены.

Рис. 4.1. Левое предсердие. Слева - правая косая проекция левого предсердия с видом на правую нижнюю легочную вену, справа - вид на митральный клапан и коллектор левых легочных вен. Исходная электрофизиологическая модель, не учитывающая указанные серым цветом участки повреждения

123

Такая эктопическая активность является аномальной и является причиной

возникновения фибрилляции предсердий. Для устранения факторов, запускающих

фибрилляцию предсердий, производится электрическая изоляция коллекторов

легочных вен. Изоляция достигается при помощи радиочастотных воздействий,

которые создают повреждения проводящей ткани. На рисунках линии

повреждения показаны серыми дорожками, для визуализации которых

использовались ячейки решетки клеточного автомата.

На рисунке 4.2 электрофизиологическая модель учитывает линии

повреждения, для визуализации которых использовались ячейки клеточного

автомата.

Рис. 4.2. Левое предсердие. Слева - правая косая проекция левого предсердия с видом на правую нижнюю легочную вену, справа - вид на митральный клапан и коллектор левых легочных вен. Электрофизиологическая модель, учитывающая участки повреждения

124

На рисунке 4.2 видно, что после нанесения линий повреждения, проведение

эктопического импульса с легочных вен на левое предсердие отсутствует,

благодаря чему предсердие начинает сокращение с межпредсердной перегородки

и имеет синусовый ритм.

Следует отметить, что модель, показанная на рисунках 4.1 и 4.2, была

построена после проведения операции. Данные, которые были получены в ходе

операции, содержат информацию о динамике возбуждения предсердия до

аблационного воздействия. Поэтому проверка модели на точность может носить

только качественный характер. Тем не менее, на качественном уровне полученные

в модели результаты соответствуют изменениям, которые наблюдались на

реальном объекте. Проверка качества адаптации модели будет рассмотрено в

следующем параграфе.

Для реконструкции правого предсердия использовалось сто сорок семь точек

поверхности с заданными в них пространственными координатами.

Электрофизиологическая модель строилась по пятидесяти трем точкам

поверхности. На рисунке 4.3 представлена модель правого предсердия. Слева

показана правая косая проекция, справа - вид снизу на нижнюю полую вену и

трикуспидальный клапан.

При лечении фибрилляции предсердий на правом предсердии выполняется

процедура лабиринт, при которой производится нанесения линий повреждений:

1 – между верхней и нижней полой веной;

2 – между первой третью «первой линии» по передней стенке к кольцу

трикуспидального клапана;

3 – между нижней полой веной и кольцом трикуспидального клапана.

Линии повреждения, показанные на рисунке 4.3, не учитываются при расчете

карт возбуждения. Из рисунка видно, что возбуждение начинается в

синатриальной зоне, которая показана белой стрелкой. Дальше возбуждение

125

распространяется по стенкам предсердия, последней возбуждается область

атриовентрикулярного узла, которая отмечена зеленой стрелкой.

На рисунке 4.4 показаны результаты моделирования динамики возбуждения

правого предсердия, в которых учтены линии повреждений проводящей

возбуждение ткани. Линии повреждения, как и в предыдущем примере, показаны

при помощи визуализации ячеек клеточного автомата, находящихся в

невозбудимом состоянии. На рисунке видно, что часть правого предсердия

изолирована, она показана серым цветом. В изолированную область возбуждение

не входит.

Рис. 4.3. Правое предсердие, распространение возбуждения из синусового узла. Слева – правая косая проекция, справа – вид снизу

126

4.2. Проверка модели динамики возбуждения предсердия на точность

Проверка модели на точность требует выбора параметра, по которому будет

производиться оценка. При исследовании разработанной модели можно

использовать только входные данные, которые применяются для ее настройки.

Это связано с тем, что только эти данные являются достоверно известными. Под

точностью модели следует понимать степень подобия карт возбуждения, которые

получают при помощи расчетов на клеточном автомате и карт, построенных на

основе интерполяции входных данных. При этом в обоих случаях используются

одинаковые исходные данные.

Рис 4.4. Правое предсердие, распространение возбуждения из синусового узла. Модификация проведения по правому предсердию. Слева – правая косая проекция, справа – вид снизу

127

Контроль точности модели должен осуществляться в точках с заданным

временем локального возбуждения. В этом случае ошибке моделирования можно

дать количественную оценку в каждой контрольной точке. Если предсказывается

ход волны возбуждения при наличии искусственно созданных препятствий,

измерения времени локального возбуждения должны быть проведены до и после

процедуры радиочастотной аблации. При этом предполагается, что настройка

модели проводится на основе данных, полученных до нанесения воздействия, а

оценка результатов должна производиться на основе данных повторного

картирования.

Для прогностической модели схема контроля адекватности с повторным

картированием является идеализированной, поскольку необходимо точно указать

места нанесения воздействия, также необходимо контролировать качество

нанесенного воздействия. На практике зачастую невозможно точно поставить

электрод в точку планируемого воздействия, а также гарантировать качество

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

создана область замедленного проведения, появление которой приводит к эффекту

купирования приступа тахиаритмии, однако результат не будет соответствовать

предполагаемому воздействию. Также затруднено проведение повторного

картирования, так как эта процедура занимает достаточно продолжительный

период времени, поэтому требует увеличения времени проведения операции, что

крайне нежелательно.

Таким образом, оценка точности прогностического моделирования на основе

эксперимента затруднена, поэтому решено ограничится проверкой результатов

моделирования радиочастотных воздействий на предсердия на качественном

уровне.

Под проверкой на качественном уровне следует понимать проверку, которая

способна выявить наличие или отсутствие в модели эффектов, которые

128

появляются на реальном объекте после нанесения воздействий. В случае если

эффекты наблюдаются и на модели и на реальном объекте, можно говорить о

качественном соответствии модели реальной картине динамики возбуждения.

Примеры оценки модели на качественном уровне были приведены в предыдущем

параграфе.

Количественная оценка точности модели может быть получена исходя из

абсолютной ошибки. Абсолютная ошибка модели в конкретной точке может быть

рассчитана из следующего выражения: || me tt , где et - время локального

возбуждения (время, на основе которого производилась адаптация модели), mt -

время локального возбуждения, которое было рассчитано моделью. Ошибка

может быть выражена в относительных единицах и должна быть рассчитана из

следующего выражения: 1002/)(

||

minmax

tt

tt me , где mint и maxt максимальное и

минимальное значения времени локального возбуждения, которые были получены

из эксперимента.

Следует отметить, что оценка ошибки моделирования в источниках

возбуждения не имеет смысла, поскольку она в них будет равняться нулю. Это

связано с тем, что значения в этих точках не рассчитываются, а назначаются и

служат отправным пунктом расчетов.

Для того чтобы оценить величину полученных ошибок, необходимо сравнить

полученные ошибки с некоторым эталоном, который позволит определить,

насколько полученные результаты соответствуют требуемой точности. В качестве

такого эталона может выступать точность, с которой возможно получить

исходные данные. Следует отметить, что для каждой контрольной точки не

применялись статистические методы оценки возникающей разностной ошибки,

поскольку модель является детерминированной. При одинаковых входных данных

129

модель выдаст одинаковые данные на выходе в каждой точке при многократных

расчетах.

Для оценки величины ошибки определим точность, с которой возможно

получить входные данные. Рассмотрим характеристики используемого для этого

программно-аппаратного комплекса, который используется для записи данных.

Используемая для получения данных электрофизиологическая система Elcart 2 –

Navigator позволяет произвести регистрацию сигнала с эндокардиальных

отведений с максимальной частотой дискретизации 6 кГц [76]. Сигнал,

поступающий на вход усилителей, ограничен фильтром низких частот,

максимальная частота поступающего сигнала может составлять 1 кГц. Таким

образом, максимальная точность, с которой можно измерить временные интервал

составляет 1/6 миллисекунды, а частота высшей гармоники регистрируемого

сигнала составляет 1 кГц. Тем не менее, в работе [77] показано, что точность

измерений интервалов времени, которые производятся при

электрофизиологическом исследовании сердца, не превышает 10 миллисекунд,

что накладывает существенные ограничения на производимые исследования.

Авторы утверждают, что с метрологической точки зрения особенность ЭФИ

состоит в том, что в современных цифровых кардиографах на базе ПЭВМ

инструментальную погрешность записи ЭКГ можно считать пренебрежимо малой.

Этот факт порождает у врачей иллюзию повышения точности измерений

временных интервалов. Однако, в самом определении характерных точек

электрограмм, как наиболее ранних моментов появления соответствующих

зубцов, заложена методическая погрешность их считывания, поскольку в силу

физиологических механизмов возбудимости сердца любой зубец появляется не

плавно. В силу этих причин использование электронных маркеров с высокой

точностью позиционирования эту погрешность не уменьшает. В другом источнике

[78] утверждается, что точность измерений равна пяти миллисекундам при

130

скорости развертки сигнала 100мм/сек, и одной миллисекунде при скорости

400мм/сек. Отдельно следует отметить, что точность измерений может

существенно уменьшиться на зашумленных каналах. Таким образом, решено

ориентироваться на погрешность измерений интервалов времени в пять

милисекунд.

Следует отметить, что количественная оценка точности модели

производилась без учета наносимых линий повреждений. Поэтому в данном

случае речь идет о проверке качества настройки модели клеточных автоматов к

входным данным. В приложении 1 и 2, приведены результаты расчетов

абсолютной ошибки моделирования для модели левого и правого предсердия,

которые подробно были изложены в параграфе 4.1. Из таблиц видно, что

абсолютная ошибка моделирования не превышает установленной границы в пять

миллисекунд. Следовательно, качество адаптации этих моделей можно считать

приемлемым для дальнейшего моделирования влияния аблационных воздействий

на динамику возбуждения.

4.3. Зависимость ошибки моделирования от размеров ячеек клеточного

автомата

При моделировании физических процессов на дискретных решетках

существует зависимость качества модели от размера решетки. Для разработанной

модели следует изучить зависимость ошибки моделирования от размера решетки

клеточного автомата.

С этой целью была использована идеализированная модель предсердий и

определена схема постановки точек с заданными временными параметрами. Было

решено установить семь точек и расположить их на одной прямой, проходящей в

направлении максимального градиента значений времени, как показано на

131

рисунке 4.5. Точки с минимальным и максимальным временем локального

возбуждения были расположены на небольшом расстоянии друг от друга. Между

ними были расположены три точки с промежуточными значениями, и две точки

расположены по разные стороны экстремумов, но также на одной прямой с

остальными. В дальнейшем, не изменяя схему расстановки точек и значений

времени в них, проводились расчеты на восьми решетках с различным

количеством ячеек. Характеристики используемых сеток и полученные

результаты приведены в таблице 4.1.

Для удобства оценки результатов построим график зависимости ошибки от

количества ячеек клеточного автомата, который представлен на рисунке 4.5.

Рис. 4.5. Схема расположения тестовых точек

132

Полученный график наглядно показывает, что величина ошибки

асимптотически уменьшается с ростом числа ячеек клеточного автомата. Такое

поведение системы связано с ее дискретностью. Моделирование сложных,

пространственно распределенных процессов на малом числе ячеек неизбежно

ведет к появлению большой ошибки, которая уменьшается при уменьшении

размера ячейки и увеличении их общего числа. При большом перепаде времени

возбуждения на малом количестве клеток, время передачи возбуждения между

клетками имеет большое значение, соответственно значения ошибок, связанные с

дискретностью системы, также велики.

Зависимость ошибки моделирования от количества ячеек клеточного автомата

Таблица 4.1

№ Число ячеек по осям

координат первичного

куба ячеек

Число ячеек решетки

клеточных автоматов

Средняя разность

модели и

эксперимента

1 50 12287 5.4

2 100 47637 3,5

3 150 106488 2.4

4 200 188755 1.9

5 250 294578 1.7

6 300 424117 1.5

7 350 577086 1.4

8 400 753851 1.2

133

0

1

2

3

4

5

6

12287 47637 106488 188755 294587 424117 577086 753851

число ячеек

мсек

Ряд1

По полученному графику можно судить о необходимом и достаточном числе

ячеек, для того чтобы получить приемлемый результат. Использование сеток с

излишне большим количеством ячеек не имеет смысла, так как приращение

размера сетки находится в обратной зависимости приращению точности модели.

Использование излишне больших сеток приводит к увеличению

продолжительности расчетов и требуемых ресурсов.

Следует отметить, что качество адаптации модели может быть оценено до

использования модели в прогностических целях. В случае если ошибки велики,

целесообразно увеличить число ячеек решетки клеточного автомата.

Рис. 4.6. Зависимость величины разностной ошибки от числа ячеек решетки клеточного автомата

134

4.4. Выводы

1. Приведены примеры моделей динамики возбуждения для левого и

правого предсердий. Для построения моделей были использованы данные,

полученные в ходе проведения операций изоляции легочных вен левого

предсердия, и процедуры «лабиринт» для правого предсердия. Показано, что

результаты моделирования соответствуют полученному в ходе операции

результату.

2. Показана возможность проверки качества адаптации модели к данным,

которые получают в ходе проведения операции эндокардиального картирования.

Обоснован выбор предельной ошибки моделирования, при превышении которой

можно считать, что модель плохо адаптировалась к данным. На моделях правого и

левого предсердий показано, что результаты адаптации укладываются в

установленные границы.

3. Проведены исследования зависимости величины ошибки от размеров

решетки клеточного автомата. Установлено, что увеличение числа ячеек решетки

клеточного автомата позволяет уменьшить ошибку моделирования. Однако, при

бесконечном увеличении числа ячеек клеточного автомата, размер ошибки

асимптотически стремится к некоторому пределу. Показано, что для каждой

модели существует свой размер ячейки, уменьшение которого нецелесообразно.

135

Заключение

В процессе выполнение настоящей работы получены следующие

результаты.

1. Выполнен анализ свойств моделируемой среды и процессов,

обеспечивающих свойство возбудимости миокарда. Показаны законы

распространения возбуждения на примере модели Винера − Розенблюта.

Детально рассмотрены виды аритмий и механизмы их возникновения.

Рассмотрена технология картирования, а также виды данных, которые

доступны в ходе проведения операции.

2. Сформулированы требования к разрабатываемой модели динамики

возбуждения предсердий:

- модель должна иметь механизмы адаптации к динамике возбуждения

миокарда предсердий каждого пациента;

- модель должна оперировать данными, поступающими в ходе проведения

операции;

- модель должна работать на вычислительной технике, применяемой в

обычной медицинской практике, при этом время, затрачивая на выполнение

расчетов, не должно увеличивать длительность операции.

С учетом этих требований был произведен критический анализ

существующих направлений в моделировании динамики возбуждения

активных сред, на основе которого проведено обоснование выбора метода

клеточных автоматов как базы для разработки модели.

3 . Предложен метод дискретизации пространства возбуждения, который

позволяет произвести реконструкцию эндокардиальной поверхности

предсердий, а также произвести расчет решетки клеточного автомата по

созданной поверхности. При построении решетки клеточного автомата

используются ячейки, имеющие форму куба. Для методов реконструкции

сформулирован ряд ограничений и показано, что ограничения не противоречат

136

применяемым методам оперативного вмешательства, что является

необходимым условием для его использования в медицинской практике.

4 . Выделены четыре состояния, в которых могут пребывать ячейки

клеточных автоматов:

- состояние покоя;

- состояние возбуждения;

- состояние рефрактерности;

- невозбудимое состояние.

Разработаны правила смены состояний ячеек клеточного автомата.

Разработаны методы адаптации модели клеточных автоматов к существующей

динамике возбуждения моделируемого объекта, для чего в модель введены

источники возбуждения. Показано, что в качестве источников возбуждения

могут использоваться клетки, которые были найдены исходя из анализа карт

возбуждения, а также источники, вводимые в модель как стимулирующие

воздействия. Решена задача расчета карт возбуждения при наличии нескольких

источников.

5. Сформулированы требования к разработанному программному

обеспечению, которое реализует математическую модель динамики

возбуждения предсердий. Решено, что программная реализация модели должна

быть оформлена в виде библиотеки с возможностью использования ее

сторонними разработчиками. Так как программный продукт ориентирован на

использование на различных платформах, поэтому он должен быть написан с

использованием стандартизированного языка программирования. Библиотека

должна иметь простой однозначный интерфейс, с набором методов,

реализующих основные этапы моделирования.

6. Разработаны основные аспекты программной реализации модели,

доказана необходимость использования объектно-ориентированного стиля

программирования, а также обоснована необходимость конструирования двух

классов: класса клетки и класса контейнера.

137

Для каждого класса определен набор хранимых данных, а также методы, в

которых реализованы вычислительные алгоритмы. В классе клетки

реализованы методы записи и чтения данных о пространственных

характеристиках клетки, а также ее электрофизиологических свойствах и

индексов. Из вычислительных методов в клетку вынесена функция

интерполяции электрофизиологических параметров. В классе контейнере

реализованы функции расчета решетки клеточного автомата, трассировки

препятствий и другие действия, выполняющие операции над большим числом

ячеек клеточного автомата.

7. Проведен анализ и выбор способа хранения данных. Показано, что

решаемая задача требует компромисса между скоростью доступа к данным и

занимаемым объемом памяти, который необходим для их хранения. Обоснован

выбор варианта хранения данных, использующего словари в реализации

стандартной библиотеки шаблонов – STL.

8. Обоснована целесообразность реализации параллельных вычислений на

основе разработанных алгоритмов. Показано, что параллельная обработка

данных наиболее эффективна на этапе реконструкции эндокардиальной

поверхности трехмерной модели, а также расчета решетки клеточного

автомата. На этих этапах расчетов предлагается использовать модель с

равноправными узлами.

9. Проведены исследования зависимости величины ошибки от размеров

решетки клеточного автомата. Установлено, что увеличение числа ячеек

решетки клеточного автомата позволяет уменьшить ошибку моделирования.

Однако при бесконечном увеличении числа ячеек клеточного автомата размер

ошибки асимптотически стремится к некоторому пределу. Показано, что

существует размер ячейки решетки клеточного автомата, дальнейшее

уменьшение которого нецелесообразно.

10. Приведены примеры моделей динамики возбуждения левого и правого

предсердий. Для построения моделей были использованы данные, полученные

138

в ходе проведения операций изоляции легочных вен левого предсердия, и

процедуры «лабиринт» для правого предсердия. Показано, что результаты

моделирования соответствуют полученному в ходе операции результату.

139

Литература

1. Moe G.K. On the multiple wavelet hypothesis of atrial fibrillation // Arch.

Int. Pharmacodyn. Ther. − 1962. − Vol. 140. − P. 183 - 188.

2. Бредикис Ю.Ю. Неинвазивный способ определения опасной для жизни

формы синдрома Вольфа – Паркинсона – Уайта (WPW) и обоснование

метода хирургического лечения / Ю.Ю. Бредикис, Э.Д. Римша, А.А.

Киркутис // Тер. арх. – 1982. - № 12. – С. 59 – 64.

3. Sealy W.C. Surgical treatment of WPW syndrome. / W.C. Sealy, B.J.

Hattler, S.D. Blumenschein, F.R. Cobb // Ann. Thorac. Surg. − 1969. − Vol.

8, N 7. − P. 1- 11.

4. The preexcitation Syndromes / J.J. Gallagher, E.L.C. Pritchett, W.C. Sealy,

et al. // Progr. Cardiovasc. Dis. – 1978. – Vol. 20, N. 4. – P. 285-327.

5. Zipes D.P. Mechanisms of clinical arrhythmias // Pacing. Clin.

Electrophysiol. − 2003. − Vol. 26, − P. 1778 - 1870.

6. Бокерия Л.А. Катетерная аблация аритмий у пациентов детского и

юношеского возраста / Л.А. Бокерия, А.Ш. Ревишвили. – М. : Изд.

НЦССХ им. А.Н. Бакулева РАМН, 1999. − 66 c.

7. Автоматизированная система трехмерной навигации и реконструкции

сердца. Перспективные методы томографической диагностики.

Разработка и клиническое применение / А.М. Андрианов, Д.Т.

Кулахметов, Н.М. Федотов, А.И. Оферкин // Тр. Международной

конференции, г.Томск, 26-27 июня 2003 г. – Томск: STT, 2003.– С.63–

64.

8. Кулахметов Д.Т., Федотов Н.М., Андрианов А.М., Оферкин А.И.

Автоматизированная система трехмерной навигации и реконструкции

сердца // Науки о человеке : сб. ст. / Под ред. Л.М.Огородовой,

Л.В.Капилевича. – Томск, СГМУ. – 2003. – С. 258.

9. Бондарчук С.С., Ваизов В.Х., Комков А.Г., Оферкин А.А., Федотов

Н.М., Шелупанов А.А. Оперативная пространственная визуализация

140

структур сердца // Интеллектуальные автоматизированные системы

проектирования, управления и обучения : сб. ст. / Под ред.

В.П.Тарасенко. – Томск, Изд-во НТЛ, 2000. – С.105–108.

10. Федотов Н.М. Информационно-технологические системы мониторинга

и лечения нарушений ритма сердца: дис. канд. тех. наук : 05.13.07 /

Федотов Николай Михайлович ; Томский гос. ун-т. Систем управления

и радиоэлектроники ; науч. рук. А. А. Шелупанов. - Томск, 2000. – 150

с.

11. Holden A.V. Computational Biology of Propagation in Excitable Media

Models of Cardiac Tissue / A.V. Holden, V.N. Biktashev // Chaos, Solitons

and Fractals. – 2002. – Vol. 13, N 8. – P.1643 – 1658.

12. Simelius K. Modeling Cardiac Ventricular Activation / K. Simelius, J.

Nenonen, M. Horacek // International Journal of Bioelectromagnetism. –

2001. – Vol. 3, N 2. – P. 51 – 58.

13. Kaplan D.T. Nonlinear dynamics in cardiac conduction / D.T. Kaplan, J.M.

Smith, B.E.H.Saxberg, R.J. Cohen // Math. Biosci. – 1988. – Vol. 90. –

P.19-48.

14. Wiener N. The mathematical formulation of the problem of conduction of

impulses in a network of connected excitable elements, specifically in

cardiac muscle / N. Wiener, A. Rosenblueth // Arch. Del. Instit. De

Cardiologia De Mexico, 1946. - P. 205 - 265.

15. Аритмии сердца. Механизмы, диагностика, лечение : в 3 т. Пер. с англ.

/ Под ред. В. Дж. Мандел. − М. : Медицина, 1996. − Т. 1. − 512 с.; Т. 2.

− 480 с.; Т. 3. − 464 с.

16. Olsson S.B., Atrial fibrillation: Mechanisms and Terapeutic Strategies / S.B.

Olsson, M.A. Allessie, R. Campbell. − NY : Futura Publishing Co. Inc.,

Armonk, NY, 1994. − 414 p.

17. Жаботинский А.М. Концентрационные колебания / А.М. Жаботинский.

– М. : Наука, 1974. – 178с.

141

18. Gray R.A. Incomplete re-entry and epicardial breakthrough patterns during

atrial fibrillation in the sheep heart / R. A. Gray, A. M. Pertsov, J. Jalife //

Circulation. − 1996. − Vol. 94, N 10. − P. 2649–2661.

19. Jasbir S Thomas New Techniques for Mapping Cardiac Arrhythmias / S.

Jasbir, M. Joy // Indian Heart J. − 2001. − Vol. 53, P. 423−444.

20. New Three Dimensional Localization Technique for Endocardial Electrodes

/ F. H. Wittkampf, R. Derksen, E. F. Wever, A. A. Wilde // Circulation. –

1996. – Vol. 94, P. 380.

21. Multer A.L. Electrical Properties of Anisotropic Neuromuscular Syncytia. I.

Distribution of the Electrotonic Potential / A. L. Multer, V. S. Markin //

Biofizika. – 1977. – N 2. – P. 307–319.

22. Multer A.L. Electrical Properties of Anisotropic Neuromuscular Syncytia. II.

Distribution of the Electrotonic Potential / A. L. Multer, V. S. Markin //

Biofizika. – 1977. – N 3. – P. 518 – 540.

23. Multer A.L. Electrical Properties of Anisotropic Neuromuscular Syncytia.

III. Distribution of the Electrotonic Potential / A. L. Multer, V. S. Markin //

Biofizika. – 1977. – N 4. – P. 671 – 676.

24. Tung L.A bidomain model for describing ischemia myocardial DC

potentials. Ph.D. dissertation. Massachusetts Institute of Technology; 1978.

25. Henriquez C.S. Simulating the Electrical Behavior of Cardiac Muscle Using

the Bidomain Model // Crit Rev Biomed Eng. – 1993. – Vol. 21, P. 1–77.

26. Geselowitz D.B. 3. d. A Bidomain Model for Anisotropic Cardiac Muscle /

D.B. Geselowitz, W.T. Miller // Ann Biomed Eng. – 1983. – Vol. 11, N 3, 4.

P. 191–206.

27. Beeler G.W. Reconstruction of the Action Potential of Ventricular

Myocardial Fibres / G.W. Beeler, H. Reuter // J.Physiol. – 1977. – Vol. 268,

N 1. – P. 177–210.

28. Luo C.H. A Model of the Ventricular Cardiac Action Potential:

Depolarization, Repolarization, and Their Interaction / C.H. Luo, Y. Rudy //

Circ Res. – 1991. – Vol. 68, N 6. – P. 1501–1527.

142

29. Luo C.H. A Dynamic Model of the Cardiac Ventricular Action Potential. I.

Simulations of Ionic Currents and Concentration Changes / C.H. Luo, Y.

Rudy // Circ Res. – 1994. – Vol. 74, N 6. – P. 1071-1167.

30. Luo C.H. A Dynamic Model of the Cardiac Ventricular Action Potential. Ii.

Afterdepolarizations, Triggered Activity, and Potentiation / C.H. Luo, Y.

Rudy // Circ Res. – 1994. – Vol. 74, N 6. – P. 1097–1210.

31. Hodgkin A.L. A quantitative description of membrane current and its

application to conduction and excitation in nerve / A.L. Hodgkin, A.F.

Huxley // J.Physiol. – 1952. – Vol. 117, P. 500–544.

32. Holden A. V. Computational Biology of Propagation in Excitable Media

Models of Cardiac Tissue / A. V. Holden, V.N. Biktashev // Chaos Solitons

and Fractals. – 2002. – N 13. – P. 1643–1658.

33. Simeliusa K. Modeling Cardiac Ventricular Activation / K. Simeliusa, J.

Nenonena, M. Horacek // International Journal of Bioelectromagnetism. –

2001. – N 2. – P. 51 − 58.

34. Критский В.И. Анализ уравнений возбудимых мембран III. Мембрана

волокна Пуркинье. Сведение уравнений Нобла к системе второго

порядка. Анализ автоматии по графикам нуль-изоклин / В.И. Критский,

Ю.М. Кокоз // Биофизика. – 1973. –№6. – С. 1067–1073.

35. Лоскутов А.Ю. Введение в синергетику / А.Ю. Лоскутов, А.С.

Михайлов. – М. : Наука, 1990. – 272 с.

36. Ланг Ф. Развитие электрической турбулентности в предсердиях:

электрофизиологические предпосылки / Ф.Ланг, М.Шальдах // Progress

in biomedical reseach. – 1999. – С. 42–48.

37. Русаков А.В. Однонаправленный блок проведения одиночной

автоволны в узком проходе и возникновение двухмерного вихря

зависят от геометрии препятствия и от возбудиности среды / А.В.

Русаков, А.В. Панфилов, А.Б. Медвинский // Биофизика. – 2003. – №4,

С. 722–726.

143

38. Русаков А.В. Циркуляция автоволн как результат их происхождения

через систему невозбудимых препятствий. Механизм аритмий при

старении / А.В. Русаков, А.Б. Медвинский // Биофизика. – 2005. – №1. –

С. 127 – 131.

39. Aliev R.R. A simple model of cardiac excitation / R.R. Aliev, A.V. Panfilov

// Chaos, Solutions & Fractals. – 1996. – №3. – P.293-301.

40. FitzHugh R.A. Impulses and physiological states in theoretical models of

nerve membrane // Biophys. J. – 1961. – N 1. – P. 445–466.

41. Barkley D. A model for fast computer simulation of waves in excitable

media // Physica D. – 1991. – Vol. 49, N 1. – P. 61–70.

42. Moe G. A computer model of atrial fibrillation / G. Moe, W. Reinbold, J.

Abildskov // Am Heart J. – 1964. – N 67. – P. 200–220.

43. Franz M.R. The contribution of monophasal action potential recordings to

the understanding of atrial fibrillation / R. Campbell, M.J. Janse // Cardiac

Arrhythmias: The Mangement of Atrial Fibrillation. – Springer Verlag,

Berlin. – Heidelberg. – 1992. – P. 27.

44. Wijffels M.C. Atrial Fibrillation Begets Atrial Fibrillation: A Study in

Awake Chronically Instrumented Goats / M.C. Wijffels, C.J. Kirchhof, R.

Dorland, M.A. Allessie // Circulation. – 1995. – Vol. 92, N 7. – P. 1954–

1968.

45. Winfree A.T. Organizing center in cellular excitable medium / A.T.

Winfree, E. M. Winfree, H. Seifert // Physica D. – 1985. – N 17. – P.

109−115.

46. Троффоли Т. Машины клеточных автоматов / Т. Троффоли, Н.

Маргулис. – Москва : Мир, 1991.– 280c.

47. Ванг В.К., Исследование пространственно распределенных

динамических систем методами вероятностного клеточного автомата //

Успехи физических наук. – 1999. – №5. – С. 481 – 503.

144

48. Аладьев В.З. Математическая теория классических однородных

структур / В.З. Аладьев, Ю.Я. Хунт, М.Л. Шишаков. – Таллинн-Гомель

: TRG & VASCO & Salcombe Eesti Ltd., 1998. – 300 с.

49. Кудрявцев В.Б. Введение в теорию автоматов / В.Б. Кудрявцев, С.В.

Алешин, А.С. Подколзин. – М. : Наука, 1985. – 320с.

50. Брауер В. Введение в теорию конечных автоматов / В. Брауер. – М. :

Радио и связь, 1987. – 392 с.

51. Ризниченко Г.Ю. Математические модели биологических

продукционных процессов / Г.Ю. Ризниченко, А.Б. Рубин. – М. : Изд.

МГУ, 1993. – 301 с.

52. Gardner М. The fantastic combinations of John Conway's new solitaire

game "life" // Scientific American. – 1970. – N 223. – С. 120−123.

53. Малинецкий Г. Г. Моделирование движения толпы при помощи

клеточных автоматов / Г. Г. Малинецкий, М. Е. Степанцов // Известия

Высших учебных заведений. Прикладная нелинейная динамика. – 1997.

– Т. 5, № 5.– С. 75–79.

54. Степанцов М. Е. Моделирование движения группы людей на основе

решеточного газа с нелокальными взаимодействиями // Известия

Высших учебных заведений. Прикладная нелинейная динамика. –

1999.– Т 7, № 5. – С. 44–46.

55. Малинецкий Г.Г. Клеточные автоматы для расчета некоторых

газодинамических процессов / Г.Г. Малинецкий, М.Е. Спгепанцов //

Журнал вычислительной математики и математической физики. –

1996.– Т 36, № 5. С. 137–145.

56. Медведев Ю.Г. Трехмерная клеточно-автоматная модель потока вязкой

жидкости // Автометрия. – Т. 19, № 3. С. 43–50.

57. Наумов Л.А. Клеточные автоматы. Реализация и эксперименты / Л.А.

Наумов, А.А. Шалыто // Мир ПК. – 2003. – №4. – С. 64–71.

58. Наумов Л. Цветные клеточные автоматы, или клонирование Мона

Лизы / Л.Наумов, А. Шалыто // Мир ПК. – 2004. – № 5. – С. 64 – 71.

145

59. Компьютерное моделирование распространения инфекционных

заболеваний [Электронный ресурс]. – режим доступа :

http://2003.vernadsky.info/works/e3/03461.html, свободный. Загл. с

экрана.

60. Сорокин П.А. Классификация методов индивидуум-ориентированного

моделирования [Электронный ресурс]. – режим доступа :

http://www.zhurnal.mipt.ru/articles/2003/050.pdf, свободный. Загл. с

экрана.

61. Роджерс Д. Математические основы машинной графики / Д. Роджерс,

Дж. Адамс. – М. : Мир, 2001. – 604 с.

62. Хилл Ф. OpenGL. Программирование компьютерной графики. Для

профессионалов / Ф. Хилл. − СПб. : Питер, 2002. − 1088 с.

63. D. Shepard D. A two dimensional interpolation function for irregularly

spaced data / D. Shepard // Proc. 23th Nat. Conf. – 1968. – P. 517–523.

64. Delfaut P. Electrophysiologic assessment in selecting patients for multisite

atrial pacing / P. Delfaut, S. Saksena // J. Intervent. Card. Electrophysiol. −

2000. − N 4. − P. 81–87.

65. Effect of Atrial Fibrillation on Atrial Refractoriness in Humans / E.G.

Daoud, F. Bogun, R. Goyal, M. Harvey // Circulation. − 1996. − Vol. 94. −

P. 1600–1606.

66. The Visualization Toolkit [Электронный ресурс]. – Режим доступа :

http://www.vtk.org, свободный. – Загл. с экрана.

67. Буч Г. Объектно-ориентированный анализ и проектирование с

примерами приложений на С+ / Г. Буч. – Киев : НИПО «Диа Софт»,

1993. – 532 с.

68. Приемы объектно-ориентированного проектирования. Паттерны

проектирования / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. −

СПб : Питер, 2001.− 368 с.

69. Аммерааль Л. STL для программистов на С++ / Л. Аммерааль. – М. :

ДМК, 1999. − 240с.

146

70. Зиман Ю.Л. Волновой алгоритм и электрические соединения / Ю.Л.

Зиман, Г. Г. Рябов. – М. : ИТМ и ВТ АН СССР, 1965.

71. Рябов Г. Г. Маршрутизация на решетчато-клеточных структурах //

Вычислительные методы и программирование Т. 5. – № 1. – 2004. C.

107-117.

72. Рябов Г.Г. Метрические и топологические волны на решетках / Г.Г.

Рябов. – М. : Изд. НИВЦ МГУ, 2005.

73. Lee C. An Algorithm for Path Connection and Its Application // IEEE

Transactions on Electronic Computer.– 1961.– P. 346–365.

74. Якобовский М.В. Распределенные системы и сети. Учебное пособие /

М.В. Якобовский. - М. : МГТУ "Станкин", 2000. - 118 с.

75. К. Хьюз Параллельное и распределенное программирование на С++ /

К. Хьюз, Т. Хьюз. – М. : Издательский дом «Вильямс», 2004. – 672с.

76. Тризна В.В. ЭЛКАРТ 2. Новая система для проведения

электрофизиологических исследований и лечения нарушений ритма

сердца / В.В. Тризна, К.С. Осадчий, А.В. Лепихин, С.В. Попов, И.В.

Антонченко, Р.Е. Баталов // Вестник аритмологии. (Тезисы VI

Международного славянского конгресса по электростимуляции и

клинической электрофизиологии сердца). – №35.– 2004. – С. 97.

77. Дубровский И.А. Погрешность измерения временных интервалов ЭКГ

при неинвазивном ЭФИ сердца / И.А. Дубровский, В.А. Сулимов //

Научная сессия МИФИ-2001. 2001. – Т.1. – С.60–61.

78. Josephson M. Clinical cardiac electrophysiology techniques and

interpretations. Third edition / M. Josephson, D. Herman. – Philadelphia :

Lippincott Williams & Wilkins, 2002. − 857 p.

79. Андреев С.Ю. Компьютерная модель распространения возбуждения в

предсердиях. // Материалы научн.-практич. конф «Молодежь

Забайкалья творчество и прогресс». − Чита, 2003.− С. 123 – 125.

80. Кочегуров В.А., Андреев С.Ю. Моделирование динамики возбуждения

предсердий. //Материалы научн. технич. конф «Теоретические и

147

прикладные вопросы современных информационных технологий». −

Улан-Уде, 2004.− С. 151 – 153.

81. Андреев С.Ю., Баталов Р.Е., Попов С.В. Алгоритмы моделирования

распространения волн возбуждения в миокарде на основе клеточных

автоматов. // Материалы школы – семинара «Современные методы

интервенционной аритмологии». − Томск, 2004. − С. 352 – 353.

82. Андреев С.Ю., Баталов Р.Е., Попов С.В. Компьютерная модель

распространения возбуждения в миокарде. // Материалы Российского

национального конгресса кардиологов «Российская кардиология: от

центра к регионам.». − Томск, 2004. − С. 26 − 27.

83. Andreev S., Batalov R., Popov S. Modeling algorithms of excitation waves

transmission in myocardium on the basis of cellular automation. //ESC

Congress, − Munich, 2004.

84. Баталов Р.Е., Андреев С.Ю., Попов С.В. Алгоритмы моделирования

распространения волн возбуждения в миокарде на основе клеточных

автоматов. //Материалы первого Всероссийского съезда аритмологов. −

М, 2005. − С. 19.

85. Андреев С.Ю., Баталов Р.Е., Кочегуров В.А., Попов С.В.

Интраоперационное моделирование динамики возбуждения

предсердий как неоднородной анизотропной среды. //Материалы

научн.-практич. конф. «Компьютерная медицина». − Харьков, 2005. −

Т.1. − С. 96−97.

86. Андреев С.Ю., Кочегуров В.А., Алгоритмы интраоперационного

моделирования возбуждения предсердий //Сибирский журнал

индустриальной математики, − 2005. − №2, − С. 3−11.

148

Приложение 1. Входные данные, данные модели, ошибки моделирования Левое предсердие

№ Входные данные (t/мсек)

Расчетное время (t/мсек)

Ошибка (t/мсек)

1 16 17,2 1,22 27 26,7 0,33 21 20,2 0,84 21 20,8 0,25 15 13,9 1,16 13 13,0 07 16 15,8 0,28 23 23,6 0,69 27 26,1 0,9

10 8 8,4 0,411 11 12,2 1,212 6 6,7 0,713 42 41,4 0,614 27 26,1 0,915 11 9,6 1,416 2 2,1 0,117 8 8,3 0,318 11 11,7 0,719 42 42,0 020 11 9,6 1,421 16 14,8 1,222 42 43,5 1,523 6 7,8 1,824 11 9,6 1,425 27 27,5 0,526 8 7,5 0,527 42 42,5 0,528 48 46,9 1,129 12 10,8 1,230 11 9,6 1,431 48 46,6 1,432 11 9,6 1,433 5 5,2 0,2

149

Продолжение приложения 1

№ Входные данные (t/мсек)

Расчетное время (t/мсек)

Ошибка (t/мсек)

34 53 51,9 1,135 5 4,3 0,736 11 9,5 1,537 22 22,0 038 24 22,6 1,439 5 4,8 0,240 42 41,3 0,741 5 4,6 0,442 11 9,5 1,543 3 3,9 0,944 42 41,4 0,645 3 4,0 146 5 4,5 0,547 0 0,0 0

150

Приложение 2. Входные данные, данные модели, ошибки моделирования

Правое предсердие

№ Входные данные (t/мсек)

Расчетное время (t/мсек)

Ошибка (t/мсек)

1 25 25,3 0,302 17 17,8 0,803 25 24,5 0,504 17 19,0 2,005 20 19,3 0,706 25 24,2 0,807 30 29,3 0,708 5 6,4 1,409 10 11,3 1,30

10 5 7,0 2,0011 0 0,0 0,0012 17 16,7 0,3013 25 24,3 0,7014 5 4,7 0,3015 30 30,2 0,2016 17 16,7 0,3017 15 14,7 0,3018 10 9,5 0,5019 11 11,7 0,7020 5 5,4 0,4021 10 9,7 0,3022 30 30,3 0,3023 25 24,2 0,8024 29 29,3 0,3025 5 7,5 2,5026 40 39,9 0,1027 20 19,4 0,6028 39 38,9 0,1029 25 24,5 0,5030 20 19,3 0,7031 11 13,6 2,6032 11 12,0 1,0033 44 44,7 0,7034 40 39,3 0,70

151

Продолжение приложения 2

№ Входные данные (t/мсек)

Расчетное время (t/мсек)

Ошибка (t/мсек)

35 30 30,2 0,2036 29 30,0 1,0037 11 13,3 2,3038 44 43,8 0,2039 25 24,3 0,7040 40 39,9 0,1041 20 19,5 0,5042 44 43,8 0,2043 25 24,3 0,7044 49 48,7 0,3045 45 44,3 0,7046 39 39,0 0,0047 25 24,5 0,5048 49 48,7 0,3049 44 44,3 0,3050 39 41,0 2,0051 40 40,0 0,00