Bachelor Informatica
Analyse en kwantificatie van complex gevormde 3D-beelden van computertomografie¨en van koralen Alexandra Moraga Pizarro Bachelor of Science 6129544
19 juli 2013
Supervisor(s): Robert Belleman (UvA) Signed:
2
Samenvatting Veranderingen in koralen bieden hulp bij het ontrafelen van de geschiedenis van oceanografische en klimatologische veranderingen [3]. Aan de structuurveranderingen van een koraal kunnen deze veranderingen bepaald worden. Door een toename aan koolstofdioxide zijn de koralen bedreigd met uitsterven [24]. Het is hierdoor van belang om non-destructief onderzoek uit te voeren. In deze scriptie wordt het meten aan de structuur van een koraal door gebruik te maken van visualisaties beschreven. Deze visualisaties zijn te realiseren aan de hand van CT-scans. Het visualiseren van de datasets van CT-scans van koralen geschiedt door middel van ParaView op het RVS cluster van SURFsara. Met de meetmethoden van ParaView is het mogelijk om structuurmetingen en volumetrische metingen te verrichten. Deze meetmethoden worden vervolgens geanalyseerd op de kwaliteit, nauwkeurigheid, onzekerheid, validiteit en reproduceerbaarheid van de meting. De resultaten zijn reproduceerbaar en betrouwbaar.
2
Inhoudsopgave
1 Introductie 1.1 Probleemstelling en doelstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Afbakeningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Verantwoording . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 5 5 5
2 Literatuurstudie
7
3 Visualisatie methoden 3.1 Definitie van meten . . . 3.2 Meten aan CT-scans . . 3.2.1 Contour . . . . . 3.2.2 Direct en indirect
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . volume rendering
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
11 11 12 12 15
4 Implementatie 4.1 Voorwaarden en eisen . . . . . . . . . . 4.2 Visualisatie software mogelijkheden . . . 4.3 Image processing mogelijkheden . . . . . 4.4 Implementatie keuze . . . . . . . . . . . 4.5 ParaView . . . . . . . . . . . . . . . . . 4.6 SURFsara . . . . . . . . . . . . . . . . . 4.7 Meetmethoden . . . . . . . . . . . . . . 4.7.1 Niet-interactieve meetmethoden . 4.7.2 Interactieve meetmethoden . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
17 17 17 18 19 19 20 21 21 21
5 Resultaten 5.1 Performance metingen . . . . . . 5.2 Structuurmetingen . . . . . . . . 5.2.1 Niet-interactieve metingen 5.2.2 Interactieve metingen . . 5.3 Volumetrische metingen . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
23 23 24 24 25 31
. . . . .
. . . . .
. . . . .
. . . . .
6 Conclusie
37
7 Evaluatie 7.1 Erkenning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39 39
A Handleiding: ParaView op het RVS cluster van SURFsara A.1 Verbinden in ParaView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.1.1 Data distributie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45 46 46
B Handleiding: RAW bestand cre¨ eren met behulp van ImageJ B.1 Openen in ParaView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47 47
3
4
HOOFDSTUK 1
Introductie Er bestaan ongeveer 6000 verschillende soorten koralen. Vaak leven zij in grote, kilometers lange kolonies in warme en schone zee¨en en oceanen. Ze bestaan in verschillende vormen en kleuren, die door zowel genetische verschillen als het milieu bepaald worden. Aan de structuur van een koraal kunnen klimaatveranderingen in zijn omgeving worden bepaald. Het gehalte aan CO2 , de temperatuur van het zeewater en het licht zijn enkele voorbeelden die invloed hebben op de structuurveranderingen van een koraal. De vorm van een koraal kan zodoende in hoge mate vari¨eren. Voor het verhelderen van de klimaatveranderingen in de omgeving van een koraal is het van belang inzicht te krijgen in de groei en de vorm van de koraalkolonies [2].
1.1 Probleemstelling en doelstelling Voor het bepalen van de klimaatveranderingen dienen de structuurveranderingen van een koraal zichtbaar worden gemaakt. Een mogelijkheid hiervoor is het openbreken van een koraal, waardoor het koraal onherstelbaar beschadigd wordt. Door gebruik te maken van CT-scans kan de binnenkant van een koraal op een non-destructieve wijze gescand worden. Om een duidelijk beeld te verkrijgen van de structuurveranderingen van een koraal kunnen eventueel CT-scans van koralen gebruikt worden. In deze scriptie wordt als eerst onderzocht of het mogelijk is om met CT-scans structuurveranderingen zichtbaar te maken. Hierna wordt de mogelijkheid onderzocht om metingen te verrichten aan de CT-scans om deze structuurveranderingen te kwantificeren. Vragen zoals “Hoe kunnen de datasets van CT-scans in 3D-beelden gevisualiseerd worden?”, “Hoe kunnen metingen verricht worden aan een koraal door middel van visualisaties?” en “Zijn deze metingen reproduceerbaar en betrouwbaar?” vormen de essentie van het in deze scriptie te onderzoeken onderwerp. Het onderwerp van deze scriptie is dan ook het analyseren en kwantificeren van 3D-beelden van computertomografie¨en van koralen.
1.2 Afbakeningen Ter afbakening van het onderzoek zal eerst het visualiseren van datasets van CT-scans in 3D behandeld worden. Zodra dit met succes is volbracht, kunnen er metingen uitgevoerd worden op deze visualisatie van een koraal.
1.3 Verantwoording 3D-visualisatie maakt het mogelijk om objecten te analyseren op een non-destructieve wijze. Vanuit deze visualisatie kunnen metingen uitgevoerd worden en grafieken gecre¨eerd worden. De structuurveranderingen van een koraal kunnen bestudeerd worden met behulp van het driedimen5
sionale beeld van CT-scans, waardoor biologen beter inzicht krijgen in de klimaatveranderingen in de omgeving van een koraal.
6
HOOFDSTUK 2
Literatuurstudie Computervisie biedt veelbelovende technologie¨en om 3D-modellen van een omgeving op te bouwen vanuit tweedimensionale beelden uit video’s en foto’s [48]. Bij de compacte 3D-reconstructie van koraalriffen zijn volledige camera trajecten nodig om te dienen als basis. Volgens het artikel 3D Reconstruction of Underwater Structures produceert de toepassing van standaard 3Dreconstructie methoden onbevredigende resultaten bij uitdagende onderwateromgevingen, zoals koraalriffen. Een nauwkeurige 3D-reconstructie is de ideale basis waarop compacte reconstructie algoritmen gebaseerd kunnen worden. In dit artikel wordt er een techniek voorgesteld voor deze 3D-reconstructie, waarbij het opstellen van HD camera’s met behulp van een vissnoer aan een boot de oplossing biedt. Deze techniek maakt paren van stereobeelden, berekent 3D-punten en schat stapsgewijs het traject van de camera posities. Dit traject in combinatie met 3Dori¨entatiepunten wordt gebruikt als een initi¨ele schatting voor de optimalisatie toolkit. Het toepassen van deze toolkit op de applicatie resulteert in een geoptimaliseerd camera traject en een 3D-net van punten. Deze punten worden vervolgens getextureerd om een fotorealistisch1 3D-model te verkrijgen, zie Figuur 2.1.
Figuur 2.1: 3D-reconstructie van een koraalrif [48]. Met nauwkeurige fotorealtische 3D-modellen van onderwater omgevingen is het mogelijk om wetenschappers te voorzien van een instrument voor het maken van kwantitatieve metingen van structuren. Computertomografie is een onderzoeksmethode om op non-destructieve wijze een tweedimensionale afbeelding te maken die een doorsnede weergeeft van een driedimensionaal object, zoals het lichaam [2]. Bij deze onderzoeksmethode bevindt zich een r¨ontgenbron enerzijds van het object en anderzijds een r¨ ontgendetector. Uit deze bron komt een stralingsbundel die loodrecht door het object gaat. Een beeld kan gevormd worden door de stralen die meer of minder doorgelaten worden door de verschillende weefsels. De overige straling wordt gemeten door de detector 1 De
werkelijkheid die op een zo realistisch mogelijke manier wordt weergegeven [12].
7
waarbij de positie wordt bijgehouden. Om opnamen te maken vanuit alle richtingen beweegt de r¨ ontgenbuis 360 graden om het object. De computer kan een gedetailleerd beeld maken uit deze metingen die tot op de millimeter nauwkeurig is, zie Figuur 2.2.
Figuur 2.2: De werking van computertomografie [4]. Allan Cormack combineerde het perspectief van de r¨ontgenstraling met bepaalde wiskundige technieken in 1963 [1]. Godfrey Hounsfield had bedacht dat het mogelijk was om de inhoud van een doos te bepalen door middel van r¨ontgenfoto’s vanuit alle hoeken [49]. Hij testte zijn theoretische principe door met een matrix te werken van getallen die op nul werden vastgesteld, met een vierkant in het midden waar elk getal op 1000 werd vastgesteld. Deze data werden in een computerprogramma ingevoerd om gesimuleerde absorptie waarden te krijgen. Vervolgens reconstrueerde hij de foto met behulp van een ander programma. Godfrey Hounsfield had vervolgens in 1969 de eerste scanner ontwikkeld. Door de ontwikkeling van de CT-scan is het mogelijk om non-destructieve metingen uit te voeren op objecten. Voor de visualisatie van de datasets van CT-scans van koralen kan gebruik worden gemaakt van de bestaande visualisatie techniek, de skeletvorming techniek [46]. Hierbij worden 3D-beelden gevormd van het skelet van een koraal waarbij de aftakkingen goed zichtbaar zijn, zie Figuur 2.3. Er zijn vier verschillende morfologische eigenschappen die met deze techniek bepaald kunnen worden, namelijk de dikte van een tak, de hoeken tussen takken, de afstand tussen takken en de geotropie2 hoeken [23] [55].
Figuur 2.3: De skeletvorming techniek uitgevoerd op CT-scans van een koraal [56]. Bij het visualiseren van de CT-scans kunnen ruis artefacten zichtbaar worden, door verstrooiing van de r¨ ontgenstralen. De oneffen oppervlakte en beschadigingen van een koraal die veroorzaakt worden door een lange blootstelling aan het marine milieu zijn tevens zichtbaar in de CT-scans [54]. 2 Geotropie
is het verschijnsel dat de groei van planten be¨ınvloed wordt door de zwaartekracht.
8
Voor het uitvoeren van metingen dient de gehele structuur gevisualiseerd te worden, waardoor de skeletvorming techniek niet van toepassing zal zijn. In dit onderzoek wordt het echter wel duidelijk dat het visualiseren van een koraal en het verrichten van metingen hierop mogelijk is. Er is al enig onderzoek gedaan aan koralen, zowel met CT-scans als zonder. Enkele voorbeelden hiervan zijn de visualisatie van de skeletvorming van een koraal en 3D-modellen van de omgeving van koraalriffen. In deze scriptie wordt onderzoek gedaan in het visualiseren van de structuurveranderingen van een koraal. Daarnaast is het kwantificeren van metingen aan deze structuurveranderingen van een koraal een onderdeel van deze scriptie.
9
10
HOOFDSTUK 3
Visualisatie methoden In dit hoofdstuk zal als eerst bepaald worden wat meten eigenlijk is en zal onder andere de nauwkeurigheid en reproduceerbaarheid van een meetmethode bepaald worden. Daarna worden de algoritmen van de visualisatie methoden gedetailleerd beschreven, waarmee het mogelijk is om metingen te verrichten op de visualisatie.
3.1 Definitie van meten Er zijn verschillende definities van het begrip meten [21]. I. Gertsbakh, auteur van het boek Measurement Theory for Engineers gebruikt de volgende definitie van het begrip meten: Definitie 3.1.1. Meten is het bepalen van de waarde van een meetvariabele met behulp van een specifiek meetinstrument en meetprocedure [21]. Emperisch onderzoek draait om het meten. Meten maakt het mogelijk om verschillende soorten onderzoeken uit te voeren [21]. Er kan onderscheid gemaakt worden tussen verkennend, toetsend, diagnostisch en evaluerend onderzoek. Verkennend onderzoek cre¨eert idee¨en over hoe de werkelijkheid in elkaar zit en deze worden getoetst bij toetsend onderzoek. Bij een diagnostisch onderzoek is het mogelijk om problemen te ontdekken en bij een evaluerend onderzoek wordt er nagegaan of een ingreep in een systeem wel een effect heeft gehad. De kwaliteit van de meting wordt mede bepaald door de meetmethode. Onjuiste metingen kunnen veroorzaakt worden door een verkeerde keuze van meetinstrument. Een meting is nooit 100% nauwkeurig [19]. Elke meting is altijd een benadering van de echte waarde. De onzekerheid van een gemeten waarde van een grootheid wordt aangegeven met de meetonzekerheid. Een veel gebruikte maat voor deze onzekerheid is de standaardafwijking van die gemeten waarde. Daarnaast is het belangrijk dat dezelfde maatstaaf en dezelfde methode toegepast wordt. De meetnauwkeurigheid wordt bepaald door de wijze waarmee een object wordt opgemeten. Zodra een meting diffuus1 is kan dit een enorm invloed hebben op de meetresultaten. Tevens is het essentieel om de juiste meetinstrument te gebruiken bij een meting. De mate waarmee het meetinstrument daadwerkelijk meet wat er gemeten dient te worden, wordt de validiteit van een meetinstrument genoemd. Zodra dit instrument een grote afwijking aantoont is er sprake van een structurele meetfout, wat eveneens gevolgen kan hebben op de meetresultaten. Een meting is volledig reproduceerbaar als dezelfde meetresultaten of een kleine afwijking wordt geconstateerd bij frequente metingen aan hetzelfde object [21]. Deze meting mag dan als betrouwbaar worden beschouwd. De kwantiteit waarin toevallige meetfouten voorkomen wordt aangeduid door middel van de reproduceerbaarheid van het meetinstrument.
1 Onduidelijk,
zonder duidelijke grenzen [5].
11
3.2 Meten aan CT-scans Voor dit onderzoek zijn er datasets van CT-scans van koralen beschikbaar gesteld. Door gebruik te maken van deze scans kunnen er op een non-destructieve wijze metingen uitgevoerd worden op de structuur van een koraal. Door gebruik te maken van visualisatie software is het mogelijk om CT-scans zichtbaar te maken. In de visualisatie software kunnen visualisatie methoden worden toegepast, door gebruik te maken van filters. Met behulp van deze filters is het mogelijk om het object weer te geven en metingen te verrichten op dit object. Hieronder worden de algoritmen van de filters beschreven die in dit onderzoek gebruikt worden.
3.2.1 Contour Contouren construeren de grens tussen verschillende gebieden [33]. Deze grenzen komen in 2D overeen met isolijnen en in 3D met polygonale2 isosurfaces van een constante scalaire waarde. Isolijnen verbinden punten met een constante waarde op een kaart of in een grafiek, zie Figuur 3.1 [44].
Figuur 3.1: Het onderste gedeelte van het schema toont enkele isolijnen. Het bovenste gedeelte geeft een dwarsdoorsnede weer waarbij de waarden op de rechte lijn zijn weergegeven door een hoogteprofiel [51]. Voor het cre¨eren van isolijnen wordt er gebruik gemaakt van de methode marching squares [18]. Het marching squares algoritme richt zich op het tekenen van lijnen tussen ge¨ınterpoleerde waarden langs de randen van een vierkant, waarbij de vermelde gewichten van de hoeken en de threshold waarde overwogen worden. De threshold waarde is de drempelwaarde waarbij er aangegeven wordt dat pixels onder deze waarde niet behandeld worden [11]. Op het gebied van computervisie zijn beeldhistogrammen nuttige hulpmiddelen voor het bepalen van de threshold waarde [52]. Dit histogram is een grafiek die het aantal pixels in een afbeelding op elk gevonden intensiteitswaarde in dat beeld weergeeft [14]. Deze pixels worden in een 3D-ruimte voxels genoemd. Een histogram kan bimodaal zijn. Dit wil zeggen dat er twee pieken ontstaan, voor de achtergrond en het object. Regio’s met een uniforme intensiteit geven sterke pieken in het histogram, zoals de achtergrond of ruis. Het object heeft geen uniforme intensiteit en zal dus een lagere piek geven. Een eenvoudige manier om een geschikte threshold waarde te vinden is om het dal te vinden tussen de twee pieken en deze waarde te nemen als threshold waarde. Hierdoor zullen de achtergrond pixels niet behandeld worden. Het is mogelijk dat er twee pieken ontstaan van het object. In dit geval zijn er twee geschikte threshold waarden, zie Figuur 3.2 [36]. 2 Veelhoekig
12
Figuur 3.2: Links een histogram met een threshold waarde. Rechts een histogram met twee threshold waarden [10]. In een 2D-rooster bevat elk punt een gewicht [18]. In Figuur 3.3 is de threshold waarde 5 genomen. Om de curve te tekenen dient de waarde van de curve (het gewicht) constant en gelijk aan de threshold waarde te zijn. Hiervoor wordt er gebruik gemaakt van lineaire interpolatie. Bij de marching squares methode wordt elk vierkant afzonderlijk behandeld. Bij deze methode zijn er 16 gevallen die de representatie van alle soorten lijnen in een 2D-ruimte mogelijk maken.
Figuur 3.3: Een 2D-rooster met de contour op threshold waarde 5 [52]. Datasets die uit 3D-cellen bestaan, cre¨eren isosurfaces. Een isosurface is een oppervlak dat punten van een constante waarde representeert in een hoeveelheid ruimte [16]. De scalaire waarden uit een 3D-dataset vormen een 3D-scalarveld of volume dataset, die gerepresenteerd wordt als functie R3 → R [45]. In dit onderzoek wordt er in 3D gevisualiseerd, waardoor de marching squares methode niet van toepassing is. Vanuit de marching squares algoritme is het mogelijk om de aanpak aan te passen voor een 3D-rooster [18]. De marching cubes methode wordt toegepast bij 3D-datasets. Deze methode maakt gebruik van een verdeel-en-heers benadering om de isosurface te localiseren in een kubus die ontstaan is uit acht pixels; vier pixels elk van twee aangrenzende plakken, zie Figuur 3.4 [53]. Deze isosurface komt overeen met de threshold waarde.
Figuur 3.4: Een acht pixels kubus [53].
13
Het algoritme bepaalt hoe de isosurface de kubus snijdt en “marcheert” vervolgens naar de volgende kubus [53]. Er wordt een 1 toegewezen aan een hoekpunt indien de waarde op dat punt de threshold waarde overschrijdt of als de waarde gelijk is aan de threshold waarde van de isosurface. Deze hoekpunten zitten binnen of op de isosurface. Hoekpunten met waarden onder de threshold waarde worden een 0 toegewezen en bevinden zich buiten de isosurface. Indien een hoekpunt een waarde boven de threshold waarde heeft en een aangrenzende hoekpunt een waarde onder de threshold waarde, dan snijdt de isosurface de rand tussen deze twee hoekpunten [31]. Met deze aanname wordt de topologie bepaald van de isosurface in een kubus. Er zijn acht hoekpunten in elke kubus en twee toestanden, binnen en buiten [53]. Hierdoor zijn er 28 = 256 verschillende gevallen voor de representatie van de marching cubes. Hoekpunten met een grotere waarde dan de threshold waarde zijn omkeerbaar met de hoekpunten die een kleinere waarde hebben. Deze complementaire gevallen zijn gelijkwaardig. Hierdoor kan het aantal gevallen gehalveerd worden door alleen de gevallen met nul tot vier hoekpunten groter dan de threshold waarde in beschouwing te nemen. Met behulp van rotatie symmetrie worden het aantal gevallen gereduceerd naar 15 patronen door middel van inspectie. Voor elk geval wordt een index gecre¨eerd die gebaseerd is op de toestand van het hoekpunt [53]. De acht bit index bevat een bit voor elk hoekpunt, zoals te zien in Figuur 3.5. Deze index dient als een pointer in een tabel waarin alle snijpunten van de randen opgezocht kunnen worden. Deze tabel bevat de snijpunten van de randen voor elk van de 256 gevallen. Met behulp van de index is het duidelijk welke rand de isosurface snijdt, waardoor het mogelijk is om het snijpunt te interpoleren door gebruik te maken van lineaire interpolatie.
Figuur 3.5: De acht bit index van een kubus [53]. De laatste stap van de marching cubes algoritme berekent een normaalvector voor elk driehoek hoekpunt [53]. De rendering algoritmes gebruiken deze vector voor het produceren van Gouraud shading3 beelden. Om duidelijk te maken welke stappen nodig zijn voor het cre¨eren van een contour is het algoritme in Figuur 3.6 weergegeven.
Figuur 3.6: Het algoritme van de contour filter.
3 Het vaststellen van een kleur voor iedere hoekpunt van een polygoon, waarbij de rest van de pixels door middel van kleuroverlopen tussen de hoekpunten ingekleurd worden [34].
14
3.2.2 Direct en indirect volume rendering Direct volume rendering is een moderne techniek voor het weergeven van volumetrische datasets, vooral driedimensionale scalaire datavelden, zonder tussenliggende constructies zoals polygonale isosurfaces [43] [26]. Bij deze techniek wordt de volumetrische dataset als een geheel gebruikt, waardoor de binnenkant van het object en de interne structuren zichtbaar worden [6]. De data zal hierdoor als een transparant, helder object weergegeven worden. Een volumetrische dataset kan ook gevisualiseerd worden door gebruik te maken van polygonale isosurfaces met behulp van het marching cubes algoritme [47]. Hierdoor kan slechts een zeer beperkt deel van de data tegelijkertijd bekeken worden [43]. Het visualiseren door middel van polygonale isosurfaces wordt indirecte volume rendering genoemd [47]. Voor het zichtbaar maken van alle voxels dient de kleur aangepast te worden bij volume rendering [7]. De kleur kan worden aangepast in de Edit Color Map optie, zodat de ruis niet zichtbaar wordt. De bovenste balk wordt gebruikt voor het bewerken van de kleur van de scalaire waarden, zie Figuur 3.7. De verticale hoogte van een punt geeft de opacity weer, wat de doorschijnendheid voorstelt. Het meest linkse punt correspondeert met de minimale scalaire waarde en het meest rechtse punt met de maximale. Na het selecteren van de optie Rescale Range wordt de beste threshold waarde ingevuld als minimum, waarbij het maximum onveranderd blijft. De opacity wordt opgebouwd zodra volume rendering plaatsvindt.
Figuur 3.7: Edit Color Map optie.
15
16
HOOFDSTUK 4
Implementatie In dit hoofdstuk zal de implementatie keuze gedetailleerd beschreven worden. Eerst zal een lijst van voorwaarden en eisen worden vastgesteld waar de software aan moet voldoen. Vervolgens zullen enkele visualisatie software en image processing mogelijkheden worden beschreven. Hieruit wordt de uiteindelijke implementatie keuze bepaald. Ten slotte zullen de meetmethoden van de implementatie beschreven worden.
4.1 Voorwaarden en eisen Dit onderzoek is voornamelijk bedoeld voor biologen. Het is dus belangrijk dat de software door de biologen gebruikt kan worden. Hierdoor zijn er enkele gebruikerseisen aan de software gesteld: 1. De gebruikelijke besturingssysteem van biologen is Windows, waardoor het gebruikte softwaresysteem ook compatibel moet zijn met dit besturingssysteem. 2. De interface van de software moet gebruiksvriendelijk en duidelijk zijn voor de gebruikers. 3. Het moet mogelijk zijn om metingen te verrichten aan CT-scans met de software. 4. De metingen dienen uitgevoerd te worden op (grote) datasets van CT-scans. Hierdoor zal de software tenminste bestanden met een DICOM en TIFF extensie moeten ondersteunen. 5. Vanwege de vari¨erende grootte in datasets moet de visualisatie software in staat zijn om grote datasets te analyseren. 6. Het invoeren van een stack van bestanden is een noodzakelijke optie in de software.
4.2 Visualisatie software mogelijkheden Wetenschappelijke visualisatie wordt voornamelijk toegepast om de wetenschappelijke gegevens grafisch te illustreren. Hiermee wordt inzicht geboden in deze gegevens. De keuze van de visualisatie software wordt bepaalt uit de voorwaarden en eisen waar deze software aan moet voldoen. Enkele visualisatie software opties worden hieronder vergeleken: • VisIt: VisIt is een open source interactieve parallelle visualisatie, wat tevens een grafische analyse instrument is voor het bekijken van wetenschappelijke gegevens [41]. Deze software kan gebruikt worden om scalair- en vectorvelden te defini¨eren. Daarnaast was VisIt ontworpen om zowel kleine als grote datasets te verwerken. VisIt biedt de mogelijkheid om zowel kwantitatieve al kwalitatieve informatie uit een dataset te halen [40]. Line-out, Pick en Queries zijn enkele voorbeelden van filters die informatie leveren. Line-out zorgt voor curven van veldwaarden, Pick levert informatie over geselecteerde punten en Queries levert waarden van een dataset of waarden die berekend zijn door gebruik te maken van de data van de dataset. 17
VisIt biedt niet de juiste oplossing voor punt 4, doordat deze software de DICOM en TIFF extensies niet ondersteunt [41]. • IBM OpenDX: IBM OpenDX software is IBM’s wetenschappelijke data visualisatie software [25]. Met deze software is het mogelijk om 3D-visualisatie te cre¨eren en analyseren van kleine tot grote datasets. De data kan scalair-, vector- en tensorvelden bevatten. De grafische interface van IBM OpenDX geeft de gebruiker de mogelijkheid om de data te transformeren en te selecteren tijdens de visualisatie, door gebruik te maken van draaiknoppen, schakelaars en knoppen. De meetmethoden worden aangestuurd door de data en stellen automatisch het minimum en maximum vast of maken een lijst van opties aan op basis van de data. IBM OpenDX voldoet niet aan de volgende eisen: het ondersteunen van bestanden met DICOM en TIFF extensies en het interactief verrichten van metingen [25]. • The Visualization Toolkit (VTK): VTK is een software-systeem voor 3D-computer graphics, beeldverwerking en visualisatie [35]. Deze software is ge¨ımplementeerd als een C++ software en kan gedraaid worden op Windows [57]. Tevens bestaat VTK uit diverse interface lagen waaronder Tcl/Tk, Java en Python. VTK maakt gebruik van veel verschillende filters, zoals filters voor volume, textuur en scalaire waarden [35]. Polygonale reductie, snijden, triangulatie en contour zijn geavanceerde modelleringstechnieken die VTK ook ondersteunt. Doordat er datasets gevisualiseerd worden die enkele tot honderden CT-scans kunnen bevatten, is er een visualisatie software nodig die deze grootte aankan [57]. Wat niet het geval is bij VTK. • ParaView: ParaView is een open-source, multi-platform data-analyse en visualisatie toepassing [30]. ParaView is een applicatie die bovenop de VTK libraries gebouwd is. De grafische interface is gebruiksvriendelijk en overzichtelijk. Deze software biedt de mogelijkheid om grote datasets te analyseren. ParaView gebruikers kunnen met behulp van kwalitatieve en kwantitatieve technieken snel visualisaties bouwen om de data te analyseren [28]. Data kan onderzocht worden op een punt of langs een lijn (Probe over line). De resultaten worden grafisch of als tekst weergegeven en kan ge¨exporteerd worden voor verdere analyse. Data kan ook ge¨extraheerd worden uit alle data types met scalaire of vector componenten (Contour en Isosurfaces). Punt 4 wordt niet ondersteunt door ParaView, waardoor dit geen geschikte optie is [17].
4.3 Image processing mogelijkheden In dit onderzoek wordt er gebruik gemaakt van CT-scans die een bestandsformaat hebben van DICOM of TIFF. Zoals hierboven werd vermeld ondersteunen de meerderheid van de visualisatie softwares deze extensies niet. Door gebruik te maken van een image processing software1 kan een RAW bestand gecre¨eerd worden vanuit een stack van bestanden die vervolgens gevisualiseerd kan worden met een visualisatie software. Enkele opties zijn hieronder beschreven: • IrfanView: IrfanView is een snel en compact grafisch programma voor Windows [15]. Het is mogelijk om diavoostellingen te maken en afbeeldingen te bewerken. Dit programma ondersteunt veel bestandsformaten, waaronder bestanden met een DICOM en TIFF extensie. De afzonderlijke DICOM bestanden kunnen geconverteerd worden naar 2D RAW bestanden. Het is niet mogelijk om een 3D RAW bestand te cre¨eren bij IrfanView. • Endrov: Endrov is een software gericht voor beeldanalyse en data verwerking [8]. Het is mogelijk om een reeks foto’s te openen in de extensies TIFF, JPEG, PNG en BMP. Endrov is ontworpen om grote datasets te verwerken. Endrov is geen optie, doordat deze image processing software geen DICOM extensie ondersteunt. 1 Het
bewerken van beelden.
18
• NetPbm: NetPbm is een pakket van grafische programma’s en programmeerbare bibliotheken die de tools vormen voor het manipuleren van afbeeldingen [22]. Afbeeldingen kunnen geconverteerd worden door aparte bibliotheken te downloaden, waardoor een grote hoeveelheid aan bestandsformaten ondersteund worden. NetPbm is op vele besturingssystemen te gebruiken, maar wordt voornamelijk gebruikt in Linux. NetPbm kan geen stack van bestanden openen en heeft geen grafische interface. Het is wel geschikt om de conversie te scripten in Linux, waar biologen geen ervaring mee hebben. Hierdoor is NetPbm geen geschikte optie. • ImageJ: ImageJ is een op Java gebaseerde beeldverwerkingsprogramma ontwikkeld aan de National Institutes of Health [50]. ImageJ kan bestanden weergeven, bewerken, analyseren, verwerken en opslaan. Tevens kan ImageJ vele bestandsformaten lezen zoals TIFF, PNG, GIF, JPEG, BMP, DICOM, FITS, maar ook RAW formaten. Bovendien is het mogelijk om een stack van bestanden in te voeren. ImageJ ondersteunt de bestandsformaten DICOM en TIFF en kan een stack van bestanden invoeren.
4.4 Implementatie keuze Het gebruik van een visualisatie software in combinatie met een image processing software biedt de oplossing voor de visualisatie van datasets van CT-scans. ParaView biedt de mogelijkheid om parallel op gedistribueerd en shared geheugen te draaien via het RVS cluster van SURFsara, waardoor dit de juiste software-systeem is om visualisaties van grote datasets te cre¨eren [30]. ImageJ ondersteunt alle bestandsformaten die een dataset van CT-scans kan hebben en is het mogelijk om een stack van bestanden in te voeren. ParaView geeft, in combinatie met ImageJ, een oplossing voor alle punten waar de visualisatie software aan moet voldoen.
4.5 ParaView Met ParaView kunnen gebruikers visualisaties cre¨eren om hun gegevens met behulp van kwalitatieve en kwantitatieve technieken te analyseren. ParaView is een applicatie die bovenop de VTK libraries gebouwd is en kan onder andere gedraaid worden op Linux, Windows, Mac en clusters [30]. Het doel van het ontwerp was om parallel op gedistribueerd en shared geheugen te draaien waarin veel processors synchroon opereren op verschillende delen van de data. Door de schaalbare architectuur is het mogelijk om ParaView op alle soorten computers te draaien, zelfs netbooks. De grootte van de datasets die ParaView kan behandelen varieert sterk en is afhankelijk van de grootte van de machine waarop ParaView’s server componenten op draaien. ParaView kan in client-server mode verbonden worden met het RVS cluster van SURFsara, wat het visualiseren en analyseren van grote datasets mogelijk maakt. De meeste datasets hebben een TIFF of DICOM extensie. Deze bestanden kunnen niet direct gevisualiseerd worden in ParaView. ImageJ biedt de oplossing voor dit probleem. Doordat een stack van bestanden ondersteund worden door deze software kan er een RAW bestand gecre¨eerd worden van de dataset, zoals te zien in Figuur 4.1, die vervolgens gevisualiseerd kan worden in ParaView. Dit proces wordt stapsgewijs toegelicht in appendix B.
19
Figuur 4.1: Een reeks van 35 beelden in ImageJ.
4.6 SURFsara Het is mogelijk om ParaView in client-server mode the draaien op het Remote Visualization Server (RVS) cluster van SURFsara [38]. In deze modus worden een of meer ParaView server processen uitgevoerd op het cluster nodes met MPI2 , terwijl de ParaView client (de grafische interface) wordt uitgevoerd op de lokale computer van de gebruiker. Het voordeel van de ParaView client-server modus is dat de data die geladen wordt verdeeld zal worden over de RVS nodes, waarbij elke node een deel van de data krijgt. Op deze manier zal elke node alleen zijn deel van de data behandelen bij het maken van een visualisatie, hierdoor bieden ze parallele verwerking en rendering aan de client. De client kan beelden ontvangen van de RVS nodes output die alleen lokaal worden weergegeven of rendering vindt lokaal plaats nadat de client 3D-geometrie heeft ontvangen van de nodes. Afhankelijk van de instellingen van de client vindt rendering lokaal of remote plaats. In beide gevallen zal een node optreden als master node die de beelden of geometrische data verzamelt van de andere nodes en de delen vervolgens combineert voordat het eindresultaat verzonden wordt naar de client, zie Figuur 4.2. Een uitgebreide handleiding voor de verbinding met het RVS cluster is beschikbaar gesteld in appendix A.
Figuur 4.2: Visualisatie met het RVS cluster van SURFsara [42].
2 Message Passing Interface (MPI) is een standaard interface voor softwarebibliotheken die communicatie diensten biedt aan parallele computers [20].
20
4.7 Meetmethoden ParaView is een framework dat gebaseerd is op een visualisatie pipeline [27]. Het principe van een pipeline is als volgt: de gebruiker laadt de data en past vervolgens een of meer filters toe die een pipeline vormen. De pipeline kan het resultaat verder verwerken, renderen of opslaan. In de Pipeline Browser wordt de totale visualisatie pipeline weergegeven in ParaView. De specifieke parameters van een bepaalde filter binnen de pipeline worden weergegeven en kunnen aangepast worden in de Object Inspector. Voor het weergeven van een duidelijk structuur wordt de Contour filter gebruikt van ParaView. Bij deze filter wordt gebruik gemaakt van het contour algoritme wat in het vorige hoofdstuk is behandeld. Het is belangrijk om de juiste threshold waarde te bepalen voor de beste visualisatie. De Histogram filter biedt hierbij de oplossing. In de volgende sectie wordt hier dieper op ingegaan. Het is mogelijk om het volume van het object zichtbaar te maken door gebruik te maken van de direct volume rendering techniek, die in hoofdstuk 3 is beschreven. De juiste threshold waarde speelt een belangrijke rol bij het visualiseren van het volume. Deze waarde wordt in de Edit Color Map optie ingevoerd om de ruis weg te filteren, voor een duidelijke weergave van het object. ParaView is een interactieve visualisatie software waardoor metingen rechtstreeks op 3Dvisualisaties van beelden uitgevoerd kunnen worden. In de volgende secties zal een onderscheid gemaakt worden tussen niet-interactieve meetmethoden en interactieve meetmethoden. De resultaten van deze meetmethoden zullen in het volgende hoofdstuk behandeld worden. Hieruit kunnen de kwaliteit, onzekerheid, nauwkeurigheid, validiteit en reproduceerbaarheid van de metingen bepaald worden.
4.7.1 Niet-interactieve meetmethoden Niet-interactieve meetmethoden zijn methoden waarbij er geen interactie is met de visualisatie. Een voorbeeld hiervan is een histogram. Deze kan gecre¨eerd worden door gebruik te maken van de Histogram filter. Hieruit kan de juiste threshold waarde bepaald worden. Zoals in het vorige hoofdstuk was vermeld, bepaald het dal tussen twee pieken de beste threshold waarde voor de Contour filter die vervolgens toegepast wordt om het gehele koraal weer te geven. Voor het bepalen van de juiste threshold waarde dient de Threshold filter toegepast te worden. Deze filter selecteert de scalaire waarden in een specifiek domein, waardoor de ruis weggefilterd kan worden.
4.7.2 Interactieve meetmethoden Interactieve meetmethoden zijn methoden waarbij de metingen direct op de visualisatie uitgevoerd kunnen worden. Met behulp van de Plot Over Line filter kan de lengte, breedte en dikte van een koraal gemeten worden. Het is ook mogelijk om de vertakkingen van een koraal en de gecalcificeerde structuur van een tak te meten. Bij deze filter kan de gebruiker de locatie van de probe zelf selecteren. Met de Plot Over Line filter kan de probe (lijn) over de x-as, y-as of z-as geplaatst en verschoven worden. Zodra deze probe op de juiste positie ligt wordt het resultaat beschikbaar gesteld in een grafiek. Doordat het voorwerp in 3D wordt weergegeven is het een uitdaging om de probe op de juiste positie te plaatsen met een 2D scherm. Om de reproduceerbaarheid van de metingen te bepalen worden de metingen tien keer uitgevoerd en het gemiddelde en de standaardafwijking berekend. Eenheid bepalen De eenheid van de datasets is in millimeters. In ImageJ is gedetailleerde informatie te vinden onder het tabblad Image en de optie Show Info. Hierin wordt de hoogte en breedte weergegeven als 128 x 128 mm waarop vervolgens de schaal wordt getoond als 1:4 pixels. Dit wil zeggen dat de 512 x 512 pixels van de dataset een afmeting hebben van 128 x 128 millimeter. De grootte van een pixel in elke dimensie wordt weergegeven als Pixel Spacing. Deze waarde dient vermenigvuldigd te worden met de metingen om de juiste afmeting te bepalen. 21
De Object Inspector in ParaView bevat de tabbladen Properies, Display en Information. In Properties worden de parameters van de filter gerepresenteerd [37]. Display geeft de parameters weer van de weergave van de output van de filter, zoals bijvoorbeeld de kleur van het object. De informatie over de gegevens van de filter zijn zichtbaar in het tabblad Information. Binnen het Information tabblad zijn er twee secties die het aantal pixels van de dataset en van het object bevatten. De Data Extents sectie toont de dimensies van de dataset (het aantal punten) in elke richting [29]. Deze eigenschap geeft de minimale en maximale indexwaarden van de data in elke dimensie (xmin, xmax, ymin, ymax, zmin, zmax) [13]. De Data Extents sectie toont dus de hoeveelheid pixels van de dataset in de lengte, breedte en diepte. De Data Bounds sectie geeft de ruimtelijke grenzen van de dataset weer [29]. Dit zijn de co¨ ordinaten van het kleinste zesvlak dat aan de as is gebonden. De Data Bounds sectie toont dus de hoeveelheid pixels van het object en laat de achtergrond achterwege. In ParaView worden het aantal pixels weergegeven van een dataset zonder eenheden. Met de informatie van ImageJ kan de juiste eenheid en afmeting worden bepaald van de meetresultaten.
22
HOOFDSTUK 5
Resultaten In dit hoofdstuk worden de resultaten van dit onderzoek weergegeven en beschreven. Als eerst zal de performance gemeten worden met en zonder het gebruik van het RVS cluster van SURFsara. Hierna zullen de structuurmetingen beschreven worden die onderverdeeld zijn in niet-interactieve metingen en interactieve metingen. De volumetrische metingen worden als laatst beschreven en vergeleken met de structuurmetingen. De conclusie van de resultaten zal geformuleerd worden in het volgende hoofdstuk.
5.1 Performance metingen Grote datasets vereisen meer rekenkracht. Door het gebruik van ParaView op het RVS cluster van SURFsara is het mogelijk om grote datasets te visualiseren en analyseren. Het RVS cluster bestaat uit 16 nodes en een aparte login node, elke node bevat de volgende specificaties [42]: • Quad-core Intel Xeon E5620 @ 2.40 GHz, 48 GByte RAM • NVidia Geforce GTX 680 kaart, met 4 GByte video RAM, NVidia 310.32 driver • OS: Debian Linux (64-bit), kernel 2.6.32 • Ongeveer 800 GByte lokale scratch ruimte De visualisatie wordt gestreamd via twee 10 Gbps-netwerk verbindingen. Een voordeel hiervan is dat de gehele visualisatiekracht van een cluster beschikbaar wordt gesteld aan een gebruiker. Daarnaast ontvangt de gebruiker alleen een image stream, die minder bandbreedte nodig heeft bij weergave op een desktop. Het toepassen van filters op de dataset vergt tijd. In de Timer log, die te vinden is in het menu Tool, zijn de verwerkingstijden te zien van elk filter. In onderstaande tabel wordt de gemiddelde verwerkingstijd en standaardafwijking (SD) weergegeven van elke toepassing met en zonder het RVS cluster van SURFsara na tien metingen. De filter wordt eerst ge¨ınstantieerd, waarna vervolgens op de Apply knop wordt gedrukt om deze filter toe te passen aan het object. De toepassing RenderView dient voor het renderen van de weergave van de filter. Na het openen van het bestand (LegacyVTKFileReader) zal er nog geen beeld gevormd worden, waardoor RenderView niet toegepast wordt. Toepassing LegacyVTKFileReader Apply RenderView Contour Apply RenderView
Gemiddelde met RVS (in s)
Gemiddelde zonder RVS (in s)
Versnelling (in s)
SD met RVS (in s)
SD zonder RVS (in s)
0.0595 0.660 0.0724 1.02 0.112
0.0901 0.784 0.262 3.36 0.457
1.51 1.19 3.62 3.29 4.08
0.00252 0.695 0.00446 0.0450 0.00457
0.00273 0.280 0.0142 0.127 0.0361
23
In de eerste twee toepassingen is de gemiddelde snelheid te zien van het openen van een dataset. Met gebruik van het RVS cluster wordt deze toepassing versneld. Het gebruik van de Contour filter wordt enorm versneld met het RVS cluster. Het openen van een dataset heeft een kleinere standaardafwijking met het gebruik van het RVS cluster. Dit geldt ook voor het gebruik van de Contour filter. Dit is te verklaren doordat de processen op de nodes van het cluster worden uitgevoerd. De login node verzamelt vervolgens alle gevisualiseerde data en verzendt de ouput naar de ParaView client.
5.2 Structuurmetingen Om een structuur te visualiseren dienen eerst enkele stappen te worden uitgevoerd. Als eerst zal de dataset geopend moeten worden. Vervolgens wordt er gebruik gemaakt van de Contour filter, die gebaseerd is op het contour algoritme van hoofdstuk 3. Deze filter wordt getoond in de Pipeline Browser aan de linkerkant van de GUI. In Figuur 5.1 is de structuur van een koraal weergegeven.
Figuur 5.1: Structuur van een koraal met de Contour filter.
Zodra het koraal gevisualiseerd is kunnen er metingen verricht worden door gebruik te maken van niet-interactieve en interactieve meetmethoden. In de volgende secties zullen de resultaten van de gebruikte filters gedetailleerd behandeld en weergegeven worden.
5.2.1 Niet-interactieve metingen Niet-interactieve meetmethoden zijn methoden waarbij er geen interactie is met de visualisatie. Voor het bepalen van de juiste threshold waarde wordt gebruik gemaakt van de Histogram filter. Deze filter geeft het aantal pixels op elk gevonden intensiteitswaarde weer. Door de Bin count op de maximale waarde te zetten wordt de verdeling duidelijk weergegeven, zie Figuur 5.2.
24
Figuur 5.2: Een histogram van het gevisualiseerde koraal. Het domein in deze histogram loopt tot 4095. Dit houdt in dat de pieken aan de linkerkant ruis zullen voorstellen. Om deze ruis weg te filteren wordt er gebruik gemaakt van de Threshold filter. Deze filter selecteert de scalaire waarden in een specifiek domein. In dit geval wordt de onderste threshold waarde vervangen door de waarde van het dal van de piek (400) in het histogram en de bovenste threshold waarde zal 4095 blijven. Op de Threshold filter wordt vervolgens de Histogram filter toegepast. In het grafiek zal nu de ruis weggefilterd zijn en zullen alleen de pixels weergegeven worden van het object, zie Figuur 5.3.
Figuur 5.3: Een histogram van het object, waarbij de ruis is weggefilterd. De threshold waarde heeft invloed op de resultaten van de Contour filter. Om het verschil weer te geven zijn er drie threshold waarden gekozen; de waarde van het dal tussen de pieken (1400), de waarde tussen deze dal en de tweede piek (1900) en de waarde van de tweede piek (2400). Deze waarden worden toegepast bij het verrichten van interactieve metingen, waaruit een beeld gevormd kan worden waar deze waarden een invloed op hebben.
5.2.2 Interactieve metingen De lengte, breedte en dikte van een koraal kunnen gemeten worden door gebruik te maken van interactieve meetmethoden. Het is ook mogelijk om de vertakkingen van een koraal en de gecalcificeerde structuur van een tak te meten. Interactieve meetmethoden zijn methoden waarbij de metingen direct op de visualisatie uitgevoerd kunnen worden. In dit onderzoek wordt de Plot Over Line filter gebruikt. Deze filter maakt gebruik van een probe (lijn) die over de x-, y25
of z-as geplaatst of verschoven kan worden op de visualisatie. Het is ook mogelijk om de positie aan te passen door getallen in te vullen in de daarvoor bestemde vakken in de Object Inspector of de P knop ingedrukt te houden en een punt te selecteren in de visualisatie. Deze filter geeft de scalaire waarden van de voxels weer die met de lijn doorkruist worden. Deze lijn meet aan de output van de Contour filter. De resultaten worden vervolgens in een grafiek zichtbaar, waarbij de scalaire waarden op de y-as weergegeven worden. De ori¨entatie van het koraal in de scanner is van belang om de juiste metingen uit te voeren. Het koraal dient recht in de scanner te liggen, zodat de assen overeenkomen bij de metingen. Het voorwerp is in 3D weergegeven en de positie van de probe wordt aangepast op een 2D-scherm, wat invloed kan hebben op de resultaten. De verschillende threshold waarden heeft ook invloed op de resultaten. Hierdoor zijn er verschillende grafieken te zien op basis van een andere threshold waarde en zijn alle metingen tien keer uitgevoerd. Uit de meetresultaten worden het gemiddelde en de standaardafwijking in millimeters berekend, door vermenigvuldiging met de Pixel Spacing 0.252419. De standaardafwijking wordt vervolgens uitgedrukt in procenten van het gemiddelde: wijking ∗ 100%. Hieruit wordt de reproduceerbaarheid bestandaardafwijking(%) = standaardaf gemiddelde paald in procenten: reproduceerbaarheid(%) = 100% - standaardafwijking(%). Lengte van een koraal De lengte van het koraal wordt gemeten vanaf de stam tot het uiterste punt (langs de z-as). In de Object Inspector kan de z-axis knop gebruikt worden om de probe over de juiste as te plaatsen. Voor het bepalen van de lengte van een koraal dient de probe door het geheel geplaatst te worden, zoals te zien in Figuur 5.4.
Figuur 5.4: Koraal met probe langs de z-as. Bij deze meting wordt er gebruik gemaakt van de drie threshold waarden; 1400, 1900 en 2400. Voor het berekenen van de lengte wordt de afstand gemeten tussen het begin punt van de eerste streep tot het laatste punt van de laatste streep. Deze strepen stellen de contour voor waardoor de probe heen gaat bij een threshold waarde, zie Figuur 5.5.
Figuur 5.5: Grafiek van de lengte met threshold waarde 1400. De metingen zijn tien keer uitgevoerd bij elke threshold waarde om de invloed te bepalen op 26
de meetresultaten. Het gemiddelde en de standaardafwijking van de lengte wordt in de volgende tabel weergegeven: Threshold waarde 1400 1900 2400
Gemiddelde lengte (in mm) 52.0 42.4 32.3
Standaardafwijking (in mm) 0.0220 0.0.306 0.0.520
De percentages van de standaardafwijkingen zijn 0.0423%, 0.0722% en 0.161% voor de threshold waarden 1400, 1900 en 2400. Uit de meetresultaten blijkt dat de threshold waarde van het dal de kleinste standaardafwijking heeft en de grootste gemiddelde lengte. De reproduceerbaarheid van deze meetmethode met de threshold waarde van het dal is hier dan ook bijna 100%. Voor de threshold waarden 1900 en 2400 is dit 99.9% en 99.8% respectievelijk. Breedte van een koraal De metingen van de breedte worden loodrecht op de lengte gemeten (langs de x-as). De probe kan op de juiste as geplaatst worden door de x-axis knop te selecteren. In figuur 5.6 is het gevisualiseerde koraal weergegeven met de probe.
Figuur 5.6: Koraal met probe langs de x-as. De afstand van het begin punt van de eerste streep tot het laatste punt van de laatste streep wordt gebruikt voor het berekenen van de breedte, zie Figuur 5.7. Bij het meten van de breedte worden de verschillende threshold waarden ook gebruikt.
Figuur 5.7: Grafiek van de breedte met threshold waarde 1400. In onderstaande tabel zijn het gemiddelde en de standaardafwijking ook gebasseerd op de meetresultaten van tien metingen bij elke threshold waarde: Threshold waarde 1400 1900 2400
Gemiddelde breedte (in mm) 22.2 21.9 19.7 27
Standaardafwijking (in mm) 0.0269 0.258 0.394
De meetresultaten van de threshold waarden 1400, 1900 en 2400 wijken respectievelijk 0.121%, 1.18% en 2.00% af van het gemiddelde. Dit wil zeggen dat ook hier de threshold waarde van het dal de kleinste afwijking heeft en de grootste gemiddelde breedte. Deze meetmethode met de threshold waarde 1400 is 99.9% reproduceerbaar. De reproduceerbaarheid is 98.8% en 98.0% voor de threshold waarden 1900 en 2400. Dikte van een koraal De dikte van een koraal wordt gemeten langs de y-as. Hier geldt ook dat de probe op de yas geplaatst kan worden door de desbetreffende knop te klikken in de Object Inspector. Het gevisualiseerde koraal met een probe langs de y-as wordt in Figuur 5.8 weergegeven.
Figuur 5.8: Koraal met probe langs de y-as. Bij het meten van de dikte zijn dezelfde threshold waarden gebruikt als bij het meten van de breedte en de lengte. De dikte wordt hier dan ook op dezelfde wijze gemeten door de afstand te berekenen tussen het begin punt van de eerste streep en het eind punt van de laatste streep, zie Figuur 5.9.
Figuur 5.9: Grafiek van de dikte met threshold waarde 1400. Na het tien keer uitvoeren van de metingen zijn het gemiddelde en de standaardafwijking van de dikte berekend van de meetresultaten uit de grafieken, zoals weergegeven in de volgende tabel: Threshold waarde 1400 1900 2400
Gemiddelde dikte (in mm) 18.1 17.8 16.4
Standaardafwijking (in mm) 0.0205 0.0707 0.113
Het gemiddelde en de standaardafwijking van de metingen liggen dicht bij elkaar. De percentages zijn hier 0.113%, 0.397% en 0.691% voor de threshold waarden 1400, 1900 en 2400. De reproduceerbaarheid van deze threshold waarden is dan ook 99.9%, 99.6% en 99.3% respectievelijk. 28
Gecalcificeerde structuur van een tak De gecalcificeerde structuur van een tak van een koraal is vergelijkbaar met de bast van een tak van een boom. Met de Plot Over Line filter is het mogelijk om de dikte van een gecalcificeerde structuur van een tak op te meten door de probe dwars door een tak te zetten, zie Figuur 5.10.
Figuur 5.10: Meting aan gecalcificeerde structuur van een tak. Er zijn twee typen takken die te onderscheiden zijn; homogeen en niet-homogeen. Bij het meten van de van deze takken zijn dezelfde threshold waarden en meetmethoden gebruikt als bij de bovenstaande metingen. De grafiek geeft een of twee strepen weer. Een streep geeft een homogene tak aan, wat inhoudt dat de tak uit hetzelfde type bestaat en er geen andere scalaire waarde tussen zit. Bij twee pieken bevindt zich een andere scalaire waarde tussen de gecalcificeerde structuur. Dit wil zeggen dat de voxels zichtbaar zijn van een andere type structuur. In Figuur 5.11 en 5.12 worden de grafieken weergegeven van een homogene en niet-homogene tak.
Figuur 5.11: Grafiek van de gecalcificeerde structuur van een homogene tak met threshold waarde 1400.
Figuur 5.12: Grafiek van de gecalcificeerde structuur van een niet-homogene tak met threshold waarde 1400.
29
Het verplaatsen van de probe tussen een specifieke tak is precisie werk. Dit is ook te zien aan de meetresultaten. Het gemiddelde en de standaardafwijking van de gecalcificeerde structuur van een tak na tien metingen wordt in de volgende tabel weergegeven: Type tak Homogeen
Niet-homogeen
Threshold 1400 1900 2400 1400 1900 2400
Gemiddelde dikte tak (in mm) 1.26 1.16 0.90 2.55 2.42 2.22
Standaardafwijking (in mm) 0.0105 0.0128 0.0249 0.0290 0.0386 0.0843
De percentages van de standaardafwijking zijn bij de homogene tak 0.833%, 1.10% en 2.77%. De threshold waarde van het dal geeft de grootste gemiddelde dikte en de kleinste standaardafwijking. De reproduceerbaarheid is hier het hoogst met 99.2%. Bij een niet-homogene tak geven de threshold waarden een percentage van 1.14%, 1.60% en 3.80%. De threshold waarde van het dal geeft hier ook de hoogste reproduceerbaarheid van 98.9%. Vertakkingen Een vertakking is het punt waar een tak zich opsplitst in twee of meerdere takken. Bij het plaatsen van een probe bij een vertakking moet er rekening gehouden worden met de x-, y- en z-as. Een punt van de probe kan namelijk makkelijk verdwijnen in het koraal. In Figuur 5.13 gaat de probe dwars door een tak heen en is het begin en eind punt van de probe duidelijk weergegeven.
Figuur 5.13: Meting aan vertakking van een koraal. Het meten van een vertakking direct op een visualisatie vergt enige tijd en precisie. De vertakking wordt hier ook berekend door het meten van het begin punt van de eerste streep tot het eind punt van de laatste streep, zie Figuur 5.14.
Figuur 5.14: Meting aan vertakking van een koraal met thresholdwaarde 391.904. Na tien metingen werd hier ook de gemiddelde en de standaardafwijking van de vertakking berekend. Deze afmetingen zijn in onderstaande tabel weergegeven. 30
Threshold waarde 1400 1900 2400
Gemiddelde lengte vertakking (in mm) 9.79 9.36 9.21
Standaardafwijking (in mm) 0.0190 0.0343 0.0886
Hier geldt weer dat de threshold waarde van het dal de kleinste standaardafwijking geeft en de grootste lengte in millimeter. De meetresultaten wijken 0.194% af van het gemiddelde bij deze threshold waarde, waardoor de reproduceerbaarheid 99.8% is. De reproduceerbaarheid van de overige threshold waarden bedraagt 99.6% en 99.0%.
5.3 Volumetrische metingen De structuur van binnen een koraal kan bepaald worden door gebruik te maken van de direct volume rendering techniek die in hoofdstuk 3 is beschreven. Bij direct volume rendering wordt de dataset geopend en de Representation gewijzigd naar Volume. Vervolgens wordt de kleur aangepast in de Edit Color Map optie, zodat de ruis niet zichtbaar wordt. Na het selecteren van de Rescale Range optie kan de threshold waarde van het dal ingevoerd worden. In Figuur 5.15 is de direct volume rendering techniek toegepast op de dataset.
Figuur 5.15: Direct volume rendering van een koraal.
Bij volume rendering is het ook mogelijk om interactieve meetmethoden te gebruiken, zoals de Plot Over Line filter. De threshold waarde heeft geen invloed op deze meetresultaten. Hierdoor kunnen de meetresultaten van de structuurmetingen met verschillende threshold waarden vergeleken worden. Hieruit kan de beste threshold waarde worden bepaald door te vergelijken welk meetresultaat dichtbij de volumetrische meetresultaat ligt. In Figuur 5.16, 5.17 en 5.18 zijn de grafieken weergegeven bij het meten van de lengte, breedte en dikte. De definities hiervan blijven hetzelfde als eerder vermeld.
31
Figuur 5.16: Meting aan lengte van een koraal met direct volume rendering.
Figuur 5.17: Meting aan breedte van een koraal met direct volume rendering.
Figuur 5.18: Meting aan dikte van een koraal met direct volume rendering. De grafieken van de metingen aan de gecalcificeerde structuur van een tak en de vertakkingen van een koraal zijn in Figuur 5.19, 5.20 en 5.21 weergegeven. Bij de gecalcificeerde structuur van een tak geeft de grafiek een of twee pieken weer. Een piek geeft een homogene tak aan en twee pieken en niet-homogene tak.
32
Figuur 5.19: Meting aan gecalcificeerde structuur van homogene tak met direct volume rendering.
Figuur 5.20: Meting aan gecalcificeerde structuur van niet-homogene tak met direct volume rendering.
Figuur 5.21: Meting aan vertakking van een koraal met direct volume rendering.
Elke piek van de grafiek laat de scalaire waarden van de voxels zien die met de lijn doorkruist worden. In dit geval zijn dat takken. De afstand wordt gemeten tussen het begin van de 33
eerste piek en het einde van de laatste piek. Deze meetresultaten worden in onderstaande tabel vergeleken met de meetresultaten van de Contour filter bij elke threshold waarde. Meting Lengte Breedte Dikte Homogeen tak Niet-homogeen tak Vertakking
Volume (in mm) 62.3 26.0 22.3 1.91 3.63 11.2
Contour (1400) 52.0 22.2 18.1 1.26 2.55 9.79
Contour (1900) 42.4 21.9 17.8 1.16 2.42 9.36
Contour (2400) 32.3 19.7 16.4 0.90 2.22 9.21
In bovenstaande tabel is het duidelijk dat de meetresultaten van de threshold waarde 1400 dicht bij de waarden van de volumetrische meetresultaten ligt. Dit houdt in dat de threshold waarde van het dal als de beste threshold waarde kan worden beschouwd. De afmetingen nemen af bij de threshold waarden 1900 en 2400. Dit is te verklaren doordat er minder voxels zichtbaar worden bij een hogere threshold waarde. In de structuur van het koraal worden vanaf threshold waarde 1900 ’deuken’ zichtbaar en bij threshold waarde 2400 zijn er minder voxels zichtbaar, waardoor de structuur van het koraal lijkt af te breken. Dit verschil is duidelijk weergegeven in Figuur 5.22, 5.23 en 5.24, waarbij de structuur van het koraal is weergeven door gebruik te maken van de Contour filter.
Figuur 5.22: De structuur van een koraal met threshold waarde 1400.
34
Figuur 5.23: De structuur van een koraal met threshold waarde 1900.
Figuur 5.24: De structuur van een koraal met threshold waarde 2400.
35
36
HOOFDSTUK 6
Conclusie Koralen kunnen duizenden jaren oud worden en sterk vari¨eren in vorm en kleur. Deze eigenschappen worden bepaald door genetische verschillen en het milieu. Om inzicht te krijgen in oceanografische en klimatologische veranderingen kan de structuur van een koraal hulp bieden. De structuurveranderingen van een koraal kunnen hiervoor bestudeerd worden. Het is van belang om non-destructief onderzoek uit te voeren, doordat de koralen bedreigd zijn met uitsterven door een toename aan koolstofdioxide. Een oplossing hiervoor is het visualiseren van koralen door gebruik te maken van CT-scans. De mogelijkheid om met CT-scans structuurveranderingen zichtbaar te maken werd in deze scriptie als eerst onderzocht. Vervolgens werd er onderzoek gedaan naar de mogelijkheid om metingen te verrichten aan CT-scans. Door gebruik te maken van ParaView in combinatie met het RVS cluster van SURFsara is het mogelijk om datasets van CT-scans van koralen snel en gemakkelijk te visualiseren. De Contour filter cre¨eert een duidelijk structuur van het koraal door gebruik te maken van het contour algoritme. Voor het visualiseren van het volume wordt de direct volume rendering techniek toegepast. In de resultaten van de performance metingen is het duidelijk dat het cluster voor snelheid zorgt, doordat de processen op verschillende nodes van het cluster worden uitgevoerd en vervolgens gevisualiseerd worden in de ParaView client. De gemiddelde verwerkingstijd van elke toepassing geeft aan dat de metingen die verricht worden met het RVS cluster tijdbesparend zijn. Naast het visualiseren zijn er mogelijkheden om metingen uit te voeren. In dit onderzoek zijn er metingen gedaan om de kwaliteit, nauwkeurigheid, onzekerheid, validiteit en reproduceerbaarheid van de meting en de meetmethode te bepalen. Het verrichten van metingen is van essentieel belang bij het doen van onderzoek. De structuurmetingen kunnen onderverdeeld worden in niet-interactieve en interactieve meetmethoden. De Histogram filter is een voorbeeld van een niet-interactieve meetmethode. Deze filter wordt gebruikt bij het bepalen van de beste threshold waarde en is triviaal. Sterke pieken geven ruis aan in het histogram, waardoor deze weggefilterd worden door de Threshold filter. Een eenvoudige manier om een geschikte threshold waarde te vinden is om het dal te vinden tussen de twee pieken en deze waarde te nemen als threshold waarde. De Plot Over Line filter wordt gebruikt als interactieve meetmethode om de invloed te bepalen van de verschillende threshold waarden op de meetresultaten en hier een duidelijk beeld bij te vormen. Hiermee is het mogelijk om de lengte, breedte, dikte, gecalcificeerde structuur en vertakkingen te meten. Het gemiddelde, de standaardafwijking en de reproduceerbaarheid worden bepaald uit de meetresultaten. Deze meetresultaten worden vervolgens vergeleken met de volumetrische meetresultaten. Bij deze metingen is dezelfde meetmethode toegepast en be¨ınvloedt de threshold waarde de visualisatie van de voxels. De threshold waarde heeft geen invloed op de volumetrische meetresultaten, waardoor deze resultaten beschouwd kunnen worden als de ground truth. De resultaten van de threshold waarde van het dal komen het meest overeen met de volumetrische meetresultaten, waaruit blijkt dat deze threshold waarde daadwerkelijk het beste resultaat geeft. De meetonzekerheid wordt bepaald door de standaardafwijking. Uit de resultaten kan geconcludeerd worden dat deze standaardafwijking het kleinst is bij de threshold waarde van het dal, 37
waardoor de meetonzekerheid bij deze waarde het kleinst is. Het gebruik van de Plot Over Line filter zorgt ervoor dat er daadwerkelijk gemeten wordt wat er gemeten dient te worden. In de grafiek wordt weergegeven wat de afstand is tussen de punten van de probe. Bij een verkeerde plaatsing van een punt, zoals het plaatsen in het koraal, wordt dit in de grafiek weergegeven en kan deze vervolgens aangepast worden. Hierdoor kan deze meetinstrument als valide worden beschouwd. Een meting is nooit 100% nauwkeurig. Bij de Plot Over Line filter wordt de probe aangepast op een 2D-scherm, terwijl het koraal in 3D is weergegeven. Dit kan voor complicaties zorgen bij het meten. Hierdoor zijn de metingen tien keer uitgevoerd en de resultaten bestudeerd. De meetresultaten liggen dicht bij elkaar bij een threshold waarde van het dal, waardoor de Plot Over Line filter een nauwkeurige meetmethode is. De kwaliteit van de meting wordt bepaald door de meetmethode. De standaardafwijking bij de structuurmetingen is het kleinst bij de threshold waarde van het dal met gebruik van de Plot Over Line filter. Uit de volumetrische metingen kan er geconcludeerd worden dat deze meetresultaten van de threshold waarde van het dal dicht bij de volumetrische meetresultaten ligt. De afmetingen nemen af bij een hogere threshold waarde. De kwaliteit van de meting zal hierdoor het hoogst zijn bij metingen die gebruik maken van de threshold waarde van het dal. In de resultaten is de reproduceerbaarheid bepaald van elke meetmethode aan de hand van de standaardafwijking in procenten. Hieruit blijkt dat de threshold waarde van het dal het hoogste percentage heeft bij alle metingen. Hierdoor is deze waarde de beste threshold waarde voor het verrichten van metingen en kan de meetmethode als betrouwbaar worden beschouwd.
38
HOOFDSTUK 7
Evaluatie Doordat er veel tijd was ge¨ınvesteerd in het begrijpen van The Visualization Toolkit, is er veel tijd verloren gegaan in de analayse van het koraal. Vanwege de overzichtelijke en duidelijke GUI van ParaView zal dit software-systeem enorm veel kunnen helpen bij verder onderzoek van biologen. Er kan sneller gevisualiseerd worden door gebruik te maken van SURFsara, waardoor er meerdere metingen uitgevoerd kunnen worden. Zodra ParaView crasht dient er opnieuw verbinding gemaakt te worden met SURFsara, waarna de client-server verbinding geherinitialiseerd wordt met ParaView. Hierna kunnen alle filters en berekeningen nogmaals toegepast worden. Het wederom verbinding maken met het RVS cluster van SURFsara vergt tijd bij het visualiseren van vele datasets. Voor het gebruik van enkele filters was deze verbinding niet nodig en werd dan ook niet altijd toegepast. Voor vervolgonderzoek kunnen meerdere meetmethoden vergeleken worden en een andere visualisatie software die wel DICOM bestanden kan openen zou enorm tijdbesparend zijn voor biologen. Het toepassen van een image processing software is dan niet meer noodzakelijk.
7.1 Erkenning Graag zou ik de volgende mensen willen bedanken bij de hulp die zij hebben geleverd bij mijn afstudeerproject: • Jaap Kaandorp: Voor het beschikbaar stellen van dit project en bij het leveren van de datasets van de CT-scans. • Robert Belleman: Voor zijn hulp met visualisaties met VTK en bij het overstappen naar ParaView en SURFsara. Evenals bij het beoordelen van deze scriptie.
39
40
Bibliografie [1] Allan macleod cormack : cormack.htm.
1924-1998.
http://www.phy.uct.ac.za/courses/dept/
[2] Beeldvormende technieken (3): De CT-scan. http://cms.kwpn.nl/mediafile/0002/6552/ 2008-18_Beeldvormende_technieken_deel_3__De_CT-scan.pdf. [3] Cold-water corals as climate archives in the ocean depths. www.medical.siemens.com/ siemens/en_GB/gg_ct_FBAs/files/CIP/Out_of_the_ordinary/deepwatercorals.pdf. [4] CT scan image. http://chubbyrevision-a2level.weebly.com/medical-imaging.html. [5] Diffuus. http://www.woorden.org/woord/diffuus. [6] Direct volume rendering. http://cumbia.visus.uni-stuttgart.de/ger/research/ proj/ito/materials/VIS-Modules-06-Direct_Volume_Rendering.pdf. [7] Displaying data. http://paraview.org/Wiki/ParaView/Displaying_Data.html. [8] Endrov: User’s guide. http://www.endrov.net/wiki/index.php?title=Users_Guide. [9] File Menu. http://rsbweb.nih.gov/ij/docs/menus/file.html. [10] Histogrammen met threshold waarden. http://kuliahinformatika.files.wordpress. com/2010/02/evans-blog-contoh-partisi-histogram-untuk-memperoleh-nilai-threshold. jpg. [11] Hoe te verscherpen met het filter unsharp mask in photoshop. http://www.fotojeroen. nl/fotografietips/werken_met_het_filter_unsharp_mask_in_photoshop.php. [12] Hyperrealisme. http://www.mad-art.eu/vrij.cfm?Id=697. [13] Image reader. http://paraview.org/OnlineHelpCurrent/ImageReader.html. [14] Intensity histogram. http://homepages.inf.ed.ac.uk/rbf/HIPR2/histgram.htm. [15] Irfanview. http://www.irfanview.com. [16] Isosurface. http://www.svi.nl/IsoSurface. [17] List of readers. http://paraview.org/Wiki/ParaView/Users_Guide/List_of_readers. [18] The marching cubes. algo.html. [19] Meetonzekerheden meetonzekerheid.
http://users.polytech.unice.fr/~lingrand/MarchingCubes/ bij
kalibraties.
[20] Message Passing Interface (MPI). programmers-guide/mpi.html.
http://www.dare.nl/NL/kalibreren/ http://gilgamesh.cheme.cmu.edu/scyld-doc/
[21] Meten en onzekerheid. http://nl.wikibooks.org/wiki/Meten_en_onzekerheid/Meten. 41
[22] Netpbm. http://netpbm.sourceforge.net. [23] Nieuwe methodes ontwikkeld voor interactief 3D meten van objecten. http://www.cwi.nl/ 2010/1047/interactief-3D-meten-van-objecten. [24] Nieuwste onderzoek voorziet volledig uitsterven koraal. http://www.nu.nl/wetenschap/ 2287035/nieuwste-onderzoek-voorziet-volledig-uitsterven-koraal.html. [25] OpenDX. http://www.opendx.org/about.html. [26] Optical models for direct volume rendering. https://www.cs.duke.edu/courses/ spring03/cps296.8/papers/max95opticalModelsForDirectVolumeRendering.pdf. [27] ParaView: Custom filters. http://paraview.org/Wiki/ParaView/Custom_Filters. [28] ParaView: features. http://www.paraview.org/paraview/project/features.html. [29] ParaView: Information Panel. http://www.paraview.org/Wiki/ParaView/Users_Guide/ Information_Panel. [30] ParaView KitWare. http://paraview.org/Wiki/ParaView. [31] Polygonising a scalar field. http://paulbourke.net/geometry/polygonise/. [32] SARA. https://www.sara.nl/. [33] Scalar algorithms: Contouring. lecture_notes/lecture7.pdf.
http://www.inf.ed.ac.uk/teaching/courses/vis/
[34] Shading. http://www.computerwoorden.nl/direct--16562--Shading.htm. [35] The Visualization Toolkit (VTK). http://www.vtk.org/. [36] Thresholding. http://www.cse.unr.edu/~bebis/CS791E/Notes/Thresholding.pdf. [37] Users Guide Introduction. Introduction.
http://paraview.org/Wiki/ParaView/Users_Guide/
[38] Using paraview in client-server mode on the sara rvs cluster. https://www.surfsara.nl/ sites/default/files/2011-10-20_RVS-paraview-client-server.pdf. [39] Using ParaView in client-server mode on the SARA RVS cluster. https://www.sara.nl/ sites/default/files/2012-06-21_RVS-paraview-client-server.pdf. [40] VisIt: Data exploration. https://wci.llnl.gov/codes/visit/screens3.html. [41] VisIt visualization tool overview. https://wci.llnl.gov/codes/visit/about.html. [42] Visualization. https://www.surfsara.nl/systems/visualization. [43] Volume rendering: Mathematical models and algorithmic aspects. https://www.zib.de/ Publications/Reports/TR-93-07.pdf. [44] Weerkundig woordenboek: I. http://home.kpn.nl/neele050/woordenboek/I.html. [45] Ashikhmin, M., Marschner, S., and Shirley, P. Fundamentals of Computer Graphics. Taylor and Francis Inc., 3rd edition edition, 2009. [46] Bak, R., Filatov, M., Kaandorp, J. A., Kruszynsky, K. J., Van Liere, R., Postma, M., Streekstra, G., and Vermeij, M. A comparison between coral colonies of the genus madracis and simulated forms. Proceedings of the Royal Society of London. Series B-Biological Sciences, vol. 277, nr 1700 pp. 3555-3561, 2010. [47] Bartz, D., Crawfis, R., Huang, J., Meiner, M., and Meuller, K. A practical evaluation of popular volume rendering algorithms. Proceedings of the 2000 Volume Visualization Symposium, 2000. 42
[48] Beall, C., Dellaert, F., and Ila, V. annd Lawrence, B.J. 3D reconstruction of underwater structures. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2010. [49] Beckmann, E. C. CT scanning the early days. British Journal of Radiology, Vol. 79, No. 937, pp. 5-8, 2006. doi 10.1259/bjr/29444122. [50] Collins, T. J. ImageJ for microscopy. BioTechniques, Vol. 43, No. S1, pp. S25-S30, 2007. doi 10.2144/000112517. [51] Courant, R. What Is Mathematics?: An Elementary Approach to Ideas and Methods. Oxford University Press, 1996. [52] Evening, M. Adobe Photoshop CS3 for Photographers: A Professional Image Editor’s Guide to the Creative Use of Photoshop for the Macintosh and PC. Taylor and Francis Inc., 2007. [53] Harvey, E.C. and Lorensen, W.E. Marching cubes: A high resolution 3d surface construction algorithm. CM Siggraph Computer Graphics, Vol. 21, No. 4, 1987. [54] Kaandorp, J. A., Kruszynsky, K. J., and Van Liere, R. An interactive visualization system for quantifying coral structures. Proceedings Eurographics / IEEE VGTC, pp. 283-290, 2006. isbn 3 905673 31 2. [55] Kaandorp, J. A., Kruszynsky, K. J., and Van Liere, R. A computational method for quantifying morphological variation in scleractinian corals. Vol. 26, No. 4 pp. 831-840, 2007. [56] Kruszynski, K.J. Interactive Measurements of Three-Dimensional Branching Objects. Technische Universiteit Eindhoven, 2010. [57] Lorensen, B., Martin, K., and Schroeder, W. The Visualization Toolkit. Kitware, 3rd edition edition, 2004.
43
44
BIJLAGE A
Handleiding: ParaView op het RVS cluster van SURFsara Om te beginnen zijn de volgende software programma’s nodig: SSH (Secure Shell Client) en ParaView. Bij het verbinden met het RVS cluster van SURFsara via de SSH wordt het duidelijk welke versie van ParaView nodig is. Om deze verbinding tot stand te brengen is er een gebruikersnaam met wachtwoord nodig, die aangevraagd kan worden bij SURFsara [32]. Zodra deze beschikbaar is gesteld kan er via SSH verbinding worden gemaakt, door de optie Quick Connect. Hierbij is de hostnaam rvs.sara.nl en de gebruikersnaam is de gegeven gebruikersnaam van SURFsara, waarna het wachtwoord ingevuld wordt en het rendercluster van SURFsara wordt betreed. De schijf quota van de gebruiker is meteen zichtbaar en de processen met de ParaView server kan gestart worden. SURFsara heeft een script beschikbaar gesteld op de RVS login node om deze connectie moeiteloos te laten lopen. Deze script is te vinden in /software/remotevis/scripts/rvs paraview. Het reserveren van de aantal nodes en de hoeveelheid tijd is een vereist argument, wat terug te zien is in Figuur A.1. Na het invoeren van deze argumenten wordt de correcte versie van ParaView zichtbaar gesteld. De GUI zal op dat moment geopend moeten worden, waarna een connectie gelegd kan worden met de node waar het proces gestart was. Deze wordt weergegeven als v42-8.rdr.sara.nl in Figuur A.1.
Figuur A.1: Reservering van 4 nodes voor 2 uur met connectie node. 45
A.1 Verbinden in ParaView De client-server connectie kan eenmalig uitgevoerd worden, zolang de connectie op dezelfde node plaatsvindt. In het voorbeeld zijn er vier nodes gestart op de SURFsara server op de node v42-8. Hierop zal ParaView verbinding maken, waarbij de gehele hostnaam v42-8.rdr.sara.nl gebruikt zal worden. De optie om te verbinden, Connect, is te vinden onder File. Met de Add Server optie kan een nieuwe server worden toegevoegd. In dit geval is de naam v42-8 en host v42-8.rdr.sara.nl, zoals te zien in Figuur A.2. Na het configureren dient de Startup Type veranderd te worden van Command naar Manual. Selecteer vervolgens de server om verbinding te maken. Als ParaView verbinding met SURFsara heeft gemaakt op de node zal dit zichtbaar zijn in de Pipeline Browser als cd://v42-8.rdr.sara.nl:11111. Deze stappen zullen opnieuw uitgevoerd moeten worden zodra de verbinding plaats vindt op een andere node [39].
Figuur A.2: Nieuwe server toevoegen.
A.1.1 Data distributie Het toepassen van de Process Id Scalars filter zorgt voor de controle van de data distributie over de verschillende server processen van SURFsara, zo worden er evenveel verschillende kleuren weergegeven als de opgegeven nodes die zijn voorbehouden, zie Figuur A.3. Dit aantal nodes komt overeen met het aantal ParaView server processen die worden gestart.
Figuur A.3: Controle data distributie van 4 nodes, weergegeven in verschillende kleuren.
46
BIJLAGE B
Handleiding: RAW bestand cre¨eren met behulp van ImageJ Bij het cre¨eren van een RAW bestand met behulp van ImageJ zal de optie Image Sequence vanuit Import geselecteerd moeten worden, waarna het eerste bestand van de reeks gekozen wordt. Vervolgens verschijnt er een scherm Sequence Options waarin de hoeveelheid bestanden (372) en de waarden 512x512x372 onderin weergegeven worden, zie Figuur B.1 . Deze waarden staan voor de hoeveelheid pixels in de lengte, in de breedte en de hoeveelheid plakjes (diepte).
Figuur B.1: Sequence Options in ImageJ. Nadat ImageJ een beeld heeft gecre¨eerd kan deze opgeslagen worden als een RAW bestand door de opties Save As en Raw Data te selecteren. Het is hierbij verstandig om de waarden 512x512x372 in de bestandsnaam te vermelden. Bovenin het beeld is er enige informatie weergegeven over de dataset. Zo is de hoeveelheid plakjes, de afmeting van de plakjes in millimeter, de hoeveelheid bits en de grootte van de dataset weergegeven. Gedetailleerde informatie is te vinden onder het tabblad Image en de optie Show Info.
B.1 Openen in ParaView Zodra er een RAW bestand is gecre¨eerd kan deze geopend worden in ParaView. Hierbij worden er drie mogelijkheden weergegeven. Voor het openen van dit bestand zal Raw (binary) files geselecteerd moeten worden. Vervolgens is het noodzakelijk om de correcte gegevens in te vullen 47
in de Object Inspector, waarbij de informatie in de optie Show Info van ImageJ goed van pas komt. Als Data Scalar Type wordt er gekozen voor unsigned short. In de gedetailleerde informatie van ImageJ wordt er weergegeven dat het bij deze dataset gaat om unsigned 16-bit beelden. Deze worden opgeslagen als unsigned short. Voor de Data Byte Order dient de BigEndian type gekozen te worden, doordat 16-bit en 32-bit beelden opgeslagen worden door middel van de big-endian byte order bij het opslaan als een RAW bestand. Bij de Data Extent komen de waarden 512x512x372 van pas. Hierbij wordt er vanaf nul geteld waardoor er bij alle waarden 1 afgetrokken moeten worden. Zo worden in de tweede kolom respectievelijk 511, 511 en 371 genoteerd. De waarden van de Pixel Spacing die in ImageJ zijn weergegeven, dienen ingevoerd te worden in Data Spacing. Ten slotte wordt het RAW bestand geopend door op Apply te drukken, zie Figuur B.2 [9].
Figuur B.2: Object Inspector in ParaView.
48