Analyse en kwanti catie van complex gevormde 3D-beelden ... · Van de Amira en Analyze software...

37
Bachelor Informatica Analyse en kwantificatie van complex gevormde 3D-beelden van micro-computertomografie¨ en van koralen Tamara Ockhuijsen 6060374 19 juli 2013 Supervisor: Robert Belleman (UvA) Signed:

Transcript of Analyse en kwanti catie van complex gevormde 3D-beelden ... · Van de Amira en Analyze software...

  • Bachelor Informatica

    Analyse en kwantificatie vancomplex gevormde 3D-beeldenvan micro-computertomografieënvan koralen

    Tamara Ockhuijsen6060374

    19 juli 2013

    Supervisor: Robert Belleman (UvA)

    Signed:

  • Samenvatting

    Het visualiseren van biomedische data in 3D biedt de mogelijkheid om complexe vormen duidelijkweer te geven en er metingen aan te verrichten. Op veel gebieden is deze ontwikkeling al vergevorderd, echter staat deze bij koralen nog in de kinderschoenen. In deze scriptie wordt eenantwoord gegeven op de vraag: Hoe kunnen metingen worden gedaan aan koralen aan de handvan micro-CT scans? De koralen worden hiervoor eerst gevisualiseerd in 3D. Er wordt gebruikgemaakt van het programma ParaView, dat gedistribueerd werkt met een gespecialiseerd visu-alisatiecluster van SURFsara. Met behulp van ParaView zijn de hoogte en diameter van eenkoraal op een interactieve manier gemeten. De resultaten zijn betrouwbaar en reproduceerbaar.

  • 2

  • Inhoudsopgave

    1 Inleiding 51.1 Probleemstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Doelstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2 Literatuuronderzoek 72.1 Medische toepassingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Overige toepassingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3 Methoden en technieken 113.1 Driedimensionale visualisatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Programma’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3 ParaView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4 Visualisatietechnieken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.5 Meetmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.6 SURFsara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    4 Resultaten 21

    5 Conclusie 29

    A Handleiding SURFsara 33A.1 Client-server modus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33A.2 Remote visualisatie met VNC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    B ImageJ 35B.1 Reeks bestanden omzetten naar een enkel RAW-bestand . . . . . . . . . . . . . . 35B.2 Enkel plakje omzetten naar een ander bestandstype . . . . . . . . . . . . . . . . . 35

    3

  • 4

  • HOOFDSTUK 1

    Inleiding

    Koraal is niet alleen bijzonder mooi om te zien, maar ook belangrijk voor de natuur als ecosys-teem. Het koraalrif is het vruchtbaarste en soortenrijkste ecosysteem van de zee. Het kan gezienworden als het mariene equivalent van het tropische regenwoud op het land [13]. Voor mens endier is het rif belangrijk vanwege de vissen waar ze van leven, die alleen op het rif voorkomen.Daarnaast worden steeds meer producten uit het rif ontdekt die bijdragen aan de ontwikkelingvan medicijnen [22].

    De structuur van koralen zegt veel over de oceanografische en klimatologische veranderingenvan de omgeving waarin ze hebben geleefd [14]. Een aantal voorbeelden hiervan zijn de invloedvan het licht, het gehalte aan CO2, de temperatuur en de zuurgraad van het zeewater. Koralenkunnen duizenden jaren oud worden en bevatten waardevolle informatie over hun geschiedenis.

    Het is dus zeker interessant om onderzoek te doen naar koralen, voordat het te laat is.De koraalriffen zijn namelijk al decennia lang in gevaar. Oorzaken hiervoor zijn vervuiling,(duik)toerisme, verkeerde vistechnieken en het broeikaseffect.

    1.1 Probleemstelling

    Koralen zijn beschermd en mogen daarom niet zomaar worden opgedoken voor onderzoek. Debeschikbare stukken koraal zijn zeldzaam en er moet daarom zuinig mee worden omgegaan. Voorhet doen van onderzoek naar koralen, zouden metingen kunnen worden verricht aan het koraalzelf. Deze metingen zijn echter onnauwkeurig. Om de binnenkant van het koraal te bekijken, zouhet opengesneden moeten worden. Dit is verre van ideaal, aangezien de structuur van het koraaldan onherroepelijk kapot wordt gemaakt. Met micro-CT kan de binnenkant van een koraalworden gescand op een non-destructieve manier. Hoe kunnen metingen worden gedaan aankoralen aan de hand van micro-CT scans? Zijn deze metingen betrouwbaar en reproduceerbaar?

    1.2 Doelstelling

    Het doel van dit werk is om te onderzoeken hoe metingen verkregen kunnen worden aan micro-CT scans van koralen. Om dit te bereiken, moeten de gecalcificeerde structuren van de koraleneerst zichtbaar worden gemaakt. De eerste stap is dan ook het visualiseren van de micro-CTdatasets in 3D. Hierna worden de metingen uitgevoerd op deze virtuele replica van het koraal.Een uitdaging hierbij is dat micro-CT datasets gigabytes groot zijn, waardoor het visualiserenop een standaard computer niet altijd mogelijk is. Hiervoor zal een oplossing moeten wordengevonden. Dit project draagt bij aan het onderzoek naar koralen van de Computational Scienceonderzoeksgroep aan de Universiteit van Amsterdam onder leiding van Jaap Kaandorp [19].

    5

  • 6

  • HOOFDSTUK 2

    Literatuuronderzoek

    Bij het maken van een CT-scan wordt röntgenstraling door een object heen gezonden en opgevan-gen. Een deel van de straling wordt geabsorbeerd en de sterkte van de resterende straling wordtgemeten. De doorlaatbaarheid van het object wordt door middel van rotatie vanuit verschillendehoeken plakje voor plakje gemeten. Met deze plakjes kan een driedimensionale weergave wordengereconstrueerd. Godfrey Hounsfield won in 1979 de Nobelprijs voor de Fysiologie van Genees-kunde voor het ontwikkelen van de computertomografie. De Hounsfield unit (HU) is de naarhem genoemde eenheid voor de röntgendichtheid [1].

    Er is in voorafgaand werk binnen en buiten de onderzoeksgroep van de Universiteit van Am-sterdam onderzoek gedaan naar verschillende methoden en technieken om metingen aan de handvan CT-scans uit te voeren. In dit hoofdstuk wordt het meest relevante onderzoek beschreven.

    2.1 Medische toepassingen

    Bij medische toepassingen wordt vaak gebruik gemaakt van medische scans waarop metingenworden verricht [16]. Er kunnen bijvoorbeeld volumetrische metingen worden gedaan aan long-knobbeltjes met CT-scans van longen. In dit werk wordt beschreven dat met de software Lun-gCare een knobbeltje kan worden aangeklikt met de muis. Vervolgens wordt een 3D-structuurgevormd en het volume wordt berekend.

    Met CT kan het effect van een behandeling op een tumor worden onderzocht (zie ook Figuur2.1). Bij dit onderzoek is software van Advantage Windows gebruikt voor het maken van 3D-reconstructies van tumoren en het berekenen van de volumes ervan. Deze methode is eerst getestop objecten gemaakt van Plasticine en vervolgens toegepast op patiënten. De metingen van devolumes zijn nauwkeurig en reproduceerbaar voor grotere objecten. De nauwkeurigheid van devolumemetingen is 5%.

    Figuur 2.1: 3D-reconstructie van een vergrote lymfeklier van een 60-jarige man [15].

    7

  • Voordat een chirurg een implantaat in een menselijk gebit zet, kunnen eerst scans wordengemaakt van het gebit (zie ook Figuur 2.2). Er zijn in dit werk CT-scans en optische scansgebruikt om metingen aan te verrichten. De verkregen data worden gevisualiseerd in 3D metbehulp van het programma 3D Slicer [25]. Er is een 3D-model gemaakt van CT-data en hetandere model is verkregen door data van de optische scanner. De distributie van de verschillentussen de twee modellen is gekwantificeerd.

    Figuur 2.2: 3D-model van een gebit verkregen door (A) CT-data en (B) de optische scanner [7].

    Met behulp van multidetector CT zijn de lichamen van dertien Egyptische menselijke mum-mies gevisualiseerd in 3D (zie ook Figuur 2.3). Vitrea software is hierbij gebruikt voor hetanalyseren van de scans en het verkrijgen van een driedimensionale reconstructie [28]. Er zijnmetingen uitgevoerd op de schedel om de antropometrische gegevens te berekenen. CT wordthier ook gebruikt om non-destructief te kunnen meten aan objecten. Aan de hand van het skeletkan onder andere worden bepaald hoe oud de mummies waren en wat hun geslacht was.

    Figuur 2.3: 3D-reconstructie van CT-scans van een Egyptische mummie [3].

    De term micro geeft aan dat de grootte van een pixel wordt aangegeven in micrometers (10−6

    m). De machine die wordt gebruikt voor micro-CT is klein en geschikt voor kleine objecten. Descans hebben een veel grotere precisie dan normale medische scans. Hierdoor zijn medische scansgeschikt voor onderzoek naar vorm op een globaal niveau en micro-CT scans om onderzoek tedoen naar structuren op een kleiner niveau.

    Door deze nauwkeurigheid zijn micro-CT datasets vele malen groter dan normale datasets.Micro-CT datasets bevatten gigabytes aan informatie en normale datasets zijn enkele honderdenmegabytes groot. Dit kan tot problemen leiden, aangezien de meeste computers een werkgeheu-gen hebben van 4 GB.

    8

  • Bij onderzoek naar de hersenen van overleden muizen kan gebruik worden gemaakt van micro-CT en micro-MRI scanners (zie ook Figuur 2.4). De voorkeur gaat uit naar micro-CT, omdat hetveel goedkoper is dan micro-MRI. Met behulp van micro-CT kan het contrast tussen een tumoren het normale hersenweefsel zichtbaar worden gemaakt en kan een schatting worden gemaaktvan het volume van de tumor. De visualisatie van de data wordt gerealiseerd met Amira software[17]. Het traceren van de randen van tumoren kan worden gedaan met Analyze software [18].De complete contour is verkregen door middel van interpolatie over alle relevante plakjes.

    Figuur 2.4: Micro-CT beelden van de hersenen van een muis met een tumor [4].

    2.2 Overige toepassingen

    GEOPROVE is een software-architectuur waarbij virtuele probes in een interactieve virtueleomgeving geplaatst kunnen worden om kwantitatieve informatie te verkrijgen [2]. Met dezearchitectuur kunnen metingen worden verkregen van verschillende niveaus van datapresentaties.Een probe kan de coördinaten van een positie in de omgeving of een andere waarde bevattenverkregen van data op deze positie. Als toepassing zijn de kortste afstanden tussen naburigeuiteinden van takken van koralen gemeten.

    Het is mogelijk om CT datasets van koralen te analyseren door middel van het construerenvan een morfologisch skelet (zie ook Figuur 2.5). Dit geeft een beeld van het skelet van het koraalmet zijn aftakkingen. De Visualization Toolkit is gebruikt voor het tonen van de resultaten vande beeldverwerking en voor de visuele interactie met de dataset [30]. De hoeken tussen deaftakkingen en de dikte van de takken zijn gemeten.

    9

  • Figuur 2.5: Het morfologische skelet van een koraal [10].

    In bovenstaand werk wordt gebruik gemaakt van verschillende programma’s die niet allemaalgeschikt zijn voor onderzoek naar koralen. De LungCare software is alleen toepasbaar op lon-gen. De Vitrea software is niet beschikbaar op de officiële website. Er is geen beschikking overeen Windows Advantage werkstation. Van de Amira en Analyze software zijn alleen probeer-versies gratis te verkrijgen voor een gelimiteerd aantal dagen. Bij GEOPROVE kunnen geenoppervlakte- en volumemetingen worden verricht.

    Er zijn nog geen publicaties beschikbaar over het visualiseren van en metingen doen aan ko-ralen in 3D aan de hand van micro-CT datasets. Dit is onderzoek dat op dit moment plaatsvindten waar deze scriptie een bijdrage aan levert.

    10

  • HOOFDSTUK 3

    Methoden en technieken

    3.1 Driedimensionale visualisatie

    Er zijn robuuste algoritmen nodig om op een geautomatiseerde manier te kunnen meten aancomplex gevormde objecten. Dit houdt in dat de meting objectief, nauwkeurig, reproduceerbaaren betrouwbaar dient te zijn. Bij gelijke omstandigheden moet een herhaalde meting dezelfdeuitkomst hebben. Een andere voorwaarde is dat de meting binnen een afzienbare tijd uitgevoerdkan worden. Bij groter wordende datasets neemt de tijd die nodig is om de analyse af te rondentoe en de machine moet over genoeg geheugen beschikken. Er kunnen hiervoor gespecialiseerdecomputersystemen worden gebruikt die de belasting beter kunnen dragen.

    Koraalonderzoekers zijn gëınteresseerd in verschillende soorten metingen aan koralen. Hieron-der vallen de kwantificeringen van globale karakteristieken, zoals de hoogte-, breedte- en diepte-dimensies, inhoud, oppervlakte en dichtheidsverdeling in een histogram. Om zo objectief, nauw-keurig, reproduceerbaar en betrouwbaar mogelijke metingen te verkrijgen, heeft het toepassenvan een automatische methode met behulp van een algoritme de voorkeur. Dit is mogelijk bijde meeste van de eerder genoemde type metingen. Onder de andere type metingen vallen dekwantificeringen van karakteristieke structuren in het koraal, zoals de lengte en dikte van eentak en de afstanden en hoeken tussen twee vertakkingen. Hierbij staat het herkennen van dekarakteristieke structuren van het koraal centraal.

    Vroeger vergeleken en classificeerden biologen koraalmonsters met de hand. De metingennemen dan veel tijd in beslag en kunnen fouten bevatten. Het gebruikmaken van een algoritmemaakt het uitvoeren van metingen objectief, sneller, eenvoudiger en nauwkeuriger. Er bestaatechter niet altijd een betrouwbaar algoritme voor het vinden van een bepaalde structuur. In-teractief meten met een gebruiker biedt een oplossing, vanwege de ervaring van een mens enhet vermogen van ons visuele systeem om patronen en structuren te herkennen. Door middelvan interactieve visualisatie kan meer inzicht worden verkregen in de data. De mens wordt alsschakel bij het algoritme gebruikt om de meting alsnog te kunnen verrichten. Nadat het koraal isgevisualiseerd in 3D kunnen metingen worden uitgevoerd op een interactieve manier. Het objectkan met behulp van de muis in de gewenste positie worden gedraaid alvorens een meting wordtuitgevoerd. Tevens kan op het object worden in- en uitgezoomd. Meetmethoden kunnen de mo-gelijkheid bieden om met behulp van de muis probes in het object te plaatsen om kwantitatieveinformatie te verkrijgen. Voor de visualisatie van CT-scans kunnen de technieken 2D volumeslicing, 3D surface rendering en 3D volume rendering worden gebruikt (zie ook Figuur 3.1).

    • Bij 2D volume slicing wordt steeds een plakje uit de volumetrische data genomen. Met hetinterpoleren van de omliggende datapunten worden de onbekende datapunten bepaald. Deplakjes vormen samen een 3D-object. Het 2D-vlak kan een willekeurige oriëntatie hebbenin de 3D-dataset. Het voordeel is dat deze methode snel werkt. Het nadeel hiervan is datde gegevens vanwege de interpolatie niet helemaal nauwkeurig zijn. Een probleem bij een2D-slice is de keuze van de oriëntatie van het vlak. Afstanden tussen twee punten op dedoorsnede kunnen hiermee worden gemeten.

    11

  • • Met 3D surface rendering worden de volumetrische data eerst omgezet naar een 3D-oppervlak bestaande uit een verzameling driehoeken. Deze driehoekjes worden vervolgensweergegeven in een 3D-ruimte. Surface renderings hebben een hoog contrast tussen hetobject en de achtergrond, terwijl dit bij volume renderings over het algemeen minder hoogis. Het voordeel van surface rendering is dat de complexiteit van het renderen wordt ge-reduceerd, waardoor de rendering redelijk snel kan worden uitgevoerd. Het nadeel is datbij het samenstellen van een 3D-oppervlak gegevens verloren gaan. Met deze methode ishet mogelijk om de dimensies, lengte en dikte van takken, totale oppervlakte, inhoud enafstanden en hoeken tussen takken te berekenen aan de oppervlakte.

    • 3D volume rendering zet de volumetrische data niet om naar 2D-vlakken, maar ze wordendirect gebruikt om het object weer te geven. Het voordeel hiervan is dat bij deze vormvan visualisatie de gehele dataset bijdraagt aan het eindresultaat. Volume rendering heeftcomplexiteit O(n3). Het nadeel is dat deze vorm van rendering grote datasets hierdoortrager uitvoert. Dit vormt een belemmering voor het interactief meten aan de visualisatie.De dimensies, dichtheidsverdeling, inhoud, lengte en dikte van takken en afstanden enhoeken tussen takken kunnen worden berekend van het hele volume.

    (a) 2D-slice (b) Surface rendering (c) Volume rendering

    Figuur 3.1: Weergave van een koraal met de verschillende visualisatiemethoden.

    Figuur 3.1 geeft een weergave van elke methode. Het meten aan 3D-datasets op basis van2D-weergaven heeft beperkingen. Er ontbreekt informatie van het object, waardoor interpolatienodig is. De CT-scans kunnen ook last ondervinden van ruis.

    In dit hoofdstuk wordt uitgelegd hoe de visualisatie in zijn werk gaat. Eerst worden deopties voor de software die voorhanden liggen besproken. Vervolgens wordt de genomen keuzebeargumenteerd en uitgelegd hoe de visualisatie tot stand is gekomen. Tot slot worden demeetmethoden en de rol van SURFsara behandeld.

    3.2 Programma’s

    In het literatuuronderzoek zijn diverse programma’s voor het visualiseren van CT-scans in 3Dde revue gepasseerd die zijn afgevallen. De software moet aan een aantal nader te noemen eisenvoldoen. Hieronder volgt een uiteenzetting van beschikbare programma’s die in overweging zijngenomen.

    • De Visualization Toolkit (VTK) is een open source programma voor de visualisatie van3D computer graphics [30]. VTK bestaat uit C++ klassen en verschillende interfaces dieonder andere Python en Tcl/Tk ondersteunen.

    • ParaView is een open source programma dat om VTK heen is gebouwd [24]. Het heeft eengrafische gebruikersinterface, waardoor het eenvoudiger te bedienen is dan VTK. ParaViewondersteunt de meeste filters die in VTK beschikbaar zijn. Het is mogelijk om ParaViewin client-server modus te gebruiken.

    • VolView is een open source programma voor het visualiseren van volumes [29]. Het steltonderzoekers in staat om complexe medische data snel te analyseren.

    12

  • • 3D Slicer is een open source programma voor het analyseren en visualiseren van medische3D-beelden [25].

    • OsiriX is een open source image processing programma speciaal gemaakt voor de Mac [23].DICOM-bestanden kunnen direct worden ingelezen en in volume worden omgezet.

    De programma’s worden met elkaar vergeleken op basis van de volgende eigenschappen. Vi-sualisatie met de technieken surface rendering en volume rendering moet mogelijk zijn om een3D-object te creëren. Aangezien de te gebruiken bestanden in DICOM-formaat zijn geleverd,moet dat bestandstype kunnen worden ingelezen. Indien dit niet mogelijk is, kunnen ze wor-den omgezet naar een ander bestandstype. Het is van belang dat metingen uitgevoerd kunnenworden op 3D-objecten, zoals het berekenen van dimensies, afstanden, hoeken, oppervlakken, vo-lumes en het maken van histogrammen en doorsneden. Dit onderzoek is bestemd voor biologen,daarom is het belangrijk dat zij met het programma om kunnen gaan. Aangezien biologen overhet algemeen werken op Windows machines moet de software hierop kunnen draaien. Biologenbeschikken meestal niet over goede programmeerkennis, waardoor de voorkeur gaat naar eengrafische gebruikersinterface.

    De software moet grote datasets kunnen visualiseren. Visualisatieprogramma’s gebruikenRAM-geheugen bij het renderen van beelden. Het RAM-geheugen van de gemiddelde computeris 4 GB groot en met een 32-bit besturingssysteem kan daarvan ongeveer 3 GB worden benut.De te visualiseren bestanden zijn ongeveer 3,5 GB groot en vormen daarmee een aanslag op hetgeheugen. Het uitvoeren van metingen is hierdoor niet mogelijk of duurt heel lang. Als de bestan-den zouden worden opgedeeld en ingeladen in stukjes, kunnen alleen metingen worden verrichtbinnen een bepaald gebied en niet over de hele dataset. De dataset kan worden verkleind doormiddel van subsamplen. Hierbij wordt één waarde gekozen die meerdere waarden representeertin een bepaald deel van de afbeelding. Hierdoor wordt de afbeelding minder gedetailleerd endat is niet de bedoeling bij micro-CT scans. Een rekenintensieve methode als volume renderingzal alsnog veel geheugen opeisen. Het benodigde geheugen voor volume rendering is vele malengroter dan de grootte van de dataset zelf. Een oplossing voor dit probleem is het gebruikmakenvan gedistribueerd geheugen voor de visualisatie.

    Windows GUI gedistribueerd

    VTK + - -ParaView + + +VolView + + -3D Slicer + + -OsiriX - + -

    Tabel 3.1: De verschillende programma’s tegen elkaar afgewogen.

    In Tabel 3.1 worden de programma’s met elkaar vergeleken op basis van de gestelde eisen.Alle software ondersteunt surface rendering, volume rendering en de eerder genoemde meetme-thoden. De overgebleven eigenschappen zijn het kunnen draaien op Windows, het hebben vaneen grafische gebruikersinterface (GUI) en de mogelijkheid van gedistribueerde visualisatie.

    ParaView kan gedistribueerd werken met een gespecialiseerd visualisatiecluster vanSURFsara [26]. In §3.6 wordt uitgelegd hoe dit in zijn werk gaat. Het programma voldoet aande gestelde eisen en is dus het meest geschikte programma voor dit werk.

    13

  • 3.3 ParaView

    ParaView heeft een grafische gebruikersinterface die eenvoudig is te bedienen. Het programma isgebaseerd op een onderliggende pipeline architectuur van VTK. De gebruiker laadt de data in enpast daarna een of meerdere filters erop toe die een pipeline vormen. Elke filter gebruikt data,voert bewerkingen uit en produceert nieuwe data. Aangezien de invoergegevens nooit veranderen,kunnen meerdere filters in verschillende volgordes worden toegepast tijdens een sessie. Hetresultaat van elk filter is meteen zichtbaar. In de pipeline bevindt zich aan de linkerkant van elkfilter een oog icoontje dat aangeeft of die dataset momenteel zichtbaar is (zie Figuur 3.2). Eendonker oog betekent dat de dataset zichtbaar is en bij een lichtgrijs oog is de dataset onzichtbaar.De dataset wordt zichtbaar gemaakt door op het lichtgrijze oog te klikken.

    Figuur 3.2: Donkere en lichtgrijze oog icoontjes in ParaView.

    ParaView biedt geen eenvoudige mogelijkheid om een reeks afbeeldingen in te lezen en daardirect volume uit te construeren. Het selecteren van een serie afbeeldingen zorgt ervoor datelke afbeelding individueel wordt ingeladen en de afbeeldingen worden gezien als afzonderlijkeobjecten in de pipeline. De oplossing hiervoor is het vooraf met een ander programma omzettenvan de data in een enkel bestand met ander bestandsformaat. Hiermee wordt tevens het probleemverholpen dat ParaView geen DICOM-bestanden kan openen. ImageJ is een op Java gebaseerdprogramma voor beeldverwerking [20]. In Bijlage B.1 staat beschreven hoe een reeks bestandenwordt omgezet in een RAW-bestand met behulp van ImageJ.

    Figuur 3.3: Eigenschappen bij het openen van een RAW-bestand in ParaView.

    Bij het openen van het RAW-bestand in ParaView moet het filter in de bestandsbrowser op‘All files (*)’ worden gezet. Vervolgens verschijnt de optie om te kiezen tussen drie verschillendereaders, waarvan ‘Raw (binary) Files’ de juiste is. Voor een juiste weergave van het koraal is hetvan belang om de eigenschappen in te vullen die bij de DICOM-bestanden horen.

    14

  • De volgende gegevens dienen ingevuld te worden als eigenschappen in de Object Inspector die tezien is in Figuur 3.3. Als alle gegevens correct zijn ingevuld, kan op ‘Apply’ worden gedrukt.

    • File Prefix: Hier moet het pad naar de locatie van het RAW-bestand komen te staan. Hetbestand kan met een bestandsverkenner worden opgezocht door op “...” te drukken.

    • File Pattern: Dit specificeert de opmaakstring die nodig is om de dataset te lezen. Hetveld kan ongewijzigd blijven.

    • Data Scalar Type: Hier moet het scalaire datatype van de pixels of voxels in het bestandkomen te staan. ImageJ ondersteunt 8-bit, 16-bit en 32-bit beelden [21]. Invoerdata van8-bit, 16-bit en 32-bit worden respectievelijk opgeslagen als de typen char, short en int. BijImageJ is onder Image → Show Info... te lezen wat het aantal bits per pixel is en of hetom een signed of unsigned datatype gaat.

    • Data Byte Order: Dit geeft de volgorde van de bytes aan bij typen groter dan 8 bits. Big-endian plaatst de meest significante byte eerst, terwijl bij little-endian de minst significantebyte eerst wordt geplaatst. ImageJ slaat 16-bit en 32-bit beelden op in big-endian volgorde[21].

    • File Dimensionality: Dit geeft aan of het om volume in meerdere 2D-plakjes of in een3D-volume gaat. Hier moet een 3 worden ingevuld.

    • Data Origin: Het coördinaat dat de positie van het punt met index (0, 0, 0) specificeert.Het veld kan ongewijzigd blijven.

    • Data Spacing: Dit geeft de grootte van een voxel aan in elke dimensie. De waarde isbelangrijk bij het verrichten van metingen, omdat deze gebruikt kan worden om een metriekaan de afmetingen van een voxel te verbinden. Deze is eveneens te vinden in ImageJ onderImage → Show Info... als Pixel Spacing.

    • Data Extent: Dit specificeert de minimale en maximale indexwaarden van de data in elkedimensie en moet op nul zijn gebaseerd. Als de resolutie van het volume 2000 x 1048 x 50is, dan moeten de waarden in Figuur 3.3 hier worden ingevuld. De waarden 1999, 1047 en49 zijn respectievelijk X-1, Y-1 en Z-1. De waarden X × Y × Z zijn direct zichtbaar inImageJ na het openen van een Image Sequence.

    • Number Of Scalar Components: Dit is het aantal componenten dat de scalaire waarde bijelke pixel of voxel heeft. Het veld kan op 1 blijven staan.

    • Scalar Array Name: Dit veld kan ongewijzigd blijven.

    3.4 Visualisatietechnieken

    In een CT-beeld worden grijswaarden aan de hand van de HU-waarde bepaald. Een afbeeldingkan gezien worden als een 2D-array met door de CT-scanner gemeten verzwakkingswaarden dieworden uitgedrukt in HU. HU-waarden worden berekend met de volgende formule.

    HU =µweefsel − µwater

    µwater∗ 1000 (3.1)

    µ staat voor de lineaire verzwakkingcoëfficiënt van een materiaal. Veel scanners kunnen ver-zwakkingswaarden meten variërend van -2000 tot +4000. Het menselijk oog is niet in staatom duizenden grijswaarden van elkaar te onderscheiden en een monitor kan niet zo veel ver-schillende intensiteiten weergeven, daarom wordt in een afbeelding slechts een beperkt aantalwaarden getoond. Dit wordt de weergave ‘window’ genoemd en geeft de spreiding aan van hetaantal HU-waarden dat rond de ‘level’ wordt getoond. De ‘level’ bepaalt hoe de mapping vangetalswaarde naar grijswaarde wordt gecentreerd en geeft de middelste HU-waarde aan die in hetgrijsschaal beeld wordt getoond. Deze waarde moet dichtbij de waarde van het te onderzoeken

    15

  • weefsel liggen. Op deze manier wordt het weefsel zichtbaar gemaakt en kunnen er metingen aanworden verricht.

    Aangezien ParaView geen DICOM-bestanden kan inlezen, wordt een plakje eerst in ImageJverwerkt voordat een meting wordt verricht. In Bijlage B.2 staat beschreven hoe een enkelplakje kan worden omgezet in een bestandstype dat ParaView ondersteunt. In ImageJ kunnende waarden voor de ‘window’ en ‘level’ worden aangepast bij Image → Adjust →Window/Level.

    Het maken van andere doorsneden van het 3D-object is tevens mogelijk. Het ‘Slice’ filter datte vinden is onder Filters → Common kan direct worden toegepast op de ingevoerde RAW-data.Bij 2D-slices is de oriëntatie van het vlak van belang. Deze oriëntatie kan interactief worden ver-kregen door het vlak te verplaatsen met behulp van de muis. Er kan een plakje worden gemaaktin een willekeurige hoek in de dataset. De oriëntatie van het vlak is af te lezen in de X, Y en Zwaarden van de Origin en Normal in de Object Inspector.

    Het bepalen van de threshold die de grenzen van het object specificeert, is belangrijk bij 3D-surfaces. Een verkeerde threshold kan achtergrond voxels toevoegen aan het 3D-object. Dit leidttot een overschatting van het oppervlak. Het ‘Threshold’ filter dat te vinden is onder Filters→ Common selecteert een deel van de invoerdata dat in een bepaald gebied ligt. Dit gebiedspecificeert het object en buiten dit gebied bevindt zich de omliggende omgeving.

    Figuur 3.4: Marching cube.

    Het ‘Contour’ filter dat te vinden is onder Filters → Common genereert het iso-oppervlak vaneen bepaalde threshold waarde. Het marching cubes algoritme wordt hiervoor gebruikt om een3D-object weer te geven als een verzameling verbonden driehoeken [11]. De volumetrische dataworden verdeeld in een 3D-array van kubusvormige cellen, zodanig dat de acht hoeken van elkecel een dichtheidwaarde hebben toegewezen. De divide-and-conquer strategie wordt gebruikt omhet oppervlak binnen een kubus van acht pixels te bepalen. Er zijn vier pixels per plakje die eenkubus vormen met de vier pixels van het opeenvolgende plakje. De hoekpunten van de kubusbevinden zich in het midden van een pixel, zoals te zien is in Figuur 3.4. Het algoritme bepaalthoe het oppervlak de kubus snijdt en gaat dan verder met de volgende kubus. Hoeken van dekubus met een hogere of dezelfde waarde als de threshold waarde krijgen een 1 toegewezen enhoeken met een lagere waarde ontvangen een 0. De hoeken met een 0 liggen buiten het object ende hoeken met een 1 liggen in of op het oppervlak. Het oppervlak snijdt een zijde van de kubusals de twee hoeken een 0 en een 1 bevatten.

    Een kubus bevat acht hoeken en de twee mogelijke toestanden zijn binnen en buiten het op-pervlak. Dit geeft in totaal 28 = 256 mogelijkheden waarop een oppervlak de kubus kan snijden.Vanwege de symmetrie in de kubus kunnen 15 verschillende gevallen worden onderscheiden diete zien zijn in Figuur 3.5. Ieder snijvlak bestaat uit een of meer driehoeken. De snijpunten vande doorsnede met de kubus worden bepaald door lineaire interpolatie met de hoekpunten van dekubus.

    16

  • Figuur 3.5: Driehoeken in de kubus [11].

    Voor het ‘Contour’ filter moet een threshold waarde worden gekozen die de structuur van hetobject representeert. Om de beste threshold waarde voor een koraal te bepalen, wordt gebruikgemaakt van het filter ‘Histogram’ dat te vinden is onder Filter → Data Analysis. Het histogramlaat de frequenties van de verschillende getalswaarden zien. Het is de bedoeling om een zo grootmogelijk oppervlak van het object te creëren, zodat het hele object wordt weergegeven. Elketop geeft de meest voorkomende dichtheidwaarde aan. Het histogram vertoont een sterke piekals de achtergrond bestaat uit één dichtheidwaarde (zie Figuur 4.3). Het object heeft een lagerepiek. Bij het koraal zijn twee pieken zichtbaar van een harde en een nog hardere structuur (zieFiguur 3.6). Een gesloten oppervlak maakt een scheiding tussen ‘binnen’ en ‘buiten’. Bij een iso-oppervlak zitten alle voxels met een hogere waarde dan de threshold waarde aan de binnenkant ende voxels met lagere waarden zitten daarbuiten. De optimale threshold waarde wordt gevondenin het dal tussen de twee toppen van de frequentieverdeling van het histogram. Bij een lagethreshold waarde ontstaan achtergrond voxels en bij een grotere threshold waarde zijn steedsminder voxels van het object zichtbaar.

    Het kiezen van de threshold waarde heeft consequenties voor de posities van de doorsnij-dingen die in marching cubes worden bepaald. Een verkeerd gekozen threshold waarde maaktmeetresultaten onbetrouwbaar. De driehoeken in de kubus worden groter of kleiner doordat dedoorsnijdingen langs de zijden door middel van lineaire interpolatie worden bepaald. Het geheleoppervlak verandert, waardoor niet wordt gemeten aan de gezochte structuur.

    Figuur 3.6: Histogram van koraal 445.

    17

  • Directe volume rendering geeft de data weer aan de hand van een optisch model dat beschrijfthoe het volume licht uitstraalt en weerkaatst. ParaView gebruikt het raycasting algoritme voordirecte volume rendering. Voor elke pixel in het beeld wordt een ray geschoten in het volume.Elke voxel op het pad van de ray krijgt een opacity en een kleur toegewezen. Het volumekan hierdoor vanuit elke richting gevisualiseerd worden. Volume rendering wordt toegepast inParaView door de representatie bij het Representation tabje te veranderen naar ‘Volume’. Allevoxels worden bij deze visualisatie gebruikt. Een ‘transfer function’ maakt 3D-volume zichtbaardoor datawaarden te koppelen aan de optische eigenschappen kleur en doorschijnendheid.

    De opacity geeft de mate van doorschijnendheid aan bij 3D-volumes. Een opacity van 0betekent dat het voxel geheel transparant is en bij een opacity van 1 is het voxel geheel on-doorschijnend. Bij metingen aan 3D-volumes is dit belangrijk, zodat aan de binnenkant vanhet object kan worden gemeten. Kleuren kunnen een classificatie maken tussen de lucht en hetobject. Kleuren en doorschijnendheid kunnen kenmerken benadrukken of weglaten. In Figuur3.7 is te zien dat de aftakkingen van het koraal in plaatje (b) duidelijker zichtbaar zijn dan inplaatje (a).

    (a) Onduidelijke aftakkingen (b) Duidelijke aftakkingen

    Figuur 3.7: Kleur speelt een rol om kenmerken te benadrukken.

    De Color Scale Editor in Figuur 3.8 biedt de mogelijkheid om de ‘transfer function’ te beherenvoor de color en opacity mapping. De interface is te vinden door onder het tabje Display vande Object Inspector op ‘Edit Color Map’ te drukken. Het kiezen van een ‘preset’ bepaalt hoegetalswaarden op kleuren worden gemapped. De keuze van deze mapping is belangrijk voorde visualisatie en heeft een invloed op de meetresultaten. Het menselijk oog is gevoeliger voorintensiteitvariaties dan kleurvariaties. Een regenboog ‘preset’ is geen geschikte keuze, omdat dezeniet gebaseerd is op hoe mensen kleur waarnemen. De grijsschaal ‘preset’ werkt goed vanwegede grote verschillen in intensiteit. Het probleem hierbij echter is dat het contrast laag is, wantde menselijke waarneming van helderheid is afhankelijk van de helderheid van de omliggendeomgeving. Bij een divergerende ‘color map’ passeert de overgang van één kleurcomponent naarde ander een onverzadigde kleur (wit) [12]. Het verdeelt de getalswaarden in lage, gemiddelde enhoge waarden, die helpen bij het begrijpen van de data. De waarden worden gëınterpreteerd doortwee kleuren met een associatie voor ‘laag’ en ‘hoog’. Rood wordt vaak geassocieerd met ‘warm’en blauw met ‘koud’, dus lage waarden krijgen blauw en hoge waarden krijgen rood toegewezen.

    De nodes corresponderen met getalswaarden. De linker node correspondeert met de minimaleen de rechter node met de maximale getalswaarde. Standaard heeft de minimale getalswaardeeen opacity van 0 en de maximale getalswaarde een opacity van 1. De waarden en kleuren tussende nodes zijn lineair verdeeld. Er kunnen nieuwe nodes worden toegevoegd door op de linkermuisknop te drukken in de editor en ze kunnen worden verwijderd door op de Delete knop tedrukken. De verticale hoogte van de lijn geeft een opacity tussen 0 en 1 aan. In Figuur 3.8is te zien dat een extra node in het midden van de functie is toegevoegd met een opacity van0,5. De zwarte lijn kan verschoven worden door de nodes te verslepen binnen het venster. Elkegetalswaarde krijgt op deze manier een kleur en een opacity toegewezen. De functie moet zoworden ingesteld dat het object zichtbaar is en de achtergrond een opacity van 0 heeft. Eenverkeerd gekozen opacity en/of ‘color transfer table’ kunnen voxels van het object onzichtbaarmaken, waardoor interactief meten onbetrouwbaar kan worden.

    18

  • Figuur 3.8: Weergave van de Color Scale Editor.

    3.5 Meetmethoden

    De metingen worden interactief uitgevoerd door het object eerst in de gewenste positie te draaienmet de muis en in- of uit te zoomen door te scrollen. Bij de onderstaande methoden worden3D-punten in het object geplaatst. Het is niet eenvoudig om 3D-punten op de goede plaats tekrijgen met een 2D-beeldscherm. Linksonder in het beeld zijn de oriëntatie assen te zien, waarvande kleuren corresponderen met de assen in het midden van het scherm. Deze kunnen gebruiktworden om een 3D-punt op de juiste plaats neer te zetten. De rode, gele en groene assen zijngelabeld met X, Y en Z om de oriëntatie van het object aan te geven. De oriëntatie van de assenkomt overeen met die van de data en ze bewegen mee bij het roteren van de camera. Het ishandig om deze assen in de gaten te houden, zodat het duidelijk is welke invloed bewegingenvan de muis hebben. Na het plaatsen van een punt of lijn in de dataset, moet het object 360◦

    gedraaid worden om te controleren of dit daadwerkelijk de gewenste positie is. Indien dit niet hetgeval is, wordt de punt of lijn verschoven en het beeld weer gedraaid, totdat de correcte positieis bereikt.

    Figuur 3.9: De functie ‘Ruler’ berekent de afstand tussen twee punten.

    19

  • Met de functie ‘Ruler’ die te vinden is onder Sources kunnen op een interactieve manier tweepunten worden gekozen. Om een punt te kiezen, moet de muis op een bepaalde plaats van dedataset worden geplaatst en de letter ‘p’ moet vervolgens worden ingedrukt. Tussen de tweegekozen bolletjes ontstaat een lijn, die te zien is in Figuur 3.9. De getrokken lijn kan met demuis worden verschoven. Er kunnen ook coördinaten van twee punten worden ingevoerd in degebruikersinterface. De functie berekent de afstand tussen de twee gekozen punten en kan metalle drie de visualisatiemethoden worden gebruikt.

    (a) Getrokken lijn (b) Grafiek van de scalaire waardenlangs de getrokken lijn

    Figuur 3.10: Het ‘Plot Over Line’ filter met de bijbehorende grafiek.

    Het ‘Plot Over Line’ filter dat te vinden is onder Filter → Data Analysis wordt gebruikt omde getalswaarden op de punten langs een lijn te plotten. Het filter gebruikt interpolatie om dewaarden van de punten te bepalen die buiten de dataset vallen. De punten voor het begin en eindvan de lijn worden gekozen door op ‘p’ te drukken. De getrokken lijn kan met de muis wordenverschoven. In de grafiek zijn van deze lijn de getalswaarden op de y-as en de positie over hetpad tussen de punten op de x-as af te lezen. De breedte van een tak kan worden berekend doorhet verschil te nemen tussen de pieken van de grafiek van Figuur 3.10b. Dit filter kan met alledrie de visualisatiemethoden worden gebruikt.

    3.6 SURFsara

    Een van de belangrijkste aspecten van ParaView is de mogelijkheid voor gebruikers om grotedatasets te visualiseren, zonder de data eerst te verzamelen op een enkele machine. Sommigedatasets zijn te groot om in het geheugen van een computer te passen. ParaView kan wordenuitgevoerd in client-server modus op het RVS cluster van SURFsara om deze beperking op tevangen.

    ParaView heeft geparallelliseerde algoritmen die op grote datasets toegepast kunnen worden.Een of meer ParaView server processen draaien op de RVS cluster nodes. De processen gebruikenMPI om hun activiteiten te coördineren. De ParaView GUI client wordt gedraaid op de lokalemachine van de gebruiker. Het voordeel hiervan is dat de data gedistribueerd worden over deRVS nodes, waarbij elke node een deel van de data krijgt. Bij de visualizatie in de ParaViewclient zal elke RVS node alleen werken aan zijn eigen stuk data. Hierdoor is sprake van parallelleverwerking en rendering. De client ontvangt de output van het beeld van de RVS nodes, diealleen nog lokaal getoond moeten worden. De RVS nodes gedragen zich als een master node, diede data van het beeld verzamelen van de andere RVS nodes en voegen de stukken samen voordathet eindresultaat naar de client wordt verzonden. Het maken van verbinding tussen ParaViewen SURFsara is uitgelegd in een handleiding in Bijlage A.

    20

  • HOOFDSTUK 4

    Resultaten

    In dit hoofdstuk worden de resultaten van de uitgevoerde metingen weergegeven en besproken.De beschikbare CT-scan waarop de metingen zijn uitgevoerd is geleverd door Robert Belleman.Deze is te vinden op het RVS cluster van SURFsara (rvs.sara.nl) op de volgende bestandslocatie:/home/robbel/data/MicroCT/445_20Jun2007/recon/DICOM

    Voor het visualiseren van micro-CT is koraal 445 gebruikt (zie Figuur 4.1). De afmetingen vande 912 plakjes zijn 2000 x 2000 pixels en daarmee is de dataset in totaal 3.4 GB groot.

    De meetmethoden ‘Ruler’ en ‘Plot Over Line’ zijn gebruikt om de hoogte van het koraal ende diameter van de stam te meten. Om te controleren of deze interactieve metingen nog steedsobjectief, nauwkeurig, reproduceerbaar en betrouwbaar zijn, zal elke meting tien keer onafhan-kelijk van elkaar worden uitgevoerd. Hierbij is ParaView telkens opnieuw geopend, waardoor hetunieke metingen zijn. Vervolgens wordt per tien metingen het gemiddelde en de standaardafwij-king bepaald. De standaardafwijkingen in de onderste regels van Tabel 4.2 en 4.3 zijn uitgedruktin procenten van het gemiddelde. Bij een lage standaardafwijking liggen de waarden dicht bijelkaar, wat duidt op een betrouwbare meting.

    Figuur 4.1: Koraal 445 met de visualisatietechniek volume rendering.

    21

  • De dimensies van de bounding box van koraal 445 zijn gemeten om de resultaten van demeetmethoden te valideren (zie Figuur 4.2). Onder ‘Bounds’ in het tabje Information van deObject Inspector staan de werkelijke afmetingen van de bounding box, namelijk 21,1404 x 21,1404x 9,64002 mm. Het filter ‘Outline’ dat te vinden is onder Filters → Alphabetical geeft de boundingbox weer van de dataset. Het meten van de dimensies van de bounding box met de methoden‘Ruler’ en ‘Plot Over Line’ is weergegeven in Figuur 4.2a. ‘Plot Over Line’ geeft de scalairewaarden weer langs de geplotte lijn in een grafiek. De afstand van de lijn met ‘Plot Over Line’is af te lezen uit de grafiek in Figuur 4.2b, door het verschil te nemen tussen de waarde aanhet begin van de lijn en aan het eind van de lijn. Bij ‘Ruler’ worden twee punten in het objectgeplaatst en ParaView geeft de afstand tussen de twee punten direct weer op het scherm. Deresultaten van het meten met ‘Ruler’ en ‘Plot Over line’ zijn te zien in Tabel 4.1.

    As ruler ruler (mm) plot plot (mm)

    x 1998,30 21,1224 2001,09 21,1519y 2001,97 21,1612 1999,14 21,1313z 911,121 9,63072 911,977 9,6397

    Tabel 4.1: De gemeten dimensies van de bounding box met ‘Ruler’ en ‘Plot Over Line’.

    De werkelijke waarden van de gemeten dimensies zijn berekend door te vermenigvuldigenmet de ‘Data Spacing’ van 0,0105702. De resultaten komen sterk overeen met de werkelijkeafmetingen van de bounding box.

    (a) Gemeten lijn (b) Histogram

    Figuur 4.2: Bounding box van koraal 445 gemeten met ‘Ruler’ en ‘Plot Over Line’.

    Bij objectieve metingen met bijvoorbeeld de filters ‘Histogram’ en ‘Outline’ blijft de uitkomstaltijd gelijk, er is hierbij geen interactie met het object. De resultaten bij interactieve metingenveranderen per keer dat ze worden uitgevoerd. Gebruikers zullen een object nooit tien metingenachter elkaar in precies dezelfde positie draaien en dezelfde punten in het object selecteren. Hetuitvoeren van één meting duurt ongeveer vijf tot tien minuten.

    In Figuur 4.3 is het histogram van koraal 445 te zien. De meest linker staaf bevat de lucht omhet koraal heen, daarom is het ‘Threshold’ filter gebruikt waarbij de minimale threshold waardeop 1 is gezet (zie Figuur 3.6). Het histogram vertoont twee toppen. Dit betekent dat er tweedichtheden in het koraal voorkomen.

    22

  • Figuur 4.3: Histogram van koraal 445.

    In Tabel 4.2 zijn de resultaten te zien van het meten van de hoogte van koraal 445. Het filter‘Plot Over Line’ is gebruikt bij het uitvoeren van de metingen (zie Figuur 4.5 en 4.6). De lijn isdwars door het object heen getrokken. Het beginpunt van de hoogte is waar de getrokken lijnhet object raakt en het eindpunt is waar de lijn het object verlaat. Het is bekend dat een koraaleen grote dichtheid aan het oppervlak heeft [9]. Dit is tevens te zien in Figuur 4.4b, waar de lijnvan ‘Plot Over Line’ is getrokken op de diameter van het eerste plakje van het koraal. De tweegekozen punten van de lijn liggen precies op het oppervlak van het koraal. De grafiek begint meteen piek en eindigt met een piek. De afstand wordt dus berekend door het verschil te nementussen de meest linker en rechter piek.

    (a) Getrokken lijn (b) Grafiek van de scalaire waarden langs de getrokkenlijn

    Figuur 4.4: De functie ‘Ruler’ en het filter ‘Plot Over Line’ met de visualisatietechniek 2D volumeslicing (window: 255, level: 128).

    23

  • In Figuur 4.5b hebben de pieken de waarden 162 en 974, dus de hoogte is 812, oftewel 8,58mm. In Figuur 4.6b zijn platte strepen te zien in de grafiek, omdat alleen voxels met de thresholdwaarde 48 zichtbaar zijn. Bij een contour is het object duidelijk gespecificeerd. Het beginpuntvan de hoogte bevindt zich bij het eerste punt met de gekozen threshold waarde en het eindpuntbij het laatste punt met die waarde. De hoogte wordt dan bepaald door het verschil te nementussen de waarde van het meest linker punt van het linker streepje en het meest rechter puntvan het rechter streepje. Dit zijn de waarden 168 en 993, dus de hoogte is 825, oftewel 8,72 mm.

    (a) Getrokken lijn (volume) (b) Grafiek van de scalaire waarden langs de getrokkenlijn

    Figuur 4.5: Het ‘Plot Over Line’ filter met de visualisatietechniek volume rendering.

    (a) Getrokken lijn (threshold 48) (b) Grafiek van de scalaire waarden langs de getrokkenlijn

    Figuur 4.6: Het ‘Plot Over Line’ filter met de visualisatietechniek surface rendering.

    De technieken surface en volume rendering zijn gebruikt voor onderstaande metingen. Voormetingen met het ‘Contour’ filter zijn drie verschillende threshold waarden uit het histogramgenomen. Deze waarden zijn 48, 93 en 110 (zie Figuur 4.8, 4.9 en 4.10) en liggen respectievelijkin het dal tussen de twee pieken, op de top van de rechter piek en op de rechter flank van derechter piek (zie Figuur 3.6). Voor volume rendering is de ‘transfer function’ van Figuur 3.8genomen. In Figuur 4.7 is 2D volume slicing gebruikt om de hoogte van het koraal te berekenenmet behulp van de functie ‘Ruler’. De gemeten hoogte is 795, oftewel 8,40 mm. De Origin enNormal in de Object Inspector zijn (1003, 997, 506) en (0.996, -0.0806, -0.0273).

    24

  • Figuur 4.7: De functie ‘Ruler’ met de visualisatietechniek 2D volume slicing.

    Meting volume contour 48 contour 93 contour 110

    1 779 825 841 1692 813 798 304 2923 797 833 248 264 771 787 791 335 804 802 819 3926 815 779 725 1967 770 773 797 178 788 804 755 339 809 826 341 24810 812 834 827 260

    x̄ 796 806 645 167σ 17,6 22,5 243 134

    x̄ (mm) 8,41 8,52 6,82 1,76σ (mm) 0,186 0,237 2,57 1,41

    σ (%) 2,21 2,79 37,7 80,2

    Tabel 4.2: De gemeten hoogte van koraal 445 met ‘Plot Over Line’.

    De gemeten hoogten bij een threshold waarde van 93 en 110 zijn kleiner dan de hoogten bijeen threshold waarde van 48. In Figuur 4.10 is te zien dat voxels van het koraal wegvallen bij eenthreshold waarde van 110. Dit verklaart waarom de gemiddelde hoogte zo klein uitvalt. Op depunten van de getrokken lijn liggen weinig voxels met een threshold waarde 110. Er zitten veel‘gaten’ in het koraal en de lijn kan door die gaten zijn getrokken en alleen enkele voxels rakendie binnen het koraal liggen. Dit is in mindere mate ook het geval bij een threshold waarde van93. Er wordt vermenigvuldigd met de ‘Data Spacing’ van 0,0105702 om de werkelijk gemetenhoogte te berekenen.

    25

  • Figuur 4.8: Koraal 445 met de visualisatietechniek surface rendering (threshold waarde 48).

    Figuur 4.9: Koraal 445 met de visualisatietechniek surface rendering (threshold waarde 93).

    Figuur 4.10: Koraal 445 met de visualisatietechniek surface rendering (threshold waarde 110).

    26

  • In Tabel 4.3 zijn de resultaten te zien van het meten van de diameter van de stam van koraal445. De functie ‘Ruler’ (zie Figuur 4.11) en het filter ‘Plot Over Line’ (zie Figuur 4.12 en 4.13)zijn gebruikt voor het uitvoeren van de metingen. Voor onderstaande metingen zijn de techniekensurface en volume rendering gebruikt. Tevens is de techniek 2D volume slicing gebruikt om dediameter te meten (zie Figuur 4.4). Het eerste plakje van de dataset is gemeten met de functie‘Ruler’ en heeft als resultaat een diameter van 408, oftewel 4,31 mm. De werkelijke diameterszijn berekend door te vermenigvuldigen met de ‘Data Spacing’ van 0,0105702.

    Meting volume volume contour 48 contour 48plot ruler plot ruler

    1 403 413 401 4172 387 404 406 4063 408 403 397 4044 395 388 400 4045 379 404 385 4086 394 399 394 4167 409 419 382 4138 403 414 408 4269 406 425 422 41610 380 416 404 421

    x̄ 396 409 400 413σ 11,3 10,9 11,5 7,5

    x̄ (mm) 4,19 4,32 4,23 4,37σ (mm) 0,119 0,115 0,122 0,0790

    σ (%) 2,84 2,67 2,88 1,81

    Tabel 4.3: De gemeten diameter van de stam van koraal 445 met ‘Ruler’ en ‘Plot Over Line’.

    (a) Volume (b) Contour 48

    Figuur 4.11: De functie ‘Ruler’ met de visualisatietechnieken surface en volume rendering.

    27

  • (a) Getrokken lijn (volume) (b) Grafiek van de scalaire waarden langs de getrokkenlijn

    Figuur 4.12: Het ‘Plot Over Line’ filter met de visualisatietechniek volume rendering.

    (a) Getrokken lijn (contour 48) (b) Grafiek van de scalaire waarden langs de getrokkenlijn

    Figuur 4.13: Het ‘Plot Over Line’ filter met de visualisatietechniek surface rendering.

    De bounding box van het koraal is gemeten, om aan te tonen dat een interactieve metingbetrouwbaar is. De werkelijke afmetingen van de bounding box zijn namelijk bekend. Dezeafmetingen zijn benaderd door interactief te meten met de methoden ‘Ruler’ en ‘Plot Over Line’.De resultaten van deze metingen liggen zeer dicht in de buurt van de werkelijke afmetingen.

    De hoogte van het koraal is gemeten door gebruik te maken van drie visualisatiemethoden:2D volume slicing, 3D surface rendering en 3D volume rendering. Hiervoor is de meetmethode‘Plot Over Line’ gebruikt. Bij surface rendering zijn drie verschillende threshold waarden metelkaar vergeleken. De gemiddelde hoogte (8,52 mm) is het grootst en de standaardafwijking hetkleinst bij de threshold waarde 48. Deze hoogte komt overeen met de gemeten hoogte bij volumeslicing (8,40 mm) en volume rendering (8,41 mm).

    De diameter van het koraal is tevens gemeten met de drie visualisatiemethoden. De meet-methoden ‘Ruler’ en ‘Plot Over Line’ zijn met elkaar vergeleken. Voor surface rendering is deoptimale threshold waarde 48 genomen. De gemiddelde diameter bij volume rendering met ‘PlotOver Line’ is 4,19 mm en 4,32 mm met ‘Ruler’. Bij surface rendering is de gemiddelde diameter4,23 mm met ‘Plot Over Line’ en 4,37 mm met ‘Ruler’. Volume slicing heeft als resultaat 4,31mm. Deze waarden liggen allemaal vrij dicht bij elkaar in de buurt en hebben een standaardaf-wijking onder de 3%.

    28

  • HOOFDSTUK 5

    Conclusie

    Grote micro-CT datasets van koralen kunnen in 3D worden gevisualiseerd door ParaView ge-distribueerd te laten werken met het RVS cluster van SURFsara. ParaView wordt hierbij inclient-server modus gebruikt, zodat de belasting voor de eigen computer afneemt. De visualisa-tietechnieken 2D volume slicing, 3D surface rendering en 3D volume rendering zijn gebruikt voorde visualisatie. Volume slicing gebruikt de gegeven plakjes of maakt een nieuwe doorsnede methet filter ‘Slice’. Surface rendering wordt tot stand gebracht door een gekozen threshold waardete gebruiken bij het filter ‘Contour’. Door het Representation tabje te veranderen naar ‘Volume’wordt volume rendering toegepast.

    Het ‘Threshold’ filter kan ruis in het object wegfilteren. Dit is gebruikt om een histogramgoed weer te kunnen geven. Het histogram laat de frequentieverdeling van de getalswaarden zien.Er werd verondersteld een optimale threshold waarde te vinden in het dal tussen twee pieken vanhet histogram. Uit de metingen van de hoogte van het koraal blijkt ook dat dit de beste van dedrie onderzochte threshold waarden is (zie ook Tabel 4.2). De standaardafwijking is het kleinst ende gemiddelde afstand ligt het dichtst in de buurt van de hoogten gemeten met volume slicing envolume rendering. Bij een hogere threshold waarde ontbreken steeds meer voxels van het koraal,terwijl bij een lagere threshold waarde steeds meer achtergrondvoxels worden toegevoegd.

    De meetmethoden ‘Ruler’ en ‘Plot Over Line’ zijn met elkaar vergeleken bij het meten vande diameter van de stam (zie ook Tabel 4.3). De resultaten liggen bij elkaar in de buurt en destandaardafwijkingen zijn klein. Bij ‘Ruler’ is het lastig om de punten op de juiste positie teplaatsen om een afstand te meten. Bij ‘Plot Over Line’ wordt een lijn dwars door het objectgetrokken en de afstand is duidelijker te bepalen, want dat kan in de grafiek worden afgelezen.Deze methode is dus nauwkeuriger.

    Het interactief meten van de hoogte en diameter van het koraal is betrouwbaar en nauwkeurig,omdat de standaardafwijking kleiner is dan 3% van de gemiddelde waarden. De resultaten vande metingen komen overeen met de werkelijke waarde, omdat de resultaten van het interactiefmeten van de bounding box van het koraal met de twee meetmethoden overeenkomen met de‘Bounds’. De uitkomsten van metingen op basis van de drie verschillende visualisatiemethodenkomen overeen, mits de juiste parameters zijn gekozen. De resultaten zijn reproduceerbaar,omdat het mogelijk is om tien verschillende metingen te doen waarvan de resultaten dicht bijelkaar in de buurt liggen.

    Een vervolgonderzoek zou zich bezig kunnen houden met het toepassen van andere meetme-thoden en het uitvoeren van metingen op verschillende computers door verschillende personen.Wellicht kan verder worden gekeken dan ParaView. Tijdens het uitvoeren van metingen loopthet programma vaak vast en het reageert soms heel traag. Programma’s die wel in staat zijn omDICOM-bestanden te openen, zouden geen RAW-bestanden hoeven te gebruiken. Dan zoudenbestanden kunnen worden ingelezen, zonder de tussenkomst van een image processing programmazoals ImageJ.

    29

  • 30

  • Bibliografie

    [1] Godfrey Newbold HounsfieldBeckmann E.C., Physics Today, vol. 58 (3), pp. 84-86. (2005)

    [2] GEOPROVE: Geometric Probes for Virtual EnvironmentsBelleman R.G., Kaandorp J.A., Dijkman D., Sloot P.M.A., editors: Sloot P.M.A., Bu-bak M.T., Hoekstra A.G., Hertzberger L.O., High-Performance Computing and Networking(HPCM Europe ’99), Amsterdam, The Netherlands, in series Lecture Notes in ComputerScience, vol. 1593, pp. 817-827. Springer-Verlag, Berlin. ISBN 978-3-540-65821-4. (1999)

    [3] Whole-Body Three-Dimensional Multidetector CT of 13 Egyptian Human MummiesCesarani F., Martina M.C., Ferraris A., Grilletto R., Boano R., Marochetti E.F., DonadoniA.M., Gandini G., American Journal of Roentgenology, vol. 180, pp. 597-606. (2003)

    [4] 3D micro-CT imaging of the Postmortem Brainde Crespigny A., Bou-Reslan H., Nishimura M.C., Phillips H., Carano R.A.D., D’ArceuilH.E., J Neurosci Methods 171 (2), pp. 207-213. (2008)

    [5] Biomedical Image ProcessingDeserno T.M., Springer-Verlag New York, LLC, ISBN: 978-3-642-15815-5. (2011)

    [6] A comparison between coral colonies of the genus Madracis and simulated formsFilatov M.V., Kaandorp J.A., Postma M., van Liere R., Kruszyński K.J., Vermeij M.J.A.,Streekstra G.J., Bak R.P.M., Proceedings of the Royal Society of London. Series B-BiologicalSciences, vol. 277, vol. 1700, pp. 3555-3561. (2010)

    [7] Integration of 3D anatomical data obtained by CT imaging and 3D optical scanning forcomputer aided implant surgeryFrisardi G., Chessa G., Barone S., Paoli A., Razionale A., Frisardi F., BMC Medical Imaging5, vol. 11, pp. 1-7. (2011)

    [8] A computational method for quantifying morphological variation in scleractinian coralsKruszyński K.J., Kaandorp J.A., van Liere R., Coral Reefs, vol. 26, vol. 4, pp. 831-840.(2007)

    [9] An Interactive Visualization System for Quantifying Coral StructuresKruszyński K.J., van Liere R., Kaandorp J.A., Proceedings Eurographics / IEEE VGTCSymposium on Visualization (EuroVis 2006), B. Sousa Santos, T. Ertl, K. Joy (eds.), Lisbon,Portugal, ISBN 3-905673-31-2, pp. 283-290. (2006)

    [10] Computer measures Coral StructuresKruszyński K.J., Kik A., Ercim News, vol. 66, pp. 52-53. (2006)

    [11] Marching cubes: A high resolution 3D surface resolution 3D surface construction algorithmLorensen W.E., Cline H.E., vol. 21 (4), pp. 163 - 169. (1987)

    31

  • [12] Diverging Color Maps for Scientific VisualizationMoreland K., editors: Bebis G., Boyle R., Parvin B., Koracin D., Kuno Y., Wang J., PajarolaR., Lindstrom P., Hinkenjann A., Encarnação M.L, Silva C.T., Coming D., Proceedings ofthe 5th International Symposium on Advances in Visual Computing (ISVC ’09), Las Vegas,Nevada, United States of America, in series Lecture Notes in Computer Science, vol. 5876,pp. 92-103. Springer-Verlag, Berlin. ISBN 978-3-642-10519-7. (2009)

    [13] Essentials of Conservation BiologyPrimack R.B., Sinauer Associates, Inc., Fifth Edition. (2010)

    [14] Reefs of the deep: the biology and geology of coldwater coral ecosystemsRoberts J.M., Wheeler A.J., Freiwald A., Science 312, pp. 543-547. (2006)

    [15] CT assessment of tumour response to treatment: comparison of linear, cross-sectional andvolumetric measures of tumour sizeSohaib S.A., Turner B., Hanson J.A., Farquharson M., Oliver R.T.D., Reznek R.H., TheBritish Journal of Radiology, vol. 73, pp. 1178-1184. (2000)

    [16] Volumetric measurements of pulmonary nodules at multi-row detector CT: in vivo reprodu-cibilityWormanns D., Kohl G., Klotz E., Marheine A., Beyer F., Heindel W., Diederich S., Euro-pean Radiology, vol. 14, vol. 1, pp. 86-92, DOI: 10.1007/s00330-003-2132-0. (2004)

    [17] Amirahttp://www.amira.com/

    [18] AnalyzeDirecthttp:///www.analyzedirect.com/

    [19] Computational Science aan de UvAhttp://uva.computationalscience.nl/

    [20] ImageJhttp://imagej.nih.gov/ij/

    [21] ImageJ User Guidehttp://rsbweb.nih.gov/ij/docs/guide/146-26.html

    [22] NOAA’s Coral Reef Conservation Programhttp://www.coralreef.noaa.gov/aboutcorals/values/

    [23] OsiriXhttp://www.osirix-viewer.com/

    [24] ParaViewhttp://www.paraview.org/

    [25] 3D Slicerhttp://www.slicer.org/

    [26] SURFsarahttp://www.surfsara.nl/

    [27] TurboVNChttp://www.virtualgl.org/Downloads/TurboVNC/

    [28] Vital Imageshttp://www.vitalimages.com/

    [29] VolViewhttp://www.volview.org/

    [30] Visualization Toolkithttp://www.vtk.org/

    32

    http://www.amira.com/http:///www.analyzedirect.com/http://uva.computationalscience.nl/http://imagej.nih.gov/ij/http://rsbweb.nih.gov/ij/docs/guide/146-26.htmlhttp://www.coralreef.noaa.gov/aboutcorals/values/http://www.osirix-viewer.com/http://www.paraview.org/http://www.slicer.org/http://www.surfsara.nl/http://www.virtualgl.org/Downloads/TurboVNC/http://www.vitalimages.com/http://www.volview.org/http://www.vtk.org/

  • BIJLAGE A

    Handleiding SURFsara

    A.1 Client-server modus

    ParaView kan uitgevoerd worden in een client-server modus op het RVS cluster van SURFsara.Er worden een of meerdere ParaView server processen uitgevoerd op de RVS cluster nodes, diegebruikmaken van MPI. De ParaView client wordt uitgevoerd op de machine van de gebruiker.Op deze manier kan de gebruiker de visualisatie op zijn eigen machine zien, terwijl de bereke-ningen voornamelijk op de SURFsara computers worden gedaan. De data worden gedistribueerdover de RVS nodes, waarbij elke node een deel van de data voor zijn rekening neemt.

    Er is een gebruikersaccount van SURFsara nodig om in te kunnen loggen op RVS. De HostName bij het maken van verbinding via SSH is rvs.sara.nl en verder zijn de eigen gebruiks-naam en het wachtwoord nodig. De bestanden die in ParaView geopend moeten worden, dienenop /home/gebruikersnaam/ te staan. Ze kunnen worden overgezet via het File Transfer Windowvan SSH. Voer de volgende stappen uit om een client-server verbinding te maken.

    De standaard versie van ParaView die beschikbaar is op de RVS nodes is 3.12. Download dezeop de website van ParaView: http://www.paraview.org/paraview/resources/software.php

    Log in op rvs.sara.nl met SSH.

    Voer het volgende commando in voor het gebruik van 4 nodes voor 2 uur:/software/remotevis/scripts/rvs_paraview -w 2:00:00 4

    Een reservering kan maximaal 8 uur duren. Het volgende commando laat informatie zien overde reservering:/usr/sara/bin/rvs_show

    Om een reservering te verwijderen, wordt het volgende commando gebruikt:qdel

    Het nummer van de toegewezen node wordt gebruikt om verbinding mee te maken, dit kanbijvoorbeeld v42-8 zijn. Open ParaView, klik op ‘Connect’ en kies voor ‘Add Server’. Geef alsnaam ‘v42-8’, als Server Type ‘Client / Server,’ als Host v42-8.rdr.sara.nl en als Port 11111.Sla de configuratie op als type ‘Manual’. Nu kan een verbinding worden gemaakt met de server42-8. De datasets voor de visualisatie kunnen worden geopend in ParaView, mits deze zich ophet RVS cluster bevinden.

    33

    http://www.paraview.org/paraview/resources/software.php

  • Figuur A.1: Datadistributie over de verschillende nodes.

    In Figuur A.1 is het filter Process Id Scalars toegepast. Dit toont de datadistributie over deverschillende server processen. De geometrie is gekleurd op basis van de proces ID die dat deelvan de data voor zijn rekening neemt. In dit geval zijn vier nodes gebruikt.

    A.2 Remote visualisatie met VNC

    Indien de bovenstaande methode niet werkt, kan gebruik worden gemaakt van VNC.

    Log in op rvs.sara.nl met SSH.

    Een VNC-sessie wordt gestart met het volgende commando:/software/remotevis/scripts/rvs_vnc 2:00:00

    De VNC-server is gestart op een node, bijvoorbeeld v42-8.

    Download TurboVNC [27] en start de VNC-client op de lokale machine. TurboVNC kan verbin-ding maken met de host: v42-8.rdr.sara.nl:1

    Er moet met het volgende commando een .vnc map worden gemaakt als deze nog niet bestaat:mkdir ~/.vnc

    Maak een wachtwoord aan indien VNC erom vraagt.

    Open een terminal in de VNC-verbinding door op de rechter muisknop en vervolgens op ‘Termi-nal’ te klikken.

    ParaView wordt geladen door de volgende commando’s achtereenvolgens uit te voeren:module load paraview/3.12.0

    vglrun paraview

    Tot slot kunnen de stappen in Bijlage A.1 worden uitgevoerd, zodat het gebruik van meerderenodes mogelijk is.

    34

  • BIJLAGE B

    ImageJ

    B.1 Reeks bestanden omzetten naar een enkel RAW-bestand

    Als de bestanden bij elkaar groter zijn dan 2 GB is het aan te raden om een 64-bit computer tegebruiken.

    1. Klik op File → Import → Image Sequence.

    2. Selecteer het eerste bestand en klik op Openen.

    3. Noteer de waarden van de drie dimensies X × Y × Z.

    4. Klik op Image → Show Info... en noteer het aantal Bits per pixel en de Pixel Spacing.

    5. Sla de data op door middel van File → Save As → Raw data, vul een bestandsnaam in enklik op Opslaan.

    B.2 Enkel plakje omzetten naar een ander bestandstype

    1. Klik op File → Open...

    2. Selecteer het gewenste plakje en klik op Openen.

    3. Sla het plakje op door middel van File → Save As → kies tussen Tiff, Jpeg, Raw Data ofPNG.

    35

    InleidingProbleemstellingDoelstelling

    LiteratuuronderzoekMedische toepassingenOverige toepassingen

    Methoden en techniekenDriedimensionale visualisatieProgramma'sParaViewVisualisatietechniekenMeetmethodenSURFsara

    ResultatenConclusieHandleiding SURFsaraClient-server modusRemote visualisatie met VNC

    ImageJReeks bestanden omzetten naar een enkel RAW-bestandEnkel plakje omzetten naar een ander bestandstype