Grafiskt användargränssnitt för rörelsemätning av ryggraden R A F A E L M A N T H A R T H U R O N O S Z K O



Relevanta dokument
RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT?

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

DIGITALA PROJEKT Väderstation

Enheten för preventiv näringslära. Karolinska sjukhuset

Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning

Introducera ämnet med hjälp av filmen, Åtgärda och följ upp (3 min), och SAM-hjulet.

Simulering av brand i Virtual Reality

Peter Ottosson 31/ Introduktionskurs i datateknik II1310

Motion till riksdagen. 1987/88: So488 av Kenth Skårvik och Leif Olsson (fp) om primär fibromyalgi

Slutrapport för JMDB.COM. Johan Wibjer

Måluppfyllelse i svenska/svenska som andraspråk vid nationella prov årskurs 3 vårterminerna 2009 och 2010 TOTALT ANTAL ELEVER 2009: 72

Grunderna i stegkodsprogrammering

Inlämningsuppgift 4 NUM131

Utbildningsplan Dnr CF 52-66/2007. Sida 1 (7)

Mimer Akademiens arbete med barnens matematikutveckling Ann S Pihlgren Elisabeth Wanselius

Nu kan du le ikapp med din Smiley!

12 principer of agile practice (rörlig)

ÄMNESPLANENS STRUKTUR. Progressionstabellen

Teknikprogrammet, inriktning informations- och medieteknik

P1071 GULLSPÅNGS KOMMUN. Allmänhetens syn på valfrihetssystem inom hemtjänsten P1071

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch

NMCC Sigma 8. Täby Friskola 8 Spets

Engelska Svenska Svenska som andraspråk Idrott och hälsa Musik Biologi Fysik Kemi Slöjd...

RVS5000PC. Allmänt. RVS5000PC produktblad

QlikView - Lathund för Flödesmodellen bas

Skolverkets förslag till kursplan i matematik i grundskolan. Matematik

P1071 TÖREBODA KOMMUN. Allmänhetens syn på valfrihetssystem inom hemtjänsten P1071

Kodning av ansiktstextur med oberoende komponenter

Concept Selection Chaper 7

Integration av matematik och teknik på ingenjörsutbildningar

miljö och samhällsbyggnad Till dig som ska börja ditt sista år på en utbildning inom miljö eller samhällsbyggnad

Processidentifiering och Polplacerad Reglering

HARALD. Systemskiss. Version 0.3 Redaktör: Patrik Johansson Datum: 20 februari Status

Installationsguide. För att installera mjukvara och hårdvara, följ nedanstående anvisningar.

Metoden. Om Pilotcirkel. Studiecirkel i kommunikation

Matematik 92MA41 (15hp) Vladimir Tkatjev

Digitala Projekt (EITF11)

Laboration: Att inhägna ett rektangulärt område

Självkörande bilar. Alvin Karlsson TE14A 9/3-2015

UTBILDNINGSVETENSKAPLIGA FAKULTETEN. Institutionen för kost- och idrottsvetenskap. Studiehandledning

Fysioterapeutprogrammet, 180 hp

Skriva, presentera och opponera uppsats på läkarprogrammet Examensarbete termin 10

Chapter 3: Using Classes and Objects

HÖGSKOLAN I GÄVLE UTBILDNINGSPLAN AVANCERAD NIVÅ. Besluts-, risk- och policyanalys Programkod: NABRP Fastställd av NT-nämnden

Slutrapport för projektet Programmeringsundervisning i skolor med webbaserad konstprogrammering Annika Silvervarg, Linköping universitet

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum:

2011 Studsvik AB PANORAMA-BILDTAGNING. Tony Björkman

Utredning om införande av digital nämndhantering för socialnämnden

Administrationsverktyg för marinvåg

Utbildningsplan för sjukgymnastprogrammet

Hur skriva och granska uppsats?

Elevledda utvecklingssamtal

Välkommen till KUM på Karolinska Universitetssjukhuset i Solna

Projektrapport EDA095

Sätta tänderna i datorn om virtuell radiologi

Laboration 2 Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska Högskola (BTH)

Sidor i boken , , 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

SEAPILOT s nya PREMIUM tjänst

Lab. E3 Mätteknisk rapport

1. Eleverna hämtar på skolans hemsida formuläret som ska fyllas i.

Datavetenskapliga programmet, 180 hp

Elevens namn: Klass: Mål som eleverna ska ha uppnått i slutet av det nionde skolåret

Användarmanual Mina sidor Timvärden

Betatestning - Solsystem

UTBILDNINGSPLAN. RÖNTGENSJUKSKÖTERSKEPROGRAMMET, 120/160 poäng Diagnostic Radiology Nursing Programme, 120/160 points

Vätebränsle. Namn: Rasmus Rynell. Klass: TE14A. Datum:

Matematik åk 9. Lärarinstruktion Digital diagnos Matematik Åk 9

Sjukgymnastik i utveckling

Läkemedelsförteckningen

Att överbrygga den digitala klyftan

Protokoll studienämndsmöte 1 25/ Rapporter från råd

Tufs fick livet tillbaka FÖLJ ETT CASE. noa nr

Utbildningsplan för sjukgymnastprogrammet 120 poäng (180 högskolepoäng)

Nya Medier. Gränssnitt, Interaktivitet och Digital kod

Utbildningsplan. Engineering: Surveying Technology and Geographical IT Högskolepoäng/ECTS: 180 högskolepoäng/ects. Svenska.

19. Skriva ut statistik

Föreläsning 1 & 2 INTRODUKTION

Föredrag för Nätverk Uppdrag Hälsa 25 oktober Anders Anell

Bachelor Course in Education with Specialisation in Behavioural Analysis and IT Environments, 30.0 Credits

Objektsamlingar i Java

F5 Introduktion till digitalteknik

Inför upphandling av teckenspråksfilmer

Torun Berlind Elin Önstorp Sandra Gustavsson Klas Nordberg. Föreläsningar Lektioner Laborationer Projekt

För en stor del av Sveriges befolkning

Tekniska kontoret erbjuder god service i form av god tillgänglighet, gott bemötande samt leveranssäkerhet. Vi utvecklar och sköter om staden

Automatiserade testsystem

UMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap. Grafproblem. Laboration 4, Datastrukturer och Algoritmer VT02

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Handkirurgiska kliniken, Universitetssjukhuset MAS, Malmö. Känselträning Sensory re-education efter nervreparation

GIT L0002B INTRODUKTION TILL PROGRAMMERING OCH C# Information inför kursstart

UTBILDNINGSPLAN. Masterprogram i corporate governance redovisning och finansiering, 120 högskolepoäng

Huddingetrainee: ingenjör och arkitekt

LEGO MINDSTORMS Education EV3

Technische Universiteit Eindhoven (TUE), Nederländerna (läsåret ) Reseberättelse av Sebastian Brieger

Pulsmätare med varningsindikatorer

Olle Johansson, docent Enheten för Experimentell Dermatologi, Institutionen för Neurovetenskap, Karolinska Institutet, S Stockholm

FULL KOLL. på mätdatan överallt

Trycket beror på ytan

Real-time requirements for online games

Transkript:

Grafiskt användargränssnitt för rörelsemätning av ryggraden R A F A E L M A N T H A R T H U R O N O S Z K O Examensarbete inom medicinsk teknik Stockholm 2011

Detta examensarbete har utförts I samarbete med Karolinska Universitetssjukhuset Huddinge Handledare på Karolinska Universitetssjukhuset Hudding: Allan Abbott Grafiskt användargränssnitt för rörelsemätning av ryggraden Graphical User Interface for Spinal Motion Measurement R A F A E L M A N T H A R T H U R O N O S Z K O Examensarbete inom medicinsk teknik Grundnivå, 15 hp Handledare på KTH: Stefan Karnebäck Examinator: Stefan Karnebäck Skolan för teknik och hälsa TRITA-STH. EX 2011:05 Kungliga Tekniska Högskolan KTH STH SE-141 86 Flemingsberg, Sweden http://www.kth.se/sth

Sammanfattning Sjukgymnaster vid Karolinska Universitetssjukhuset i Huddinge utför idag undersökningar på patienter för att diagnostisera ryggproblem. De vill kunna mäta dessa rörelser för att se utvecklingen av patienternas ryggproblem. Denna uppsats behandlar utveckling av en applikation som samlar in data från spinala rörelser med hjälp av fyra sensorer utplacerade på ryggraden från huvudet till svanskotan. Applikationen visualiserar dessa data i ett GUI (Graphical User Interface). Det system man använder idag för detta ändamål är inte kliniskt tillämpbart och skall därför kompletteras med sensorsystemet. Uppsatsen beskriver en ny och en gammal metod samt ger en överblick på hur vi nått våra resultat.

Abstract Physiotherapists at Karolinska University Hospital in Huddinge are currently performing examinations on patients to diagnose back problems. They want to be able to measure these movements to ensure the development of patients' back problems. This paper deals with the development of an application that collects data from spinal motion with four sensors placed on the spine from head to tailbone and visualize these data in a GUI (Graphical User Interface). The system used today for this purpose is not clinically applicable and will therefore be complemented by the sensor system. The paper describes a new and an old method and an overview of how we achieved our results.

Innehåll 1. Inledning... 1 1.1 Bakgrund... 1 1.2 Målformulering... 1 1.3 Avgränsningar... 1 1.4 Lösningsmetoder... 2 2. Nulägesbeskrivning... 5 3. Teoretisk referensram... 7 4. Faktainsamling... 9 5. Genomförande... 11 6. Slutsatser... 13

1. Inledning 1.1 Bakgrund För att en sjukgymnast på Karolinska Unverisitetssjukhuset i Huddinge ska kunna mäta och analysera en patients rörelser används idag en teknik som baseras på att man fäster markörer på patienten och filmar patientens rörelser med kameror. Kamerorna skickar filmen vidare till en dator som kan rekonstruera patientens rörelsemönster utifrån de markörer man fäst på patienten. Undersökningen är noggrann, detaljrik och ger en kvantitativ mätning. Nackdelarna är att utrustningen är väldigt dyr och begränsad till platsen där all utrustning finns, d v s i undersökningsrummet. Undersökningen tar också väldigt lång tid vilket inte är kliniskt tillämpbart[1]. Därför har sjukgymnaster på Karolinska Universitetssjukhuset i Huddinge bestämt sig för att köpa in ett kit med trådlösa sensorer från Shimmer Research som ska komplettera den nuvarande tekniken. Dessa sensorer, där varje sensor består av en accelerometer, magnetometer och ett gyroskop, ger en likvärdig noggrannhet på mätning[2], är billiga, portabla och minskar undersökningstiden markant, vilket leder till ökat patientflöde. Anledningen till att man valt just dessa sensorer är att de levereras utan mjukvara, vilket både håller priset lågt och låter användaren utveckla egna applikationer utifrån behov och dessutom kan användas utanför kliniken då mätdatat kan sparas på ett inbyggt minneskort. Karolinska Universitetssjukhuset i Huddinge har därför gett oss i uppdrag att utveckla ett GUI (Graphical User Interface) som visualiserar rörelsemönster från mätningar man utfört på kliniken. 1.2 Målformulering Det viktigaste målet med projektet är att på ett överskådligt sätt återge sensorernas utdata. Projektets uppdragsgivare önskar en visualisering liknande figur 21 i bilaga. Arbetet fokuserar i första hand på att sortera data från de olika sensorerna och återge dessa uppdelade så att man enkelt kan avläsa vilka data som kommer från respektive sensor. Därefter ska data visualiseras. Mjukvaran ska visa data i form av realtidsdiagram i två dimensioner, tid(x) och utfall(y), där utfall är sensorns utdata vid en given tidpunkt. Data i tvådimensionella diagram kan dock vara svåra att tolka. Därför ska en figur visa den aktuella positionen av sensorerna. Denna figur kommer att visas från tre perspektiv så att användaren får en tredimensionell bild av patientens rörelsemönster. Ytterligare ett mål är att användaren ska kunna öppna data från en session vid ett senare tillfälle. Patienten kan alltså undersöka sig själv på valfri plats och skicka data till sjukgymnasten som sedan diagnostiserar och återkommer till patienten med diagnos. Detta öppnar även möjlighet för en referensdatabas där man kan jämföra en grupp patienter emellan. 1.3 Avgränsningar Sensorerna som används i detta projekt är tillverkade av Shimmer Research och är av modellen Wireless 9DoF Kinematic Sensor. Dessa sensorer har många olika tillämpningar, till exempel att mäta aktivitet hos både sjuka och friska, mäta energiförbrukning, analysera idrottares tekniker, bedöma rehabilitering, analysera gångstil, navigera och lokalisera objekt och personer. Detta är bara några få tillämpningar man kan använda Shimmers trådlösa sensorer till[3]. Uppgiften som getts av Karolinska Universitetssjukhuset i Huddinge begränsas till att skapa en applikation i LabVIEW som kan 1

visualisera mätning av rörelser av ryggraden vid lyft- och vridtest. För dessa mätningar används fyra sensorer utplacerade från huvudet till svanskotan. 1.4 Lösningsmetoder LabVIEW är en utvecklingsmiljö skapat av National Instruments. Programmeringsspråket som används i LabVIEW heter G och är ett grafiskt språk. Miljön används av ingenjörer och forskare för att kunna mäta, testa och kontrollera hårdvarusystem. Ett exempel på hur LabVIEW-kod kan se ut visas i figur 1 där två konstanter adderas och summan visas (figur 2). Figur 1. Addition. Exempel på hur man programmerar i LabVIEW Figur 2. Summa För att kunna överföra data från en sensor till en dator behövs drivrutiner på datorn. På Shimmer Researchs hemsida kan man ladda ner en modul till LabVIEW[4]. Denna DSC module används som drivrutin. Modulen tillgängliggör rådata från sensorerna till utvecklaren i form av så kallade Shared Variables [5]. Dessa Shared Variables möjliggör åtkomst av sensordata i en egenutvecklad LabVIEW-applikation. Rådata överförs i en matris med tio kolumner. Första kolumnen är en tidsstämpel, följande tre kolumner är accelerometerns värden i x,y,z-led, nästkommande tre kolumner är gyroskopets värden i x,y,z-led och de sista tre kolumnerna är magnetometerns värden. MATLAB används för att bearbeta dessa data. 2

På grund av administrativa processer har Karolinska Universitetssjukhuset i Huddinge inte köpt sensorerna än. Av denna anledning testas inte mjukvaran mot hårdvaran innan projekttiden är slut. Förutom programmering används en artikel[2] där forskare framgångsrikt genomfört ett liknande projekt. Författarna använder sig bara av MATLAB men teorin och användningsområdet är jämförbara. 3

4

2. Nulägesbeskrivning Karolinska Universitetssjukhuset i Huddinge använder sig idag av ett optoelektriskt system som bygger på videokameror och reflekterande markörer utfästa på anatomiska landmärken (figur 3) på patienten. Data över hur markörerna rört sig överförs till en dator som rekonstruerar rörelsemönstret till en 3D-bild som kan analyseras av en sjukgymnast. Systemet kostar 790 616 SEK vilket kan jämföras med 17 599 SEK för Shimmer Researchs system med sensorer[6]. Figur 3. Utplacering av markörer på anatomiska landmärken. (Ferrigno G, Pedotti A. ELITE: a digital dedicated hardware system for movement analysis via real-time TV signal processing. IEEE Trans Biomed Eng 1985;32:943-50) Meningen med att införa Shimmers sensorer är inte att ersätta det nuvarande systemet, utan att komplettera det. Det gamla systemet kommer att användas för forskning inom fysioterapi och för avancerade undersökningar, medan det nya ska vara kliniskt användbart. Med avancerade undersökningar menas till exempel helkroppsanalyser. En idrottare kan därmed kvantifiera sina resultat för att fastställa sin utveckling. Eftersom det nuvarande kamerabaserade systemet ger noggranna resultat kommer man även att kunna validera det nya systemets resultat med det gamla. 5

6

3. Teoretisk referensram Teorin bakom det här projektet kräver kunskap inom programmering, matematik och problemlösning vilket vi efter tre års studier på civilingenjör inom medicinsk teknik har läst och lärt oss. Vi har till huvuddelen använt oss av programmet LabVIEW för att konstruera denna applikation. Eftersom vi har läst annan programmering har vi snabbt kunnat sätta oss in i ett nytt programmeringsspråk och lärt oss de delar i språket vi anser varit relevanta för projektet. 7

8

4. Faktainsamling För bättre förståelse för uppgiften används en rapport som behandlar ett liknande problem [2]. Denna rapport ger ett exempel på hur ett användargränssnitt kan se ut. För att testa programmet används simuleringsdata från Shimmer Research. National Instruments hemsida innehåller videoklipp på enkla kodexempel i LabVIEW-miljö[7]. I LabVIEWs dokumentation finns ytterligare information om miljön och språket (G). Under ett studiebesök hos Shimmer Research i Dublin, Irland, med projektets handledare Allan Abbott testades sensorerna. Shimmer Research har under våren 2011 börjat utveckla en egen mjukvara för dessa sensorer. En ingenjör och Kieran Daly, VP Business Development, berättade om produkten, företaget och deras framtida planer för deras produkter. 9

10

5. Genomförande Projektets mål formulerades tillsammans med handledaren Allan Abbott. Målformuleringen delades upp i mindre delproblem. Första delen handlade om att bekanta sig med LabVIEW DSC Module. En enkel applikation skapades för att visualisera en sensors utsignal. Denna enkla applikation innehöll en graf som visade rådata från en accelerometer. Detta gjordes med så kallade Shared Variables i LabVIEW för att överföra data från en sensor till applikationen. Avsaknad av sensorer medförde till ett felmeddelande, men kontakt mellan applikationen och Shared Variabels fanns. För att testa hur visualisering av data ser ut implementerades filinläsning. Simuleringsdata från en accelerometer och gyroskop mottogs från Shimmer Research för detta test. Dessa filer var av filtypen CSV som är en matris innehållandes rådata för en sensor. MATLAB användes för att dela upp denna matris för visualisering av accelerometerns och gyroskopets värden i x-y-z-led (figur 4). Figur 4. Uppdelning av rådata med MATLAB-kod 11

12

6. Diskussion och slutsatser Efter att ha arbetat med detta projekt i 10 veckor har vi lyckats uppnå alla våra delmål, förutom visualiseringen i tre perspektiv. Detta var dock den lägst prioriterade delen. Anledningen till varför visualiseringen i tre perspektiv skapade problem var för att LabVIEW har begränsningar. Det finns en modul i LabVIEW som möjliggör 3D-visualisering, men den är väldigt komplicerad. Man kan endast animera fördefinierade objekt (t.ex. sfärer och kuber). Vi skulle dock ha behövt flera objekt i form av linjer länkade till varandra (se figur 21 bilaga 1). På grund av tidsramen för arbetet var vi tvungna att fokusera på de fundamentala delarna i programmet, och eftersom LabVIEW var ett helt nytt språk för oss med ett unikt sätt att programmera på tog det mycket av vår tid. En annan möjlighet var att använda sig av en CAD-modell vilket också låg utanför vårt kunskapsområde och tidsram. Om man bortser från visualiseringen i tre perspektiv var uppgiften genomförbar. Anledningen till varför vi använde just LabVIEW var för att Shimmer Research konstruerat en bas (LabVIEW DSC Module) för inläsning av data från sensorerna som man sedan själv bygger vidare på. Denna bas var till stor hjälp för att uppnå de fundamentala delmålen. För övrigt hade ett textbaserat programmeringsspråk, t ex MATLAB, varit mycket mer fördelaktigt. Anledningen till varför t ex MATLAB hade varit ett bättre språk är för att LabVIEW är mer tidskrävande i form av programmering även för enkla operationer och när man är van med textbaserad programmering är det inte lika intuitivt. Man ska komma ihåg att vi gjort hela projektet utan några sensorer då de ännu inte är inköpta. Vi kunde alltså inte testa inläsning av data i realtid vilket medförde att vi inte kunde se hur sensorernas utdata står i förhållande till specifika rörelser. Visualisering vi gjort har varit baserad på simulerad data från Shimmer Research. Även dessa data var inte relaterade till specifika rörelser vilket försvårade delmålet visualisering i tre perspektiv. Besöket hos Shimmer Research i Dublin gav oss förståelse för hur utveckling av en applikation som denna bör gå till. En ingenjör visade oss ett program som han jobbat med under en längre tid. Det innehöll kod för koppling mellan sensor och dator, kalibrering av själva sensorn, kalibrering av sensorn för en specifik mätning, manipulering av rådata och visualisering av dessa data. Detta gjorde oss medvetna hur pass nära maskinnära kod man behövt programmera. Vi fick veta att LabVIEW DSC Module som finns på Shimmer Researchs hemsida var föråldrad och utvecklad externt utan hänsyn till tillämpningar. Sammanfattningsvis kan vi rekommendera att ha tillhörande hårdvara när man ska utveckla en applikation och att programmera i en miljö man känner sig bekväm i. Om man inte är van att arbeta med LabVIEW skulle vi rekommendera ett mer textbaserat programmeringsspråk. 13

Källor Internet [3]: http://www.shimmer-research.com/p/products/sensor-units-and-modules/wireless-9dof-kinem atic-sensor [4]: http://www.shimmer-research.com/wp-content/uploads/2010/05/dsc_module.zip [5]: http://zone.ni.com/devzone/cda/tut/p/id/4679 [6]: http://www.nordea.se/privat/priser+r%c3%a4ntor+och+kurser/kurser/valutakurser+sedel/2 11764.html Köpkurs sedel, 2011-06-03 12:00 [7]: http://www.ni.com/gettingstarted/labviewbasics/ Muntliga källor [1]: Dr Allan Abbott - B.Ex.Sci, MSc PT, PhD Physiotherapist - Department of Physiotherapy Karolinska University Hospital Huddinge,14186 Stockholm, Sweden. Research Fellow - Department of Clinical Science, Intervention and Technology, Division of Orthopedics, Karolinska Institute 14186 Stockholm, Sweden. Epost: allan.abbott@karolinska.se Mobil: +46 733816914 Artiklar [2]: Goodvin, Park, Huang, Sakaki (2006) Development of a real-time three-dimensional spinal motion measurement system for clinical practice. Medical and Biological Engineering and Computing 44:1061-1075