Zastosowanie Informatyki w Medycynie Dokumentacja projektu wykrywanie bicia serca z sygnału EKG. (wykrywanie załamka R) Prowadzący: prof. dr hab. inż. Marek Kurzyoski Grupa: Jakub Snelewski 163802, Jacek Gajek 163794 Spis treści Wstęp... 1 Technologie... 2 Analiza sygnału EKG... 2 Opis obsługi programu rytm-serca... 4 Wstęp Na początek wyjaśnijmy czym zajmuje się elektrokardiografia. Elektrokardiografia jest to metoda pośrednia polegająca na rejestracji elektrycznej czynności mięśnia sercowego z powierzchni klatki piersiowej w postaci różnicy potencjałów (napięd) pomiędzy dwoma elektrodami, co graficznie odczytujemy w formie krzywej elektrokardiograficznej. Inaczej zwanym elektrokardiogramem. Jest on graficznym zapisem zmian potencjałów w trakcie depolaryzacji i repolaryzacji komórek mięśnia sercowego pacjenta. Jest to jedno z podstawowy badao wykonywanych przez lekarza. Niesie ona wiele informacji o stanie serca pacjenta i jego funkcjonowaniu. Celem projektu było opracowanie i zaimplementowanie aplikacji, która będzie wykrywad bicie serca na podstawie elektrokardiogramu. Nie zajmowaliśmy się interpretacja sygnału przez pryzmat chorób i nieprawidłowości. Staraliśmy się jak najdokładniej dopasowad parametry i algorytm, metody wykrywania bicia serca w elektrokardiogramie. 1
Rysunek 1 Załamki i odstępy Wykorzystane technologie Program został napisany w języku C# w środowisku Microsoft Visual Studio 2010. Graficzny interfejs aplikacji opiera się o technologię Windows Presentation Foundation WPF. Jej zaletą jest to, że wykorzystuje grafikę wektorową, która jest renderowana ze wsparciem karty graficznej. WPF jest nazwą silnika graficznego i API bazującego na.net 4. API w WPF opierać się na języku XML, dokładniej na jego rozszerzeniu o nazwie XAML. Dzięki temu nasza aplikacja szybciej rysuje wykres EKG. Analiza sygnału EKG Podstawowym zadaniem w elektrokardiogramie (EKG) jest wykrywanie załamków R. Można napotkać pewne trudności przy analizie EKG: nieregularne odległości między załamkami, różne ich charakterystyki oraz wysokości, obecności składnika o niskiej częstotliwości w EKG u pacjenta ze względu na oddychanie itp. Aby rozwiązać te zagadnienia, w przetwarzaniu sygnału EKG powinno wyróżnić się pewne etapy, w celu zmniejszenia wpływu tych czynników. Poniżej wyjaśnione i opisane są poszczególne kroki. Procesy zachodzą sekwencyjnie. 1. Na Rysunku 2 widać, że zapis EKG jest nierówny. Tak więc pierwszym krokiem jest wyprostowanie sygnału. W tym celu musimy usunąć składnik niskiej częstotliwości. Wykorzystano do tego Szybką Transformatę Fouriera FFT, do usunięcia składowych o niskiej częstotliwości, a następnie odwrotnej FFT, aby uzyskać wyrównany zapis EKG. Wynik przedstawiono na Rysunku 3. 2
Rysunek 2 Pierwotny zapis Rysunek 3 Zapis wyrównany 2. Po analizie i usunięciu niskich częstotliwości, naszym drugim krokiem jest znalezienie lokalnych maksimów. W tym celu używamy okna przesuwnego, które wykrywa tylko maksymalne wartości znalezione w oknie i ignoruje wszystkie inne wartości. Na tym etapie używamy okna rozmiaru. W wyniku otrzymujemy Rysunek 4. Rysunek 4 lokalne maksima 3. Trzecim krokiem jest usunięcie małych wartości wykrytych maksimów lokalnych i zachowania tylko spełniających warunek Rysunek 5. Tutaj używamy filtra progu. Rysunek 5 filtr progu 3
Opis obsługi programu rytm-serca Aplikacja składa się z jednego okna głównego, podzielonego na części odpowiadające poszczególnym funkcjonalnościom. Rysunek 6 wczytywanie pliku W górnej części jest pasek służący do wpisywania ścieżki do pliku zawierającego dane źródłowe (Rysunek 6). Program obsługuje pliki typu *.txt. Można też wyszukad plik przy pomocy przycisku Wybierz. Po naciśnięciu pojawia się nowe okno Rysunek 7. Rysunek 7 wybór pliku Przykładowe sygnały EKG otrzymaliśmy od prowadzącego. 4
Po wczytaniu sygnału program natychmiastowo wczytuje próbki i wyświetla je w postaci wykresu. Rysunek 8 Rysunek 8 parametry analizy EKG Po prawej stronie znajdują się parametry analizy sygnału EKG. Próg niskich częstotliwości określa wartośd progową częstotliwości, poniżej której składowe będą usuwane, aby wyeliminowad wpływ oddychania pacjenta. Minimalna wysokośd załamka R sprawia, że odrzucane są wszystkie maksima lokalne okna będące mniejsze od tego parametru. Szerokośd okna szukania maksimum dostosowuje przedział czasu, w którym szukane są lokalne maksima. Limit wczytywania odczytów ogranicza liczby wczytanych próbek. Może się zdarzyd, że ilośd danych będzie duża i czas analizy, a szczególnie prezentacji elektrokardiogramu, będzie niedogodny dla użytkownika. Pokaż przefiltrowany sygnał użytkownik może zdecydowad czy chce oglądad sygnał oryginalny czy po przefiltrowaniu z niskich częstotliwości. Po ustaleniu parametrów analizy należy wcisnąd przycisk Analizuj. Rysunek 8 5
Rysunek 9 Interpretacja Analizy EKG Wszystkie wykryte przez algorytm załamki R oznaczane są w postaci czarnych kropek. Na dole wyświetlona zostaje wyliczona ilośd uderzeo serca pacjenta na minutę. Oczywiście wiarygodnośd tego obliczenia zależy od wcześniej zadeklarowanych parametrów. Domyślnie wpisane parametry są optymalne. Dodatkowo, program umożliwia powiększenie wybranego fragmentu elektrokardiogramu. 6