• No results found

Betydelsen av skuggning vid volymrenderad visualisering i en multimodal simulator för operativ extraktion av visdomständer

N/A
N/A
Protected

Academic year: 2022

Share "Betydelsen av skuggning vid volymrenderad visualisering i en multimodal simulator för operativ extraktion av visdomständer"

Copied!
62
0
0

Loading.... (view fulltext now)

Full text

(1)

vid volymrenderad visualisering i en multimodal simulator för operativ

extraktion av visdomständer

M A R T I N F L O D I N

Examensarbete

(2)

vid volymrenderad visualisering i en multimodal simulator för operativ

extraktion av visdomständer

M A R T I N F L O D I N

Examensarbete i medieteknik om 30 högskolepoäng vid Programmet för medieteknik Kungliga Tekniska Högskolan år 2009 Handledare vid CSC var Lars Kjelldahl

Examinator var Nils Enlund TRITA-CSC-E 2009:096 ISRN-KTH/CSC/E--09/096--SE ISSN-1653-5715

Kungliga tekniska högskolan Skolan för datavetenskap och kommunikation KTH CSC 100 44 Stockholm URL: www.csc.kth.se

(3)

Detta examensarbete utfördes för att ta reda på hur viktig skuggning är som djupinformationsbärare i en multimodal simulator för operativ ex- traktion av visdomständer. Simulatorn har både haptik och stereografik som kan förmedla djupinformation. Frågeställningen för examensarbetet var därför att undersöka om det fanns något behov av att använda sig av en relativt beräkningstung rendering med skuggning, eller om det skulle duga med en enklare typ av rendering.

Användartester har utförts med erfarna tandläkare som har fått prova på simulatorn med olika typer av renderingar av ett och samma patientfall. Metoden som användes kallas kooperativ utvärdering vilken tillåter diskussion mellan användaren och utvärderaren.

Det visar sig att skuggningen spelar en mycket stor roll för använd- arens djupuppfattning. Skuggningen visar sig faktiskt vara betydligt viktigare än stereoinformationen, särskilt som tandläkarna fokuserar på ett mycket litet område där stereoeffekten verkar försumbar. Det är även viktigt att väga in det faktum att inte alla kan se djup i stereobilder.

Då de tänkta användarna är relativt unga tandläkarstudenter är de vana vid nästan verklighetstrogen grafik från dataspel och datoranime- rad film. Därför bör grafiken i simulatorn ligga så nära den standarden som möjligt.

Användandet av haptik gör visserligen att användaren kan känna var denna befinner sig i djupled, men vid konflikt med synintrycken så verkar synen ta överhanden.

Slutsatsen blir därmed att skuggning definitivt är värd att imple- menteras, trots de extra resurser som krävs.

(4)

The importance of shading in volume rendered visualization in a multimodal simulator for operative

extraction of wisdom teeth

The aim of this thesis was to investigate the importance shading has on the perception of depth in a multimodal simulator for operative ex- traction of wisdom teeth. The simulator uses both haptics and stereo graphics to convey information about depth. The problem formulated in the thesis was to investigate the necessity of using shading, which is quite demanding computationally, or if a simpler type of rendering would suffice.

User tests have been performed with experienced dentists who have tried different graphical renderings of the same patient case in the sim- ulator. The method used for the tests is called cooperative evaluation and allows for discussions between the user and the evaluator.

Shading turns out to play an important role in the users’ perception of depth. It even seems to be more important than the stereo infor- mation since the area the dentists focus on is so small the stereo effect seems negligible. The fact that not all people can see depth in stereo images is also important to consider.

As the intended users are relatively young dental students, they are accustomed to almost photorealistic graphics in computer games and computer animation. Therefore the graphics in the simulator needs to be as close to that standard as possible.

The use of haptics does make it possible for the user to feel where s/he is located depthwise, but when a conflict with the visual feedback occurs, the visual information tends to dominate.

The conclusion therefore is to recommend that shading definitely is worth implementing, even though it requires additional resources.

(5)

Först och främst vill jag tacka Jonas Forsslund för att han ringde och erbjöd mig det här examensarbetet samt för den hjälp han gett mig under arbetets gång. De gånger jag har stött på problem har jag kunnat vända mig till honom och tillsammans har vi löst problemen.

Jag vill också tacka Jonas far Hans Forsslund för all hjälp angående tandanatomi och ingreppets utförande samt förklaring av alla facktermer.

Ett stort tack även till min handledare Lars Kjelldahl som hjälpt mig utkristal- lisera frågeställningen och gett mig bra tips på litteratur och kontaktpersoner inom ämnet volymrendering.

Två mycket kunniga personer inom detta område är Karl-Johan Palmerius Lun- din och Daniel Evestedt som snällt svarat på mina frågor.

Jag vill även tacka alla på HiQ och framför allt Helena Forsmark som låtit mig vara med på alla roliga aktiviteter och fått mig att känna mig som en del av gemenskapen. Min handledare på HiQ, Tore Gerhardsen, har sett till att jag fått all hjälp jag behövt. Det har varit väldigt trevligt och lärorikt att få göra mitt examensarbete på HiQ.

Slutligen vill jag tacka mina föräldrar för deras stöd, framför allt min mor som även hjälpt mig ekonomiskt när CSN tyckt att det fått vara nog med studiebidrag.

Utan er hade jag aldrig klarat det – eller ens funnits till om man nu ska vara petig.

Martin Flodin Stockholm, 20 maj 2009

(6)
(7)

1 Inledning 1

1.1 Bakgrund . . . 1

1.2 Problemformulering . . . 2

1.2.1 Frågeställning . . . 2

1.2.2 Avgränsning . . . 3

1.3 Syfte . . . 3

1.4 Mål . . . 4

1.5 Målgrupp . . . 4

2 Teori 5 2.1 Käkkirurgi . . . 6

2.1.1 Tand- och käkanatomi . . . 6

2.1.2 Operation av retinerade visdomständer . . . 6

2.2 Grafik . . . 7

2.2.1 Polygonytor . . . 7

2.2.2 Volymrendering . . . 8

2.2.3 Transferfunktioner . . . 8

2.2.4 Segmentering . . . 9

2.2.5 Ray casting . . . 9

2.2.6 Programmerbara grafikkort . . . 10

2.3 Visuell perception . . . 12

2.3.1 Djupseende . . . 13

3 Projekt Forssim 18 3.1 Simulatorn . . . 18

3.1.1 Hårdvara . . . 18

3.1.2 Mjukvara . . . 19

4 Metoder 21 4.1 Litteraturstudie . . . 21

4.2 Omvärldsanalys . . . 21

4.3 En första utvärdering med experter . . . 22

4.4 Utvärdering med studenter . . . 23

(8)

4.5 Utvärdering av skuggning . . . 25

4.5.1 Första sessionen . . . 26

4.5.2 Andra sessionen . . . 27

4.5.3 Tredje sessionen . . . 27

4.6 Reliabilitet och validitet . . . 28

5 Resultat 30 5.1 Resultat från utvärdering med experter . . . 30

5.1.1 Tänder med textur . . . 31

5.2 Resultat från utvärdering med studenter . . . 32

5.3 Resultat från utvärdering av skuggning . . . 32

5.3.1 Första sessionen . . . 32

5.3.2 Andra sessionen . . . 33

5.3.3 Tredje sessionen . . . 38

6 Analys och diskussion 44 6.1 Behovet av skuggning som djupinformation . . . 45

6.1.1 Urskiljande av små detaljer . . . 45

6.1.2 Intermittent arbete . . . 46

7 Slutsats 47 7.1 Rekommendationer . . . 48

7.2 Vad kunde gjorts annorlunda . . . 48

7.2.1 Utvärderingstillfällena . . . 48

7.2.2 Testfallen . . . 49

8 Förslag på fortsatt arbete 50 8.1 Automatisk segmentering . . . 50

8.2 Integrering av vanliga ritverktyg vid segmentering . . . 50

8.3 Inverkan av skuggor som djupinformation . . . 51

8.4 Integrering av haptik i modelleringsprogram . . . 51

Litteraturförteckning 52

(9)

Inledning

I detta kapitel förklarar jag vad examensarbetet går ut på med en kort bakgrund och en problemformulering. Jag listar därefter syfte och mål och vilka avgränsningar som gjorts.

1.1 Bakgrund

Att operera bort visdomständer som växt fel är ett vanligt förekommande ingrepp och egentligen något som en tandläkare bör kunna klara av. Problemet är att det inte finns vare sig tid eller resurser att lära sig detta under utbildningen. Den teor- etiska kunskapen lärs ut under utbildningen, men för att få praktisk erfarenhet måste tandläkaren själv ta initiativ. Vidareutbildningen kan ske genom en mästare- lärlinghandledning om tandläkaren arbetar på en klinik där det finns någon med ökad erfarenhet av ingreppet. Annars är tandläkaren hänvisad till kurser och egen praktisk träning på patient.

De flesta visdomstandsoperationer går därmed till oralkirurger, särskilt vid mins- ta ökad svårighetsgrad. De är egentligen överkvalificerade för denna typ av ingrepp som tar dyrbar tid från ett redan pressat schema. Det vore alltså en fördel om tandläkare själva kunde utföra operationen.

Därför startade Jonas Forsslund sitt företag Forsslund Systems som arbetar med att ta fram en multimodal “simulator för operativ extraktion av visdomständer”

(Forsslund, 2008) efter att ha utvecklat en prototyp under sitt examensarbete.

Multimodal innebär att simulatorn påverkar fler sinnen än bara synen, framför allt känseln. För detta används ett så kallat haptiskt gränssnitt som kan ge kraftåter- matning och låta användaren känna på virtuella objekt. Tanken är att studenterna ska kunna öva upp sin praktiska erfarenhet i simulatorn, så att de är bättre förbe- redda när den första verkliga operationen ska utföras.

Utvecklingen sker i samarbete med Kungliga Tekniska Högskolan, IT-konsult- företaget HiQ och Odontologiska institutionen (tandläkarhögskolan) på Karolinska Institutet.

Simulatorn utvecklas som ett projekt med öppen källkod och bygger på ramver-

(10)

Figur 1.1. En tidig prototyp av simulatorn. Haptikenheten tillåter användaren känna på virtuella objekt genom kraftåterkoppling,

ken X3D (grafik), H3DAPI (haptik) och MedX3D (volymrendering) som även de har öppen källkod.

1.2 Problemformulering

Detta examensarbete handlar övergripande om visualiseringen av tredimensionella medicinska data från datortomografi (3D-röntgen) i en simulator för visdomstands- operationer. Dessa data sparas som volymer uppbyggda av voxlar (volymbildpunk- ter) och visualiseras genom volymrendering som till skillnad från traditionell da- torgrafik även kan ta hänsyn till insidan av objekt.

Då det är viktigt för tandläkarna att kunna orientera sig ordentligt i tre di- mensioner har jag valt att rikta in mig på att undersöka hur skuggning påverkar djupkänslan i en bild. Skuggning innebär att ytan på ett objekt får olika nyanser beroende på hur den är riktad mot en ljuskälla i scenen.

Simulatorn använder sig av haptik för att ge användaren möjlighet att använda sig av känseln och känna på virtuella objekt. Användaren håller i det pennliknande handtaget (se fig. 1.1) och kan på så sätt navigera runt i tre dimensioner.

Vidare används stereoglasögon som gör att användaren kan se en tredimensionell bild genom att varje öga får bilden ur något olika vinklar. Detta gör att användaren upplever ett djup i bilden.

1.2.1 Frågeställning

Frågan är då hur viktig skuggning är när användaren redan har dessa två sätt att tillgodogöra sig djupinformation. Skuggning kräver ytterligare beräkningar, särskilt när volymen förändras vilket den gör i simulatorn när tandläkarna borrar bort delar av volymen.

(11)

De två frågor jag har undersökt är:

1. Hur viktig är skuggning som djupinformationsbärare?

2. Bör skuggning implementeras i simulatorn?

Jag har därför valt att utvärdera ett antal olika fall med och utan skuggning för att se hur tandläkarna uppfattar de olika visualiseringarna. På så vis har jag fått svar på frågeställningen.

1.2.2 Avgränsning

Det finns flera olika sätt att visualisera en datavolym. Ett av sätten är att skapa polygonytor för varje material istället för att ta hänsyn till varje individuell vox- el. Ett av de vanligaste sätten kallas Marching cubes som förklaras översiktligt i avsnitt 2.2.1. Eftersom ytan förändras hela tiden i simulatorn har jag fokuserat på ren volymrendering för själva implementeringen. Ytrendering tas endast upp i teoridelen.

Skuggning (shading på engelska) innebär att ytans färg påverkas av ljuskällorna i scenen. Ett närliggande fenomen som är viktigt att särskilja är skuggor (shadows på engelska). Skuggor uppkommer när objekt skymmer ljuskällor för andra objekt och kräver helt andra beräkningar än skuggning. En närmare beskrivning av skillnaden ges i avsnitt 2.3.1 och figur 2.8. Visserligen är även skuggor ett sätt att få information om djupet i en scen, men jag har i detta examensarbete endast inriktat mig på skuggning.

För att testa de olika renderingarna har jag använt mig av det typfall för vis- domstandsoperationer som redan var implementerat i simulatorn, istället för att skapa egna modeller enbart för att testa djupkänslan. Det har även den fördelen att tandläkarna fått arbeta med en situation de känner igen och kan relatera till. Fallet i simulatorn består av en volymrenderad del av vänster underkäke samt en omgivan- de polygonmodell som består av resten av patientens huvud samt den omgivande operationssalen.

Jag har heller inte brytt mig om att förbättra den omgivande polygonmodellen utan helt riktat in mig på den volymrenderade käkdelen.

1.3 Syfte

Det övergripande syftet har varit att skapa en effektiv visualisering av det inskan- nade käkpartiet så att simulatorn kan användas av studenterna under sina studier för att lära sig hur en visdomstandsoperation bör utföras. Detta har skett i samråd med erfarna kirurger, så att fokus lagts på de delar som är viktiga att visualisera.

Det mer specifika syftet har varit att utvärdera vilken inverkan skuggning och belysning av de volymrenderade tänderna spelar i en oralkirurgisimulator där även haptisk återkoppling och stereoseende ingår. Skuggning är ett bra sett att simulera

(12)

djupinformation i en bild, men hur viktigt är det när djupseende och känsel kan användas för att avgöra var i den virtuella scenen objekt befinner sig?

Syftet har också varit att integrera visualiseringen i simulatorn och därmed låta den ingå i den öppna källkoden, så att andra kan använda sig av den och arbeta vidare med den. Eftersom simulatorn använder sig av en voxelvolym för att göra kraftberäkningarna och då denna volym förändras under körning när vissa voxlar borras bort, bör visualiseringen anpassas för detta.

1.4 Mål

Ett delmål har varit att få volymrenderingen att se verklighetstrogen ut för att ge en större dos av realism i simulatorn. Framför allt bör den del av käken som verkligen volymrenderas, och alltså går att operera i, passa in i den omgivande polygonmodellen.

För att förenkla inlärningen för studenterna finns även möjligheten att inte göra renderingen verklighetstrogen och istället förtydliga de delar som är viktiga för inlärningen av operationen. Till exempel kan användaren få se de delar som ska borras bort i en specifik färg, och de som absolut inte får röras i en varnande färg.

För att kunna få en överblick över vad som ska borras bort bör möjligheten att låta vissa delar av käken bli genomskinliga även implementeras.

Målet har varit att efter att ha utrett vilka visuella aspekter som är viktiga implementera en volymrendering i simulatorn som studenter och lärare vid tandlä- karutbildningen kan använda i undervisningen.

1.5 Målgrupp

Den primära målgruppen är de som utvecklar applikationer med multimodala gräns- snitt och är intresserade av hur den visuella informationen påverkar upplevelsen.

Framför allt riktar sig rapporten till HiQ och Forsslund Systems, men alla intresse- rade är givetvis välkomna att ta del av den.

Sekundära målgrupper är studenterna på tandläkarhögskolan och andra använ- dare av simulatorn som genom mitt arbete förhoppningsvis kommer få en bättre lärandeupplevelse och en mer användbar applikation.

Rapporten kan även användas som en kort introduktion för den som vill lära sig mer om volymrendering.

(13)

Teori

I detta kapitel går jag igenom den bakomliggande teorin. Kapitlet är uppdelat i tre sektioner där den första handlar om den rent medicinska teorin angående ingreppet som ska simuleras. Den andra sektionen fokuserar på datorgrafik och de tekniker som använts i simulatorn. Den tredje och sista sektionen handlar om visuell perception och om hur människor uppfattar djup i verkligheten.

Figur 2.1. Tand- och käkanatomi. De viktigaste delarna av tanden att visualisera är enligt de tandläkare jag intervjuat: emalj, dentin och pulpa. Övriga delar som till exempel tandcement, som är ett tunt skal runt roten, är försumbara rent visuellt. För den omgivande käken är det käkbenet och nerven som löper under tänderna som är viktiga. (Toverud, 2005)

(14)

Figur 2.2. Mesioangulärt retinerad tand. Detta är den enklaste typen av retinerade visdomständer att operera och därmed lämplig för nybörjare. (Hupp, Ellis och Tucker, 2008, s. 161)

2.1 Käkkirurgi

2.1.1 Tand- och käkanatomi

En tand består av två stora delar, den synliga kronan och den skymda roten. Kronan är täckt av emalj och roten av tandcement. Under ytan består tanden av dentin som även kallas tandben. Detta täcker i sin tur pulpan där blodkärl och nerver finns.

Nerverna och blodkärlen leds upp till pulpan genom rotkanalerna. Underkäkens kindtänder har vanligen två rötter vardera. Se figur 2.1 för en illustration av de olika delarna (Moore och Dalley, 1999, s. 933).

Tänderna sitter fast i själva käkbenet som täcks av tandkött. En av kirurgerna uppgav i intervjun att det finns en tydlig fördjupning, en “vallgrav”, där tanden möter käkbenet. I underkäken går ett nervpaket som förutom att leda upp till tänderna även leder ut till underläppen via ett litet hål under hörntänderna (Moore och Dalley, 1999, s. 922). I vanliga fall ligger nerven en bra bit under tänderna, men särskilt när det gäller retinerade tänder, som ju alltså ligger djupare än vanligt, finns det risk för att nerven går precis vid rötterna, eller till och med mellan dem (Hupp, Ellis och Tucker, 2008, s. 161).

2.1.2 Operation av retinerade visdomständer

Eftersom visdomständerna är de sista att bryta fram händer det ofta att det inte finns plats för dem. De blir då retinerade (se fig. 2.2), d.v.s. de bryter inte ut även fast de är fullt utvecklade, vilket kan leda till diverse besvär. Därför måste retinerade tänder ofta opereras bort. Det finns ett antal typfall beroende på vilken vinkel tanden har. Det enklaste är det mesioangulära, när tanden lutar snett framåt (Hupp, Ellis och Tucker, 2008, s. 153-161). Det är också detta fall som kommer användas i simulatorn.

Eftersom tanden är retinerad måste en del av käkbenet opereras bort för att det ska gå att komma åt tanden. Därför läggs först ett snitt i tandköttet för att kunna

(15)

vika undan detta med en sårhake. Det undanvikta tandköttet kallas för lambå.

När käkbenet frilagts borrar kirurgen med en rundborr tills kronan är tillräckligt synlig. Rundborren är mer att betrakta som en fräs än som en borr i ordets vanliga bemärkelse. Den består av en liten rund kula som sitter på ett smalare skaft som i sin tur går in i ett handstycke. Därefter borras kronan bort (Hupp, Ellis och Tucker, 2008, s. 170-171). Under intervju med en av kirurgerna framkom att de gärna följer gränsen mellan emalj och dentin som ska gå att se med blotta ögat.

Vissa av kirurgerna föredrar att behålla rundborren även för detta ingrepp, medan andra byter till en rakare så kallad fissurborr. Kirurgen borrar ett spår under kronan nästan hela vägen genom tanden. Därefter används en hävel, ett skruvmejselliknande instrument, för att knäcka av den kvarvarande biten. Om det är möjligt så kan rötterna nu plockas bort. Det kan krävas att man delar rötterna först, så att de kan plockas ut en och en. Slutligen rengörs såret och sys ihop (Hupp, Ellis och Tucker, 2008, s. 170-176).

2.2 Grafik

Vid datortomografi och magnetröntgen genereras 3D-bilder uppbyggda av voxlar som är en förkortning för volymetriska pixlar. Varje voxel kan ha ett eller flera värden. Oftast är det hur mycket strålning som tagits upp i voxeln som registreras.

Detta ger ett mått på hårdheten hos materialet. Vanliga storlekar på volymerna är 256x256x256 voxlar. I simulatorn används en något beskuren volym på 109x186x108 voxlar.

Fördelen med att ha data i en 3D-volym är att det då är möjligt att visa olika delar av modellen i olika färger eller genomskinlighet, samt möjligheten att titta på dem i godtyckliga vinklar. Det går även att göra tvärsnitt i volymen för att visa insidan av olika objekt (Akenine-Möller, Haines och Hoffman, 2008, s. 502).

2.2.1 Polygonytor

Det finns ett flertal olika sätt att rendera en voxelmängd. Det går att skapa poly- gonytor av voxlar med ett visst gränsvärde, så kallade iso-ytor. Dessa går att tänka på som höjdlinjer på en karta. En känd algoritm för att generera en iso-yta är mar- ching cubes som går ut på att det för varje grupp av åtta voxlar finns 256 olika sätt att dela av dem med en polygon. På grund av symmetri går det att reducera dessa till enbart 15 olika fall. Algoritmen marscherar sedan igenom voxelmängden och avgör vilket av de 15 fallen som passar in vid respektive grupp voxlar och genererar därmed en polygonyta. Nackdelen med polygonytor är att de är just ytor och det därmed inte går att utnyttja informationen som finns inuti volymen (Kaufman och Mueller, 2005, s. 128-129).

(16)

2.2.2 Volymrendering

Det finns ett flertal olika typer av volymrendering, men följande steg ingår oftast.

Genomstegning av data. Ett antal samplingspositioner väljs ut i volymen och används för att diskretisera volymrenderingsintegralen – den kontinuerliga mate- matiska funktionen som används för att räkna ut ljusegenskaperna för volymen.

Interpolering. Samplingspositionerna skiljer sig oftast från rutnätet av voxlar.

Därför måste ett kontinuerligt 3D-fält interpoleras från det diskreta rutnätet för att kunna få fram värdena i samplingspositionerna. Den vanligaste interpolationen är trilinjär vilket innebär linjär interpolering i alla tre dimensionerna.

Gradientberäkning. Gradienterna till skalärfältet som voxlarna utgör används som normalvektor för belysningsberäkningar eftersom gränserna mellan olika delar oftast är där värdena förändras snabbast.

Klassificering. Vid klassificeringen sätts optiska egenskaper på olika delar av volymen vilket gör det möjligt att urskilja olika material eller intressanta delar.

Baseras oftast på transferfunktioner som sätter färg och opacitet på materialet.

Skuggning och belysning. Volymrenderingsintegralen går att utöka genom att lägga till en term som tar hand om global belysning såsom skuggor, reflektion och ljusspridning. Detta gör små detaljer och ytstrukturer lättare att se och ger en ökad djupkänsla.

Sammansättning. Den iterativa beräkningen av volymrenderingsintegralen görs genom sammansättning. Beräkningen sker på olika sätt beroende på vilken ordning genomstegningen görs. Antingen utgår man från betraktarens ögon och beräknar strålar som börjar där och går genom volymen från fram- till baksida, eller så börjar man från baksidan av objektet och stegar framåt (Engel et al., 2006, s. 26, 27 &

103).

2.2.3 Transferfunktioner

För att särskilja vilka delar av volymen som är intressanta används transferfunk- tioner som sätter olika optiska egenskaper på voxlarna beroende på deras värde. I volymen som används i simulatorn är värdet baserat på densiteten hos det inskan- nade materialet.

I den enklaste endimensionella formen tas endast hänsyn till skalärvärdet i vox- eln. Detta ställer till problem då volymen har en begränsad upplösning och gränser mellan olika material inte är tillräckligt skarpa. I den volym som används i simu- latorn är till exempel emalj det hårdaste materialet och luft det mjukaste, men i gränsen mellan luft och emalj hamnar värdena någonstans mitt emellan, vilket gör att tänderna verkar vara belagda med ett mjukare material över emaljen. Detta material skulle kunna ha en hårdhet som motsvarar det värde som tolkas som tand- kött, vilket blir helt fel. För att undvika sådana fel kan man ta till flerdimensionella transferfunktioner som tar hänsyn till gradienten och om det behövs även andra- derivatan för att kartlägga vilka delar som är gränser mellan olika material. I de områden där gradienten är liten är materialet någorlunda konstant och kan därmed

(17)

Figur 2.3. Ray casting. En stråle för varje pixel på skärmen skär genom volymen och tar sampel vid ett visst intervall. Här visas endast en stråle i ett plan, men strålarna kan givetvis skära genom volymen i godtycklig riktning.

tolkas som en homogen enhet och skiljas från de falska material som uppstod i gränserna mellan två material. Delarna med hög gradient får man istället välja att tilldela något av de material de gränsar till (Engel et al., 2006, kap. 4 & 10).

2.2.4 Segmentering

Även om flerdimensionella transferfunktioner förbättrar klassificeringen av material så blir resultatet oftast ändå inte perfekt. Då finns utvägen att manuellt segmentera volymen, d.v.s. dela upp volymen i distinkta delar. Detta kan göras genom att ge varje voxel någon typ av ID som talar om vilket material det tillhör. I simulatorn är volymen uppdelad i emalj, dentin (tandben), käkben, pulpa och nerv.

Enligt Pham, Xu och Prince (2000, s. 317) definieras segmentering som uppdel- ningen av en bild i icke-överlappande beståndsdelar som med avseende på någon typ av karakteristika är homogen. En ideal segmentering består av delar som motsvarar anatomiska strukturer eller delar som är av intresse för användaren.

Segmenteringen kan göras i vanliga bildbehandlingsprogram genom att skiva upp volymen utmed någon av axlarna. Det blir dock en hel del bilder då varje voxelskikt blir en bild. Det kan även vara svårt att se exakt var gränserna går och att se vad man gjort i en tidigare bild. Därför finns det program som är specialanpassade för segmentering. De låter användaren se volymen från flera olika vinklar och har även diverse hjälpmedel som interpolering mellan skikt.

När man erhållit en segmenterad volym kan den användas som ett uppslagsverk för att kontrollera material och genom att kombinera med originaldata kan man låta varje material renderas på olika sätt för att tydliggöra olika material (Engel et al., 2006, kap. 16).

2.2.5 Ray casting

Ray casting är den populäraste volymrenderingstekniken av de som utgår från be- traktaren. Idén är att beräkna volymrenderingsintegralen längs med strålar som

(18)

utgår från en tänkt kamera vid betraktarens position. En stråle skickas ut för varje pixel på skärmen och med jämna mellanrum samplas volymen. Färgen och opaci- teten (genomskinligheten) i voxeln som samplas adderas till pixelns färg. Strålen fortsätter tills opaciteten stigit över 1, och pixeln därmed blivit helt ogenomskinlig, eller tills strålen lämnar volymen (Engel et al., 2006, s. 165-166).

Ett problem som kan uppstå vid volymrendering med ray casting är under- sampling som innebär att inte alla voxlar som ligger i strålens väg bidrar till den slutgiltiga färgen på pixeln. Se figur 2.3 för ett exempel – i vissa av voxlarna som strålen passerar tas inget sampel. Undersampling gör att färgskiftningar uppstår i bilden och avhjälps genom att helt enkelt sampla oftare, vilket dock gör beräknings- tiden längre. Det finns avancerade tekniker för att komma runt problemet, men de användes inte i detta examensarbete. Jag fick helt enkelt göra en avvägning mellan prestanda och kvalitet. (Engel et al., 2006, s. 216-218)

Tidigare har ray casting beräknats av centralprocessorn, men på senare tid har grafikkorten blivit programmerbara och då grafikkorten har stöd för att utföra många parallella beräkningar så görs beräkningarna med fördel på grafikkortet.

2.2.6 Programmerbara grafikkort

Det som har gjort det möjligt att utföra ray casting på grafikkortet är att de olika stegen i renderingspipelinen (se avsnitt 2.2.6) har blivit programmerbara. När gra- fikkort för hårdvaruaccelerering av 3D-grafikberäkningar blev tillgängliga för vanliga konsumenter i mitten av 90-talet var beräkningsfunktionerna inbyggda i hårdvaran och den möjlighet som fanns att påverka resultatet var att välja bland dessa förde- finierade funktioner.

På de tidiga grafikkorten fanns bara funktioner för rasteriseringen av bilden, det vill säga beräkningar för pixlarna. Mot slutet av 90-talet kom även grafikkort med funktioner för att beräkna belysning och transformationer av geometrin. De två olika typerna av beräkningar kallas för pixel (eller fragment) shaders och vertex shaders. Vertex betyder hörn och det är alltså hörnen på polygonerna som avses.

Nästa generation grafikkort kom 2001 och tillät äntligen programmering av vertex- och pixelberäkningarna om än i liten skala. Vertexprogrammen fick bestå av max 128 instruktioner och 96 parametrar och hade ingen tillgång till texturer.

Pixelprogrammen var ännu simplare och hade en gräns på omkring 12 instruktioner där även själva instruktionerna var av enkel karaktär. Det fanns inte heller några möjligheter att påverka programflödet genom loopar eller villkorssatser.

Dagens grafikkort möjliggör en betydligt mer generell programmering av både pixel och vertex shaders och de allra senaste korten erbjuder även ytterligare ett beräkningssteg kallat geometry shaders som ligger mellan de två tidigare stegen och ger möjligheten att lägga till nya hörn i geometrin. Tidigare har man varit låst till att flytta runt den geometri som redan funnits i scenen. Processorerna kan användas för vilken som helst av de tre stegen och det går därmed att fördela beräkningarna beroende på vilken typ av rendering som utförs. Gränsen för antalet instruktioner ligger för ett modernt kort på 65536 instruktioner med 16x4096 parametrar, vilket

(19)

Figur 2.4. Programmerbar pipeline. Dagens grafikkort tillåter programmering av vissa steg. Bild från (Fitger, 2008, s. 11)

i praktiken sällan utgör något hinder (Fitger, 2008, s. 9-10).

Eftersom grafikkorten numer är så snabba och programmerbara har de även börjat användas för andra beräkningstunga program än bara grafik. Detta eftersom grafikkorten har en väl utvecklad parallellisering av beräkningar vilket går att dra nytta av i simuleringar eller numeriska metoder. Eftersom grafikkorten trots allt är konstruerade för just grafikberäkningar kan det vara svårt att anpassa beräkningar- na för mer generella program. Det kräver att den som implementerar programmen har avancerad kunskap om både ämnesområdet och grafikprogrammering, vilket gjort att användandet av grafikkortet för generella beräkningar ändå blivit ganska måttligt. (Lejdfors, 2008, s. 9-10).

Renderingspipeline

Renderingspipelinen (fig. 2.4) har fått sitt namn eftersom data flödar genom den precis som vatten flödar genom rörledningar. Varje steg tar emot dataflödet, utför sina beräkningar och skickar data vidare till nästa steg. De efterföljande stegen måste alltså vänta tills data passerat de tidigare stegen innan de får tillgång till dem.

Däremot går det ofta att parallellisera beräkningarna i de olika stegen vilket fått till följd att hårdvaran till största delen förbättras genom att tillföra fler processorer snarare än att öka hastigheten hos processorerna (Fitger, 2008, s. 5).

Vertex shader

Vertexprogrammet körs en gång för varje hörn i geometrin. Vanligtvis används ver- texprogrammet för att utföra transformationer av koordinaterna för varje hörn, beräkna normaler, generera texturkoordinater och beräkna belysning.

Varje hörn innehåller data om dess position och normal med mera. Dessa data kallas vertex attributes. Utöver dessa data har vertexprogrammet även tillgång till

(20)

variabler med information om scenen, kallade uniform variables. Dessa kan innehålla olika transformationsmatriser och belysningsparametrar bland annat.

När shaderprogrammet utfört sina beräkningar på hörnen kan det skicka vidare data till andra delar av pipelinen med hjälp av så kallade varying variables.

Som tidigare nämnts så går det även att använda vertexprogrammet till mer allmänna beräkningar. I simulatorn används dock inte vertexprogrammet då allting kan göras i nästa steg: Pixelprogrammet (Fitger, 2008, s. 12).

Pixel shader

Pixelprogrammet tar vid där vertexprogrammet lämnat av och körs en gång för varje pixel på skärmen. Pixel shadern kallas ibland även fragment shader. Innan det körs har hörnen satts ihop till så kallade primitiver – enkla geometriska figurer som trianglar och linjer – och dessa har delats upp i pixlar.

Pixelprogrammet tar emot varying- och uniform-variablerna och använder dessa för att bestämma färgen på pixeln den behandlar. De vanligaste användningsområ- dena är läsa färgvärden från texturer och beräkna olika typer av belysningsmodeller såsom Phong Shading (Fitger, 2008, s. 13).

I simulatorn beräknas ray castingen i pixelprogrammet tillsammans med färg- hämtning från texturer och Phong Shading för skuggningen.

Phong shading

Phong Shading delar upp ljuset som reflekteras från ett objekt i tre delar: am- bient, diffuse och specular. Ambient är andelen allmänljus som är konstant över hela objektet och beror inte på riktningen till ljuskällan. Diffuse är andelen som reflekteras diffust, d.v.s. det inkommande ljuset sprids jämnt åt alla håll. Specular är den del som speglas perfekt, d.v.s. ljusstrålarnas infallsvinkel är lika stor som reflektionsvinkeln.

Hur mycket som speglas avgörs av en term kallad shininess där ett högt värde ger en blank yta och ett lågt värde en diffus yta (Angel, 2006, s. 293-297).

2.3 Visuell perception

Den bild vi ser av världen beror till stor del på hur vår hjärna väljer att tolka informationen som når den från ögonen. De bilder som fångas på näthinnan är tvådimensionella, komplexa mönster som ständigt förändras, men sätts sedan sam- man till stabila tredimensionella objekt i en tredimensionell rymd. De objekt vi så tydligt ser är alltså snarare tolkningar än en direkt representation av den fysiska omgivningen (Palmer, 1999, s. 9).

Ett tecken på detta är att vår tolkning av objekt även innefattar de delar av objekten som vi inte kan se, men som vi ändå gissar oss till utifrån tidigare erfaren- heter. Se figur 2.5 där trekvartscirkeln tolkas som en hel cirkel där ena fjärdedelen är skymd av en kvadrat. De flesta objekt vi ser omkring oss är till viss del skym-

(21)

Figur 2.5. Visuell komplettering. Figuren verkar bestå av en cirkel skymd av en kvadrat snarare än en trekvartscirkel bredvid en kvadrat.

da, men vi tolkar dem ändå som hela objekt. Detta visar på att den omgivning vi uppfattar till stor del beror på tidigare erfarenheter, då den bild som fastnar på näthinnan inte innehåller någon information om de dolda delarna. Det gör också att vi kan sortera objekt i djupled utifrån hur de skymmer varandra (Palmer, 1999, s. 11).

Något vi människor är mycket bra på är att finna konturer och dela upp synin- trycket i objekt. Vi är faktiskt så bra på det att vi inte inser hur svårt det egentligen är, men det är bara vända sig till forskningen inom datorseende för att se att det krävs mycket komplexa beräkningar för att särskilja olika objekt. (Solso, 1994, s. 53) En tydlig indikation på att vi inte ser omgivningen exakt som den är, utan tillför information för att förstärka konturer kan ses genom att titta på Machband. Dessa bilder består av jämngråa fält i olika nyanser som placerats intill varandra. När vi ser dem tolkar vi dem inte som jämngråa, utan som att den sida som gränsar till en mörkare nyans tolkas som ljusare än den sida som gränsar till en ljusare nyans (se fig. 2.6). Detta beror på en mekanism som kallas lateral inhibition. En receptor på näthinnan kan förutom att stimulera den neuron den är direkt kopplad till även hämma kringliggande neuroner (Palmer, 1999, s. 115-116). Detta gör att konturer upplevs mer distinkta än de rent fysikaliskt är.

2.3.1 Djupseende

Det finns ett flertal olika stimuli som hjärnan använder för att uppskatta djupet i omgivningen. Jag kommer nedan att ta upp de som är av största vikt för detta examensarbete, men det finns även många andra som jag utelämnar då de inte är relevanta för de situationer jag undersöker.

Ackommodation

För att se objekt skarpt på olika avstånd måste ögat forma om linsen för att ändra fokus, vilket kallas ackommodation. Informationen om hur mycket linsen har ändrats kan användas för att avgöra på vilket avstånd objektet befinner sig. Detta är ett sätt att utvinna djupinformation som fungerar även med bara ett öga, men fungerar

(22)

Figur 2.6. Machband. Notera att varje fält verkar vara mörkare i vänsterkanten än i högerkanten.

bara på avstånd upp till ungefär 3 meter. Över detta avstånd är strålarna som når ögonen i stort sätt att räkna som parallella och fokus ligger därmed i oändligheten (Palmer, 1999, s. 203).

Stereopsis

Då ögonen sitter en bit ifrån varandra kommer varje öga att se en lite annorlunda del av omgivningen. Objekt som ligger nära skiljer mycket åt mellan de båda bilderna på vardera näthinnan, medan objekt som ligger långt bort är nästan lika. Skillnaden mellan bilderna kan på så vis användas för att avgöra hur långt det är till olika objekt. På avstånd större än 30 meter är skillnaderna för små för att ge upphov till någon djupinformation (Palmer, 1999, s. 206).

Konvergens

Ett närliggande fenomen till stereopsis är konvergensen. När man tittar på ett objekt som ligger nära kommer ögonen att vridas mot objektet så att de båda bilderna av det objekt betraktaren fokuserar på blir så lika som möjligt. Vinkeln med vilken ögonen konvergerar avgör hur långt bort objektet är. På avstånd över 10-20 meter är vinkelskillnaden för liten för att kunna registreras och konvergensen bidrar alltså endast med djupinformation på kortare avstånd (Manneberg, 2006, s. 1).

Rörelseparallax

Ett sätt att tillgodogöra sig mer djupinformation om en omgivning är att använda sig av rörelseparallax. När observatören själv rör sig åt ett håll verkar objekt som ligger nära observatören röra sig snabbare åt motsatt håll än de som ligger längre bort. Testa det själv genom att ta sikte på något avlägset objekt och hålla upp ena pekfingret på armlängds avstånd och andra handens pekfinger på ungefär halva

(23)

Figur 2.7. Upplevd rörelse i stereobilder. A: I ett fall med verkligt djup i bilden skyms och uppenbaras nya delar när betraktaren rör sig. B: Eftersom detta inte sker i en platt bild så verkar istället den närmre ytan följa betraktaren. Modifierad bild från (Palmer, 1999, s. 214).

avståndet så att fingrarna skymmer objektet. Rör sedan huvudet i sidled utan att flytta fingrarna och det närmre fingret kommer se ut att fara iväg åt motsatt håll (Palmer, 1999, s. 255).

Vid användning av stereobilder för att simulera djup så kan en artefakt uppstå då rörelseparallax inte fungerar. Hjärnan är van vid att om man flyttar huvudet så borde delar av objekt som var skymda av mer närliggande objekt bli synliga, men eftersom alla delar av stereobilden ligger i samma bildplan så kan man inte se in bakom objekt genom att byta betraktningsvinkel. Hjärnan tolkar då informationen som att de mer närliggande objekten då rör sig åt samma håll som betraktaren i en hastighet som precis skulle uppväga rörelseparallaxen. Detta gör att hela scenen ser ut att följa betraktaren. Se figur 2.7 för ett enkelt exempel.

Skuggning

När ett objekt belyses av en ljuskälla kan sättet det skuggas på användas för att utvinna information om objektets form. De delar av ytan där normalerna pekar mot ljuskällan blir ljusast och delar där normalerna pekar bort från ljuskällan får mindre ljus och blir mörkare. Skillnaden mellan skuggning och skuggor är att skuggning kan beräknas för enskilda objekt utan att ta hänsyn till andra omgivande objekt. Se figur 2.8. Den del där klotet skymmer ljuskällan för underlaget kastas en skugga på underlaget. Skuggningen på själva klotet påverkas dock bara av ytans orientering

(24)

Figur 2.8. Skuggning av objekt. De delar där normalen pekar mot ljuskällan blir ljusa och de delar där den pekar bort blir mörkare. Därmed kan objektets form avgöras.

relativt ljuskällan och underlaget behöver därmed inte tas med i beräkningen.

Skuggning är därför ett mycket effektivt sätt att detektera djup i en tvådimen- sionell bild. Det verkar även ha uppstått tidigt i evolutionen då många arter har utvecklat sin färgteckning för att motverka den naturliga skuggningen: deras un- dersidor är ljusare än ovansidan för att neutralisera effekten av en sol som skiner ovanifrån. På så sätt blir det svårare för rovdjur att urskilja deras konturer.

Att tolkningen av skuggning utvecklades när solen var den dominerande ljuskäl- lan går även att se i de experiment som Kleffner och Ramachandran (1992, s. 18-21) utförde med olikskuggade cirklar. De påvisade att hjärnans tolkning av djup från skuggning verkar förutsätta en enda dominerande ljuskälla som i det optimala fal- let kommer ovanifrån. Betrakta cirklarna i figur 2.9. De cirklar som är ljusa överst tolkas som utbuktningar och de andra som inbuktningar. Det är nästan omöjligt att reversera effekten och tolka bilden som om ljuset kom nedifrån. Vrids bilden uppochner byter dock in- och utbuktningarna plats. Om bilden endast vrids ett kvarts varv kan betraktaren däremot välja om ljuset skall komma från vänster eller höger och därmed påverka hur cirklarna buktar. Så fort man byter tolkning för en cirkel så byts den även för alla andra cirklarna i bilden. Det går inte att tolka alla samtidigt som enbart inbuktningar ljussatta från olika håll.

Vidare visar Kleffner och Ramachandran (1992, s. 35) på att en mask av ett ansikte ser ut att vara vänt mot betraktaren även om det är insidan av masken som betraktas, vilket betyder att stereoinformationen helt bortses från och skuggningen är det som bestämmer hur djupet tolkas. Detta blev än mer tydligt när de vände näsan utochin så att den alltså var åt rätt håll, medan resten av masken var in- verterad. Resultatet tolkades som ett helt normalt ansikte, vilket betyder att den djupreverserande effekten inte är global utan bara appliceras på de delar där det är nödvändigt.

(25)

Figur 2.9. In- och utbuktningar. Hjärnan förutsätter att ljuset kommer ovanifrån och tolkar utifrån detta cirklar som är ljusa upptill som utbuktningar och de som är ljusa nertill som inbuktningar. Testa att vända bilden uppochner och se att in- och utbuktningarna byter plats.

(26)

Projekt Forssim

I detta kapitel beskriver jag simulatorn som ligger till grund för mitt examensarbete.

Projekt Forssim är ett samarbetsprojekt mellan HiQ och Forsslund Systems som syftar till att framställa en simulator för extraktion av visdomständer. Projektet använder sig av öppen källkod vilket gör att den som vill får använda sig av koden samt vidareutveckla den.

Teamet jag arbetar med på HiQ varierar i storlek, men ligger oftast runt fyra utvecklare utöver mig. Jag har av naturliga skäl fokuserat på de grafiska delarna av utvecklingen, men har även bidragit till att hålla kontinuitet i projektet då det har varit viss omsättning av utvecklare.

Tanken är att simulatorn ska användas i utbildningen av nya tandläkare så att de kan öva på olika typer av operationer innan de utför dem i verkligheten.

3.1 Simulatorn

3.1.1 Hårdvara

Simulatorn är utrustad med en så kallad haptisk enhet (se fig. 3.1) som kan ge kraftåterkoppling i tre frihetsgrader, vilket alltså medför att användaren kan känna på virtuella objekt. Den haptiska enheten är utformad som en penna som sitter fast i en arm. De tre frihetsgrader som kan ge kraftåterkoppling är de tre rumsdimen- sionerna. Sedan kan pennan även roteras i ytterligare tre frihetsgrader, men utan kraftåterkoppling. Enheten agerar alltså som en 3D-mus och pennan liknar till stor del den borr som tandläkarna opererar med, vilket är en fördel.

Vidare består uppställningen av en CRT-skärm med hög upplösning och uppda- teringsfrekvens för att det ska gå att köra stereografik, vilket möjliggör djupseende.

Detta görs genom att låta skärmen visa varannan bild ur lite olika perspektiv, motsvarande vad vartdera ögat skulle se. Ett par glasögon med LCD-filter skärmar sedan bort ett öga i taget i samma frekvens som skärmuppdateringen vilket gör att varje öga endast ser sin bild och en 3D-effekt uppnås. Bilden speglas i en halv-

(27)

Figur 3.1. Haptikenheten Phantom Omni.

genomskinlig spegel så att användaren kan ha sin hand och haptikenheten inne i bilden för att uppnå samlokalisering mellan känsel- och synintryck.

För att förenkla transport av simulatorn, och för att inte ta uppmärksamhet från själva huvudfunktionen vid användning så är all hårdvara inbyggd i en träkon- struktion (se fig. 3.2).

Som stöd för handen under användandet av simulatorn används ett dockhuvud i naturlig storlek. Kirurgerna vilar ofta handloven eller lillfingret mot kinden på patienten för att stabilisera handen vid borrningen och därmed öka precisionen i de små rörelser som krävs.

3.1.2 Mjukvara

Mjukvaran bygger på de öppna API:erna X3D, H3D och MedX3D.

X3D

X3D är en standard för 3D-grafik på webben som utvecklades för att ersätta VRML.

X3D är uppbyggt enligt XML-standarden och är relativt enkelt att förstå och redi- gera även för den som inte är så van att programmera. Varje X3D-fil är uppbyggd av noder i en hierarkisk trädstruktur kallad scengrafen. Scengrafen är riktad och acyklisk, vilket innebär att den har tydlig början och slut samt att det inte finns några loopar (Brutzman och Daly, 2007, s. 1-3). Exempel på noder är <Transfor- mation> som används för att flytta och rotera objekt i 3D-miljön och <Sphere>

som ritar ut en sfär. Varje nod kan även ha attribut som påverkar deras egenskaper.

Med hjälp av olika noder byggs sedan hela 3D-miljön upp.

(28)

Figur 3.2. Simulatorn testas av två erfarna tandläkare.

H3DAPI och HAPI

H3DAPI bygger på X3D-standarden och kopplar samman det med rutiner för haptik – därav h:et i namnet. För att använda befintlig funktionalitet används XML-taggar precis som i X3D, men för att skapa nya funktioner programmerar man i C++ och skapar därmed nya taggar eller noder som de kallas. Då all källkod är öppen är det lätt att se hur de befintliga noderna är uppbyggda och därmed enklare kun- na bygga vidare på dem när man ska skapa egna noder. För enklare funktioner som kommunikation mellan olika noder kan även programmeringsspråket Python användas (SenseGraphics AB, 2008, s. 5-7).

MedX3D

MedX3D är ett API för visualisering av volymdata av olika format som även det är en utökning av X3D. Funktioner för ray casting, transferfunktioner och olika typer av renderingsmetoder finns redan implementerade. Det är till största delen detta API jag har använt mig av för att göra visualiseringen av tänderna. För skapandet av nya noder används även här C++, men för att påverka grafikberäkningarna används OpenGL:s shader-språk GLSL (MedX3D, 2009).

(29)

Metoder

I detta kapitel går jag igenom de olika metoder jag använt och förklarar varför jag använt dem.

4.1 Litteraturstudie

För att ta reda på vad som redan gjorts inom området gjordes en litteraturstudie.

Till att börja med läste jag övervägande om volymrendering. Boken Real-Time Volume Graphics av Engel et al. (2006) gav en bra överblick inom området.

Jag studerade också böcker som används i tandläkarutbildningen för att få en bild av hur ingreppet går till och hur själva anatomin i käken ser ut. För ingreppet läste jag Contemporary Oral and Maxillofacial Surgery av Hupp, Ellis och Tucker (2008) och för anatomin Clinically Oriented Anatomy av Moore och Dalley (1999).

Efter ett tag insåg jag att mitt arbete till stor del skulle komma att handla om själva uppfattningen av visualiseringen än implementationen. Därför övergick jag till att läsa mer om visuell perception. De två viktigaste källorna var artikeln On the perception of shape from shading av Kleffner och Ramachandran (1992) och boken Vision Science: Photons to Phenomenology av Palmer (1999).

Jag läste även metodlitteratur om kooperativ utvärdering för att förbereda mig inför utvärderingstillfällena. I boken Improving your Human-Computer Interface: A practical technique av Monk et al. (1993) fanns en bra guide för att göra utvärde- ringar med tekniken.

4.2 Omvärldsanalys

Eftersom datorgrafik är ett ämne under snabb utveckling är det inte säkert att den senaste informationen finns att läsa i böcker eller rapporter. Därför gjordes även en omvärldsanalys där jag letade upp program med liknande användningsområden för att se om jag kunde få någon ytterligare information därifrån.

Då simulatorn bygger på öppna API:er där volymrendering redan finns imple- menterad så började jag med att titta på hur jag skulle kunna använda mig av

(30)

redan befintlig kod för att utföra den visualisering jag eftersträvar. Framför allt är det API:et MedX3D jag använt och plöjt igenom källkoden på. Det visade sig att det mesta jag behövde redan fanns där, men några modifieringar behövde ändå göras. Eftersom API:et bygger på öppen källkod under GPL (GNU General Public License) så var det inga problem att ändra koden efter våra behov.

Som en del av omvärldsanalysen testade jag även olika segmenteringsprogram och undersökte hur segmentering kunde användas tillsammans med MedX3D för att förbättra visualiseringen. Vissa av dessa var även dem skrivna med öppen käll- kod och en tanke var att undersöka hur de hade implementerat volymrendering. Då MedX3D visade sig fungera tillräckligt bra för mina behov så lades den undersök- ningen emellertid på is.

Ett studiebesök gjordes på Linköpings Universitet i Norrköping där jag och Jonas Forsslund träffade Karl-Johan Palmerius Lundin och diskuterade volymren- dering i allmänhet. Karl-Johan tog upp viktiga koncept och trick och tipsade om litteratur. Jag och Jonas gjorde även en övningsuppgift för att sätta oss in i hur ray casting vid volymrendering kan utföras på grafikkortet.

4.3 En första utvärdering med experter

Jag medverkade vid en kooperativ utvärdering av simulatorn tillsammans med fy- ra käkkirurger. Kooperativ utvärdering är en teknik för att samla in synpunkter på en prototyps design så att den kan göras mer användbar. Tekniken går ut på att designern av prototypen är med under utvärderingen och tillåts diskutera med användaren till skillnad från “tänka högt”-metoden som förespråkas av Preece, Ro- gers och Sharp (2002, s. 365-368) där utvärderaren inte får hjälpa användaren.

Även i kooperativ utvärdering uppmanas användaren att “tänka högt” och hela ti- den berätta vad han/hon försöker uträtta, men med den väsentliga skillnaden att utvärderaren, som ju också är designern och har kunskap om systemet, får svara på frågor från användaren. Det går att ha en utvärderare som inte själv har varit med och designat systemet, men en grundtanke med metoden är att den ska vara enkel nog för att kunna utföras av någon med ringa erfarenhet av utvärderingar, just för att kunna låta designern själv utföra utvärderingen (Monk et al., 1993, s. 1). Även om jag själv har fått en del erfarenhet av att genomföra utvärderingar genom min utbildning, så tilltalades jag av enkelheten i metoden och att den ger upphov till en naturligare dialog med användaren. Jag valde den även för att Jonas Forsslund i sitt examensarbete använt metoden med framgång (Forsslund, 2008, s. 66).

Utvärderingen gick ut på att de fick använda sig av simulatorn en och en och samtala med mig och Jonas under testets gång. Utvärderingen dokumenterades med filmkamera för att kunna kontrolleras i efterhand. Tanken var att utvärderingen skulle föregås av ett pilottest med en annan käkkirurg, men detta hanns inte med.

Detta fick förstås negativa konsekvenser för utvärderingen, men vi fick i alla fall en hel del intressanta kommentarer att bygga vidare på.

(31)

Figur 4.1. Tänder renderade med distinkta färger.

Vid detta tillfälle renderades käkpartiet med distinkta enfärgade delar (se fig.

4.1). Emaljen var vit, dentinet gult, käkbenet grått och nerven/pulpan var röd.

Tanken var att detta skulle förenkla arbetet för kirurgerna då de olika delarna förtydligades.

Varje kirurg fick prova på att känna på tänderna för att vänja sig vid haptiken.

När de kände sig nöjda fick de börja borra i de olika delarna av tanden och försöka kalibrera hur fort olika material skulle avverkas. När de kände sig nöjda med hård- heten hos de olika materialen fick de försöka genomföra en visdomstandsoperation.

Vid det här tillfället fanns det inget färdigt scenario för hur användaren skulle utföra operationen, så varje kirurg fick göra som han/hon ville. Sedan diskuterades vilka olika steg som borde vara med i simulatorn och hur de skulle fungera.

Det här tillfället var till för att ta reda på generella förbättringar av simulatorn och var inte specifikt inriktat på själva visualiseringen, men jag tyckte det kun- de fungera som ett bra introduktionstillfälle för att ta reda på hur vana kirurger arbetade och vad de tyckte var viktigast att visualisera.

4.4 Utvärdering med studenter

Utvärderingen utfördes på Karolinska universitetssjukhuset i Huddinge tillsammans med lärare och sistaårsstudenter på den odontologiska utbildningen. Utvärdering- en var uppdelad i två tillfällen med ca 30 studenter per tillfälle och ingick i en undersökning hos Karolinska Institutet om användandet av simulatorer i utbild- ningen. Därför var min egen utvärdering underordnad och jag var tvungna att följa de riktlinjer som KI tillämpar, vilket gjorde att jag inte fick dokumentera med film- eller ljudinspelning. Jag var därmed tvungen att förlita mig på muntliga frågor till studenterna.

Studenterna samlades två och två, eller i undantagsfall tre och tre, vid simu- latorerna (se fig. 4.3). De började med att känna på tänderna med haptikenheten utan att borra. Sedan borrades delar av käkbenet bort för att komma åt att dela

(32)

Figur 4.2. Tänder renderade med texturerad yta.

tanden. När läraren bedömde att tillräckligt mycket ben tagits bort gick studenten vidare till nästa steg som var att ta bort kronan. Tanden borrades ca två tredje- delar igenom vid övergången mellan emalj och dentin. Därefter byttes borren mot en hävel när läraren tyckte att studenten kommit tillräckligt långt genom tanden och kronan bändes bort. Sedan borrade studenterna på roten och till viss del i det omgivande käkbenet för att frilägga roten. Slutligen användes häveln för att ta bort roten.

När som helst under operationen kunde studenten eller läraren välja att endast visa de volymrenderade tänderna och rotera dessa för att se hur studenten hade borrat, eller för att kontrollera själva anatomin.

Vid dessa tillfällen hade tänderna fått en mer texturerad yta, men ännu sakna- des äkta skuggning (se fig. 4.2). Istället baserades ljusheten för varje voxel på det hårdhetsvärde orginalbilden hade. Ju hårdare material, desto ljusare färg. Grund- färgerna var de samma som i testfallet med kirurgerna.

Vid båda tillfällena fanns två uppställningar av simulatorn som skiljde sig något åt rent fysiskt. Skillnaden var störst vid det första tillfället, mer om detta nedan.

Studenterna fick därför testa på båda versionerna av simulatorn.

4.4.1 Första tillfället

Det första tillfället utfördes i slutet av januari 2009. Vid detta tillfälle var den ena simulatorn inbyggd i ett trächassi samt hade ett dockhuvud som studenterna kunde stödja handen mot samt öva på att hålla i en sårhake för att hålla patientens mun öppen. Vid den andra simulatorn var datorskärmen uppfäst i en metallställning och själva datorlådan stod synlig bredvid. Båda simulatorerna bestod egentligen av samma beståndsdelar, men det var mer uppenbart i det ena fallet vilka dessa delar var.

Tyvärr kunde jag inte närvara vid detta tillfälle utan fick förlita mig på feedback från de delar av teamet som varit där.

(33)

Figur 4.3. Två studenter testar simulatorn tillsammans med en lärare.

4.4.2 Andra tillfället

Det andra tillfället utfördes i slutet av februari. Simulatorprogrammet var i stort sett identiskt med det förra tillfället, med den största skillnaden att det fanns ett grafiskt gränssnitt för inloggning och enkel manipulering av kameravinkeln vid det andra tillfället. Vid detta tillfälle hade även den andra simulatorn byggts in i en trälåda, men den saknade fortfarande docka med sårhake.

Vid detta tillfälle var jag med och observerade studenterna i deras arbete och intervjuade dem kort efter att de utfört operationen. Jag fick dock inte tillåtelse att filma eller på annat sätt dokumentera studenternas genomförande av operationen.

Jag fick däremot tillfälle att samtala med studenterna efter övningen och kunde då ställa ett antal informella frågor.

Det var ändå tydligt att det skulle behövas ett tillfälle till där jag fick full kontroll över genomförandet. Därför bestämde jag mig för att hålla en prototyputvärdering med externa tandläkare.

4.5 Utvärdering av skuggning

För att ta reda på hur viktig skuggningen var för djupkänslan valde jag att låta ett antal erfarna tandläkare testa ett antal olika fall med olika typer av volymrendering.

De första två var de tidigare nämnda fallen med tänder med distinkta färger (Fall A i fig. 4.4), tänder med mer struktur (Fall B i fig. 4.4) samt den nya renderingen med skuggning (Fall C i fig. 4.4). Vissa av tandläkarna hann även med att testa ett fall med skuggning där jag överdrivit färgerna på de olika delarna för att skapa större kontrast mellan dem (Fall D i fig. 4.4).

Tyvärr visade sig skuggningen kräva mycket hög beräkningskapacitet av grafik- kortet och trots försök till optimering av beräkningarna lyckades jag inte få till en

(34)

Figur 4.4. De fyra olika testfallen. Fall A: Enfärgade segment. Fall B: Segment med struktur genom nyanser. Fall C: Segment med skuggning. Fall D: Segment med skuggning och överdrivna färger.

acceptabel bilduppdateringsfrekvens innan testen utfördes. Men jag fick helt enkelt instruera tandläkarna att borra långsamt och försiktigt, samtidigt som jag ökade borrstorleken och borrhastigheten så att fler voxlar togs bort för varje bilduppda- tering.

Även under dessa tillfällen användes kooperativ utvärdering och tandläkarna uppmanades att “tänka högt” och jag ställde frågor när jag tyckte det blev för tyst.

Jag hade förberett en del frågor, men höll mig inte till något fast formulär utan fokuserade på att få en fungerande dialog.

Utvärderingen var på grund av svårigheter att få till en tid som passade för alla tvungen att delas upp i tre olika sessioner.

4.5.1 Första sessionen

Detta tillfälle gick till på följande sätt: Tandläkaren (hädanefter Tandläkare A) fick lite tid med att bara prova på simulatorn och vänja sig vid att använda den. Jag förklarade de olika stegen i operationen och visade hur man använde haptikenheten.

Tandläkare A fick sedan genomföra samma operation tre gånger med olika rende- ringar av tänderna och berätta hur djupet i bilden upplevdes och hur väl han tyckte sig kunna se detaljer på tänderna och det borrade området.

Tandläkare A genomförde Fall A, B och C och efteråt följde en kort diskussion om hur de olika renderingarna upplevdes och vilken som var att föredra.

Detta tillfälle dokumenterades med ljudinspelning.

(35)

Figur 4.5. Tänder renderade med skuggning.

4.5.2 Andra sessionen

Det andra tillfället var i mångt och mycket samma som det första, med följande skillnader:

Den största skillnaden var att testet utfördes med två tandläkare (B och C) samtidigt. På grund av tidsbrist hann de inte köra varje fall själva utan endast vartannat. Därför fick den ena observera medan den andra borrade. De bytte sedan av mellan varje fall. Eftersom de var två uppmuntrades de även att diskutera med varandra. Tandläkare B körde Fall A och C och Tandläkare C körde Fall B.

Ytterligare två fall lades till. Dessa fall var en modifiering av Fall C. Det ena var där stereografiken tagits bort och en vanlig platt tvådimensionell bild visades. Detta fall kallar jag Fall C2 i fortsättningen. I det andra fallet var färgerna på käkbenet och dentinet överdrivna, för att det lättare skulle gå att se skillnad på dem. Detta kallar jag Fall D (se fig. 4.6).

Bilduppdateringen med skuggningen var vid detta tillfälle något bättre, men fortfarande inte i samma frekvens som utan skuggning. Jag bad därför även här tandläkarna att borra försiktigare och med långsammare rörelser för att låta simu- latorn hänga med.

Då simulatorn krånglade lite drog testet ut på tiden och för att hinna med att ställa frågor om Fall C2 och D så borrade jag upp ett spår och tandläkarna fick känna lite på tänderna, men mest fokusera på att kommentera på det visuella.

Detta tillfälle dokumenterades med videokamera.

4.5.3 Tredje sessionen

Den tredje sessionen utfördes med ett antal tandläkare som en del av ett annat undervisningstillfälle där bland annat borrning i griskäke ingick. Tandläkarna var alltså där för att lära sig oralkirurgi och även fast de var erfarna tandläkare hade de ingen stor erfarenhet av just oralkirurgi. De som ville fick komma in en i taget och prova simulatorn, men tiden för varje tandläkare var knapp då det var mycket

(36)

Figur 4.6. Tänder renderade med skuggning och överdrivna färger.

annat som skulle hinnas med för dem.

Fem tandläkare, hädanefter kallade X1-5 för att särskilja dem från de mer er- farna tandläkarna, provade simulatorn i cirka 10 minuter var.

Två mer erfarna tandläkare, hädanefter kallade D och E, som höll i undervis- ningstillfället tog sig mer tid och var inte lika stressade som kursdeltagarna. Det var med D och E som den egentliga utvärderingen gjordes. Kursdeltagarna X1-5 var ju mest där för att lära sig operera, men kom ändå med en del intressanta kommentarer.

På grund av den knappa tiden testades endast två fall: Fall B med struktur (fig.

4.2) samt Fall C med skuggning (fig. 4.5). I båda fallen användes stereoglasögonen.

Jag fick själv prova på att borra i en griskäke och under den tiden skötte Jonas Forsslund simulatorn och lät ett ytterligare antal kursdeltagare prova den. Jag har valt att inte ta med deras testomgångar i rapporten då jag inte kunde vara där och ställa de frågor jag ville.

Tandläkare E hann även han börja sin omgång medan jag var borta, men körde om Fall B igen efter Fall C för att tydligare jämföra och även så att jag kunde vara med och diskutera. Han testade efter det även Fall D en kort stund. Därefter följde en kort diskussion.

Precis som vid tidigare tillfällen uppmanades tandläkarna att berätta vad de gjorde under själva operationen och efteråt diskuterades de två fallen och även skillnaden mellan synintrycken från simulatorn och från borrandet i griskäken.

Även detta tillfälle dokumenterades med videokamera.

4.6 Reliabilitet och validitet

Vid en vetenskaplig undersökning måste man alltid fundera över hur tillförlitliga de svar man fått fram egentligen är. Ett mått på detta är reliabilitet. För att en undersökning ska anses ha hög reliabilitet måste resultatet gå att återuppnå om undersökningen görs om under i stort sett samma omständigheter.

(37)

Validitet är ett annat mått som ger svar på huruvida undersökningen verkligen mäter det den var tänkt att mäta. Det går att få ett resultat som blir exakt samma varje gång undersökningen utförs och som därmed har mycket hög reliabilitet även fast man mäter helt fel sak och därmed har låg validitet (Bell, 2007, s.117-118).

Det är inte helt lätt att mäta dessa storheter, särskilt inte i ett arbete som detta som fokuserar på kvalitativa aspekter, det vill säga vad användarna tycker och tänker. Därför får man som utvärderare helt enkelt försöka uppskatta dem genom att se över vad som skulle kunna leda till att reliabiliteten och/eller validiteten blir låg och se till att försöka undvika de situationerna.

För att säkerställa att jag varit på rätt väg har jag med jämna mellanrum haft möten med min handledare, särskilt när det har gällt förändringar i upplägget. Jag har även låtit min handledare ta del av de frågor jag haft till grund för utvärdering- arna för att se till så att de höll hög standard.

Den största risken jag ser är att jag hade lite för lite kontroll över vissa av utvärderingstillfällena. Studenterna på Karolinska och tandläkarna kallade X1-5 var inte där i första hand för att utvärdera min frågeställning utan för att prova på simulatorn. Jag tror ändå att de tillförde något till examensarbetet, men den största vikten lägger jag vid tandläkarna A-E som jag hade mer tid att diskutera med.Det finns också en fara i att som intervjuare lägga orden i munnen på använ- daren, vilket är ett av skälen till att den traditionella “tänka högt”-metoden inte tillåter kommunikation mellan användare och utvärderare. Jag tror att den typen av metoder kan ha sina användningsområden, men att det hade varit svårt att an- vända det under mitt examensarbete. Jag var ofta tvungen att styra in diskussionen på ämnet djupkänsla och synintryck då det var så mycket annat som var nytt för användarna och som de gärna kommenterade.

De flesta av användarna var överens om att skuggningen gav en bättre djup- känsla, även om några föredrog den andra modellen rent estetiskt. Då det var just upplevd djupkänsla jag ville undersöka och nästan alla gav samma svar, så tror jag mig kunna säga att detta examensarbete har både hög validitet och reliabilitet.

(38)

Resultat

I detta kapitel presenteras de resultat jag kommit fram till i de olika delarna i den ordning de genomfördes.

5.1 Resultat från utvärdering med experter

Vid detta tillfälle hade jag precis fått segmenteringen av tänderna att fungera och kunde därmed tilldela varje segment en egen färg. Tidigare hade tänderna renderats i gråskala där endast voxlar med en hårdhet mellan två specifika värden visades.

Tanken var att detta skulle medföra att användaren enklare kunde skilja på tandens olika delar. Något som borde underlätta operationen då den dels går ut på att borra bort ben för att frilägga roten och dels på att dela tanden jämns med emalj- dentingränsen.

I verkligheten är den visuella skillnaden inte lika stor, men en tränad kirurg kan se skillnad på emalj och dentin och därmed följa gränsen. Kirurg A sade vid tillfället angående färgen på dentinet:

“Den avviker ju från emaljen, den är lite mera gul.”

– Kirurg A Vidare fortsatte han med följande kommentar angående käkbenet:

“Sen har du ju benet som är gulvitt [...] så ska det ju vara en tunn, tunn liten fåra här precis där roten går över i benet.”

– Kirurg A Det går alltså för ett tränat öga att skilja på de olika delarna, men simulatorn är i första hand inriktad mot studenter som kanske ännu inte lärt sig de subtila skillnaderna.

References

Related documents

Domstolsverket har bedömt att utredningen inte innehåller något förslag som påverkar Sveriges Domstolar på ett sådant sätt. Domstolsverket har därför inte något att invända

invändningar ska göras utifrån en objektiv bedömning och länsstyrelserna ska genom ”samverkan sinsemellan bidra till att urvalet av områden blir likvärdigt runt om i

Det saknas dessutom en beskrivning av vilka konsekvenser det får för kommunerna i ett läge där länsstyrelsen inte godkänner kommunens förslag på områden och kommunen behöver

Förslagen i promemorian innebär att innan en kommun gör en anmälan till Migrationsverket ska kommunen inhämta ett yttrande från länsstyrelsen över den eller de delar av kommunen

Huddinge kommun anser att de kommuner som likt Huddinge motiverat sina områdesval utifrån socioekonomiska förutsättningar och redan haft den dialog med länsstyrelsen som föreslås

Jönköpings kommun har beretts möjlighet att lämna synpunkter på promemorian ” Ett ändrat fö rfa rande för att anmäla områd en som omfatt as av be gr änsni n gen av rätt en ti

Frågan som är utskickad för remiss handlar om förslag om att göra vissa ändringar i det anmälningsförfarande som gäller vilka områden som omfattas av en begränsning

Katrineholms kommun överlämnar följande yttrande över Justitiedepartementets promemoria &#34;Ett ändrat förfarande för att anmäla områden som omfattas av begränsningen av