QRS_AX

Transkrypt

QRS_AX
AKADEMIA GÓRNICZO-HUTNICZA
im. St. Staszica w Krakowie
WEAIiE, Katedra Automatyki
Laboratorium Biocybernetyki
Przedmiot: Dedykowane algorytmy diagnostyki medycznej.
QRS_AX
Temat projektu: Określenie osi elektrycznej załamków, wyznaczenie sygnału oddechu
z zapisu EKG
Spis treści:
1.
WSTĘP .......................................................................................................................................................... 2
2.
CELE PROJEKTU ...................................................................................................................................... 8
3.
KONCEPCJA PROPONOWANEGO ROZWIĄZANIA ......................................................................... 8
METODA 1 : WYZNACZENIE SYGNAŁU ODDECHOWEGO NA PODSTAWIE ANALIZY OSI
ELEKTRYCZNEJ SERCA. ................................................................................................................................. 8
METODA 2 : WYZNACZENIE SYGNAŁU ODDECHOWEGO NA PODSTAWIE TRANSFORMACJI
FALKOWEJ SYGNAŁU EKG ............................................................................................................................ 9
4.
REZULTATY ............................................................................................................................................. 10
5.
WNIOSKI ................................................................................................................................................... 16
LITERATURA..................................................................................................................................................... 17
DODATEK A. OPIS INFORMATYCZNY PROCEDUR ............................................................................... 18
DODATEK B. OPIS GRAFICZNEGO INTERFEJSU UŻYTKOWNIKA ................................................... 21
Wykonali: Kędzierska Dominika, Holewa Karolina
V rok IB_EIM
konsultant: Dr hab. Inż. Piotr Augustyniak prof. nadzw.
Kraków, 2010.
1. Wstęp
Elektrokardiografia jest nieinwazyjną metodą diagnostyczną, której celem jest rozpoznanie
przebiegu zjawisk elektrycznych w sercu. Ze względu na stosunkowo niski koszt oraz łatwość
wykonania badania w porównaniu do innych metod diagnostycznych, badanie to jest często zlecane
przez lekarzy. Badanie polega na rejestracji z powierzchni klatki piersiowej elektrycznej czynności
mięśnia sercowego. Urządzenie służące do odebrania potencjałów ze skóry za pomocą specjalnych
elektrod nazywane jest elektrokardiografem. Zarejestrowane potencjały są wzmacniane i
zapisywane przez aparat na papierze lub cyfrowo w postaci tzw. krzywej EKG. Otrzymany w ten
sposób elektrokardiogram pozwala na dokonanie pomiarów różnych charakterystycznych
elementów krzywej EKG, zwanych odstępami, odcinkami i załamkami, których wartości są
odzwierciedleniem miejsca i czasu trwania zjawisk elektrycznych w mięśniu serca. Rysunek 1
przedstawia przebieg krzywej EKG na którym wyróżniamy załamki, odcinki oraz odstępy, których
zmiana kształtu lub odległości między sąsiadującymi załamkami jest najczęściej związana z jakąś
patologią.
Rys. 1 Przebieg krzywej EKG.
2|Strona
Opis podstawowych składowych elektrokardiografu
Załamek TP
Jest spowodowany repolaryzacją przedsionków, jednak zazwyczaj go nie widać, ponieważ
występuje w tym samym czasie co załamek QRS.
Załamek P
Załamek ten jest wyrazem depolaryzacji przedsionków, którego czas trwania u zdrowych osób
powinien zawierać się w przedziale od 0,08s do 0,11 s.
Odcinek PQ
Jest fragmentem krzywej EKG występującym od końca załamka P aż do początku zespołu QRS.
W warunkach fizjologicznych znajduje się w linii izoelektrycznej, zaś jego czas trwania powinien
wynosić od 0,04s do 0,10 s.
Odstęp PQ
Jest to fragment zapisu EKG obejmujący czas od początku załamka P do początku zespołu QRS,
czyli obejmuje załamek P oraz odcinek PQ. Prawidłowy czas trwania odstępu PQ to 0,12-0,2s.
Zespół QRS
Jest elektrokardiograficznym odzwierciedleniem depolaryzacji komór, który składa się z dwóch lub
więcej załamków określonych jako Q, R i S. Prawidłowy czas trwania to od 0,06 s do 0,11 s.
Odcinek ST
Fragment ten obejmuje czas trwania od końca zespołu QRS do początku załamka T. W warunkach
prawidłowych powinien być on izoelektryczny, czyli znajdować się na tej samej wysokości co
odcinek TP.
Załamek T
Odpowiada repolaryzacji komór. Prawidłowy czas trwania załamka T powinien wynosić od 0,12 s
do 0,16 s.
Odstęp QT
Jest to fragment zapisu EKG składający się z zespołu QRS, odcinka ST i załamka T. Odstęp QT
reprezentuje wszystkie zdarzenia podczas skurczu komór, zaś jego czas trwania jest zmienny i
zależy od częstości rytmu serca.
3|Strona
Fala U
To mały, płaski załamek, który jest czasami widoczny po załamku T, a przed załamkiem P.
Nieznana jest dokładna faza cyklu pracy serca reprezentowana przez załamek U.
Oś elektryczna serca jest sumą wszystkich wektorów wytwarzanych przez potencjały
czynnościowe pojedynczych miocytów komór. Jest generowana przez każdy z załamków, a także
przez odstępy między nimi. Określa ona położenie serca wewnątrz jamy ciała, a także stosunek
masy mięśniowej komory lewej i prawej.
Odchylenie osi elektrycznej serca w prawo lub w lewo może mieć przyczynę w : przeroście
prawej komory serca, dekstrokardii czy ekotopowego pobudzenia i rytmu komorowego, czyli
wstecznej propagacji fali depolaryzacyjnej z dolnej części przedsionków lub węzła przedsionkowokomorowego bądź z komór.
Na podstawie analizy sygnału EKG możemy wyznaczyć sygnał oddechu, który określa
m.in. głębokość wdechu i wydechu oraz istnienie groźnego dla życia bezdechu podczas snu.
Współczesne systemy monitoringu EKG pozwalają na rejestrację sygnału EKG z jednoczesnym
monitoringiem oddechu pacjenta. Funkcja ta standardowo zaimplementowana jest w szpitalnych
kardiomonitorach oraz opcjonalnie możliwa do wykorzystania przy badaniach zaburzeń snu –
badaniach polisomnograficznych.
Zmiany sygnału EKG spowodowane oddechem związane są ze zmianami impedancji klatki
piersiowej, co z kolei wynika ze zmian objętości płuc w trakcie oddechu oraz ze zmianą
przestrzennego położenia elektrod względem serca. Występuje tutaj także zmiana częstości rytmu
serca pod wpływem autonomicznego układu nerwowego [Momot]. W procedurze ekstrakcji
sygnału oddechowego z przebiegu elektrokardiogramu niezwykle ważnym jest aby w początkowej
fazie prawidłowo określić oś elektryczną załamków P, QRS i T.
Następnie, do odtworzenia sygnału oddechu na podstawie EKG można wykorzystywać
następujące metody:
badanie zmienności amplitudy załamka R lub pola powierzchni pod załamkiem R (niestety,
ze względu na małe zmiany amplitudy sygnału EKG wywołane oddechem oraz
powszechnie występujące zakłócenia sygnału stwierdza się ze analiza załamka R dla
niewielu pacjentów prowadzi do zadowalających efektów[Momot])
zmiany częstości akcji serca (rzadko stosowana ze względu na możliwość wystąpienia
arytmii)
4|Strona
wyznaczanie zmian amplitudy sygnału EKG w kolejnych ewolucjach serca na podstawie
całych zespołów QRS (nowatorska metoda o obiecujących rezultatach)
oraz przynoszące większą skuteczność skomplikowane algorytmy o dużym nakładzie
obliczeniowym:
wykorzystanie transformaty Falkowej,
filtracja adaptacyjna,
analiza składników głównych,
analiza wektora elektrycznego serca,
Przegląd rozwiązań dostępnych w literaturze
Analiza wektora elektrycznego serca (ang. Angle of Mean Cardiac Electrical)
Jak już wspomniano na sygnał EKG wpływa ruch względny elektrod w stosunku do serca
spowodowany ruchem klatki piersiowej. Podczas wdechu wierzchołek serca rozciąga się w kierunku jamy
brzusznej (płuca wypełniają się wspomagane przeponą). Podczas wydechu przepona podnosi się, co pomaga
powietrzu opuścić płuca i przycisnąć koniuszek serca w kierunku klatki piersiowej. Te anatomiczne aspekty
oddychania wpływają na modulację amplitudy sygnału EKG.
Rys.2 Sygnał EKG oraz Respiratory Volume Changes[saj04]
Oddech wywołuje zmianę osi elektrycznej sygnału EKG, co jest związane ze zmianą kąta
jaki tworzy wektor osi elektrycznej serca tworzy z kierunkiem referencyjnym (reference line).
Oś elektryczna serca to w elektrokardiografii kierunek średniego wektora depolaryzacji komór
serca w płaszczyźnie czołowej. Najczęściej korzysta się z uproszczonego sposobu oznaczania osi
elektrycznej, polegającego na nałożeniu sumy algebraicznej załamków tworzących zespoły QRS w
5|Strona
odprowadzeniach I i III na odpowiedni wzorzec graficzny (np. nomogram Węsława) w celu
określenia kąta nachylenia osi.
Oprócz modulacji amplitudy, oddech wpływa także na zmienność występowania pików R-R
(częstość akcji serca) lecz gdybyśmy właśnie ten parametr wykorzystywali do detekcji częstości oddechu,
duże wpływy na uzyskiwane wartości miałyby wszelkie arytmie. Dlatego tez w tym rozwiązaniu kierujemy
się nie tym jak często występuje pik QRS lecz jaką posiada on amplitudę.
Filtracja adaptacyjna
Sygnał EKG nie jest wolny od zakłóceń oraz szumów pochodzących od sieci elektrycznej,
urządzenia pomiarowego czy też spowodowanych ruchem ciała lub innymi sygnałami
elektrycznymi generowanymi w organizmie człowieka. W przypadku celu niniejszego projektu,
jakim jest wyodrębnienie z sygnału EKG rytmu oddechowego, szum generowany przez zmianę
objętości klatki piersiowej będzie ważnym składnikiem sygnału. Ruch względny elektrod skutkuje
periodyczną zmianą w amplitudzie załamka R.
Wiadomo jest, że podczas wdychania dochodzi do przyśpieszenie czynności serca (działanie
układu współczulnego), zaś podczas wydychania częstość akcji serca zwalnia ( działanie układu
przywspółczulnego). Zmienność rytmu serca wywołana faktem oddychania zawiera się w zakresie
częstotliwości około od 0,2Hz do 0,4 Hz ( dokładna częstotliwość rytmu serca zależy od
częstotliwości oddychania), zaś wpływ efektu oddychania na częstotliwość rytmu serca jest
określany jako RSA.
Stąd możemy wywnioskować, że w zapisie EKG sygnał oddechowy
występuje w dwóch formach tj. jako załamek R oraz jako odstęp R-R. W celu wyodrębnienia
sygnału oddechowego można zastosować filtrację adaptacyjną. Struktura filtru adaptacyjnego
została przedstawiona na Rys. 3.
Rys. 3 Idea filtracji adaptacyjnej
gdzie : xk – sygnał wejściowy
dk – sygnał pożądany
yk – sygnał wyjściowy
6|Strona
ek – błąd sygnału
FILTER – proces filtrowania
Adaptive process - algorytm
Głównym celem zastosowanego systemu filtracji adaptacyjnej jest przefiltrowanie sygnału
wejściowego xk, tak aby przypominał on pożądany sygnał wejściowy dk. W wyniku filtracji sygnału
wejściowego xk otrzymujemy sygnał yk. Różnica między sygnałem po filtracji yk a sygnałem
żądanym dk określana jest jako błąd sygnału ek. Wyznaczony błąd sygnału ek jest podstawą
algorytmu adaptacyjnego, ponieważ jak w każdym algorytmie staramy się uzyskać jak najmniejszy
błąd. Błąd sygnału ek jest parametrem określającym jak dobrze jest dostosowany system do
wymagań. W przypadku uzyskania z zapisu EKG sygnału oddechowego przy użyciu filtracji
adaptacyjnej zakładamy, że znamy dwa sygnały pochodzące z zapisu EKG tj. odstęp R-R oraz
załamek R (lub sygnał zawierający amplitudę fali R), które niosą ze sobą informacje o oddechu.
Można zastosować poniższy schemat blokowy systemu :
Rys. 4 Schemat blokowy
Głównym problemem pojawiającym się w tej metodzie jest to, ze nie znamy sygnału
pożądanego. Rozwiązaniem może być zastosowanie jednego z sygnałów tj. odstępu R-R lub
załamka R jako sygnał wejściowy, zaś drugiego jako sygnał pożądany.
System został tak
opracowany aby, jak najlepiej wygenerować estymacje jednego sygnału przy użyciu drugiego
poprzez zwiększanie wspólnych cech dla obu sygnałów przy jednoczesnej eliminacji
nieskorelowanych części.
Główne założenia stosowanej metody to :
- zakładamy, że jedyną cechą skorelowania sygnałów reprezentujących odstęp R-R oraz załamek R
jest sygnał oddechu – i tylko te cechy są zwiększane w procesie adaptacyjnym.
- działanie układu oddechowego powoduje powstanie dwóch liniowych sygnałów, które mogą być
modelowane z użyciem filtrów liniowych.
7|Strona
2. Cele projektu
Celem niniejszego projektu jest określenie osi elektrycznej załamków oraz wyznaczenie
sygnału oddechu z zapisu EKG. Główne założenia projektowe zostały przedstawione na poniższym
diagramie.
3. Koncepcja proponowanego rozwiązania
Metoda 1 : Wyznaczenie sygnału oddechowego na podstawie analizy osi elektrycznej
serca.
a) Wyznaczenie osi elektrycznej serca [1]:
8|Strona
b) Wyznaczenie sygnału oddechowego na podstawie zmienny kierunku osi elektrycznej serca
[3] :
Sygnał oddechowy możemy wyznaczyć na podstawie zmiany kierunku osi elektrycznej serca.
Pierwszym etapem jest wyznaczenie osi elektrycznej dla dwóch ortogonalnych odprowadzeń
kończynowych [y], a następnie korzystając ze wzorem: x=arctg(y)[rad] wyliczamy sygnał
oddechu.
Metoda 2 : Wyznaczenie sygnału oddechowego na podstawie transformacji Falkowej
sygnału EKG
Inną metodą wyznaczenia sygnału oddechowego z zapisu EKG jest użycie transformaty
Falkowej. Metoda wyznaczenia sygnału oddechowego polega na poddaniu sygnału EKG najpierw
n - poziomach dekompozycji sygnału a następnie rekonstrukcji sygnału przy użyciu detalali
otrzymanych podczas n dekompozycji. Wartość n (określająca poziomy dekompozycji) jest silnie
zależna
z
częstotliwością
próbkowania
analizowanego
sygnału,
ponieważ
maksymalna
częstotliwość jaka może być reprezentowana to częstotliwość próbkowania/2. Dlatego też musimy
obliczyć na jakim poziomie dekompozycji rozkład szczegółów będzie się zawierać w zakresie
częstotliwości 0,2 - 0,4 Hz ponieważ w tym zakresie częstotliwości zawiera się poszukiwany sygnał
oddechowy. W przypadku analizowanych plików txt. częstotliwość próbkowania wynosiła 140Hz
co dało 8 poziomów dekompozycji, zaś w przypadku plików z bazy cse częstotliwość wynosiła
9|Strona
500Hz czyli 10 poziomów dekompozycji. Jeśli chodzi o dobór rodzaju falki to zastosowano falkę
Daubechies-4 gdyż kształt tej falki najbardziej przypomina sygnał EKG.
Rys. 5 Falki Daubechies’a
4. Rezultaty
Obie opisane metody zostały zaimplementowane w programie Matlab, zaś metoda wykorzystująca
transformate falkową również w języku C++. Niestety wczytanie plików z bazy cse w przypadku
implementacji kodu w języku C++ nie powiodło się, dlatego przedstawione wyniki dotyczą tylko
plików *.txt. Dla analizowanych sygnałów EKG udało sie również zaimplementować algorytm
detekcji częstotliwości sygnału z wykorzystaniem transformaty Fouriera.
10 | S t r o n a
Przykładowe wykresy przebiegu sygnału oddechowego otrzymane przez algorytmy
zaimplementowane w Matlabie :
- dla plików z bazy cse :
Rys. 6 Otrzymane wykresy dla pliku MA1_121.dcd
Rys. 7 Widmo częstotliwościowe sygnału oddechowego dla pliku MA1_121.dcd z bazy CSE
11 | S t r o n a
Rys.8 Otrzymane wykresy dla pliku MA1_015.dcd
Rys. 9 Widmo częstotliwościowe sygnału oddechowego dla pliku MA1_015.dcd z bazy CSE
12 | S t r o n a
- dla plików *.txt pobranych ze strony http://www.physionet.org/ :
Rys.10 Otrzymane wykresy dla pliku 16265-normalecg.txt
Rys.11 Widmo częstotliwościowe sygnału oddechowego dla pliku 16265-normalecg.txt z bazy Physionet
13 | S t r o n a
Rys.12 Otrzymane wykresy dla pliku 16539-normalecg.txt
Rys.13 Widmo częstotliwościowe sygnału oddechowego dla pliku 16539-normalecg.txt z bazy Physionet
Program napisany w języku C++ na wyjściu generuje plik tekstowy będący zapisem
wyektrahowanego przy wykorzystaniu dekompozycji falkowej (Daubechies) sygnału oddechowego.
14 | S t r o n a
Rys. 14 Wygląd pliku wyjściowego out. txt generowanego po wykonaniu
algorytmu zaimplementowanego w C++
Z otrzymanych danych (plik out.txt) w środowisku MATLAB wykreślono poniższy wykres:
Rys. 15 Wykres wykreślony w programie Matlab na podstawie danych z pliku out.txt
15 | S t r o n a
5. Wnioski
W projekcie przedstawiono dwie metody wyznaczania sygnału oddechowego z sygnału EKG.
Pierwsza polegała na badaniu zmiany kierunku osi elektrycznej serca, druga wykorzystywała
falkową dekompozycję i rekonstrukcję sygnału w celu znalezienia linii izoelektrycznej oraz analizy
jej zmienności.
Algorytm pierwszej metody zaimplementowano przy wykorzystaniu środowiska MATLAB. Drugą
metodę udało się zaimplementować zarówno w środowisku MATLAB jak i wykorzystując język
programowania C++.
Metody testowano przy wykorzystaniu plików z zarejestrowanych sygnałem EKG w dwóch
formatach:
● pliki z bazy CSE (rozszerzenie “*.DCD”)
● pliki z bazy PHYSIONET (rozszerzenie “*txt”)
Jednakże analiza plików z bazy CSE odbyła się jedynie w programach środowiska MATLAB ze
względu na trudności napotkane we wczytywaniu plików tego typu w języku C++.
Na podstawie przeprowadzonych testów można wysnuć następujące wnioski:
● ze względu na fakt, iż pliki z bazy CSE są tzw. “sztucznie spreparowane” poprzez
zwielokrotnianie fragmentu sygnału z zespołem QRS stwierdzono, iż ciężko w plikach tego
typu wykrywać ruchy oddechowe
● pliki z bazy CSE mimo posiadanej wysokiej częstotliwości próbkowania (500Hz) to sygnału
o czasie trwania równym 10sekund, co także wpływa na obniżenie efektywności działania
algorytmów
● obie metody są znacznie bardziej efektywne dla plików pobranych z bazy PHYSIONET naturalny rytm ekg rejestrowany w czasie 60sekund (częstotliwość próbkowania 128Hz)
● zastosowanie transformaty Fouriera dla badanych plików pozwoliło na zbadanie częstości
oddechu, która przy zastosowaniu obu metod mieściła się w zakresie 0,2-0,4Hz (1224oddechów/minutę)
● amplituda sygnału oddechowego uwidacznia głębokość wdechu i wydechu
● metody ekstrakcji sygnału oddechowego mogą służyć w detekcji bezdechu sennego podczas
badania holterowskiego
16 | S t r o n a
Literatura
[1] Augustyniak P., „Przetwarzanie sygnałów elektrodiagnostycznych”, Uczelniane Wydawnictwo
Naukowe AGH, Kraków 2001.
[2] Sajja S., Pallavi D.V.S., „A Study on deriving Respiratory Signals from ECG”, DhirubhaiAmbani
Institute of Information and Communication Technology,
[3] Kikta A., Augustyniak P., „Comparing methods of ECG respiration signals derivation based on
measuring the amplitude of QRS complexes”, AGH – University of Science of Technology .
[4] Momot M, Gibiński P., „Metoda oceny częstości oddechowej na podstawie sygnału EKG.”
XVI Krajowa Konferencja Biocybernetyki i Inżynierii Biomedycznej, prezentacja
17 | S t r o n a
DODATEK A. Opis informatyczny procedur
spis funkcji w C++ :
/******************************************************************************
void Data::readDataFromFile(char* filePath, int col, int lin)
*
* Przeznaczenie: wczytanie plików *. txt
*
* Argumenty:
* filePath - ścieżka do pliku
* col - liczba kolumn wczytywanego pliku
* lin - liczbawierszy wczytywanego pliku
*
* Zwraca: void
*
* Używane zmienne: double** signal; int i,j,columns, lines ;
/******************************************************************************
void Data::wydzielKolumny()
* Przeznaczenie: wydzielenie z sygnału odpowiednich kolumn danych reprezentujących sygnał
* zarejestrowany przez odporowadzenia i wpisanie ich w tablice.
*Zwraca: void
*Użyte zmienne: double* a1,y; int i;
/******************************************************************************
void Data::wypiszAY()
*Przeznaczenie : funkcja służy do wypisywania danych w konsoli.
*Zwraca: void
*Użyte zmienne: int i,j, double* a1;
/******************************************************************************
void Data::falka()
*Przeznaczenie: służy do przeprowadzenia transformaty falkowej na wczytanym sygnale.
* Transformata falkowa dokonywana jest z użyciem biblioteki Wave++;
*Zwraca: void;
*Uzyte zmienne: tablice wejściowe potrzebne do transformaty : Interval inputArray; Interval
outputArray; Interval outputArray2; int i;
/*******************************************************************************
********************************************************************************
18 | S t r o n a
Spis funkcji w Matlabie :
/*******************************************************************************
function amea(pathname,filename,figure3);
*Przeznaczenie: służy do wyznaczania sygnału oddechowego na podstawie zmiany kierunku osi
elektrycznej serca. Pierwszym etapem jest wyznaczenie osi elektrycznej dla dwóch ortogonalnych
odprowadzeń kończynowych, a następnie korzystając ze wzorem: x=arctg(y)[rad] wyliczamy
sygnał oddechu.
*Wykorzystywane funkcje:
cseread(pathname,filename) do wczytania pliku CSE
load(filename) -do wczytania pliku „.txt‟
*Wykorzystywane zmienne wejściowe:
pathname - ścieżka do pliku wybieranego w interfejsie użytkownika
filename - nazwa pliku wybieranego w interfejsie użytkownika
figure3 - uchwyt do obiektu interfejsu użytkownika na którym ma być wyświetlany sygnał
oddechowy
/*******************************************************************************
function wavelet(pathname,filename, figure1, figure2)
*Przeznaczenie: służy do przeprowadzenia transformaty falkowej na wczytanym sygnale.
Transformata falkowa dokonywana jest z użyciem biblioteki środowiska MATLAB 7.0 (rodziny
falek Daubechies)
*Wykorzystywane funkcje:
cseread(pathname,filename) do wczytania pliku CSE
load(filename) -do wczytania pliku „.txt‟
wavedec - dekompozycja falkowa sygnału;
waverec - rekontrukcja sygnału;
*Wykorzystywane zmienne wejściowe:
pathname - ścieżka do pliku wybieranego w interfejsie użytkownika
filename - nazwa pliku wybieranego w interfejsie użytkownika
figure1 - uchwyt do obiektu interfejsu użytkownika na którym ma być wyświetlany sygnał EKG
figure2 - uchwyt do obiektu interfejsu użytkownika na którym ma być wyświetlany sygnał
oddechowy
19 | S t r o n a
łuży do wyznaczania sygnału oddechowego na podstawie zmiany kierunku osi elektrycznej serca.
Pierwszym etapem jest wyznaczenie osi elektrycznej dla dwóch ortogonalnych odprowadzeń
kończynowych, a następnie korzystając ze wzorem: x=arctg(y)[rad] wyliczamy sygnał oddechu.
*Wykorzystywane funkcje:
cseread(pathname,filename) do wczytania pliku CSE
load(filename) -do wczytania pliku „.txt‟
*Wykorzystywane zmienne wejściowe:
pathname - ścieżka do pliku wybieranego w interfejsie użytkownika
filename - nazwa pliku wybieranego w interfejsie użytkownika
figure3 - uchwyt do obiektu interfejsu użytkownika na którym ma być wyświetlany sygnał
oddechowy
/*******************************************************************************
function m=cseread(pathname,filename)
*Przeznaczenie: do wczytywania plików z bazy CSE („*.dcd‟) i udostepnienie w postaci macierzy
m
*Wykorzystywane zmienne wejściowe:
pathname - ścieżka do pliku wybieranego w interfejsie użytkownika
filename - nazwa pliku wybieranego w interfejsie użytkownika
*Zmienne wyjściowe: m - macierz zawierająca zapis EKG
20 | S t r o n a
DODATEK B. Opis graficznego interfejsu użytkownika
Wygląd okna po uruchomieniu programu :
Rys. 16 Wygląd okna głównego
Po kliknięciu na przycisk “READ FILE” na pulpicie pojawi się okno umożliwiające załadowanie
pożądanego pliku :
Rys. 17 Wygląd okna wyboru pliku.
21 | S t r o n a
Następnie po wyborze i wczytaniu pliku dokonywana jest automatyczna analiza której wyniki
wyświetlane są w sposób przedstawiony na poniższym rysunku :
Rys. 18 Wygląd okna z po analizie wczytanego pliku
W polu “File readed” wyświetlana jest nazwa aktualnie analizowanego pliku.
Przycisk “CLEAR GRAPH” powoduje wyczyszczenie wszystkich wykresów co w rezultacie
prowadzi do otrzymania okna:
Rys. 19 Wygląd okna po wyczyszczeniu wykresów przy pomocy przycisku „CLEAR GRAPH”
22 | S t r o n a

Podobne dokumenty