Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Биомеханические основы сокращения сердцаСтр 1 из 3Следующая ⇒
Содержание 1. Биомеханические основы сокращения сердца…………………………………..…..3 2. Основные гемодинамические параметры деятельности сердца…..……………….5 3. Обзор методик определения времени изгнания сердца………………………........6 3.1. Определение времени изгнания по электрокардиограмме…………...….6 3.2. Определение времени изгнания с помощью поликардиографии…….....7 3.3. Определение времени изгнания по транcторакальной реограмме…........8 4. Разработка алгоритма обработки сигнала ЭКГ: выделение RR интервалов….…10 5.Разработка алгоритма определения времени изгнания по трансторакальной реограмме………………………………………………………………………………….……11 6.Реализация программ для выделения RR интервалов на ЭКГ и определения времени изгания по сигналу трансторакальной реограммы в среде Delphi………………..14 7.Выводы………………………………………………………………………………..18 Список используемой литературы…………………………………………………….18 Приложение А……………………………………………………………………….19-26 Основные гемодинамические параметры деятельности сердца Приведем расчеты основных показателей, характеризующих цикл сердечного сокращения:
3. Обзор методик определения времени изгнания сердца
Период изгнания крови из желудочков распространяется на вторую, большую часть систолы. Его начало совпадает с моментом, когда внутрижелудочковое давление достигает величины аортального давления, а окончание — с концом систолы желудочков (началом расслабления мускулатуры желудочков). Период изгнания характеризует собой время, в течение которого совершается полезное расходование энергии сердечного сокращения, направленное на перемещение крови из сердца в сосудистую систему. Временные показатели. 1. Tc - период пульсовой волны, фактически является длительностью сердечного цикла и определяется по R - R интервалу ECG. 2. Ts - систолическая часть пульсовой волны, т.е. приток крови, за время сердечного выброса, состоящая из анакроты (восходящая) и катакроты (нисходящая часть), называемая, для центрального кровотока, "временем изгнания". Часто Ts - время изгнания крови из сердца, также обозначаемое как - Ti или LVET, определяется от точки пересечения касательной переднего фронта диффреограммы (не показано) с изолинией, до отрицательного экстремума амплитуды (- Ad). Ожидаемое время систолы (и окончания периода изгнания) Ts = 0,36 - 50/Tc (±20 %). 3. Td - диастолическая часть пульсовой волны (отток крови по сосудам), после систолы, т.е. Tc = Ts + Td. 4. Tr - часть диастолической волны реограммы 5. Tv (PT) - время распространения пульсовой волны 6. Tp (PEP) - время пресистолы или изометрического сокращеня.
Амплитудные показатели. 1. Ar - максимальная амплитуда реограммы Δ Z (Ом), или "реографический индекс". Характеризует максимальную "объёмную скорость" кровотока. 2. As - значение амплитуды реограммы, в момент окончания систолы (Ом). 3. -Ar - амплитуда инцизуры диастолической части пульсовой волны. Определяется по точке отрицательного экстремума (при его наличии). 4. Ad - максимальная амплитуда диффреограммы (Ом / с), т.е. её первая производная, в момент наибольшей скорости крово-тока - dZ max. 6. -Ad - максимальная амплитуда отрицательной части диффреограммы, в момент окончания времени изгнания крови из сердца - Ts.
7. +Ad - положительная амплитуда диффреограммы, в начале диастолической фазы. Определяется во временном диапазоне - Tr, по положительному экстремуму (при его наличии, или по максимальной скорости).
4. Разработка алгоритма обработки сигнала ЭКГ: выделение RR интервалов
Для подавления помех, вызванных низкочастотным шумом, выполняется высокочастотная фильтрация. Данный вид фильтрации осуществляется с помощью фильтров высоких частот, который фактически выполняет грубую коррекцию изолинии. Этот вид фильтрации позволяет практически полностью избавиться от постоянной составляющей и смещения изолинии, вызванного движением пациента. В большинстве случаев для этого применяется фильтр адаптивного среднего, действие которого осуществляется по формуле: S1 = x1/2, Sn+1=Sn-c(Sn-xn+1), yn=xn-Sn. где с - адаптивная константа, зависящая от частоты дискретизации
Определить R-зубцы на ЭКГ или соответствующие им зубцы на дифференцированной ЭКГ можно с помощью следующего алгоритма. Вычисляется некий порог, и среди значений, которые его превышают, ищется локальный максимум. Порог может вычисляться, например, как сумма среднего значения ЭКГ и половины максимального значения ЭКГ. Далее ищется первое значение, которое больше порога. От этого значения до первого значения меньшего, чем порог, ищется максимальное значение, которое и определяется как R-зубец. 5. Разработка алгоритма определения времени изгнания по трансторакальной реограмме 1. Получим первую производную трансторакальной реограммы. Для этого воспользуемся алгоритмом цифровой фильтрации, позволяющим совместить в едином алгоритме операции сглаживания и дифференцирования. Рассмотрим алгоритм, который реализуется нерекурсивным цифровым фильтром. Входная последовательность {x(kT}} аппроксимируется для каждого из пяти последовательных отсчетов сигнала с абсциссами k = -2, -1, 0, 1, 2 полиномом p2(t) второго порядка (параболой): P2(t) = A + Bt + Ct2. Рисунок 7 - Пятиточечный алгоритм цифровой фильтрации В качестве выходного значения получаем:
Выходная последовательность при этом подобна входной последовательности, но содержит меньше высокочастотных помех, так как параболическая аппроксимация обеспечивает некоторое сглаживание входной последовательности. Системная функция сглаживающего фильтра: Частотная характеристика такого фильтра имеет вид: . Рисунок 8 - Частотная характеристика сглаживающего цифрового фильтра
Теперь найдем первую производную для функции: Окончательно получаем: Системная функция и частотная характеристика используемого нерекурсивного цифрового фильтра будут иметь вид:
2. Найдем максимумы дифференцированной реограммы. Для нахождения точек начала и окончания изгнания на графике необходимо рассматривать каждый период в отдельности. Поэтому необходимо разбить график на периодичные части. Точками разделения этих периодов могут служить максимумы дифференцированной реограммы. Их координаты абсцисс заносятся в массив. После нахождения координат происходит анализ реограммы на каждом отдельном периоде. Определяются максимумы следующим способом. Вычисляется некий порог, и среди значений, которые его превышают, ищется локальный максимум. Порог может вычисляться, например, как сумма среднего значения диффреограммы и половины максимального значения. Далее ищется первое значение, которое больше порога. От этого значения до первого значения меньшего, чем порог, ищется максимальное значение, которое и определяется как максимум диффреограммы.
3. Определим момент начала изгнания по дифференцированной реограмме. Начало изгнания характеризуется резким повышением аортального давления. В самом начале изгнания ЛЖ придает крови ускорение, и она под действием нарастающего давления перемещается в начальный участок аорты, растягивая его стенки. Т.е. меткой начала изгнания мог бы служить момент времени, когда ускорение, с которым нарастает объем крови в участке восходящей аорты, т.е. ускорение роста Z-сигнала, достигает максимального значения. Вторая производная реограммы по времени, как правило, имеет два хорошо различимых пика, наибольший из которых указывает на начало пульсовой волны в сигнале ΔZ. Этот момент достаточно хорошо соответствует началу изгнания крови в аорту. Предложены разные математические приемы, учитывающие изменчивость формы волн исследуемого сигнала, позволяющие отыскивать и уточнять точку начала изгнания при данном подходе. Воспользуемся следующим алгоритмом. Первая производная РГ в любой точке представляет собой графическое изображение изменения во времени величины тангенса угла наклона касательной к кривой в этой точке. К кривой дифференцированной реограммы в точке максимума второй производной реограммы проводится касательная до пересечения ее с нулевым уровнем. Эта точка является абсциссой точки начала изгнания крови из левого желудочка сердца. Так как график функции строился по точкам и представляет собой ломанную, то провести касательную к одной точке не представляется возможным. Однако, по определению касательной можно воспользоваться двумя соседними точками и провести через них секущую (касательная является предельным случаем секущей). Рисунок 9 - Нахождение производной и её геометрический смысл Следовательно, Далее ищется максимальная производная на всем периоде. Абсцисса точки начала выброса определяется через тангенс угла. Чтобы компенсировать сдвиг между секущей и касательной (они параллельны), в формулу будет подставляться координата точки i.
Пусть t – абсцисса точки начала выброса крови. Она равна разности абсциссы точки максимума производной i и основания касательной к точке i. , где i – точка максимума второй производной основной реограммы.
4. Момент окончания изгнания определим как отрицательный экстремум амплитуды после точки максимума диффреограммы. 6. Реализация программ для выделения RR интервалов на ЭКГ и определения времени изгнания по сигналу трансторакальной реограммы в среде Delphi
Рисунок 10 – Вид реализованной программы в среде Delphi
Рисунок 11 – Тест 1: «опорная» электрокардиограмма (EKG), трансторакальная реограмма (REO), 1-ая производной трансторакальной реограммы – диффреограмма (DIFF) с выделенными моментами начала и окончания изгнания, 2-ая производная реограммы.
Рисунок 12 – Тест 1: определение начала, окончания и времени изгнания.
Рисунок 13 – Тест 2: «опорная» электрокардиограмма (EKG), трансторакальная реограмма (REO), 1-ая производной трансторакальной реограммы – диффреограмма (DIFF) с выделенными моментами начала и окончания изгнания, 2-ая производная реограммы.
Рисунок 14 – Тест 2: определение начала, окончания и времени изгнания.
Рисунок 15 – Тест 3: «опорная» электрокардиограмма (EKG), трансторакальная реограмма (REO), 1-ая производной трансторакальной реограммы – диффреограмма (DIFF) с выделенными моментами начала и окончания изгнания, 2-ая производная реограммы.
Рисунок 16 – Тест 3: определение начала, окончания и времени изгнания. Тест 3 – пример патологического сигнала. В данном случае время изгнания меньше, чем для приведенных примеров нормальных сигналов (тесты 1 и 2). Укороченный период изгнания говорит о поражении миокарда, недостаточности кровообращения.
Рисунок 17 – Тест 4: «опорная» электрокардиограмма (EKG), трансторакальная реограмма (REO), 1-ая производной трансторакальной реограммы – диффреограмма (DIFF), 2-ая производная реограммы.
На данном патологическом сигнале определить время изгнания не представляется возможным. Причиной является отсутствие механической систолы, не происходит сокращение миокарда. Присутствует только электрическая систола. Выводы В данной работе была проведена разработка алгоритма определения времени изгнания по сигналу трансторакальной реограммы. Моменты начала и окончания изгнания были непосредственно определены по сигналу первой производной трансторакальной реограммы, полученной с помощью алгоритма цифровой фильтрации, позволяющего совместить операции сглаживания и дифференцирования. Момент начала определялся точкой пересечения касательной к диффреограмме с изолинией. Момент окончания – отрицательным экстремумом после точки максимума диффреограммы. При проведенных тестированиях программы полученное время изгнания составило в среднем 0,36 с для сигналов, снятых у здоровых испытуемых. Также были рассмотрены примеры патологических сигналов. Так, для приведенного примера патологического сигнала (тест 3) период изгнания составил в среднем 0,22 с, укороченный период изгнания говорит о поражении миокарда, недостаточности кровообращения. Для некоторых патологических сигналов (как пример, приведен тест 4) определить период изгнания не представилось возможным, наблюдается отсутствие механической систолы.
Список используемой литературы 1. Каро К., Педли Т. и др. Механика кровообращения. -М.: издательство «Мир», 1981. Приложение А. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ActnList, Menus, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Image1: TImage; OpenDialog1: TOpenDialog; Memo1: TMemo; procedure Image1Click(Sender: TObject); procedure MaxR; procedure MaxM; procedure GelZ; procedure GelY; procedure PorR; procedure PorM; procedure Action1Execute(Sender: TObject); procedure Action2Execute(Sender: TObject); procedure Action3Execute(Sender: TObject); procedure Action4Execute(Sender: TObject); private { Private declarations } public { Public declarations } end; const Gc=500; var Form1: TForm1; F:TextFile; I1,I2,J1,J2,Predel:integer; ARR:array of smallint; h1,h2,h3:smallint; C: array of array of real; e,PorogM,PorogR:smallint; q,w,q2,w2,q3,w3,q4,w4,a1,a2,a3,a4:real;
implementation {$R *.dfm}
////процедура при нажатии на кнопке Открыть ЭКГ procedure TForm1.Action1Execute(Sender: TObject); var i,j: integer; S: string; begin SetLength(C,10); OpenDialog1.Filter:='Файлы данных (*.txt)|*.txt|Все файлы|*.*'; OpenDialog1.FilterIndex:=1; OpenDialog1.Title:='Выбор файла'; if OpenDialog1.Execute then begin try AssignFile(F,OpenDialog1.FileName); ////Открытие файла Reset(F); i:=0; SetLength(C[1],0); SetLength(C[6],0); SetLength(C[2],0); while not EOF(F) do begin Readln(F,S); S:= StringReplace(S, '.', ',', [ rfReplaceAll, rfIgnoreCase ]); SetLength(C[1],i+1); C[1,i]:=StrToFloat(S); i:=i+1; end; ////Чтение данных из файла в переменную CloseFile(F); ////Закрытие файла Button4.Enabled:=True;
SetLength(C[6],1); //Фильтр C[6,0]:=C[1,0]/2; SetLength(C[2],1); C[2,0]:=C[1,0]-C[6,0];
for j:=1 to Length(C[1])-1 do begin SetLength(C[6],j+1); SetLength(C[2],j+1); C[6,j]:=C[6,j-1] - (1/Gc)*(C[6,j-1]-C[1,j]); C[2,j]:=C[1,j]-C[6,j]; end;
except ////Обработка исключительных ситуаций on E:EInOutError do ShowMessage(E.Message); end; end end;
procedure TForm1.Action4Execute(Sender: TObject); /// Загрузить Реограмму var i,j: integer; S:string; begin OpenDialog1.Filter:='Файлы данных (*.txt)|*.txt|Все файлы|*.*'; OpenDialog1.FilterIndex:=1; OpenDialog1.Title:='Выбор файла'; if OpenDialog1.Execute then begin try AssignFile(F,OpenDialog1.FileName); ////Открытие файла Reset(F); i:=0; SetLength(C[3],0); while not EOF(F) do begin Readln(F,S); S:= StringReplace(S, '.', ',', [ rfReplaceAll, rfIgnoreCase ]); SetLength(C[3],i+1); C[3,i]:=StrToFloat(s); i:=i+1; end; ////Чтение данных из файла в переменную CloseFile(F); ////Закрытие файла Button2.Enabled:=True;
SetLength(C[4],0); for j:=2 to Length(C[3])-3 do begin SetLength(C[4],j-1); C[4,j-2]:=(1/35)*(-3*(C[3,j-2])+12*C[3,j-1]+17*C[3,j]+12*C[3,j+1]-3*C[3,j+2]); end;
SetLength(C[5],0); for j:=10 to Length(C[4])-11 do begin SetLength(C[5],j-9); C[5,j-10]:=0.1*(-2*C[4,j-10]-C[4,j-5]+C[4,j+5]+2*C[4,j+10])/(1/Gc); end;
SetLength(C[9],0); for j:=2 to Length(C[5])-3 do begin SetLength(C[9],j-1); C[9,j-2]:=(1/35)*(-3*(C[5,j-2])+12*C[5,j-1]+17*C[5,j]+12*C[5,j+1]-3*C[5,j+2]); end;
SetLength(C[10],0); for j:=10 to Length(C[9])-11 do begin SetLength(C[10],j-9); C[10,j-10]:=0.1*(-2*C[9,j-10]-C[9,j-5]+C[9,j+5]+2*C[9,j+10])/(1/Gc); end;
except ////Обработка исключительных ситуаций on E:EInOutError do ShowMessage(E.Message); end; end end;
////Нахождение минимального значения function Min(i:integer):real; var j:integer; begin Result:=C[i,0]; for j:=1 to Length(C[i])-1 do if C[i,j]<Result then Result:=C[i,j]; end;
////Нахождение максимального значения function Max(i:integer):real; var j:integer; begin Result:=C[i,0]; for j:=1 to Length(C[i])-1 do if C[i,j]>Result then Result:=C[i,j]; end;
////процедура при нажатии на кнопке Нарисовать - построение графика procedure TForm1.Action2Execute(Sender: TObject); var j:integer; begin Image1.Picture:=nil;////Очистка TImage1 I1:=0; ////Ввод координат, в пределах которых будет происходить построение графиков I2:=Image1.Width; //длина J2:=Image1.Height; //высота J1:=round(J2/4);
e:=Image1.Height div 20;
q:=J1/(Abs(Max(2))+Abs(Min(2))); q2:=J1/(Abs(Max(3))+Abs(Min(3))); q3:=J1/(Abs(Max(5))+Abs(Min(5))); q4:=J1/(Abs(Max(10))+Abs(Min(10)));
w:=I2/Length(C[2]); w2:=I2/Length(C[3]);
a1:=(1/(Abs(Min(2))+Abs(Max(2)))*Abs(Max(2)))*J1; a2:=(1+(1/(Abs(Min(3))+Abs(Max(3)))*Abs(Max(3))))*J1; a3:=(2+(1/(Abs(Min(5))+Abs(Max(5)))*Abs(Max(5))))*J1; a4:=(3+(1/(Abs(Min(10))+Abs(Max(10)))*Abs(Max(10))))*J1;
Image1.Canvas.Pen.Color:=clBlack; Image1.Canvas.MoveTo(0,round(a1)); Image1.Canvas.LineTo(I2,round(a1)); Image1.Canvas.Pen.Color:=clRed; Image1.Canvas.MoveTo(round((1)*w),round(a1+(-1)*C[2,1]*q)); for j:=2 to Length(C[2])-1 do ////Построение графиков begin Image1.Canvas.LineTo(round((j-1)*w),round(a1+(-1)*C[2,j-1]*q)); end;
Image1.Canvas.Pen.Color:=clBlack; Image1.Canvas.MoveTo(0,round(a2)); Image1.Canvas.LineTo(I2,round(a2)); Image1.Canvas.Pen.Color:=clBlue; Image1.Canvas.MoveTo(round((1)*w2),round(a2+(-1)*C[3,1]*q2)); for j:=2 to Length(C[3])-1 do ////Построение графиков begin Image1.Canvas.LineTo(round((j-1)*w2),round(a2+(-1)*C[3,j-1]*q2)); end;
Image1.Canvas.Pen.Color:=clBlack; Image1.Canvas.MoveTo(0,round(a3)); Image1.Canvas.LineTo(I2,round(a3)); Image1.Canvas.Pen.Color:=clBlack; Image1.Canvas.MoveTo(round((1)*w2),round(a3+(-1)*C[5,1]*q3)); for j:=2 to Length(C[5])-1 do ////Построение графиков begin Image1.Canvas.LineTo(round((j-1)*w2),round(a3+(-1)*C[5,j-1]*q3)); end;
Image1.Canvas.Pen.Color:=clBlack; Image1.Canvas.MoveTo(0,round(a4)); Image1.Canvas.LineTo(I2,round(a4)); Image1.Canvas.Pen.Color:=clGreen; Image1.Canvas.MoveTo(round((1)*w2),round(a4+(-1)*C[10,1]*q4)); for j:=2 to Length(C[10])-1 do ////Построение графиков begin Image1.Canvas.LineTo(round((j-1)*w2)+1,round(a4+(-1)*C[10,j-1]*q4)); end;
end;
////нахождение порогового значения (для поиска R-зубцов) procedure TForm1.PorR; var j:integer; sum,max:real; begin sum:=0; for j:=0 to Length(C[2])-1 do sum:=sum+C[2,j]; max:=C[2,0]; for j:=1 to Length(C[2])-1 do if C[2,j]>max then max:=C[2,j]; PorogR:=Round(sum/(Length(C[2])-1)+max/2); end;
////нахождение порогового значения (для поиска M-зубцов) procedure TForm1.PorM; var j:integer; sum,max:real; begin sum:=0; for j:=0 to Length(C[5])-1 do sum:=sum+C[5,j]; max:=C[5,0]; for j:=1 to Length(C[5])-1 do if C[5,j]>max then max:=C[5,j]; PorogM:=Round(sum/(Length(C[5])-1)+max/2); end;
////нахождение R-зубцов procedure TForm1.MaxR; var j,p,k:integer; Ry,Rx:real; begin Image1.Canvas.Brush.Style:=bsClear; Image1.Canvas.Font.Color:=clBlack; Image1.Canvas.Pen.Color:=clBlack; for j:=0 to Length(C[2])-1 do if (C[2,j]<=PorogR) and (C[2,j+1]>PorogR) then begin for k:=j+1 to Length(C[2])-1 do if ((C[2,k]>PorogR) and (C[2,k+1]<=PorogR)) then begin Rx:=j+1; Ry:=C[2,j+1]; for p:=j+1 to k do if C[2,p]>Ry then begin Ry:=C[2,p]; Rx:=p; end; Image1.Canvas.MoveTo(round((Rx)*w),round(a1+(-1)*Ry*q)+e); Image1.Canvas.LineTo(round((Rx)*w),round(a1+(-1)*Ry*q)-e); end; end; end;
////нахождение максимумов дифференцированной реограммы procedure TForm1.MaxM; var Mx,a,j,k,p:integer; My:real; begin Image1.Canvas.Brush.Style:=bsClear; Image1.Canvas.Font.Color:=clRed; Image1.Canvas.Pen.Color:=clRed; SetLength(ARR,0); SetLength(ARR,1); ARR[0]:=1; a:=2;
for j:=0 to Length(C[5])-1 do if ((C[5,j]<PorogM) and (C[5,j+1]>PorogM)) then begin for k:=j+1 to Length(C[5])-1 do if ((C[5,k]>PorogM) and (C[5,k+1]<PorogM)) then //C[5,k]<0 begin Mx:=j+1; My:=C[2,j+1]; for p:=j+1 to k do if C[5,p]>My then begin My:=C[5,p]; Mx:=p; end; if Mx>ARR[a-2] then begin SetLength(ARR,a); ARR[a-1]:=round(Mx); a:=a+1; ////заполнение массива координатами точек максимума дифференцированной реограммы по оси Х
Image1.Canvas.MoveTo(round((Mx)*w2),round(a3+(-1)*My*q3)+e); Image1.Canvas.LineTo(round((Mx)*w2),round(a3+(-1)*My*q3)-e); end;
end; end; SetLength(ARR,a); ARR[a-1]:=round(Length(C[5])); end;
////Нахождение точек начала изгнания крови из левого желудочка сердца procedure TForm1.GelZ; var b,e9,Px:integer; Max:real; begin Px:=1; SetLength(C[7],0); for b:=0 to Length(ARR)-3 do begin Max:=0.0001; for e9:=ARR[b]+1 to ARR[b+1] do begin if ((C[5,e9+1]-C[5,e9-1])/2>Max) and (C[5,e9]>0) then begin Max:=(C[5,e9+1]-C[5,e9-1])/2; Px:=e9; end; end;
SetLength(C[7],b+1); C[7,b]:=(Px-C[5,Px]/Max)/Gc;
Image1.Canvas.Brush.Style:=bsClear; Image1.Canvas.Font.Color:=clBlue; Image1.Canvas.Pen.Color:=clBlue; Image1.Canvas.MoveTo(round((Px-C[5,Px]/Max)*w2),round(a3+5)+e*2); Image1.Canvas.LineTo(round((Px-C[5,Px]/Max)*w2),round(a3+5)-e*2);
if Length(C[10])-Px>0 then begin Image1.Canvas.Brush.Style:=bsClear; Image1.Canvas.Font.Color:=clBlack; Image1.Canvas.Pen.Color:=clBlack; Image1.Canvas.MoveTo(round((Px-C[5,Px]/Max)*w2),round(a4-40)+e*2); Image1.Canvas.LineTo(round((Px-C[5,Px]/Max)*w2),round(a4-40)-e*2); end; end;
end;
////Нахождение точек конца изгнания крови из левого желудочка сердца procedure TForm1.GelY; var b,e9,Px,Px2:integer; Min1,Min2:real; begin for b:=1 to Length(ARR)-2 do begin Px2:=0; Min1:=C[5,ARR[b]]; for e9:=ARR[b] to ARR[b+1] do if (Min1>C[5,e9]) and ((C[5,e9-1]<C[5,e9]) and (C[5,e9]<C[5,e9+1])) then begin Min1:=C[5,e9]; Px2:=e9; //Изначально Px end;
{Min2:=C[5,ARR[b]]; Px2:=1; for e9:=ARR[b]+1 to Px-1 do if ((Min2>C[5,e9]) and ((C[5,e9-1]<C[5,e9]) and (C[5,e9]<C[5,e9+1]))) then begin Min2:=C[5,e9]; Px2:=e9; end;
if Px2 = 1 then Px2:=Px; }
if Length(C[10])-Px2>-10 then begin
Memo1.Lines.Add('C '+FloatToSTR(round(C[7,b-1]*100)/100)+'c.'+ ' По '+(FloatToStr(round((Px2/Gc)*100)/100)+'c.') + ' = '+FloatToSTR(round(((Px2/Gc) - C[7,b-1])*100)/100) +'c.');
Image1.Canvas.Brush.Style:=bsClear; Image1.Canvas.Font.Color:=clGreen; Image1.Canvas.Pen.Color:=clGreen; Image1.Canvas.MoveTo(round((Px2)*w2),round(a3+5)+e*2); Image1.Canvas.LineTo(round((Px2)*w2),round(a3+5)-e*2); end; end; end;
procedure TForm1.Image1Click(Sender: TObject); begin Image1.Width:=Form1.Width-190; Image1.Height:=Form1.Height - 70; end;
////процедура при нажатии на кнопку Разместить procedure TForm1.Action3Execute(Sender: TObject); begin Memo1.Lines.Clear; PorR; PorM; MaxR; MaxM; GelZ; GelY; end;
end.
Содержание 1. Биомеханические основы сокращения сердца…………………………………..…..3 2. Основные гемодинамические параметры деятельности сердца…..……………….5 3. Обзор методик определения времени изгнания сердца………………………........6 3.1. Определение времени изгнания по электрокардиограмме…………...….6 3.2. Определение времени изгнания с помощью поликардиографии…….....7 3.3. Определение времени изгнания по транcторакальной реограмме…........8 4. Разработка алгоритма обработки сигнала ЭКГ: выделение RR интервалов….…10 5.Разработка алгоритма определения времени изгнания по трансторакальной реограмме………………………………………………………………………………….……11 6.Реализация программ для выделения RR интервалов на ЭКГ и определения времени изгания по сигналу трансторакальной реограммы в среде Delphi………………..14 7.Выводы………………………………………………………………………………..18 Список используемой литературы…………………………………………………….18 Приложение А……………………………………………………………………….19-26 Биомеханические основы сокращения сердца Цикл сокращения сердца начинается в определенной области стенки правого предсердия, которую называют водителем ритма, или сино-атриальным узлом. Начавшаяся в водителе ритма деполяризация распространяется со скоростью порядка 1 м/с по окружающим эту область мышцам стенок правого и левого предсердий (вызывая их сокращение). Затем она передается клеткам атриовентрикулярного узла, расположенного в межпредсердной перегородке. Далее деполяризации подвергается особый пучок мышечных волокон, который проходит через фиброзную ткань, окружающую трехстворчатый клапан, в межжелудочковую перегородку; здесь этот пучок делится и проникает в мышечную массу каждого желудочка, оканчиваясь среди обычных мышечных клеток сетью особых тонких мышечных волокон. Волна деполяризации распространяется по этому проводящему пути быстро (5 м/с), и потому деполяризация и сокращение всех мышечных волокон как левого, так и правого желудочков происходят относительно синхронно: потенциал деполяризации желудочков на электрокардиограмме — комплекс QRS — длится меньше 0,1 с. Организованная последовательность сокращения предсердий и желудочков, возникающая после деполяризации водителя ритма, обеспечивается главным образом расположением и свойствами проводящих путей. - Рисунок 1 - Полусхематическое изображение процессов, происходящих за время сердечного цикла в левых камерах сердца. Все значения давлений даны по отношению к атмосферному давлению.
Циклы деполяризации и реполяризации, происходящие в сердечной мышце, генерируют слабые электрические потенциалы, и при соответствующем расположении электродов эти потенциалы могут быть восприняты на поверхности тела, усилены и зарегистрированы в виде электрокардиограммы. Оба желудочка сокращаются почти синхронно, но для простоты рассматриваются обычно лишь явления, происходящие в левых камерах сердца. Последовательность событий показана на рис. 1. Через очень короткий интервал времени после деполяризации мышечные волокна стенки желудочка начинают развивать активное напряжение, и давление в желудочке возрастает. Такое состояние весьма кратковременно, так как давление в желудочке почти сразу становится выше давления в предсердии, и в течение очень короткого периода времени кровь течет обратно — из желудочка в предсердие. Этот период заканчивается закрытием митрального клапана, что сопровождается характерным звуком, который прослушивается через стенку грудной клетки; этот звук — первый тон сердца — отмечает начало систолы, т. е. периода сокращения желудочков. Второй тон сердца соответствует началу диастолы, т. е. периода расслабления желудочков. Напряжение стенки желудочка теперь начинает расти исключительно быстро, и этот рост продолжается до тех пор, пока давление в полости желудочка не превысит давление в аорте. В этот период никакого изменения объема желудочка не происходит, поскольку кровь фактически несжимаема, и потому этот период называют изоволюмическим. Как только давление внутри желудочка превысит давление в аорте, возникает система сил, действующих так, чтобы открыть аортальный клапан, и начинается следующая фаза систолы — фаза изгнания крови. Поскольку объем левого желудочка уменьшается, кровь, находящаяся в желудочке и в проксимальной части аорты, быстро приобретает направленное вперед ускорение. Затем напряжение стенки желудочка падает, разность давлений в желудочке и в аорте меняет знак и движение крови в аорте замедляется. Наконец, перед закрытием аортального клапана, сопровождающимся вторым тоном сердца, существует небольшой период времени обратного движения крови через этот клапан — из аорты в желудочек. За этим следует второй изоволюмический период, во время которого мышца желудочка расслабляется и давление в нем падает. В то же самое время давление, в левом предсердии повышается по мере того, как оно наполняется кровью из легочных вен. Как только это давление превысит давление в левом желудочке, митральный клапан вновь открывается и под влиянием разности давлений, создаваемой сначала пассивно, а затем за счет активного укорочения мышечных волокон стенки предсердия, происходит наполнение желудочка. Это активное сокращение предсердия (систола предсердия) проявляется на электрокардиограмме зубцом Р, а механически — кратковременным увеличением давления в предсерди. Вскоре после этого происходит активация мышцы желудочка и весь цикл начинается снова.
|
|||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 191; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.17.110.162 (0.351 с.) |