Automatisk tidmätning av intrakardiella elektrogram Ex-jobbsrapport av Rikard Björkman 1996-04-30 vid Kungliga Tekniska Högskolan Examinator: Prof. Håkan Elmqvist, Institutionen för Medicinsk Laboratorievetenskap och Teknik, Karolinska Institutet Handledare: Mikael Dahlke, Siemens-Elema AB INNEHÅLLSFÖRTECKNING 1 ABSTRACT 2 SAMMANFATTNING 3 INLEDNING 3.1 Begreppsförklaringar 3.2 Bakgrund 3.2.1 Vad är elektrofysiologi? 3.2.2 När och varför gör man en elektrofysiologisk undersökning av hjärtat? 3.2.3 Hur går det till i dag? 3.2.4 Uppgift 3.3 Projektplanering 4 LITTERATURSÖKNING 4.1 Sökning på internet 4.1.1 Resultat av sökning på internet 4.2 Sökning på Karolinska Institutets bibliotek 4.2.1 Resultat av sökning på KIB 4.3 Slutsats 5 DATAINSAMLING 5.1 Skillnader mellan yt-ekg och intrakardiellt elektrogram 5.2 Hur datainsamlingen gick till 6 ALGORITMER 6.1 Allmänt om algoritmernas principer 6.2 Från artiklar respektive egen utveckling 6.2.1 Hur har artiklarna utnyttjats? 6.2.2 Vad skiljer sig gentemot artiklarna? 6.3 Program för antegrad analys 6.4 Program för retrograd analys 6.5 Program för analys av "Sinus Node Dysfunction, SND" 7 PATIENTUNDERSÖKNINGAR 7.1 Placering av elektroder 8 UNDERSÖKNING AV TRÄFFSÄKERHET 9 KOMMENTAR / DISKUSSION 9.1 Forskning eller klinisk användning 9.2 Vidareutveckling 10 SLUTSATS 11 LITTERATURFÖRTECKNING OCH REFERENSLISTA 12 BILAGOR 12.1 Manual för datainsamling och analys 12.1.1 Apparatuppkoppling 12.1.2 Datainsamling 12.1.3 Analys 12.2 Resultat av litteratursökning 12.2.1 Intressanta tidskrifter 12.3 Exempel på körningar av program 12.3.1 Antegrad 12.3.2 Retrograd 12.3.3 Sinus Node Dysfunction, SND 0Abstract This report describes a method for automatic measurement of intracardiac electrograms. In cardiac electrophysiology there are some intervals of interest. In some equipment today, the intervals has to be measured manually. This takes some time and it would be better if those measurements could be made by a computer. Complete algorithms for automatic measurement has not been found in any magazine or literature, nor has it been found on the internet. Therefore algorithms for this purpose has been developed. Data was collected using Siemens-Elema's RECOR, equipped with an analogue output board. A standalone computer with an ADC-board (analogue to digital converter board) was used to record data and to carry out the calculations. The algorithms were tested on three patients. From those tests the conclusion was made that the algorithms works, with sufficient accuracy, when the signals are normal. 0Sammanfattning Syftet med examensarbetet var att undersöka om det går att med hjälp av dator räkna ut vissa intressanta intervall i ett intrakardiellt elektrogram. Uppgiften var att först göra en litteraturstudie i avsikt att söka rätt på vad som finns i form av algoritmer, analyser etc inom elektrofysiologi för att sedan göra en teknisk funktionell utvärdering av algoritmer eller analyser som finns dokumenterade. Uppgiften innebar vidare att funna algoritmer skulle implementeras och testas mot provdata. Två artiklar hittades som beskriver algoritmer för användning vid en elektrofysiologisk undersökning av hjärtat. Ingen av dem kunde användas utan betydande modifieringar, vilka gjordes växelvis med utveckling av datorprogram. Det visade sig att det går att med datorns hjälp beräkna intervalltider som är intressanta vid en elektrofysiologiundersökning. Man kan uppnå tillfredsställande noggrannhet, om än inte lika hög som vid manuell mätning. Programmen fungerar bra då signalerna är något så när normala. 0Inledning A.Begreppsförklaringar Nedan står en del begrepp som används i avhandlingen tillsammans med vad som i rapporten menas med respektive begrepp. Begrepp Förklaring Ablation En högfrekvent elektrisk spänning läggs över ledningsbanan varvid den värms upp en aning och de muskelcellerna dör. Antegrad Den elektriska pulsen propagerar från förmak till kammare. Detta är normalfallet. Arytmi Onormal hjärtrytm beroende på abnormitet i genereringen av pulser till hjärtat eller abnormitet i retledningssystemet (1). Tackykardi och bradykardi är två typer av arytmier. Avledning, bipolär- En mellan två elektroder uppmätt potentialskillnad. Avledning, unipolär- Potentialskillnad mellan en elektrod och en gemensam virtuell potential. Bakåt Bakåt i tiden, mot början av inspelningen (av en signal). Bradykardi Onormalt låg puls. Jämför tackykardi. CATHCOR Utrustning, från Siemens-Elema AB, som används för att ta upp och presentera intrakardiella elektrogram. Mer avancerad än RECOR. Earliest deflection Den allra första rörelsen hos ett komplex. Flimmer Kammarflimmer innebär så hög puls att hjärtats pumpfunktion har upphört (300-500 slag per minut) (3) Förmaksflimmer kan man leva med. Fönstring Att betrakta endast en del av en signal. HBE His Bundle Electrogram; His bunt elektrogram. His bunt Del i hjärtat där fördröjningen mellan förmak och kammare uppstår. His bunt har fått sitt namn efter en man som hette His. (His' bundle på engelska.) HRA High Right Atrium; högt upp i höger förmak. Infarkt Vävnadsdöd i en del av hjärtmuskeln. Intrakardiellt Inom hjärtat. Ischemi Syrebrist i hjärtmuskeln. Kateter Sladd som har en eller flera elektroder och är avsedd att föras in i kroppen. Katetern kan alternativt vara konstruerad för tryckmätning. Komplex Ett komplex består av en kraftig variation av en signals amplitud; det har en början och ett slut. Kurva Den från en avledning uppmätta spänningens utseende över tiden. LRA Low Right Atrium; långt ner i höger förmak. Monoton Signalen är hela tiden stigande eller avtagande. Offset Slutet på ett komplex. Onset Början på ett komplex. Onsetkriterium De krav som måste uppfyllas för att programmet skall tolka en punkt som onset. Signalen skall vara monoton under en viss tid och ha en minsta tillåten derivata. RECOR Utrustning, från Siemens-Elema AB, som används för att ta upp och presentera intrakardiella elektrogram. Enklare än CATHCOR. Retrograd Den elektriska impulsen propagerar från kammare till förmak. detta är fallet vid kammarstimulering. RV Right Ventricle; höger kammare. Sinusnoden Den del i hjärtat som i normala fall skall sköta produktionen av de elektriska pulser som gör att hjärtmuskeln kontraheras. Sinusnoden sitter högt upp i höger förmak. Den kallas även sinusknutan. Stimulering Att med en kort elektrisk puls få hjärtmuskeln att kontraheras. Tackykardi Onormalt hög puls. Jämför bradykardi. Tröskel En spänningsnivå som överskrids av en signal vid varje komplex. Våg Ungefär komplex. A.Bakgrund .Vad är elektrofysiologi? Med elektrofysiologi menar man de metoder som finns för att mäta och spela in elektriska signaler från kroppen. Det finns två huvudtyper av elektrofysiologiska undersökningar. Den ena är intracellulär mätning, där man med mikroelektroder penetrerar cellmembranet och mäter potentialskillnaden mellan cellens inre och dess yta. Mikroelektrodens diameter är i spetsen i storleksordningen en mikrometer. Intracellulära mätningar används idag endast experimentellt och inte i klinisk elektrofysiologi. Den andra huvudtypen är extracellulär mätning. Extracellulär mätning på till exempel hjärtat kan ske antingen intrakardiellt, dvs i hjärtat, eller epikardiellt, dvs på hjärtats yta (på hjärtmuskelns utsida). Vid extracellulär mätning får man en elektrisk signal som består av samverkan mellan att stort antal celler. Man kan då få en uppfattning om hur de fungerar tillsammans och hur en elektrisk aktivitet propagerar i ett organ, t ex en muskel eller en nerv. Vid en undersökning av hjärtats elektriska aktivitet kan man antingen mäta på enbart kroppens yta (bröstkorgen), eller både på ytan och inuti hjärtat. Det senare gör man normalt när man talar om elektrofysiologi. Figur 3-1 nedan visar ett exempel på hur kurvorna kan se ut. Figur 3-1. Vid en elektrofysiologiundersökning av hjärtat tittar man på flera kurvor samtidigt. Överst är en yt-avledning, under den finns en signal från höger förmak. Nederst visas signalen från His bunt. De lodräta strecken visar var respektive komplex börjar. På ytsignalen anger strecket var P-vågen börjar. I His bunt är det markerat var A-vågen, His-spiken och V-vågen börjar. .När och varför gör man en elektrofysiologisk undersökning av hjärtat? Sinusnoden Sino-atriala banor AV-knutan His bunt Vänster skänkel Anterolaterala grenen Posterobasala grenen Höger skänkel Purkinjenätet En elektrofysiologisk undersökning gör man när man misstänker att patienten har ett retledningssystem som inte fungerar som det skall. Retledningssystemet visas i figur 3-2. Figur 3-2. Här ses en bild över de viktigaste delarna i hjärtats retledningssystem. Det finns ett flertal sjukdomar som kan upptäckas eller snarare fastställas med en sådan undersökning. Nedan har jag skrivit tre exempel på sjukdomstillstånd där en elfys-undersökning är relevant (1). SND, Sinus Node Dysfunction. Detta är ett tillstånd då sinusnoden inte fungerar som den skall. SND drabbar främst äldre människor. Patienterna kan ha perioder med bradykardi eller tackykardi. Båda tillstånden kan ge för lågt blodflöde i hjärnan vilket i sin tur ger yrsel eller svimning (1). SCD, Sudden Cardiac Death. En förenklad definition av SCD är "naturlig död, beroende på fel i hjärtat, inom en timme efter första symptom". SCD föregås oftast av ventrikelflimmer. Även om flimret kan stoppas dör 40-60 % av patienterna under sjukhusvistelsen. Med en elektrofysiologisk undersökning av överlevande kan man ta reda på orsak och bidragande faktorer för att sedan sätta in rätt behandling och på så sätt förebygga att dessa patienter råkar ut för samma sak igen (1). De som drabbas av SCD har i regel tidigare haft en infarkt eller ischemi. WPW, Wolf-Parkinson-White syndrome. WPW är ett så kallat "preexitation syndrome". Det innebär att en del av hjärtmuskeln (kammaren) får en extra triggpuls innan den "riktiga" triggpulsen kommer. Detta i sin tur kan ha olika orsaker. De vanligaste är att det någonstans finns en extra elektrisk ledningsbana mellan förmak och kammare. I WPW består denna ledningsbana av muskelfibrer som har kontakt både med förmak och kammare. Normalt är förmak och kammare elektriskt åtskilda (dvs inga muskelfibrer eller annat som kan föra den elektriska pulsen vidare) utom i His bunt, som skall sköta den normala överledningen och fördröjningen mellan förmak och kammare. Detta kan medföra att hjärtat ibland gör ett extraslag eller att hjärtat under en tid får så kallad tackykardi, dvs onormalt hög puls (1). För att lokalisera denna extra ledningsbana gör man en elfys-undersökning där man mäter olika tidsintervall, dels vid stimulering och dels utan. Man kan även underlätta en tackykardi genom att injicera t ex atropin. När väl ledningsbanan är lokaliserad kan den förstöras genom sk ablation (en högfrekvent elektrisk spänning läggs över ledningsbanan varvid den värms upp en aning och de muskelcellerna dör). Andra sjukdomar som kan diagnosticeras är olika typer av arytmier samt ett antal andra rubbningar i hjärtats elektriska aktivitet (1). .Hur går det till i dag? Ett intrakardiellt elektrogram tas upp genom att man för in elektroder in i hjärtats hålrum (intrakardiellt = inom hjärtat). I Siemens-Elemas utrustning ritas det intrakardiella elektrogrammet på en bildskärm. Man kan också skriva ut kurvorna på papper. Det gör man när man vill ta reda på en del intervall, dvs tider mellan olika händelser i samma kurva, eller mellan händelser i olika kurvor. När man har kurvorna på papper tar man en linjal och passare och mäter. Enkelt kan det tyckas, men det är det inte. Det är svårt för en lekman att se vad som är vad på respektive kurva. Det är också tidsödande att behöva göra denna procedur varje gång man flyttat på en kateter. Ännu en aspekt är att det hela tiden behövs en sköterska som sköter utskrift till papper och som gör mätning med linjal. Undersökningen skulle underlättas om man kunde låta en dator göra dessa mätningar och beräkningar. Det finns utrustning som kan göra automatiska mätningar, till exempel CARDIOLAB från ART, LabSystem 24 från BARD och EP lab från Quinton (8). Att få reda på hur deras algoritmer är konstruerade och uppbyggda har inte gått. Det som går att få ut av produktdokumentationen är i princip vilka intervall de kan mäta. Siemens-Elema har dock ingen utrustning för automatiska mätningar i sina system för elektrofysiologi. .Uppgift Min uppgift var att göra en litteraturstudie i avsikt att söka rätt på vad som finns i form av algoritmer, analyser etc inom elektrofysiologi och att göra en teknisk funktionell utvärdering av algoritmer eller analyser som finns dokumenterade. Uppgiften innebar att funna algoritmer skulle implementeras och testas mot provdata. Det var en tekniskt funktionell utvärdering som skulle göras. Programmen behövde alltså inte vara användarvänliga och arbete behövde inte läggas ner på en snygg presentation av mätresultat. I kapitel 4 finns beskrivet hur litteratursökningen gick till. A.Projektplanering För styrning och disciplin i arbetet gjordes följande tidsplan med målbeskrivning. 1 sept. -95 - 25 sept. Fördjupade studier i ämnet. 25 sept. - 31 okt. Litteratursökning. Söka efter algoritmer och analyser inom elektrofysiologi för implementering i dator. Metoder: Söka i facktidskrifter och i www, studera produktdokumentation. Delmål/-resultat: Det finns algoritmer som kan användas. 1 nov. - 17 nov. Sammanställa sökresultat. Specificera vad som skall mätas. 18 nov. - 12 jan. -96 Implementera algoritm i dator, ev med hjälp av Matlab (7). Mätning på testfil. Delmål/-resultat: Implementerad algoritm fungerar i simulerad miljö. 15 jan. - 29 feb. Jag är bortrest på studieresa i Taiwan & Honkong. 1 mars - 4 april Klinisk undersökning. Utvärdering av klinisk undersökning. Delmål/-resultat: Implementerad algoritm fungerar i verklig miljö. 5 april - 30 april Färdigställande av rapport. Förbereda seminarium. Slutmål/-resultat: Det finns algoritmer, för mätning av tidsintervall inom elektrofysiologi, som kan implementeras i dator och som kan användas i verklig miljö. Projektplanen har varit ett stöd att luta sig mot och en morot för att komma vidare i arbetet. Planen har visat sig vara realistisk och den har hållit så när som att jag gjorde den sista undersökningen på patient den 16 april. Även delmål och delresultat uppfylldes. 0Litteratursökning Sökning har skett på flera olika sätt. Jag har i huvudsak sökt efter algoritmer i de databaser som finns tillgängliga från Karolinska Institutets Bibliotek, KIB, men jag har också sökt på internet, eller world wide web. WWW har inte gett något användbart resultat. Sökning på KIB:s olika system har gett en del resultat att gå vidare på. A.Sökning på internet På www (internet) har jag använt ett sökverktyg som heter info net search. Det är ett sökverktyg åtkomligt från programmet Netscape. Här kan man söka på såväl ämnesord som titlar och textsträngar. Programmet är självinstruerande, dvs det finns hjälpfunktioner och tips som underlättar sökning och att få "träffar" som svarar mot det man är intresserad av. Även provat andra sökverktyg (Alta Vista, Webcrawler m fl) har prövats utan att få bättre resultat. Detta är en tidsödande sökmetod då man måste ägna mycket tid till att läsa igenom resultaten för att se om de motsvarar intresseområdet. Jag har sökt på flera olika ord och kombinationer av dessa. En svårighet är då att skriva "sökfrågan" så att man får lagom många träffar, dvs att inte få med något som man inte är intresserad av men också att inte missa något. Sökprogrammen skriver normalt inte ut fler än etthundra träffar, så man får skriva sin sökfråga så att man får färre än etthundra träffar. Det gör man för att vara säker på att inte missa något. I resultatet av en sökning skrivs titel, författare, källa, årtal samt www-adress på de dokument som sökprogrammet hittade. Www-adressen (http://...) använder man för att titta närmare på de länkar (dokument) man finner intressanta. Detta har gett ett par hundra träffar att titta igenom. En annan svårighet är att sålla informationen; det finns så mycket, men endast en liten del passar. .Resultat av sökning på internet Sökningen på internet har gett många träffar inom området elektrofysiologi men de flesta handlar om behandling, undersökningar (studier) eller utvärderingar mm där datorer använts. Användning eller utveckling av algoritmer för att användas i själva undersökningsapparaturen hittades inte. Det är mycket stor skillnad på antalet träffar inom området aktionspotentialer jämfört med intrakardiell elektrofysiologi. Aktionspotentialer är ett ämne som intresserar många forskare, varför det också finns mycket om detta på internet. Många träffar har varit forskares hemsidor där de presenterar vad de forskar på, men där det inte står något konkret om algoritmer som används inom elektrofysiologi. A.Sökning på Karolinska Institutets bibliotek På KIB har jag använt följande system: Medline, Current Contents och Science Citations Index. Den sistnämnda ger titel, författare, källa, årtal men inte någon sammanfattning. Medline och Current Contents är två databaser i vilka man söker med programmet OVID. I dessa databaser får man dessutom en sammanfattning av respektive artikel. Medline är den databas som gett flest användbara resultat. I bilaga 12.2 visas en sammanställning av de viktigaste sökorden och motsvarande resultat. Först anges vilken databas som använts, därefter typ av söktermer, dvs ämnesord (subject) eller textord (tw). Därefter står antalet träff som sökningen gav. Till dessa fanns en sammanfattning som jag läst och valt ut en del intressanta artiklar vilka jag senare läst i sin helhet. Till vissa av dessa har jag skrivit en kommentar om vad de behandlar eller innehåller. Min numrering (indexnummer) avser en kopia av artikeln eller sammanfattning (jag numrerade dem för att snabbare kunna hitta rätt artikel). I avsnitt 12.2.1 finns en kort uppräkning av ytterligare några intressanta tidskrifter, som dock inte innehållit något användbart för mig i detta arbete. .Resultat av sökning på KIB Den mest relevanta artikeln var "Real-Time, Automated, Interactive Cardiac Electrophysiology Testing" från PACE-Pacing and Clinical Electrophysiology, 1990, Vol 13, sidorna 45-51 (5). Artikeln beskriver en princip för detektering av en händelse (threshold, onset). Artikeln behandlar också stimulering, men det är inte intressant för detta arbete. Fyra kanaler behandlas. Signalerna bandpassfiltreras med 30-250 Hz (utom ytelektrodens signal som LP-filtreras med 25 Hz). Algoritmen för att bestämma "onset" börjar med att bestämma ett tröskelvärde (threshold). Från den punkt där signalen passerar tröskeln går man bakåt i tiden, en ms i taget, tills signalen inte är monotont avtagande eller stigande under 4 på varandra följande ms (i detta fall är en ms = 1 punkt; samplingsfrekvens = 1000 Hz). Den punkt man då hamnar på används som "onset". Onset för yt-EKG:t bestäms genom att man från tröskelpassagen går 40 ms bakåt och därifrån stegar framåt en ms i taget tills signalen under 8 ms är monotont avtagande eller stigande. Metoden att använda en tröskel för att därifrån få fram "onset" fungerar bra om signalen inte "baslinjevandrar", dvs likspänningsnivån skall vara konstant. Ett annat krav är att tröskeln skall väljas på ett sådant sätt att den passeras av alla pulser som skall detekteras. Detta kan bli problematiskt om pulserna varierar mycket i amplitud. En signal som jag testat algoritmen på hade pulser med mycket varierande pulsamplituder och det medförde att algoritmen missade på flera ställen. En annan intressant artikel är "Automatic Detection and Analysis of Intracardiac Electrograms for Electrophysiology Studies by Digital Signal-Processing Chip Implementation" (6). Den mest intressanta delen handlar om hur tröskelvärdet skall uppdateras. Det uppdateras enligt v(i)=max(r*abs(y(i), d*v(i-1)), där r<1 och d<1; v är tröskelvärdet och y är signalens värde; i är ett index som talar om vilket värde i tidsföljd som avses. A.Slutsats Den stora svårigheten med litteratursökning är inte att hitta det man söker. Det som är svårt och som tar mycket tid är att säkerställa att det man hittat är allt som finns, dvs att det inte finns något av intresse utöver det man hittat. Jag har sökt på ämnesord, textord och kombinationer av ord. Jag har sökt i olika databaser och tittat igenom de artiklar som är relaterade till de träffar jag fått. Se vidare bilaga 12.2. Jag bedömer att jag hittat alla artiklar som behandlar algoritmer för automatisk intervallmätning av intrakardiella elektrogram och som kan vara till nytta vid utveckling eller vidareutveckling av sådana algoritmer. 0Datainsamling A.Skillnader mellan yt-ekg och intrakardiellt elektrogram Ett yt-EKG påverkas av ett större antal celler än det intrakardiella. Detta medför att man får sämre upplösning i rummet. Andra nackdelar är att bröstmuskulaturen kan störa eftersom elektroderna sitter utanpå denna. En fördel med den intrakardiella mätningen är således att man får god upplösning i rummet och lite störningar från andra muskelgrupper än hjärtat. En annan egenskap hos det intrakardiella elektrogrammet är att det har större frekvensinnehåll. Detta kan tolkas som större upplösning i tid, förutsatt att man väljer filter och samplingsfrekvens på lämpligt sätt. A.Hur datainsamlingen gick till För att få data att räkna på har ett mätkort, CIO-DAS802, från Computer Boards (4) använts. Till en början hade jag en del problem med den programvaran som vi köpte till, men efter en hel del kämpande gick det bra att spela in önskade signaler och lagra dem på disken i lämpligt format. Varje kanal på mätkortet har differentiell ingång för att minska störningar. Mätkortet anslöts via en specialgjord kabel (partvinnad, skärmad) till en elektrofysiologiutrustning som kallas RECOR, se figur 5-1. Denna utrustning var försedd med ett (insticks)kort med tolv analoga utgångar, av vilka åtta användes. Figur 5-1. Så här ser RECOR ut. Patienten läggs på bordet, som är enkelt skjutbart i horisontalplanet för att snabbt kunna flytta det röntgengenomlysta området. Katetrarnas läge syns på röntgenapparatens bildskärm (ej med i denna figur). På bildskärmen som syns i figuren visas de elektriska signalerna som kommer via katetrarna från hjärtat. Mätkortet i datorn (ej med i figuren) ansluts via en specialgjord kabel till analogutgånskortet på baksidan av den högra delen av RECOR. Till mätkortet skall också mätområdet anges. Det känsligaste användes, där -0,625 V ger värdet noll och +0,625 V ger värdet 4095. Ovan nämnda utgångskort förstärker den elektriska signalen från hjärtat med en faktor 500. Ingångarna till RECOR filtrerades med en övre gränsfrekvens på 600 Hz. På utgångskortet var det alltså maximalt 600 Hz varför en samplingsfrekvens på 2 kHz valdes för att vara säkert över 2*600 Hz och slippa antivikningsfilter (anti aliasing) före sampling och digitalisering (2). Mätvärdena lagrades på disken i datorn i två olika filer. Den ena filen bestod av först en "header" som talade om när, vilka kanaler samt vilken samplingsfrekvens som använts, följt av rådata bestående av 12 bitar data och 4 bitar kanalinformation. Den andra filen var en fil med konverterade data, lagrade som MS-DOS integer, dvs "low byte" följt av "high byte" för varje mätvärde. Eftersom mätkortet scannade igenom de åtta kanalerna återfanns den första kanalens värden som var åttonde integer i den konverterade filen. 0Algoritmer Jag har i huvudsak utgått från algoritmen beskriven i artikeln "Real-Time, Automated, Interactive Cardiac Electrophysiology Testing" (5). Denna algoritm fungerade hyfsat på mätdata från en simulator men den träffade ibland fel när den provades på verkliga data. Denna algoritm modifierades därför för att även ta hänsyn till signalens derivata. Då minskade andelen felaktiga "onset". Vidare har de parametervärden provats ut som ger bäst resultat. Dvs de parametervärden där andelen felaktiga "onset" och andelen missade "onset" är minimal. Eftersom de olika kurvorna har olika karaktäristiska egenskaper är det möjligt att optimera eller modifiera algoritmen för dessa fall. Vilket också har gjorts. Hur den modifierade algoritmen ser ut är beskrivet längre ner. A.Allmänt om algoritmernas principer Beräkningen av intervalltider sker i flera steg. Först bestäms en tröskelnivå. Denna tröskel är satt till en viss del av signalens maximala värde. Eftersom varje komplex kan ha stor skillnad i amplitud gentemot andra komplex kan det vara vanskligt att ha en fast tröskel. Därför uppdateras tröskelnivån så att den sjunker med tiden om något nytt komplex inte detekteras. Därefter bestäms onset och offset genom att undersöka var signalen är monotont avtagande eller stigande under en viss tid och att derivatan uppfyller vissa villkor. Exakt hur detta går till beror på vilken typ av komplex som skall analyseras. När detta är gjort för en avledning används resultaten till att bestämma tidsfönster för var man skall titta efter specifika händelser i andra avledningar. Dessa algoritmer kan inte användas i äkta realtid eftersom de hoppar framåt i signalen för att sedan gå bakåt igen innan de bestämt vad som är vad i en signal. Det är dock möjligt att använda dem i vad man skulle kunna kalla nära realtid, dvs att resultaten av beräkningarna visas med en viss fördröjning eller eftersläpning. A.Från artiklar respektive egen utveckling Till en del har jag utnyttjat det som finns i artiklar, men det mesta arbetet har gått åt till att vidareutveckla dessa algoritmer. .Hur har artiklarna utnyttjats? De i artiklarna beskrivna algoritmerna har jag använt som grund för mitt arbete. Det som fortfarande överensstämmer mellan programmen och artiklarna (5), (6) är följande: Från den ena artikeln används tekniken att undersöka om signalen är monoton under fyra respektive åtta millisekunder (4 ms för de intrakardiella signalerna och 8 ms för ytsignalen). Metoden att hoppa bakåt i tiden efter en tröskelpassage används också samt att vänta med att börja söka efter nästa komplex först 160 ms efter det föregående. Från den andra artikeln har jag tagit idén att låta tröskelnivån minska med tiden för att klara fall då komplexens amplitud varierar kraftigt sinsemellan. .Vad skiljer sig gentemot artiklarna? Istället för att göra ett 40 ms långt bakåthopp i ytsignalen görs här ett hopp på 60 ms. Denna modifiering var nödvändig för att hitta onset för P-vågen med större träffsäkerhet. För att hitta onset som den punkt där signalen börjar röra på sig (earliest deflection) letar programmet först efter onset enligt artikelns metod. Därefter görs ett hopp bakåt för att sedan stega framåt tills onsetkriterierna åter uppfylls. Tekniken att använda en signal för att skapa ett fönster i en annan signal är också ny. Vid undersökning av monotonitet tas hänsyn till derivatan, där olika krav ställs på olika signaler (och i olika fönster). Själva mätningen av intervallen finns inte i någon artikel. Metoden för att finna offset är även den egen utveckling. A.Program för antegrad analys Antegrad kan sägas ange den riktning som en elektrisk potentialändring propagerar i hjärtat. I detta fall antas alltså att den elektriska pulsen börjar i förmaket och fortsätter ner genom His bunt till kammaren. Detta är den normala riktningen. Programmet är inte avsett att användas vid stimulering, men det borde kunna användas vid förmaksstimulering. Motsatsen, retrograd är när den elektriska pulsen går "bakvägen", dvs startar i kammaren och slutar i förmaket (se nedan). Vid retrograd analys stimulerar man i kammaren. Detta program räknar ut följande intervall: PA, dvs tiden från P-vågens början i yt-EKG:t till början av A-vågen i elektrogrammet från His bunt. AH, dvs tiden från A-vågens början till His-spiken i His bunt. HV, dvs tiden från His-spiken till V-vågen i His bunt. AV, tiden från A-vågen till V-vågen i His bunt. För att detta program skall fungera krävs att patienten har en förmakskontraktion. Det hade inte den första patienten som vi undersökte. Vidare krävs en avledning från höger förmak, His bunt samt en yt-avledning. Se figur 6-1. Analysen sker i flera steg där det första är att detektera alla förmakskontraktioner med hjälp av elektrogrammet från höger förmak. Denna signal kallas i programmet för HRA, vilket står för High Right Atrium. Se figur 6-2 nedan. När nu "onset" och "offset" i HRA, dvs början och slutet på förmakskomplexet, är bestämda används de för att bestämma ett tidsfönster i vilket man förväntas finna A-vågen i His bunt. Onset och offset beräknas för A-vågen. Tidsfönstret för var man förväntas finna V-vågen sätts till att börja en viss tid efter offset för A-vågen och sluta en viss tid senare. När onset för V-vågen bestäms kan det inträffa att His-spiken detekteras i stället, men detta är mycket osannolikt då V-vågens amplitud normalt är mycket större än His-spikens amplitud, se figur 6-4. His-spiken som finns mellan A- och V-vågen analyseras sedan. Offset används endast då man tar fram fönster och inte för att beräkna några intervall. Därför är det inte viktigt att offset kommer på exakt rätt ställe. Tekniken att finna offset är därför inte lika avancerad som den för att finna onset. Onset och offset bestäms på lite olika sätt beroende på vilken signal eller vilket komplex som skall analyseras. Onset för komplexen i HRA (dvs förmaken) bestäms på följande sätt: Tag reda på maximal amplitud för hela signalen. Sätt tröskelnivån till 0,5 * maximal amplitud hos signalen. Sök efter det ställe (de ställen) där signalens värde överstiger tröskelvärdet. Tröskelvärdet uppdateras för varje läst värde (varje ½ ms). Uppdateringen sker så att den antar det största värdet av 0,5*signalvärdet och 0,999769* föregående tröskelvärde. Från detta ställe stegas sedan bakåt i tiden tills signalen inte längre är monoton under fyra ms, samtidigt som signalens derivata är mindre än 7,6 mV/s. Sedan görs ett hopp 21 ms bakåt för att sedan stega framåt tills signalen är monoton under fyra ms och derivatan överstiger 7,6 mV/s. Den nu funna punkten är onset. När sedan offset skall bestämmas utgår man från onset och gör följande: Stega framåt tills signalens medelamplitud under 20 ms har minskat till tio procent av maximal amplitud. Gör ett hopp 20 ms framåt för att därifrån stega bakåt tills signalen blir monoton under fyra ms och derivatan överstiger 7,6 mV/s. Denna punkt är offset. Eftersom de olika komplexen har olika egenskaper har jag satt olika krav på derivata och tröskelnivå. Onset (och offset) för His-spiken bestäms på samma sätt (fast med andra krav på derivatan), se nedan. Onset för V-vågen bestäms som för HRA, men punkt 5 byts mot: Sedan görs ett hopp 43 ms bakåt. Om amplituden under hoppsträckan överstiger 10% av maximal amplitud kan det vara så att His-spiken finns i detta intervall. Om så är fallet börjar man stega framåt från 5 ms efter denna punkt istället för att börja där man hamnade vid 43 ms hoppet. Man stegar framåt tills signalen är monoton under fyra ms och derivatan överstiger 9,2 mV/s. Den nu funna punkten är onset. Då analogutgångskortet förstärker signalen 500 gånger, blir 9,2 mV/s från patienten 4,6 V/s från analogutgångskortet. Med samma derivata men under 4 ms blir amplitudskillnaden ca 18,3 mV. Detta motsvarar värdet 60 från mätkortet (0,3 mV/LSB). Derivatakriteria: A- vågen: 7,6 mV/s H- vågen: 9,2 mV/s V- vågen: 9,2 mV/s Tröskelnivå: A- vågen: 0,5 * maximal amplitud H- vågen: 0,5 * maximal amplitud V- vågen: 0,9 * maximal amplitud Anledningen till att tröskelnivån för V-vågen skiljer sig gentemot de övriga är att His-spiken kan finnas med i fönstret för V-vågen. Faktorn 0,9 är alltså för att man inte ska trigga på His-spiken, som dock nästan alltid är mycket mindre än V-vågen. Det tal som anger hur snabbt tröskelvärdet skall avta, är vald så att värdet har minskat till en tiondel efter 5 s då samplingsfrekvensen är 2 kHz (exp(ln(0,1) / (5s * 2kHz)) = 0,999769). Eftersom ytsignalen inte varierar lika snabbt kan man använda en något annorlunda algoritm. Denna algoritm fungerar så här: Tag reda på maximal amplitud för signalen. Sätt tröskelnivån till 0,6 * maximal amplitud hos signalen. Sök efter det ställe (de ställen) där signalens värde överstiger tröskelvärdet. Från detta ställe görs ett hopp 60 ms bakåt. Därefter stegar man framåt tills signalen är monoton under åtta ms och derivatan överstiger 3,1 mV/s. Den nu funna punkten är onset. Derivatakriterium: P- vågen: 3,1 mV/s Tröskelnivå: P- vågen: 0,6 * maximal amplitud För att inte trigga en gång till på samma komplex införs ett så kallat blanking window som är 160 ms långt. Detta innebär att man börjar söka efter nästa komplex 160 ms efter det föregående. Figur 6-1. Programmet för antegrad analys använder sig av signaler från tre avledningar: yt-avledning, förmaksavledning samt en avledning från His bunt. När nu tekniken för att finna onset och offset är beskriven följer här kortfattat hur fönstringen går till. Onset och offset tas fram för signalen från höger förmak (HRA). Se figur 6-2. Figur 6-2. Signalen från höger förmak med onset och offset inritade som lodräta streck. Onset och offset i förmakssignalen används för att ta fram ett tidsfönster för respektive komplex i His bunt elektrogram (HBE). Tidsfönstret för A-vågen börjar vid onset i HRA-signalen och slutar 30 ms efter offset i HRA-signalen. Se figur 6-3. Figur 6-3. Här ser man var A-vågen existerar och hur den ser ut. Onset och offset är inritade som lodräta streck Tidsfönstret för V-vågen (eller egentligen V-komplexet) börjar 39 ms efter A-vågens offset och slutar 200 ms efter A-vågens offset. Se figur 6-4. Figur 6-4. Här ses V-vågen. Notera även att His-spiken finns med. Eftersom den har mycket mindre amplitud än V-vågen kommet programmet detektera rätt komplex (dvs V-vågen). A-vågen finns inte med här. Notera även att denna signal börjar efter A-vågens offset, jämför figur 6-3. När väl A- och V-vågorna är detekterade och deras onset och offset är bestämda sätts tidsfönstret för His-spiken. Detta fönster börjar 10 ms efter A-vågens offset och slutar 5 ms före V-vågens onset. Se figur 6-5. Figur 6-5. His-spiken. Onset markeras som lodräta streck. P-vågens onset i ytsignalen bestäms på motsvarande sätt. Dess tidsfönster börjar 50 ms före onset i förmakens (HRA) komplex och slutar 10 ms efter offset. Se figur 6-6. Figur 6-6. P-vågen i ytsignalen. Onset markeras som lodräta streck. Anledningen till att jag använt så udda tider (21, 43, 39 ms mm) är att det underlättar vid ändring i programmet då samma värde förekommer på mer än ett ställe. Risken för att ändra fel parameter minskar då också. De parametrar som är känsligast för en liten förändring är främst de som anger derivatan. A.Program för retrograd analys Den retrograda analysen görs när man vill undersöka hjärtats uppförande vid kammarstimulering. Här stimuleras hjärtat normalt längst ner i höger kammare varvid kammaren kontraheras och den elektriska pulsen når sedan His bunt. I den här undersökningen är man intresserad av följande intervall: S1-S1, tiden från en stimuleringspuls till nästa. V1-A1, tiden från V-vågen i His bunt till A-vågen i His bunt samt. S1-A1, tiden från en stimuleringspuls till närmaste A-våg i His bunt. För att detta program skall fungera krävs att man stimulerar i kammaren. Vidare krävs en avledning från His bunt samt stimuleringssignalen. Analysen sker i princip på samma sätt som den antegrada. Det som skiljer är vilka signaler som används och vilka intervall som beräknas samt hur tidsfönstren ser ut. Man stimulerar vanligtvis med en serie pulser med konstant tid mellan varje. Pulserna kallas S1. Man kan även i vissa fall ändra tiden till den sista pulsen som då kommer att kallas S2 i stället för S1. Tiden från en S1-puls till nästa S1-puls kallas S1-S1 medan tiden från den sista S1-pulsen till S2-pulsen kallas S1-S2. De komplex som uppstår till följd av S1-pulserna benämnes V1, A1 osv. De komplex som härrör från S2 kallas således V2, A2 osv. Se figur 6-7. Figur 6-7. Alla stimuleringspulser utom den sista är S1-pulser. Den sista är en S2-puls eftersom tiden till den från den föregående skiljer sig jämfört med tiden mellan S1-pulserna. A.Program för analys av "Sinus Node Dysfunction, SND" SND är ett tillstånd eller sjukdom när sinusnoden inte fungerar som den skall. De tider man nu är intresserad av är: S1-S1, tiden från en stimuleringspuls till nästa (stimuleringsintervallet). SNRT, Sinus Node Recovery Time. Detta är tiden från det sista stimulerade komplexet till det första spontana, dvs icke stimulerade, komplexet. CSNRT, Corrected SNRT, eller korrigerad SNRT. Korrektionen består i att man från SNRT drar bort "the basic sinus cycle length", dvs S1-S1 (1). SCL, spontana sinusrytmen. Detta är tiden mellan två på varandra följande spontana komplex (dvs tiden mellan två icke stimulerade hjärtslag). Detta program beräknar även S1-S2, dvs tiden från en S1-puls till en S2-puls, se avsnitt 6.4. Algoritmen för detta är helt egenutvecklad. Programmet behöver en stimuleringssignal och en signal från sinusnoden, som sitter högt upp i höger förmak (HRA). Analysen sker i flera steg där det första är att detektera alla stimuleringspulser. När detta är gjort används de för att skapa fönster i signalen från HRA, där man tittar efter sinusnodens komplex. Detta fönster börjar vid onset för stimuleringspulsen och slutar 200 ms senare. Onset bestäms på samma sätt som för onset i HRA vid den antegrada analysen, se avsnitt 6.3. 0Patientundersökningar Jag har vid två tillfällen deltagit i patientundersökningar. Det första tillfället var den 9 januari 1996. Då undersöktes två patienter. Den första patienten hade ingen förmaksaktivitet. Därför var alla undersökningar där man tittar på aktivitet i förmaken meningslösa. Den andra patienten hade en extra ledningsbana mellan förmak och kammare. Undersökningen gjordes för att ta reda på exakt var den fanns. När den var lokaliserad förstördes den genom ablation. Vid det andra tillfället, 16 april 1996, undersöktes en patient med en misstänkt extra atrio-ventrikulär ledningsbana. Denna visade sig vara lokaliserad i vänster hjärthalva. Eftersom man inte brukar abladera i vänster hjärthalva lät man den vara. Istället kunde man säga vilka mediciner som inte var lämpliga och vilka mediciner som kunde ha effekt. A.Placering av elektroder Ett moment i undersökningen är att placera elektroderna på rätt ställe. Elektrodernas läge påverkar i stor utsträckning kurvornas utseende. För att veta var en elektrod befinner sig använder man sig bland annat av röntgengenomlysning. På bildskärmen ser man katetrar och benvävnad. Man ser alltså inte hjärtat, men läkaren vet var och hur det ligger och kan med hjälp av att titta på kurvornas form avgöra var elektroden finns. Katetrarna förs in intravenöst. De katetrar som skall till höger hjärthalva förs in genom höger ljumskven (vena femoralis). Sedan förs de upp till höger förmak och höger kammare. Man mäter nästan alltid den elektriska aktiviteten från höger hjärthalva eftersom trycket där är mindre än i vänster halva. Detta innebär att risken för skador blir mindre om en kärlvägg skulle skadas. Om man vill se vänster hjärthalvas elektriska aktivitet för man in en kateter via en ven i vänster armveck eller via en ven vid vänster nyckelben. Katetern placeras sedan i sinus coronarius, som ligger på vänster sida vid skiljeväggen mellan förmak och kammare. Man går alltså inte in i förmak eller kammare som man gör på höger sida. 0Undersökning av träffsäkerhet För att undersöka om mina program gör riktiga beräkningar har jag testat dem på olika sätt. Jag lät programmen beräkna standardavvikelse och medelvärde för varje intervall. Om standardavvikelsen var mycket stor kunde det bero på att programmet triggade fel på ett eller flera ställen. Det kunde naturligtvis även ha en fysiologisk förklaring, dvs att intervallen varierar mycket från ett hjärtslag till ett annat. En liten variation är dock normal. Genom att titta på standardavvikelsen kunde jag göra en mycket snabb bedömning om programmets "träffsäkerhet". Typiskt var en standardavvikelse på noll till tio ms normal och en standardavvikelse på över tio ms onormal. Vid onormal standardavvikelse tittade jag på kurvorna där alla onset var inritade och kunde då se om variationen berodde på att programmet triggade fel eller att intervallen faktiskt hade stor variation. Då signalerna hade något så när normalt utseende berodde variationen nästan uteslutande på att intervallen faktiskt var olika. Vid onormala kurvformer, t ex vid förmaksflimmer eller om signalernas amplitud varierade kraftigt berodde stor standardavvikelse på att programmen triggade fel. 0Kommentar / diskussion Programmen kan idag inte användas i realtid. Detta beror på två saker. Det ena är att signalerna filtreras innan de analyseras. De filterprogram som används är standardfilter som finns i matlab. För att inte filtreringen skall distordera kurvformen filtreras signalerna framlänges och baklänges (filtfilt i matlab). Den andra orsaken är att det tar tre till fem gånger så lång tid att utföra beräkningar som det tar att spela in mätvärden. En två sekunder lång inspelning tar i storleksordningen tio sekunder att räkna på. Det skulle dock vara möjligt att köra i nära realtid om algoritmerna implementeras i ett snabbare språk än matlab (7) och eventuellt med en snabbare dator. Den dator jag använt är en PC, pentium 133 MHz. Med nära realtid menas att resultat presenteras med en viss fördröjning från det att signalen spelades in. Fördröjningen skulle då kunna vara i storleksordningen en sekund. Eftersom det är många slingor (whileslingor & forloopar) kan programmet göras snabbare genom att kompilera matlabkoden till programspråket C. Kompilator för detta finns att köpa (7). Vid kompilering från C till maskinkod kan koden optimeras till just den processor man skall använda. Till exempel skulle en signalprocessor kunna användas. En annan fördel med att kompilera matlabkod är att om man skall implementera ett program i en utrustning som skall säljas, behövs inte en matlab-licens till varje utrustning. Den miljö som matlab erbjuder, är bra för att utveckla och testa algoritmer. Det går relativt snabbt att skriva koden och det är lätt att felsöka. Man kan alltså skriva programmen i matlab, kompilera till C och implementera i en elfys-utrustning. A.Forskning eller klinisk användning Det är vid klinisk användning inte av stor vikt att ett sådant här beräkningsprogram får exakt samma resultat som läkarna får vid manuell mätning. Programmen måste dock göra på samma sätt varje gång. Vid forskning eller annars då man vill jämföra resultat mellan olika kliniker är det viktigt att man gör på samma sätt, dvs att man triggar på samma ställe oavsett vilken utrustning man använder. A.Vidareutveckling För att få större träffsäkerhet krävs att man tar hänsyn till fler signaler än de jag använt. T ex skulle man kunna betrakta en yt-avledning för att se om vissa resultat är rimliga. Algoritmen för att detektera V-vågen i signalen från His bunt skulle kunna ändras. Nu detekteras den på i princip samma sätt som A-vågen och His-spiken. Vid manuell mätning på kliniken på Huddinge Sjukhus tas onset som den punkt där signalen lämnar baslinjen. Denna punkt och onset som algoritmerna beskrivna i den här rapporten detekterar, skiljer sig dock inte så mycket från varandra (5 - 10 ms). Om man genom att låta datorn bestämma onset på samma sätt som människan, borde man kunna få en bättre överensstämmelse. (Att det var på detta sätt man gjorde vid manuell bestämning av V-vågens onset framgick inte i den litteratur som jag studerat (1), (3).) Jag rekommenderar Siemens-Elema att utveckla automatiska mätverktyg till sina produkter inom elektrofysiologi. 0Slutsats Jag har funnit att det går att med datorns hjälp beräkna intervalltider som är intressanta vid en elektrofysiologiundersökning. Man kan uppnå tillfredsställande noggrannhet, om än inte lika hög som vid manuell mätning. Detta beror på att läkaren även använder sin erfarenhet vid bestämmande av onset. De program som jag har skrivit fungerar bra då kurvorna har standardutseende, men de klarar inte specialfall. Innan ett sådant här verktyg kan användas praktiskt återstår mycket arbete. Bland annat måste algoritmerna göras säkrare på att detektera rätt komplex (t ex att en A-våg inte detekteras som en V-våg). Vidare bör algoritmerna eventuellt modifieras vad gäller onset för att träffa rätt med större träffsäkerhet. Det är också bra om programmen kan avgöra om mätresultaten är rimliga och meddela användaren detta. 0litteraturförteckning och Referenslista Litteratur och företag: (1) Clinical Manual of Electrophysiology Igor Singer Joel Kupersmith Williams & Wilkins 1993 ISBN 0-683-07735-X (2) Digital Signal Processing Second edition John G. Proakis Dimitris G. Manolakis Macmillan Publishing Company ISBN 0-02-396815-X (3) Medicin och teknik Bertil Jacobsson Studentlitteratur 1987 ISBN 91-7810-965-5 (4) Computer Boards, inc. 125 High Street #6, Mansfield, MA 02048 (5) Real-Time, Automated, Interactive Cardiac Electrophysiology Testing David S. Buckles et al PACE—Pacing and Clinical Electrophysiology, 1990, Vol. 13, pp 45-51. (6) Automatic Detection and Analysis of Intracardiac Electrograms for Electrophysiology Studies by Digital Signal-Processing Chip Implementation Janice M. Jenkins et al Journal of Electrocardiology, 1993, Vol. 26, p 59 (7) Matlab Math Works The MathWorks, Inc. 24 Prime Park Way Natick, MA 01760 Ph: 508-653-1415 FAX: 508-653-2997 (8) EK-info nr 2-3 1993 Siemens-Elema AB S-171 95 SOLNA Sweden (9) Kardiologi, hjärtsjukdomar hos vuxna Stig Persson Studentlitteratur 1982 ISBN 91-44-17231-1 Personer: Dr Göran Kännebäck Medicinkliniken Avd. M 54 Huddinge Sjukhus 141 86 HUDDINGE Christer Vredlert Huddinge Sjukhus Tel 08 - 746 46 81 Mikael Dahlke Siemens-Elema AB 171 95 SOLNA 0Bilagor A.Manual för datainsamling och analys .Apparatuppkoppling Installera mätkortet i datorn. Kontrollera att ingångarna är "strappade" som differentiella. Kontrollera "interruptswitchens" läge (IRQx). Uppdatera programparametrarna med installationsprogrammet (4). Anslut kabeln mellan mätkortet (Dsub 37 pol) i datorn och analogutgångskortet (Dsub 25 pol) på RECOR (eller CATHCOR). .Datainsamling Definiera vilken signal som skall ut på vilken analogutgång, se instruktion till RECOR (CATHCOR). Det går att läsa åtta kanaler, varför det inte är någon mening att lägga ut fler än åtta signaler på de analoga utgångarna. För att mätkortet skall få en gemensam jordpotential kan man lägga ut referensspänning på den nionde kanalen på utgångskortet. Denna är i kabeln kopplad till LLGND (Low Level Ground) på mätkortet. Starta det i C skrivna programmet, intofile.exe. Detta program skall ha två argument som inparametrar. Skriv till exempel så här: \cb\c\ad\intofile \data\real\real1.dat \data\real\real1co.dat. Det första argumentet är den fil där mätvärden lagras som det kommer från mätkortet och det andra argumentet är filnamnet för konverterade mätvärden. .Analys Starta matlab. Kör programmet elfys. Välj typ av analys; antegrad, retrograd eller SND. Programmet frågar efter bl a filnamn. Där skriver man filnamnet på en fil med konverterade mätvärden, t ex \data\real\real1co.dat. Om man endast trycker på enter-knappen kommer programmet att använda grundinställningar (default-värden). De för det valda programmet specifika intervallen kommer att presenteras i matlab-fönstret och i figurfönstret kommer kurvorna att ritas. De punkter som programmet väljer som "onset" och "offset" kommer att presenteras som lodräta streck vid sin respektive kurva. Detta är för att man skall kunna avgöra om mätvärdena är riktiga eller om programmet har triggat på fel ställe. A.Resultat av litteratursökning Medline, 1991-present Subject: electrophysiology and algorithms Antal träff: 19 Antal intressanta: 2 "Algorithms for detection and measurement of spontaneous events". Journal of Neurosciense Methods, 1993, 105-121 Behandlar främst program för intracellulära mätningar, men kan utnyttjas i mitt arbete. Detekteringen av en händelse är den mest användbara delen. Själva detekteringsalgoritmen är mycket enkel. Den använder sig av fem IF-satser. De parametervärden som finns angivna är utprovade för intracellulära signaler (i artikeln kallade EPSP) Artikelförfattaren föreslår dock att de givna algoritmerna bör kunna användas till annat än "excitatory postsynaptic potentials" (EPSP). Källkoden i BASIC finns bifogad i artikeln. Indexnr:4 "Automated processing of electrophysiologic signals" Jan-feb 1995. På ryska. Jag kan inte ryska men artikeln är beställd men har inte kommit än (den finns inte på något av de bibliotek i norden som KIB samarbetar med). Medline, 1966-present, samma sökfråga, gav inga fler intressanta artiklar. Medline, 1966-present Textword, tw: (electrophysiology or electrophysiologic or electrophysiological or electrophysiologist) and tw: (heart or cardiac) and tw: (analysis and algorithm) and subject: electrophysiology Antal träff: 2 Antal intressanta: ingen Medline, 1966-present tw: (electrophysiology or electrophysiologic or electrophysiological or electrophysiologist) and tw: (heart or cardiac) and tw: (analysis and program) and subject: electrophysiology Antal träff: 1 Antal intressanta: ingen Science Citation Index för sökning och därefter Medline för att få sammanfattningar. Jag fann följande artiklar intressanta: "Low-Cost Data-Aquisition and Analysis Programs for Electrophysiology" Journal of Neuroscience Methods, 1994, Vol 55, pp 89-98 " Automatic Detection and Analysis of Intracardiac Electrograms for Electropphysiology Studies by Digital Signal-Processing Chip Implementation " Journal of Electrocardiology, 1993, Vol 26, p 59 En sida fanns i tidskriften. Jag har bett om hela artikeln och fick den en dryg vecka senare, samma som fanns i PACE, se nedan. Artikeln fanns också med i Pacing and Clinical Electrophysiology (PACE 1994;17:1373-1379), 7 sidor. Två delar i artikeln: "Adjustable Treshold Trigger", depolarization detection "Correlation Waveform Analysis, CWA" Den andra delen är inte intressant i detta skede, däremot är den första det. Tio par av enkanals intrakardiella elektrogram analyserades. Samplingshastighet: 1000 Hz. "...software depolarization detector using adjustable thresholds has been shown to be robust in detecting intracardiac electrograms..." finns beskrivet i McDonald R, Jenkins J, Arzbaecher R, et al. A software trigger for intracardiac waveform detection with automatic threshold adjustment. Computers in Cardiology, 1989,pp.167-170. Den här implementerade algoritmen för att trigga testades på 2978 pulser och fick en träffsäkerhet på 99,4%. Missade triggningar uppstod då en puls med låg amplitud följde efter en med hög amplitud. Detta kommer sig av att när tröskelvärdet skall sättas använder algoritmen sig av den tidigare pulsens tröskelvärde, som då är för hög. Triggning när det inte skulle triggas beror på "wandering baseline" kombinerat med låg signalstyrka. Signalen samplas och digitaliseras varefter den bandpassfiltreras med ett butterworthfilter. Tröskelvärdet uppdateras enligt v(i)=max(r*abs(y(i), d*v(i-1)), där r<1 och d<1. Jag har implementerat denna för att se om det fungerar. Det gör det men det tar lång tid i matlab. Källkoden finns inte tillgänglig, endast principen finns presenterad. Motorola DSP 56001. Referenser: A software trigger for intracardiac waveform detection with automatic threshold adjustment, Computers in Cardiology,1989, pp 167-170. Möjligen användbar. Indexnr:6,1 "Rtime - A Program for Time-Series Measurements and Evaluation in Electrophysiology with the AT-PC" Computer Methods and Programs in Biomedicine, 1992, Vol 37, pp 31-39 Använder en serieport för att läsa fyra kanaler. Kan endast mäta antal pulser, ej amplitud mm. Helt oanvändbar. Indexnr:3 "Cardiac Electrophysiological Experiments in Numero part 1-3" PACE-Pacing and Clinical Electrophysiology, 1991, oct, nov, dec, 55 pages. För varje träff får man också en rubrik, Related Records. Jag har tittat igenom dem för respektive träff och hittat denna: "Real-Time, Automated, Interactive Cardiac Electrophysiology Testing" PACE-Pacing and Clinical Electrophysiology, 1990, Vol 13, pp 45-51. Artikeln beskriver en princip för detektering av en händelse (threshold, onset). Artikeln behandlar också stimulering, men det är inte intressant för detta arbete. Fyra kanaler behandlas. Signalerna bandpassfiltreras med 30-250 Hz (utom ytelektrodens signal som LP-filtreras med 25 Hz). Algoritmen för att bestämma "onset" börjar med att bestämma ett tröskelvärde (threshold). Från den punkt där signalen passerar tröskeln går man bakåt i tiden, en ms i taget, tills signalen inte är monotont avtagande eller stigande under 4 på varandra följande ms (i detta fall är en ms = 1 punkt; samplingsfrekvens = 1000 Hz). Den punkt man då hamnar på används som onset. Onset för yt-EKG:t bestäms genom att man från tröskelpassagen går 40 ms bakåt och därifrån stegar framåt en ms i taget tills signalen under 8 ms är monotont avtagande eller stigande. Den metod att använda en tröskel för att därifrån få fram onset fungerar bra om signalen inte "baslinjevandrar", dvs likspänningsnivån skall vara konstant. Ett annat krav är att tröskeln skall väljas på ett sådant sätt att den passeras av alla pulser som skall detekteras. Detta kan bli problematiskt om pulserna varierar mycket i amplitud. En signal som jag testat algoritmen med hade pulser med mycket varierande pulsamplituder och det medförde att algoritmen missade på flera ställen IBM PC-kompatibel dator. Användbar. Indexnr:5 Sökningar som ej gett resultat: Medline, 1991-present Subject: (Signal transduction) and algorithms and heart. Subject: Algorithms and heart and electrophysiology. Subject: Electrophysiology and tw: analysis and algorithm Antal intressanta: ingen Medline, 1966-present tw: (electrophysiology or electrophysiologic or electrophysiological or electrophysiologist) and tw: (heart or cardiac) and tw: (analysis and computer) and subject: electrophysiology Antal träff: 10 Antal intressanta: ingen Medline, 1991-present tw: (signal analysis) and (computer or computers or computerized) and tw: (heart or cardiac) Antal träff: 3 Antal intressanta: ingen Medline, 1991-present tw: (electrophysiology or electrophysiologic or electrophysiological or electrophysiologist) and tw: (program or computer or computers or computerized) and tw: (analysis or algorithm or analyzed) Antal träff: 26 Antal intressanta: 4, vilka redan hittats sen tidigare .Intressanta tidskrifter Det finns ett flertal tidskrifter som behandlar området elektrofysiologi och datorer. (1) Computer applications in the biosciences (2) Computer methods & programs in biomedicin (3) Computers & biomedical research (4) Computers in biology & medicine (5) Japanese heart journal (6) Journal of cardiovascular electropysiology (7) Journal of electrocardiology (8) Journal of medical engineering & technology (9) Journal of the american collage of cardiology (10) Medical & biological engineering & computer… A.Exempel på körningar av program Programmen är provkörda på flera patienter med olika sjukdomar, se avsnitt 7. .Antegrad Det här exemplet visar hur det ser ut när programmet antegrad.m körs. Programmet har startats genom att vid prompten ha skrivit antegrad. Sedan får användaren skriva de parametrar som behövs. Här har användaren tryckt på enter-knappen efter varje fråga för att välja grundinställningar (default-värden). Därefter estimeras hur lång tid analysen kommer att ta och slutligen skrivs de beräknade intervallen, se nedan. » antegrad ans = ANTEGRAD Write filename, please. (Default: \data\real\real28co.dat). Please enter which figure you want to use (Default: 1). How long part of the signal do you want to analyze? (Default: 1.4 seconds). How many seconds in the beginning of the signal do you want to skip? (Default: 1). Enter channelnumber for the surface signal (1 - 8). (Default: 6). Enter channelnumber for the atrial signal (1 - 8). (Default: 7). Enter channelnumber for the His Bundle Electrogram (1 - 8). (Default: 3). Estimated_time = 10 HRA_took = 4.6100 PA = 0.0387 0.0476 PA_mean = 0.0432 PA_std = 0.0063 AH = 0.0699 0.0670 AH_mean = 0.0685 AH_std = 0.0021 HV = 0.0486 0.0486 HV_mean = 0.0486 HV_std = 0 AV = 0.1186 0.1156 AV_mean = 0.1171 AV_std = 0.0021 totaltime = 7.5200 » Alla tider är i enheten sekunder. För att användaren skall kunna bedöma om resultaten är rimliga ritas alla kurvor (signaler) i ett separat fönster där också alla onset är inritade, se figur 12-1 Figur 12-1. Exempel på hur det kan se ut vid körning av programmet antegrad.m .Retrograd Det här exemplet visar hur det ser ut när programmet retrogra.m körs. Programmet har startats genom att vid prompten ha skrivit retrogra. Sedan får användaren skriva de parametrar som behövs. Här har användaren tryckt på enter-knappen efter varje fråga för att välja grundinställningar (default-värden). Därefter estimeras hur lång tid analysen kommer att ta och slutligen skrivs de beräknade intervallen, se nedan. » retrogra ans = RETROGRAD Write filename, please. (Default: \data\real\real24co.dat). Please enter which figure you want to use (Default: 1). How long part of the signal do you want to analyse? (Default: 2 seconds). How many seconds in the beginning of the signal do you want to skip? (Default: 0). Enter channelnumber for the His Bundle Electrogram (1 - 8). (Default: 2). Enter channelnumber for the stimulation signal (1 - 8). (Default: 7). Estimated_time = 5 STIM_took = 2.6900 SS = 1.0481 SS_mean = 1.0481 SS_std = 0 VA = 0.1319 0.1290 VA_mean = 0.1305 VA_std = 0.0021 SA = 0.1756 0.1711 SA_mean = 0.1734 SA_std = 0.0032 totaltime = 4.3900 » Alla tider är i enheten sekunder. För att användaren skall kunna bedöma om resultaten är rimliga ritas alla kurvor (signaler) i ett separat fönster där också alla onset är inritade, se figur 12-2 Figur 12-2. Exempel på signaler och deras respektive onset vid körning av programmet retrogra.m .Sinus Node Dysfunction, SND Det här programmet har inte kunnat provköras i verklig miljö, dvs på patienter. Anledningen var att uppgifter om hjärtstimulatorns trigg-utgång inte funnits tillgängliga i tid före den sista patientundersökningen.