• No results found

Webgebaseerde atlas van 3D ultrasound afbeeldingen

N/A
N/A
Protected

Academic year: 2021

Share "Webgebaseerde atlas van 3D ultrasound afbeeldingen"

Copied!
30
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Webgebaseerde atlas van 3D

ultrasound afbeeldingen

D. Kieft

16 januari 2021

Supervisor(s): dhr. dr. R.G. Belleman

Inf

orma

tica

Universiteit

v

an

Ams

terd

am

(2)
(3)

ring van de echoscopist. In dit project wordt daarom een webgebaseerde toegankelijke atlas die biedt als hulpbron voor het herkennen van aangeboren hartafwijkingen bij het mense-lijk embryo ontwikkeld in samenwerking met het UMC Amsterdam. De focus binnen dit project ligt bij het opzetten van de back-end, waaronder de server, beveiliging en database. Onderzocht wordt wat de meest effici¨ente manier is om 3D ultrasound afbeeldingen inter-actief te maken in deze toegankelijke web atlas. Hiervoor wordt ge¨experimenteerd met de performance en schaalbaarheid van de ontwikkelde atlas. De opgeleverde atlas blijkt na het doen van experimenten voldoende effici¨ent en voldoet volgens het UMC Amsterdam aan de gestelde eisen.

(4)
(5)

1 Introductie 7

1.1 Ethische overwegingen . . . 8

2 Achtergrond 9 2.1 Menselijke embryologie en hartafwijkingen . . . 9

2.1.1 Het medisch bestandsformaat . . . 9

2.2 Webtechnologie . . . 10 3 Ontwerp 11 3.1 Doelstelling . . . 11 3.2 Database design . . . 12 3.3 Software architectuur . . . 12 4 Implementatie 15 4.1 Opzetten van Laravel en de database . . . 15

4.1.1 Database . . . 16 4.2 Server . . . 16 4.3 Beveiliging . . . 16 4.4 Visualisatie . . . 17 4.5 Performance . . . 18 5 Experimenten 21 5.1 Methode . . . 21 6 Resultaten 23 6.1 Atlas . . . 23 6.2 Performance en schaalbaarheid . . . 23

6.2.1 Browsen van de atlas . . . 24

6.2.2 Uploaden van datasets . . . 24

7 Conclusie 27 7.1 Discussie . . . 27

(6)
(7)

Introductie

Voor veel medische studenten is de herkenning van anatomische structuren (zoals botten, spieren en organen) in 2D ultrasound beelden een uitdaging [1]. Het diagnosticeren van anatomische af-wijkingen is zelfs nog uitdagender, aangezien daarvan weinig beelden beschikbaar zijn die tijdens de opleiding gebruikt kunnen worden. De beschikbaarheid van 3D ultrasound datasets in com-binatie met technieken uit de computergraphics kunnen hier mogelijk een oplossing voor bieden. Het gebruik van computergraphics in de medische wereld biedt echter nog meer voordelen. Het meest relevant is het opdoen van praktijkervaring waar dat normaal gesproken ingewikkeld zou zijn. Enkele voorbeelden hiervan zijn het simuleren van medische ingrepen of het bestuderen van embryo’s voor de geboorte [2].

Bij de Embryologie wordt de ontwikkeling omtrent computergraphics dan ook nauwlettend in de gaten gehouden. Het UMC Amsterdam werkt al langere tijd aan het toegankelijk visualiseren van het menselijk embryo. Zo is in 2016 een eerste online bibliotheek, de 3D embryo atlas opgesteld [3]. Het doel van deze visualisaties is om de ontwikkeling van het menselijk embryo in kaart te brengen.

Het UMC Amsterdam streeft nu naar een uitgebreide atlas met als doel het vroegtijdig her-kennen van aangeboren hartafwijkingen. Een aangeboren hartafwijking is namelijk de meest voorkomende doodsoorzaak vlak na de geboorte [4]. Vroegtijdige herkenning van deze afwijkin-gen tijdens de zwangerschap kan het verschil uitmaken tussen leven en dood door het kind direct na de geboorte van de juiste zorg te voorzien.

Voordat gekeken kan worden naar de benodigde zorg dient te worden beschouwd hoe deze af-wijkingen worden herkent: door middel van echografie. De mate waarin een eventuele afwijking herkent wordt hangt echter sterk af van de training en ervaring van de echoscopist [4]. Een expert zal bijna iedere afwijking kunnen herkennen. Toch wordt bij een groot onderzoek ongeveer de helft van de afwijkende gevallen maar gevonden [4].

Ook zijn er simpelweg niet genoeg echoscopisten om iedere zwangerschap te observeren. Door-dat 90% van de gevallen voorkomt in een zwangerschap zonder een voorafgaand risicofactor, blijkt het uitbreiden van grootschalige observatie de enige manier om aangeboren hartafwijkin-gen vroegtijdig te herkennen. Hiervoor moet de training en educatie voor echoscopisten verbeterd worden.

In dit onderzoek wordt onderzocht wat de meest effici¨ente manier is om 3D ultrasound afbeeldin-gen beschikbaar te maken door middel van een toegankelijke web atlas. Deze atlas moet dienen als hulpbron voor het herkennen van aangeboren hartafwijkingen bij het menselijk embryo.

(8)

1.1

Ethische overwegingen

De menselijke embryologie is een ethisch gevoelige studie waarvoor weinig fysieke modellen be-schikbaar zijn [5]. Onder andere om dit probleem op te lossen is met dit onderzoek begonnen. Eerst moet worden ingegaan in wat voor gradatie het resultaat van dit onderzoek, een webgeba-seerde atlas met 3D ultrasound afbeeldingen, ethisch kan worden verantwoord.

Een tegenargument is dat de data van echte mensen noodzakelijk is waarbij privacy niet altijd volledig kan worden gewaarborgd. Ook kan de atlas voor andere doelen worden gebruikt dan van tevoren bedacht. Bijvoorbeeld tijdens de zwangerschap. Het kan voorkomen dat vrouwen bij een zwangerschap te horen krijgen dat de baby aan een ernstige hartafwijking lijdt en niet lang na de geboorte zal overlijden. Het resultaat hiervan is dat besloten kan worden om de zwangerschap te be¨eindigen. Dit roept nieuwe ethische vragen op. Bovendien kan een zwangere vrouw onder druk gezet worden de ultrasound data van haar baby te delen [6]. Vanuit maatschappelijk belang kan de vrouw worden overgehaald, terwijl zij liever de data niet beschikbaar stelt voor onderzoek.

Aan de andere kant draagt het onderzoek bij aan beter onderwijs in het interpreteren van ultra-sound scans. Het gewenste resultaat hiervan is dat de juiste gezondheidszorg bij pasgeborenen kan worden toegepast. Het morele belang van het doel van een programma moet kunnen opwe-gen teopwe-gen de nadelen [7]. Bovendien moet onderzoek met betrekking tot embryo’s een belangrijk gezondheidsdoel hebben [5]. Beide gevallen zijn in dit onderzoek toepasbaar, doordat de gezond-heid van de pasgeborenen voorop staat.

(9)

Achtergrond

In dit hoofdstuk wordt ingegaan op de theoretische en praktische achtergrond van dit onderzoek. Ten eerste wordt behandeld wat de huidige stand van zaken is binnen de menselijke embryologie. Vervolgens wordt de toepasbaarheid van computergraphics samen met de nieuwste webtechno-logie¨en besproken.

2.1

Menselijke embryologie en hartafwijkingen

Hartafwijkingen behoren tot de meest voorkomende aangeboren afwijkingen die bij twee tot drie procent van de pasgeborenen voorkomen [8]. Bij ongeveer de helft van alle aangeboren hartaf-wijkingen treden alleen lichte complicaties op die vaak te behandelen zijn. Toch resulteert 35% van de gevallen in het overlijden van het kind. Hierdoor wordt binnen de menselijke embryologie veel aandacht besteed aan het onderzoek van herkenning en genezing van hartafwijkingen. Een probleem is dat echoscopisten niet altijd uitgebreide mogelijkheden hebben om te oefenen en ervaring op te doen [9].

Een ander probleem speelt zich af bij studenten. Bij de monitoring van het menselijke embryo wordt van studenten verwacht dat zij de constante en gelijktijdige veranderingen in het embryo kunnen volgen en begrijpen. Toch is het voor veel studenten lastig om studiemateriaal weerge-geven in 2D te interpreteren en in te beelden in 3D [10]. Uit onderzoek blijkt dat educatie met behulp van multimedia het onderwijs van medische studenten positief be¨ınvloedt en kan helpen bij het begrijpen van de 3D anatomie [10].

2.1.1

Het medisch bestandsformaat

Voor de opslag en communicatie van medische beelden wordt de DICOM standaard (Digital Ima-ging and Communications in Medicine) gebruikt [11]. Het is een bestandsformaat ontwikkeld om een reeks medische afbeeldingen samen te voegen en te standaardiseren binnen de medische wereld. Bovendien maakt deze standaard het eenvoudig om ontstaande datasets te delen tus-sen verschillende apparaten [12]. Deze datasets kunnen ook extra informatie bevatten in een bijbehorende header.

Het DICOM formaat wordt ook gebruikt in de echografie. Een ultrasound scan wordt samen met eventuele scan informatie opgeslagen in dit formaat. Doordat er speciale algoritmen gebruikt zijn om de dataset als een volume te visualiseren is het een uitdaging om dit in een webomgeving te realiseren [13]. Uit onderzoek blijk dat door toepassing van volume raycasting in WebGL het mogelijk is om ultrasound volumes interactief te visualiseren in webbrowsers [14]. Hierop voortbouwend is dit onderzoek ontstaan, waar onderzocht wordt hoe meerdere visualisaties samen verwerkt kunnen worden in een webgebaseerde atlas.

(10)

2.2

Webtechnologie

De opkomst van de webtechnologie maakt het mogelijk webgebaseerde applicaties te bouwen die vergelijkbaar zijn met desktop of mobiele applicaties [15]. Webapplicaties worden nu op veel plekken gebruikt, waaronder in de media, het onderwijs en in de zakelijke of medische wereld.

In de medische wereld worden webapplicaties vooral gebruikt door de komt van verbeterde vi-sualisatie mogelijkheden door de komst van HTML5 waar WebGL standaard is ingebouwd [15]. Deze combinatie maakt het mogelijk om op het web gebruik te maken van hardware acceleratie. Hier zijn externe plugins of software bibliotheken niet meer vereist en gebruik van een moderne browser voldoet. Hardware acceleratie maakt 3D visualisatie in de browser mogelijk (een ver-eiste voor dit onderzoek) door de meest zware taken op de videokaart van de gebruiker uit te voeren.

Andere belangrijke voorwaarden zijn performance en schaalbaarheid. Uit onderzoek waar een medische webapplicatie met 3D visualisaties is getest bleek een uitstekende performance naar boven te komen [15]. De combinatie van HTML met WebGL blijkt ook goed schaalbaar, wanneer de server goed gebruik maakt van zijn kracht en meerdere gebruikers gelijktijdig kan behandelen [16]. Overige rekenkracht wordt namelijk overgenomen door de videokaarten van de gebruikers, waardoor meer rekenkracht overblijft voor andere taken op de server en de werkdruk verdeeld wordt.

De toegankelijkheid van de atlas heeft ook een belangrijke rol gespeeld bij de keuze voor een webapplicatie. Een native applicatie is namelijk platform afhankelijk en niet toegankelijk voor iedereen. Bij een webapplicatie is alleen een moderne browser nodig, waardoor de applicatie direct overal benaderbaar is.

(11)

Ontwerp

3.1

Doelstelling

Voor dit onderzoek is het effici¨ent en eenvoudig visualiseren van ultrasound volumes als hulpmid-del voor het onderwijs het hoofddoel. Om deze visualisaties voor iedereen toegankelijk te maken is gekozen voor een webomgeving. Aangezien het project in samenwerking is met het UMC Amsterdam is naar hun wensen gevraagd. Ook is een tussenproduct aan het UMC Amsterdam gepresenteerd. Na het krijgen van feedback kon dit worden verwerkt om tot het eindproduct te komen. In dit hoofdstuk wordt besproken waar het project aan moet voldoen.

Visualisatie en interactie

Van de webomgeving wordt verwacht dat deze een online atlas bevat. In deze atlas worden 3D ultrasound beelden van ontwikkelende menselijke embryo’s opgeslagen en gevisualiseerd. Het feit dat de atlas dient als een hulpbron voor echoscopisten om hen te helpen met het herkennen van afwijkingen bij een echoscopie, wordt gezien als het belangrijkste aspect. De atlas zal ge-bruikmaken van geavanceerde 3D visualisatie- en interactie technieken om 3D ultrasound beelden te visualiseren en interactief te maken. Verschillende interactiemogelijkheden worden verwacht. Het roteren om een goed beeld te vormen van de 3D structuur. Een van tevoren gespecificeerd aanzicht selecteren met informatie over welke afwijkingen daarop te zien zijn. Om te vergelijken moet de mogelijkheid bestaan om normale en afwijkende embryo’s naast elkaar weer te geven. Bij het bestuderen van een embryo wordt ook extra metadata verwacht: een duidelijke omschrijving, de gebruikte scantechniek, datum van de scan en de zwangerschapsweek.

Beheren datasets

Een beheerder moet eenvoudig een nieuw embryo kunnen toevoegen door een dataset rechtstreeks te uploaden. Voor het uploaden van een dataset wordt vereist dat meerdere bestandsformaten worden ondersteunt, waaronder DICOM en VTK. Om grote datasets te ondersteunen is gekozen om zip bestanden te ondersteunen, waar losse DICOM bestanden in gecomprimeerd worden toe-gevoegd. Ook kan de beheerder aanzichten binnen het embryo specificeren. Aan deze aanzichten kunnen vastgestelde afwijkingen worden gekoppeld. Na het invullen van de besproken metadata kan het embryo worden opgeslagen en in de atlas worden weergegeven.

Beveiliging

Datasets moeten veilig worden verwerkt en mogen niet openbaar beschikbaar zijn. Voor be-heerders van de atlas moet de mogelijkheid bestaan een keuze te maken uit het accepteren en weigeren van studenten. Zonder directe toegang tot de atlas moet het wel mogelijk zijn om een lokale dataset direct te visualiseren. Een embryo moet informatie bevatten over welke beheerder de data heeft toegevoegd. Naderhand is het voor beheerders alleen mogelijk om metadata van de door hen toegevoegde embryo’s te wijzigen.

(12)

Figuur 3.1: Ultrasound database model. Bevat alleen belangrijke kolommen en kolommen met een relatie.

Bij zowel het browsen van de atlas als het uploaden van datasets spelen performance en schaal-baarheid een belangrijke rol. De server moet tijdens de eerste levensfase van de applicatie het vermogen bevatten om meerdere datasets tegelijk te verwerken. Naarmate de atlas compleet raakt is het ook belangrijk dat de atlas met een gepaste reactietijd een embryo visualiseert. Extra initiatieven

Uitgaande dat op het project een vervolgstudie zal plaatsvinden, is besloten enkele extra ini-tiatieven toe te passen. Omdat gekozen is voor een webapplicatie (om het project op zoveel mogelijk apparaten te laten werken) is gekozen kleine schermen ook te ondersteunen. De appli-catie moet volledig responsive worden gemaakt waardoor deze ook functioneert op een tablet of smartphone. Ook wordt de eis gesteld de applicatie multilingual te maken en te vertalen naar het Engels.

3.2

Database design

Bij het demonstreren van een tussenproduct gaf het UMC Amsterdam aan positief verrast te zijn met hetgeen bereikt was. Ze hadden enkele aanmerkingen over de manier van het toe-voegen van een dataset. Dit leidde tot enkele database aanpassingen met als eindresultaat het databaseontwerp zoals hier besproken.

Bij de database wordt uitgegaan van een hoofdtabel met daarin informatie over het embryo. Een versimpeld diagram van de ontworpen database is weergegeven in figuur 3.1

In het diagram is een link tabel (fetuses linker ) te zien die datasets van hetzelfde embryo aan el-kaar koppelen. Een embryo wordt door middel van koppeltabellen onderverdeeld in een categorie en bevat informatie over de gebruikte scantechniek. De eigenaar van een embryo is gedefinieerd met een owner id, de beheerder die verantwoordelijk is voor het uploaden van de dataset. Door het UMC Amsterdam zijn er standaard embryo aanzichten en afwijkingen opgegeven. Voor een embryo kunnen al deze aanzichten worden opgeslagen in de fetus views tabel met camera informatie, waaronder de positie, view up vector en focal point. Vervolgens kan een aanzicht informatie bevatten over welke afwijkingen daarop te zien zijn door deze toe te voegen aan de fe-tus abnormalities tabel. Zoals in het diagram ook te zien is, zijn alle relaties binnen de database ´e´en-op-veel-relaties.

3.3

Software architectuur

Het project is verdeeld over twee onderzoeken, een front- en back-end. Dit onderzoek specificeert zich op de back-end en het onderzoek van een collega student op de front-end. Voor de back-end

(13)

front-end project had oorspronkelijk tegelijkertijd uitgevoerd moeten worden met dit project, maar heeft een vertraging opgelopen. Hierdoor is binnen dit project besloten om voor aanzichten van een embryo geen doorsnedes te gebruiken, maar simpelweg camera waardes zoals besproken in hoofdstuk 3.1.

(14)
(15)

Implementatie

4.1

Opzetten van Laravel en de database

Laravel is een webapplicatie framework ontwikkeld door Taylor Otwell in 2011. Het is een PHP framework gebaseerd op een Model View Controller (MVC ) (figuur 4.1) model dat door zijn gebruikersgemak, schaalbaarheid en flexibiliteit al snel ´e´en van de populairste PHP frameworks werd [17]. Laravel stimuleert het ontwikkelproces door veelvoorkomende taken te simplificeren, waaronder database beheer, authenticatie en caching. De voor dit onderzoek meest relevante voordelen zijn [18]:

1. Caching door een geautomatiseerd caching systeem wat een verbeterde performance ople-vert.

2. DRY (Don’t repeat yourself) code doordat Laravel een omgeving biedt waar functionaliteit gedeeld kan worden over verschillende onderdelen en objecten.

3. Laravel levert samen met Jetstream en Livewire 1 een standaard afgewerkte front-end met een navigatiemenu en alle benodigde authenticatieschermen. Ook biedt het standaard de mogelijkheid om de applicatie eenvoudig te vertalen. Hiervoor is gekozen om tijdens het begin van de back-end ontwikkelfase resultaten overzichtelijk te presenteren in een standaard opgezette layout. De combinatie Laravel met Jetstream maakt verder gebruik van het TailwindCSS framework2, waarmee de applicatie responsive gemaakt is.

4. Het gebruik van een database Object-relational mapping (ORM ). De Eloquent ORM gele-verd in Laravel werkt direct samen met de database door waardes en relaties te represen-teren als objecten. Elk model in de MVC structuur behoort tot een tabel in de database, uitgedrukt in figuur 4.1. Tijdens de ontwikkeling hoeft de ontwikkelaar geen Raw SQL te schrijven, maar kan direct aan het werk met objecten. Voordelen voor dit onderzoek zijn ten eerste dat het database onafhankelijk werkt. In een eventuele vervolg productiefase kan besloten worden een ander database systeem te implementeren. Ten tweede leidt het tot code reductie waar in de tijdslimiet van het onderzoek gebruik van gemaakt wordt. In figuur 4.1 is de MVC structuur van de webapplicatie te zien. Laravel maakt het zoals besproken eenvoudig om deze structuur op te zetten. Een gebruiker stuurt via de browser een verzoek naar de server waar het routing mechanisme bepaalt welke Laravel controller of Livewire component aangeroepen moet worden. Controllers worden alleen gebruikt bij het opvragen en toevoegen van data. De controllers zorgen ervoor dat de juiste server scripts aan worden geroepen en dat de gebruiker wordt geverifieerd. Controllers en components hebben beide toegang tot alle models. Nadat de benodigde handelingen op eventuele models zijn uitgevoerd wordt in het geval van een

1Laravel Livewire is een bibliotheek dat het eenvoudig maakt om moderne, responsive en dynamische interfaces te bouwen bij het gebruik van de Laravel Blade Language [19].

(16)

Figuur 4.1: MVC structuur zoals gebruikt in de webapplicatie.

controller een view aangeroepen en gevisualiseerd in de browser. Bij een component verloopt dit anders en geeft de server geen view terug. Het voordeel van een component vergeleken met een controller is dat bij het verwerken van data of het aanroepen van een handeling de website niet hoeft worden vernieuwd. Livewire stuurt vanaf een component in de achtergrond een verzoek via JavaScript naar de server. In stap 5 van figuur 4.1 wordt in het geval van een component geen view teruggeven, maar een antwoord op een verzoek. Livewire vangt dit antwoord op en past via Javascript de onderdelen aan in de webomgeving.

4.1.1

Database

Voor het opzetten van de database wordt gebruik gemaakt van Laravel migraties [21]. Het voor-deel hiervan is dat de database direct in de code kan worden gedefinieerd en hierdoor makkelijk op te zetten is. Bovendien is een database seeder ontwikkeld. Deze seeder kan bij het verhuizen van de server direct de database vullen met de gewenste data. In deze seeder staan ook de standaard categorie¨en waarbinnen embryo’s vallen en afwijkingen (gedefinieerd door het UMC Amsterdam) genoteerd.

4.2

Server

In figuur 4.2 is het upload proces voor nieuwe informatie weergegeven. Bij het uploaden van een embryo wordt gevraagd om een dataset. Deze kan bestaan uit losse DICOM bestanden, een gecomprimeerd bestand met DICOM bestanden of een VTK bestand. Waar een VTK recht-streeks kan worden opgeslagen, dient een DICOM dataset omgezet te worden naar een VTK bestand. De server start in een speciaal ontworpen data controller een python proces dat via de vtkDICOMImageReader een dataset inleest. Deze dataset wordt vervolgens omgezet naar een VTK bestand, gebruikmakend van de vtkXMLImageDataWriter. Dit proces is in figuur 4.2 gerepresenteerd als de dcm2vtk stap.

4.3

Beveiliging

Doordat gevoelige data op de server verwerkt wordt (waarmee een pati¨ent te herkennen is) is de beveiliging van de data een belangrijk aspect. Het meest privacygevoelige gedeelte is het uploaden van een dataset. De toevoeging van VTK ondersteuning neemt al een groot gedeelte uit handen, doordat deze geen informatie over het embryo bevatten (buiten de anatomie). Een groter risico speelt op wanneer de beheerder een DICOM dataset uploadt. Deze bestanden bevatten

(17)

en de geboortedatum. Aan deze gegevens kan een embryo later worden herkend, waardoor de privacy niet gewaarborgd zou zijn.

Om dit proces toch zo veilig mogelijk te laten verlopen is een systeem bedacht waar de DICOM bestanden eerst in een tijdelijke buffer terechtgekomen. De server gaat vervolgens direct met de bestanden aan de slag zoals besproken in hoofdstuk 4.2. Na het ontstaan van het VTK bestand worden alle DICOM bestanden direct vanuit de buffer verwijderd.

Vervolgens heeft de server metadata nodig om de dataset te kunnen bewaren. In het geval dat de gebruiker niet is ingelogd als een beheerder of een beheerder de dataset niet opslaat wordt in beide gevallen na 24 uur het VTK bestand ook van de server verwijderd.

Toch is het ook belangrijk om de ingevoerde metadata door de beheerders goed te beveiligen. VTK bestanden en afbeeldingen staan niet openbaar op de server. Wanneer deze bestanden nodig zijn wordt eerst in een ontworpen embryo beveiliging controller gekeken of de gebruiker de juiste toegang heeft voordat de server het beschikbaar stelt.

4.4

Visualisatie

De VTK bibliotheek visualiseert de verkregen dataset in de atlas in een moderne webbrowser. Waar in het onderzoek van Erkamps de verschillende visualisatie mogelijkheden van ultrasound volumes werden onderzocht, wordt dat in dit onderzoek uit handen genomen door de VTK bibliotheek [14]. De bibliotheek komt met de benodigde eigenschappen voor het visualiseren en interacteren.

De pipeline die ge¨ımplementeerd is wordt beschreven in figuur 4.3. Eerst wordt via de beveiligde weg de juiste VTK data opgevraagd. Na het eventueel toepassen van filters vormt de bibliotheek bruikbare objecten (mappers) vanuit de verkregen data [22]. Op deze objecten kunnen nader-hand actors worden toegepast [23]. Deze kunnen invloed uitoefenen op verschillende visuele eigenschappen, zoals transparantie, detail en kleur. De laatste stap is het verwerken van deze objecten in een visualisatie scherm die in de webomgeving kan worden geplaatst. Dit scherm

(18)

Figuur 4.3: VTK visualisatie pipeline.

verzorgt onder andere de interactie met het object.

In dit onderzoek zijn voor de pipeline alle door VTK standaard visualisatie eigenschappen voor een volume ingesteld. Om de VTK data in te lezen wordt in dit project de vtkXMLImageDat-aReader gebruikt. Het resultaat wordt na het toepassen van een vtkVolumeMapper en vtkVolume gevisualiseerd in een vtkGenericRenderWindow. Het resultaat is te zien in figuur 4.4.

De VTK bibliotheek ondersteunt meerdere bestandsformaten. In dit onderzoek wordt voor het opslaan en beheren van volume data het VTK XML Image Data (VTI) bestandstype gebruikt [24]. Het bestand is gecomprimeerd waardoor het een zo laag mogelijke opslagruimte in beslag neemt [24]. In dit onderzoek wordt hier naar verwezen als een VTK bestand.

4.5

Performance

Om de performance en schaalbaarheid zo hoog mogelijk te houden bij het browsen van de atlas is gekozen om het proces voor het opvragen van embryo data zo eenvoudig mogelijk te houden. Een controller hoeft alleen de gebruiker te verifi¨eren. Na goedkeuring wordt de data teruggegeven aan de browser. Naar verwachting is daarom de performance alleen afhankelijk van de hardware en netwerkverbinding van de server.

De performance en schaalbaarheid van het uploaden van datasets hangt af van meer factoren. Waar het upload proces afhankelijk is van de server, is het ook de implementatie van de dataver-werking dat effect zou kunnen hebben. Zoals in hoofdstuk 4.2 is besproken moet gevoelige data namelijk worden omgezet. Hierdoor is het niet mogelijk om dit proces ook zo eenvoudig mogelijk te maken. Laravel biedt echter wel de mogelijkheid om via de ingebouwde Symfony bibliotheek een proces op de meest effici¨ente en eenvoudige manier uit te voeren. Na het implementeren van deze stap is de performance in hoofdstuk 5 getest.

(19)
(20)
(21)

Experimenten

5.1

Methode

In hoofdstuk 3.1 werden eisen gesteld voor een hoge performance en schaalbaarheid van de webomgeving. Om te concluderen hoe effici¨ent de ontwikkelde atlas is het belangrijk om deze twee aspecten te observeren. Voor dit experiment is gebruik gemaakt van de DAS [25]. Gekeken wordt naar de atlas waar met meerdere nodes tegelijk, data van een embryo van de server wordt gedownload. Deze tijd wordt relevant naarmate de atlas genoeg embryo data bevat en veel wordt gebruikt. Eerst is het daarom relevant om te experimenteren met het toevoegen van embryo data, aangezien dit bij de oplevering van de atlas vaak zal gebeuren.

Het project is vervolgens op een externe server gezet. Door het doen van de experimenten op deze server worden beperkingen van een lokaal netwerk buiten beschouwing gehouden.

In tabel 5.1 zijn de experimenten weergegeven. Per experiment valt te zien uit hoeveel DICOM bestanden het volume bestaat, wat deze bestanden aan opslagruimte in beslag nemen en wat de door de server gemaakte VTK bestandsgrootte is. Eveneens is het formaat van het volume gecomprimeerd in een zip bestand genoteerd.

Test ´e´en bevat een voorbeeld dataset verkregen door het UMC. Deze dataset is vergroot door middel van het programma ParaView 1 wat leidt tot de tweede dataset. Voor dataset drie is

gekozen voor een CT voorbeeld dataset [27]. Dit is de grootst beschikbare dataset.

Om de gemiddelde tijdsduur per aantal nodes te meten is een python script ontwikkeld. Dit script kan door het srun2 commando meerdere programma’s tegelijk aanroepen op de DAS. De

uitvoering van het experiment is te zien in figuur 5.1. Op de DAS start het parent python script. Dit script begint met het starten van ´e´en node (als cluster). Vanaf deze node wordt vervolgens vijf keer een verzoek gestuurd. Dit kan een verzoek zijn voor het opvragen of het toevoegen van data. Van deze vijf verzoeken neemt het parent script de gemiddelde tijdsduur en standaarddeviaties. Wanneer deze waarden zijn opgeslagen begint het proces opnieuw, maar nu met twee nodes tegelijk. Per node ontstaat nu een gemiddelde tijdsduur van de verzoeken. Van

1ParaView is een open-source, multi-platform data analyse en visualisatie applicatie. Gebruikers kunnen eenvoudig visualisaties bouwen om data te analyseren en bewerken [26].

2srun voert een taak parallel en tegelijk uit op clusters.

Tabel 5.1: Uitgevoerde experimenten met verkregen dataset.

Test DICOM bestanden DICOM formaat VTK formaat ZIP formaat

1 447 98 MB 45 MB 34 MB

2 924 204 MB 51 MB 40 MB

(22)

Figuur 5.1: Het performance experiment uitgevoerd op de DAS.

deze gemiddelden wordt het totale gemiddelde en de standaarddeviatie berekend. Dit hele proces herhaalt zich uiteindelijk tot er 20 nodes tegelijk worden aangeroepen. Tussen elk verzoek staat het proces 4 seconden stil. Deze stop is ge¨ımplementeerd om er voor te zorgen dat voorgaande verzoeken geen invloed hebben op nieuwe verzoeken. In deze 4 seconden kan de server zich voorbereiden op een nieuw verzoek.

(23)

Resultaten

In dit hoofdstuk worden de verkregen resultaten besproken. Eerst wordt de ontwikkelde atlas bekeken en tegenover de wensen van het UMC Amsterdam gezet. Vervolgens is een overzicht van de resultaten van het experiment weergegeven. In dit experiment is gekeken naar de performance en schaalbaarheid van de webgebaseerde atlas. Op de DAS worden meerdere nodes gebruikt om gelijktijdig verzoeken te sturen naar de atlas. Van deze verzoeken is de gemiddelde tijdsduur en standaarddeviatie genomen en in dit hoofdstuk weergegeven.

6.1

Atlas

Bij de ontwikkeling van de atlas werd zoals besproken een server met bijhorende database ver-wacht. Alle vereiste aanvragen aan de server zijn ge¨ımplementeerd. Het is mogelijk om de atlas te bekijken, datasets te uploaden, twee datasets tegelijk aan te vragen en deze naast elkaar te visualiseren. De atlas met filter en zoekopties is te zien in figuur 6.1. Als een categorie of filteroptie wordt geselecteerd krijgt de gebruiker een collectie van embryo afbeeldingen te zien waaruit gekozen kan worden. Als de gebruiker vervolgens een embryo wilt bestuderen kan deze worden gekozen, waarna het embryo scherm zoals in figuur 4.4 te zien is, wordt geladen. In dit scherm wordt alle informatie van het embryo in een overzicht weergegeven. Het is mogelijk om een aanzicht te selecteren en informatie over afwijkingen te bekijken.

De webapplicatie is ook beveiligd. Gevoelige data wordt verwerkt voordat het wordt opgesla-gen op de server. Bij het bekijken van deze data wordt de gebruiker eerst geverifieerd. Voor beheerders is het mogelijk om gebruikers te beheren. Gebruikers kunnen worden omgezet van student naar een beheerder. Bij wantrouwen kan een gebruiker de toegang tot de atlas worden ontnomen. Een beheerder kan eerder toegevoegde datasets bewerken en verwijderen.

De applicatie is ook vertaald naar het Engels en volledig responsive gemaakt. Bij het eindresul-taat gaf het UMC Amsterdam aan dat de atlas, gekeken vanuit het perspectief van dit onderzoek, precies voldoet aan de verwachtingen.

6.2

Performance en schaalbaarheid

De figuren 6.2, 6.3 en 6.4 geven de resultaten van het performance en schaalbaarheid onderzoek weer. Drie experimenten zijn uitgevoerd (tabel 5.1). De gemiddelde tijdsduur van de verzoeken is uitgezet tegen het aantal nodes dat tegelijkertijd het experiment uitvoert. Ook is voor ieder punt de standaarddeviatie te zien.

(24)

Figuur 6.1: Atlas met links een zoekoptie en filter mogelijkheden. Rechts zijn de categorie¨en weergegeven waar een embryo onder kan vallen. De categorie¨en, afwijkingen en scantechnieken zijn door het UMC Amsterdam gedefinieerd.

6.2.1

Browsen van de atlas

In figuur 6.2 is de performance van het browsen van de atlas weergegeven. De gemiddelde tijdsduur bij de experimenten verloopt lineair naarmate meer nodes tegelijk gebruikt worden. Bij de meeste punten valt geen of een kleine standaarddeviatie te zien.

6.2.2

Uploaden van datasets

Figuur 6.3 bevat het resultaat van het uploaden van embryo informatie als DICOM bestanden. Ook hier verloopt de gemiddelde tijdsduur lineair naarmate meer nodes tegelijk gebruikt worden. In het resultaat zijn alleen kleine standaarddeviaties waar te nemen. Test drie is niet weergegeven. Dit komt doordat de server een foutmelding ’413 Payload too large’ teruggeeft. Daarom is deze test alleen gecomprimeerd uitgevoerd.

Figuur 6.4 laat het resultaat zien van het uploaden van embryo informatie (gecomprimeerde DICOM bestanden). De gemiddelde tijdsduur verloopt ook in dit resultaat lineair naarmate meer nodes tegelijk worden aangeroepen. In dit resultaat zijn grotere standaarddeviaties en enkele kleine uitschieters zichtbaar.

(25)

0 5 10 15 20 0 2 4 Nodes simultaan Tijd in seconden

Figuur 6.2: Resultaten van het browsen van de atlas: de gemiddelde tijdsduur met standaardde-viatie van de verzoeken naar de server, bij het downloaden van embryo data van n nodes tegelijk. Per punt is het experiment vijf keer uitgevoerd en zijn de gemiddelden genomen. De testmaat loopt op per test en is te zien in tabel 5.1.

0 5 10 15 20 0 10 20 30 40 Nodes simultaan Tijd in seconden Test 1 Test 2

Figuur 6.3: Resultaten van het uploaden van een dataset naar de atlas: de gemiddelde tijdsduur met standaarddeviatie van de verzoeken naar de server, bij het uploaden van DICOM embryo data met n nodes tegelijk. Per punt is het experiment vijf keer uitgevoerd en zijn de gemiddelden genomen. De testmaat loopt op per test en is te zien in tabel 5.1.

(26)

0 5 10 15 20 0 5 10 15 20 Nodes simultaan Tijd in seconden Test 1 Test 2 Test 3

Figuur 6.4: Resultaten van het gecomprimeerd uploaden van een dataset naar de atlas: de gemiddelde tijdsduur met standaarddeviatie van de verzoeken naar de server, bij het uploaden van gecomprimeerde DICOM embryo data met n nodes tegelijk. Per punt is het experiment vijf keer uitgevoerd en zijn de gemiddelden genomen. De testmaat loopt op per test en is te zien in tabel 5.1. Alle drie de tests zijn ingepakt in een zip bestand.

(27)

Conclusie

Over de effici¨entie van de atlas kan naar aanleiding van de experimenten een uitspraak worden gedaan. Wanneer de applicatie overgaat van de ontwikkelfase naar productie valt te verwachten dat meerdere datasets tegelijk worden toegevoegd. Bij het toevoegen van losse DICOM bestan-den als dataset neemt de gemiddelde tijdsduur lineair toe. Een maximumgrootte en maximum aantal losse bestanden limiteren hier het upload proces. Een mogelijkheid tot het gecompri-meerd toevoegen van een dataset lost dit probleem op. Bij het gecomprigecompri-meerd uploaden valt te concluderen dat de grootst mogelijke experimentele dataset die is gevonden zonder problemen en met een lineaire tijdsduur kon worden toegevoegd. Ook doordat uit het experiment blijkt dat DICOM goed te comprimeren is. Bij het gecomprimeerde experiment zijn grotere deviaties (met enkele kleine uitschieters) ontstaan dan bij de andere experimenten. Het verschil met de andere experimenten is dat hier de bestanden eerst uitgepakt moeten worden. Hierdoor bestaat het vermoeden dat dit proces niet altijd even goed parallel verloopt. De deviaties zijn echter niet zo groot dat zij opmerkelijk zullen zijn. Nadat de atlas is gevuld met data is de verwachting dat meerdere gebruikers tegelijk datasets op zullen vragen. Ook hier blijkt dat de gemiddelde tijdsduur lineair verloopt. Als 20 gebruikers tegelijk de grootste dataset opvragen, duurt het gemiddeld minder dan zeven seconden voor de data beschikbaar is. Aan verdere interactie met het volume zit geen extra wachttijd verbonden. Te concluderen valt dat de applicatie in het uiterste geval voldoende effici¨ent is.

Het UMC Amsterdam heeft aangegeven dat de ontwikkelde atlas voldoet aan de vereisten ge-steld voor dit onderzoek. De opgeleverde atlas maakt het mogelijk 3D ultrasound afbeeldingen interactief weer te geven. Ook functioneert de atlas als een hulpbron voor echoscopisten bij het herkennen van aangeboren hartafwijkingen bij pasgeborenen. Tijdens de ontwikkeling is reke-ning gehouden met het in de toekomst voortzetten van dit project door andere onderzoekers. Het project is gedocumenteerd en bevat de nodige uitleg om hier eenvoudig op voort te bouwen. De webapplicatie is verder eenvoudig bij te werken door het gebruik van Laravel. Volgens het UMC Amsterdam kan de ontwikkelde atlas in de toekomst dienen als hulpbron voor het herkennen van aangeboren hartafwijkingen bij het menselijk embryo.

7.1

Discussie

In dit onderzoek is alleen gekeken naar de performance van de server. Performance van de gebruiker is hier buiten beschouwing gelaten. De gebruiker heeft na het ontvangen van de dataset van de server nog de taak om het te visualiseren met behulp van de videokaart. In dit onderzoek is niet gekeken naar de performance van dit gedeelte. De verwachting is echter dat dit geen bottleneck zal zijn met de moderne videokaarten van de laatste jaren.

Tijdens de ontwikkeling van de applicatie is alleen gebruik gemaakt van ´e´en beschikbaar gestelde experimentele dataset. De applicatie is verder getest met ´e´en realistische grote dataset [27]. De

(28)

applicatie is dus nog niet getest met werkelijke embryo data.

7.2

Vervolg

Het front-end project moet opgepakt worden. Doorsnedes van een embryo moeten in de database worden opgeslagen en plaats maken voor de camera waarden. De visualisatie door middel van de VTK bibliotheek moet ook worden verbeterd. Op het moment wordt gebruik gemaakt van stan-daard actors en mappers. Deze kunnen special worden aangepast naar medische volumes. De nadruk van dit onderzoek lag voornamelijk in het ontwerpen en implementeren van de web-gebaseerde atlas. Hierdoor was er bij het presenteren van het tussenproduct alleen tijd om feedback te vragen aan het UMC Amsterdam. In een vervolgonderzoek is het interessant om ook echoscopisten en studenten om hun mening over de applicatie te vragen.

(29)

[1] Battulga B; Konishi T; Tamura Y; Moriguchi H.

”The Effectiveness of an Interactive 3-Dimensional Computer Graphics Model for Medical Education”. In: Interact J Med Res (2012). doi: 10.2196/ijmr.2172.

[2] Tim Vernon en Daniel Peckham.

”The benefits of 3D modeling and animation in medical teaching”. In: The Journal of audiovisual media in medicine 25 (jan 2003), p. 142–8. doi: 10.1080/0140511021000051117.

[3] B.S. de Bakker. 3d embryo atlas. https://www.3dembryoatlas.com. 2016. [4] Suzana Guimar˜aes Moraes en Luis Antonio Violin Pereira.

”A multimedia approach for teaching human embryology: Development and evaluation of a methodology”. In: Annals of Anatomy - Anatomischer Anzeiger 192.6 (2010). TEACHING ANATOMY, p. 388–395. issn: 0940-9602. doi: https://doi.org/10.1016/j.aanat.2010.05.005.

[5] Guido Wert en Christine Mummery.

”Human embryonic stem cells: Research, ethics and policy”. In: Human reproduction (Oxford, England) 18 (mei 2003), p. 672–82. doi: 10. 1093/humrep/DEG143.

[6] Adriana Kater-Kuipers e.a.

”Ethics of routine: a critical analysis of the concept of ‘rou-tinisation’ in prenatal screening”. In: Journal of Medical Ethics 44.9 (2018), p. 626–631. issn: 0306-6800. doi: 10.1136/medethics-2017-104729. eprint: https://jme.bmj.com/ content/44/9/626.full.pdf. url: https://jme.bmj.com/content/44/9/626.

[7] Antina De Jong e.a.

”Advances in prenatal screening: The ethical dimension”. In: Nature reviews. Genetics 12 (sep 2011), p. 657–63. doi: 10.1038/nrg3036.

[8] E Buskens e.a.

”Efficacy of routine fetal ultrasound screening for congenital heart disease in normal pregnancy”. In: Circulation 94.1 (jul 1996), p. 67–72. issn: 0009-7322. doi: 10.1161/01.cir.94.1.67.

[9] Derek Magee e.a.

”An augmented reality simulator for ultrasound guided needle placement training”. In: Medical & biological engineering & computing 45 (nov 2007), p. 957–67. doi: 10.1007/s11517-007-0231-9.

[10] Suzana Guimar˜aes Moraes en Luis Antonio Violin Pereira.

”A multimedia approach for teaching human embryology: Development and evaluation of a methodology”. In: Annals of Anatomy - Anatomischer Anzeiger 192.6 (2010). TEACHING ANATOMY, p. 388–395. issn: 0940-9602. doi: https://doi.org/10.1016/j.aanat.2010.05.005.

[11] Mildenberger P.; Eichelberg M.; Martin E.

”Introduction to the DICOM standard”. In: European radiology (2002). doi: https://doi.org/10.1007/s003300101100.

[12] M. Mustra, K. Delac en M. Grgic.

”Overview of the DICOM standard”. In: 2008 50th International Symposium ELMAR. Deel 1. 2008, p. 39–44.

[13] John Congote e.a.

”Interactive Visualization of Volumetric Data with WebGL in Real-Time”. In: Proceedings of the 16th International Conference on 3D Web Technology. Web3D ’11. Paris, France: Association for Computing Machinery, 2011, p. 137–146. isbn: 9781450307741. doi: 10.1145/2010425.2010449. url: https://doi.org/10.1145/2010425.2010449.

[14] R. Erkamps.

”Webgebaseerde visualisatie van ultrasound-afbeeldingen”. In: UvA scripties bibliotheek (2020).

(30)

[15] Sha Min, Zhifeng Wang en Neng Liu.

”An Evaluation of HTML5 and WebGL for Medical Imaging Applications”. In: Journal of Healthcare Engineering 2018 (aug 2018), p. 1–11. doi: 10.1155/2018/1592821.

[16] Hector Jacinto e.a.

”A Web Interface for 3D Visualization and Interactive Segmentation of Medical Images”. In: Proceedings of the 17th International Conference on 3D Web Tech-nology. Web3D ’12. Los Angeles, California: Association for Computing Machinery, 2012, p. 51–58. isbn: 9781450314329. doi: 10.1145/2338714.2338722.

[17] Majida Laaziri e.a.

”A comparative study of laravel and symfony PHP frameworks”. In: International Journal of Electrical and Computer Engineering 9.1 (2019), p. 704.

[18] Ishaq Jound en Hamed Halimi.

”Comparison of performance between Raw SQL and Elo-quent ORM in Laravel”. In: 2016.

[19] Livewire. Laravel Jetstream Livewire. 2020. url: https://jetstream.laravel.com/1.x/ stacks/livewire.html.

[20] A. Wathan. Tailwind CSS. 2020. url: https://tailwindcss.com/docs/responsive-design.

[21] Laravel. Laravel Migrations. https://laravel.com/docs/8.x/migrations. 2020. [22] VTK. VTK mappers. 2020. url: https://vtk.org/doc/nightly/html/classvtkMapper.

html.

[23] VTK. VTK actors. 2020. url: https://kitware.github.io/vtk-js/api/Rendering_ Core_Actor.html.

[24] VTK. VTK file formats. 2020. url: https://vtk.org/wp-content/uploads/2015/04/ file-formats.pdf.

[25] H. Bal e.a.

”A Medium-Scale Distributed System for Computer Science Research: Infra-structure for the Long Term”. In: Computer 49.5 (2016), p. 54–63. doi: 10.1109/MC.2016. 127.

[26] Paraview. ParaView. 2020. url: https://www.paraview.org.

[27] Aliza Medical Imaging. Aliza Dicom Datasets. https://www.aliza-dicom-viewer.com/ download/datasets. 2020.

Referenties

GERELATEERDE DOCUMENTEN

Onderstaand is de nadruk gelegd op twee versies, waarin onderscheid wordt gemaakt tussen prijzen die voor langere periodes gelijk zijn en prijzen die regelmatig fluctueren1. Wanneer

- Mocht je ze niet zien, dan kun je op mediafilter klikken en alle datums selecteren of de maand, de laatst toegevoegde foto’s komen bovenaan te staan.. - Je kunt bij de

F.1 of F.2 op het kentekenbewijs) registreren. U moet dan aan de hand van de aanvaarde documenten bewijzen dat uw voertuig niet kan slepen en dat de MTM het maximaal

Deze vragenlijst is samengesteld, omdat bij het kopen en verkopen van een woning (onroerende zaak) op de koper een eigen onderzoeksverantwoordelijkheid rust om zich zo op een

In tabel 3.3 zijn de kosten (totaal en per reisdocument) weergeven van de gemeente Utrecht, het stadsdeel Amsterdam Noord en het stadsdeel Amsterdam Nieuw-West voor het aanvraag-

Er dient aandacht te zijn voor een voldoende hoog authenticatie-niveau; het moet onomstreden duidelijk zijn dat alleen de burger inzage heeft in zijn eigen gegevens en dat

heden om de eigen toegankelijkheidsstrategie te verantwoorden. Verwacht wordt dat het oplossen van deze knelpunten in combinatie met een meer ontspannen houden betreffende

In de nieuwe constellatie was kortom de persoonlijke normatieve motivatie dominant en werd deze ondersteund door de economische motivatie (de angst voor meer boetes).. Ook wat