AS-0.3200 Automaatio- ja systeemitekniikan projektityöt. Indosyaniinivihreä optisessa aivoverisuonikuvantamisessa: esitystekniikan kehittäminen



Samankaltaiset tiedostot
S09 04 Kohteiden tunnistaminen 3D datasta

HAAGA-HELIA ammattikorkeakoulu Photoshop ohje 59 Väritilat, kanavat

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

Zeon PDF Driver Trial

(Kuva2) (Kuva 3 ja 4)

Projektisuunnitelma ja johdanto AS Automaatio- ja systeemitekniikan projektityöt Paula Sirén

KÄYTTÖOHJE. Servia. S solutions

GIS-automatisointi ja ohjelmointi/skriptaus. Harri Antikainen

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

CABAS. Release Notes 5.4. Uusi kuvien ja dokumenttien käsittely

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Tilastolliset ohjelmistot A. Pinja Pikkuhookana

DOORSin Spreadsheet export/import

Luo mediaopas Tarinatallentimella

TL5503 DSK, laboraatiot (1.5 op) Kuvasignaalit. Jyrki Laitinen

Gimp JA MUUT KUVANKÄSITTELYOHJELMAT

SIMULINK S-funktiot. SIMULINK S-funktiot

S Laskennallinen Neurotiede

Asiakirjojen vertailu-kurssi

DOORS Word DOORS SoftQA Pekka Mäkinen

Google-työkalut: Dokumenttien jakaminen ja kommentointi

S Havaitseminen ja toiminta

Octave-opas. Mikä on Octave ja miksi? Asennus

Mitä on konvoluutio? Tutustu kuvankäsittelyyn

PIKSELIT JA RESOLUUTIO

LAS- ja ilmakuva-aineistojen käsittely ArcGIS:ssä

ToteutusDokumentaatio. FotMana17

4. Lausekielinen ohjelmointi 4.1

Videon tallentaminen Virtual Mapista

Laskuharjoitus 2 ( ): Tehtävien vastauksia

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Nokia Pureview 808:lle ja muille

KOTISIVUKONE ULKOASUEDITORI

Videokuvan siirtäminen kamerasta tietokoneelle Windows Movie Maker -ohjelman avulla

Hyvästä kuvasta hyvään kollaasiin. Siilinjärvi ja Hannu Räisänen

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro

Laskuharjoitus 9, tehtävä 6

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

plot(f(x), x=-5..5, y= )

Käyttöohje. Painikkeet:

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Internet-pohjainen ryhmätyöympäristö

STEP 1 Tilaa ajattelulle

2_1----~--~r--1.~--~--~--,.~~

3D-kuvauksen tekniikat ja sovelluskohteet. Mikael Hornborg

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

Digitaalisen tarinan koostaminen HTKS Tanja Välisalo

LYTH-CONS CONSISTENCY TRANSMITTER

Mendeley-esittely. Turun yliopiston kirjasto Syksy 2016

Gimp alkeet XIII 9 luokan ATK-työt/HaJa Sivu 1 / 8. Tasot ja kanavat. Jynkänlahden koulu. Yleistä

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

HARJOITUS- PAKETTI A

Noutaa ajoneuvotiedot Trafi-kyselyn kautta (mahdollistuu vuoden 2016 aikana)

Tässä ohjeessa käydään läpi sosiaalisen median verkkopalveluiden lisätoimintojen lisääminen verkkosivuillesi.

Opetusmateriaalin visuaalinen suunnittelu. Kirsi Nousiainen

Tiedostonhallinta. Yleistä

FETAL FIBROBLASTS, PASSAGE 10

Kuvan käsittelyn vaiheet

GeoGebra-harjoituksia malu-opettajille

Capacity Utilization

Osoitin ja viittaus C++:ssa

Bounds on non-surjective cellular automata

Gimp+Karttapaikan 1: => 1: Pika ohje versio

TEEMA 2 TAULUKKODATAN KÄSITTELY JA TIEDON VISUALISOINTI LUENTO 4

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Väliraportti

TIEDONHAKU INTERNETISTÄ

Tiedonkeruu ja analysointi

Tehdään laadukas painotuote

Kiipulan ammattiopisto. Liiketalous ja tietojenkäsittely. Erja Saarinen

Kuvankäsittely. DigiReWork Annamari Mäenhovi Kati Nieminen

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Xlet

Digikuvan peruskäsittelyn. sittelyn työnkulku. Soukan Kamerat Soukan Kamerat/SV

Mat Systeemien identifiointi, aihepiirit 1/4

Vanhankaupunginkosken ultraäänikuvaukset Simsonar Oy Pertti Paakkolanvaara

Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon

SISÄLTÖ. Vuokko Vanhala-Nurmi, 2013 Excel jatko

METROPOLIAN PILVIPALVELUT OPETUKSESSA Google Apps for Education (GAFE)

Pikaopas kotisivujen tekoon

21~--~--~r--1~~--~--~~r--1~

S11-09 Control System for an. Autonomous Household Robot Platform

Curriculum. Gym card

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

Jakopinnat ja liikkuvan keernan pinnat 1, keerna jakopinnan tasalla

ELOKUVATYÖKALUN KÄYTTÖ ANIMAATION LEIKKAAMISESSA. Kun aloitetaan uusi projekti, on se ensimmäisenä syytä tallentaa.

Lions Clubs International Piiri 107-C

Kuvaruudun striimaus tai nauhoitus. Open Broadcaster Software V.20. Tero Keso, Atso Arat & Niina Järvinen (muokattu )

1. STEREOKUVAPARIN OTTAMINEN ANAGLYFIKUVIA VARTEN. Hyvien stereokuvien ottaminen edellyttää kahden perusasian ymmärtämistä.

Esimerkkitehtäviä, A-osa

Kanta ja Kannan-vaihto

13673 A6 12pp CIG Bro FIN v5 20/7/05 8:01 pm Page 1 Rekisteröitymisohje

KÄYTTÖLIITTYMÄT. Visuaalinen suunnittelu

Flow!Works Pikaohjeet

Gammaspektrometristen mittausten yhdistäminen testbed-dataan inversiotutkimuksessa

Luentoesimerkki: Riemannin integraali

T : Max-flow / min-cut -ongelmat

MALE ADULT FIBROBLAST LINE (82-6hTERT)

Transkriptio:

TEKNILLINEN KORKEAKOULU Elektroniikan, tietoliikenteen ja automaation tiedekunta Automaatio- ja systeemitekniikka AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Indosyaniinivihreä optisessa aivoverisuonikuvantamisessa: esitystekniikan kehittäminen Projektin aloitusaika: 16.09.2008 Projektin loppuaika: 19.12.2008 Dokumentin päiväys: 19.12.2008 Tehnyt: Martti Riuttamäki

Sisältö 1 Johdanto 3 2 Työn tavoitteet 4 3 Työn tulokset 5 3.1 MATLAB:n m-tiedostot ja niillä muokattuja kuvia........... 5 3.1.1 Kommentteja m-tiedostoista.................... 9 3.2 Simulink-mallit............................... 10 3.2.1 Ajastetut värikanavan muutokset................. 10 3.2.2 Manuaaliset värikanavan muutokset............... 13 3.2.3 Kommentteja Simulink-malleista................. 13 4 Yhteenveto 15 5 Toteutunut aikataulu 16 6 Viitteet 17 7 Liitteet 18 7.1 Liite 1. modifyimage4.m.......................... 18 7.2 Liite 2. modifyimage6.m.......................... 19

1 Johdanto Tämän projektityön aiheena on indosyaniinivihreä -nimisen merkkiaineen avulla tehdyn verisuonikuvantamisen esitystekniikan kehittäminen. Indosyaniinivihreä on merkkiaine, joka uoresoi, eli synnyttää valoa, kun siihen kohdistetaan infrapunavaloa (800nm). Leikkauksissa indosyaniinivihreää käytetään sen vuoksi, että infrapuna-taajuinen valo läpäisee kudoksia hyvin, mikä mahdollistaa ihon alaisten kudosten ja verisuonten läpivalaisun. Käytännössä indosyaniinivihreää ruiskutetaan potilaan verenkiertoon, minkä jälkeen hänen kudoksiaan läpivalaistaan infrapunavalolla. Valon osuessa merkkiaineeseen, alkaa merkkiaiane uoresoida valoa, joka voidaan kuvata tarkoituksenmukaisella kameralla. [1] Projektityön aiheena on luoda katsaus MATLAB:n tarjoamiin mahdollisuuksiin muokata läpivalaistuista kudoksista otettuja kuvia havainnollisempaan muotoon. 3

2 Työn tavoitteet MATLAB:sta löytyy lukuisa joukko valmiita funktioita kuvankäsittelyyn. Näille funktioille yhteistä on se, että niillä voidaan tehdä kuville perustavanlaatuisia muunnoksia. Kehittyneempään kuvankäsittelyyn vaaditaan kuitenkin useiden valmiiden funktioiden käyttöä tai omien uusien funktioiden luomista. Tämän projektityön puitteissa ollaan käytetty ainoastaan MATLAB:n valmiita funktioita. Ongelmallista valmiiden funktioiden käytön suhteen oli se, että läpivalaistuista kudoksista otetuille kuville tulisi suorittaa monimutkaisia kuvankäsittelyoperaatioita, jotta kuvankäsittelyn hyöty maksimoituisi. Siinä missä tämä työ toimii pelkkänä esiselvityksenä, toisi edistyneempi kuvankäsittely mukanaan mahdollisuuden esimerkiksi etsiä ja erotella toisistaan kuvissa näkyvät valtimot ja laskimot. 4

3 Työn tulokset Työn tuloksena syntyi kaksi MATLAB:n valmiita funktioita yhdistelevää m-tiedostoa ja kaksi Simulink-mallia. Seuraavissa kappaleissa on kuvattuna m-tiedostojen sisältö sekä Simulink-mallit. 3.1 MATLAB:n m-tiedostot ja niillä muokattuja kuvia Projektin tuloksena syntyneissä m-tiedostoissa kutsutaan parametrina saadulle kuvalle yksinkertaisia muokkausoperaatioita. Ensimmäisessä m-tiedostossa (Liite 1) parametrikuva muutetaan ensin harmaasävykuvaksi, jonka jälkeen tasataan kuvan korkeimpia ja matalampia kontrastiarvoja[2]. Tämän menettelyn myötä esimerkiksi ylivalottuneesta kuvasta suodatetaan pois ylisuuret kirkkausarvot, jotta kuvan yksityiskohdat erottuisivat paremmin. Sen jälkeen kuvan värikartta muunnetaan, jolloin kuvasta tulee värillinen. Seuraavaksi kuvalle kutsutaan imtophat-funktiota [3], [4], jolla siitä suodatetaan pois keskivaaleita sävyjä. Lopuksi kuvasta tehdään binäärinen mustavalkokuva. Toinen m-tiedosto (Liite 2) eroaa ensimmäisestä siten, että siinä binääriseksi muutetusta kuvasta etsitään yhtenäisiä alueita bwlabel-funktiolla[5]. Omilla väreillään kuvattujen alueiden tulisi esittää valtimoita ja laskimoita. Tosin eri suonia ei pystytyä näin helposti erottamaan toisistaan, koska MATLAB:n bwlabel-funktio ei jostain syystä onnistunut erottelemaan kuvasta eri alueita kovinkaan mielekkäällä tavalla. Funktio bwlabel ottaa parametrikseen muutettavan matriisimuotoisen kuvan ja etsittävien alueiden lukumäärän (4 tai 8). Funktio ei kuitenkaan kyennyt erottelemaan selvästi erillisiä suurehkoja alueita omiksi saarekkeikseen, joten sen käytöstä ei tehtyjen testausten perusteella ollut juurikaan hyötyä. Seuraavassa on kaksi kuvasarjaa, jotka on tulostettu kutsumalla projektityössä luotuja m-funktioita testikäytössä olleesta ICG-videosta poimituille kahdelle pysäytyskuvalle. Molemmat m-tiedostot ottavat parametreikseen muokattavan kuvan tiedostopolun sekä sen värikartan[6], jonka mukaisesti parametrikuva värjätään sitä muokattaessa. 5

Seuraavassa kuvasarjassa on esitetty ensimmäinen testivideosta poimituista kuvista. Kuvasarjassa näkyy sekä muokkaamaton harmaasävykuva, että harmaasävykuvasta muokattuja kuvia (modifyimage4.m, Liite 1). Kuva 1: Ensimmäinen kuva (vas. yl.) on alkuperäinen harmaasävykyva, toinen kuva (oik. yl.) on alkuperäinen kuva, jonka kontrastia on muokattu. Kolmannessa kuvassa (vas. al.) on muokattu kontrastia sekä värikartta. Viimeinen kuva on binäärinen mustavalkokuva. 6

Seuraavassa kuvasarjassa on näytetty saman kuvan muunnoksia, kuin Kuvassa 1, mutta mukaan on lisätty mm. kuvan erillisten alueiden erottelu ja niiden värittäminen omilla väreillään (modifyimage6.m, Liite 2). Kuva 2: Tässä kuvasarjassa näkyy edellisen kuvasarjan tapaan muokatun kontrastin ja värikartan vaikutukset, mutta tällä kertaa värikartan muutos on esitetty erillisenä kuvana (vas. kesk.). Viimeisessä kuvassa (oik. al.) näkyy lisäksi tilanne, jossa binäärisestä kuvasta on eroteltu alueita ja merkitty ne eri värisiksi. 7

Kuvassa 3 on muokattuna toinen testivideosta napattu pysäytyskuva (modifyimage4.m, Liite 1). Kuva 3: Samat muokkaukset, kuin Kuvassa 1, mutta tällä kertaa kuvassa näkyy enemmän verisuonia, koska merkkiaineen konsentraatio on suurempi. 8

Kuvassa 4 on esitetty jälkimmäisen pysäytyskuvan muokkausta (modifyimage6.m, Liite 2). Kuva 4: Samat muokkauoperaatiot kuin kuvassa 2, mutta muokattava kuva on tässä kohtaa sama kuin Kuvassa 3. 3.1.1 Kommentteja m-tiedostoista Edellisen kappaleen kuvista voidaan nähdä se, että mitään mullistavaa kuvankäsittelyä värisuonikuville ei olla tehty. Silmään pistää etenkin puutteet erillisten alueiden värittämisessä, koska edes selvästi erillisiä alueita ei olla väritetty omilla väreillään. Tämä johtuu siitä, ettei käytetty bwlabel-funktio[5] osaa erotella mielekkäästi verisuonikuvista erillisiä alueita. Funktio bwlabel etsii kuvasta muotoja. Muoto on yhtenäinen kirkas alue. Toisaalta on kyseenalaista, kannattaako verisuonia erotella toisistaan pelkkien kirkkauden muutosten perusteella. Tällöin luokittelu tapahtuu sokeasti, eikä suonten jaottelu valtimoihin ja laskimoihin todennäköisesti onnistu. Huomattavasti edistyneemmän kuvankäsittelyn myötä valtimot ja laskimot voitaisiin erottaa toisistaan käyttämällä älykästä ajastusta, jossa videokuvassa näkyvien verisuonten kirkkausmuutoksista pääteltäisiin, mitkä suonet ovat valtimoita (kirkastuvat ensin) ja mitkä suonet ovat laskimoita (kirkastuvat pienellä viiveellä). Valtimoiden ja laskimoiden erittelu yksittäisistä kuvista ei tosin tällöinkään onnistuisi, koska erottelu olisi riippuvainen aikatiedosta. Seuraavassa kappaleessa on esitelty projektityön puitteissa tehtyjä videokuvan käsittelyyn kykeneviä Simulink-malleja, joissa on esitetty videokuvan toistoa ja esimerkiksi ajastusten käyttöä Simulink:ssä. 9

3.2 Simulink-mallit Edellä esitetyt MATLAB-tiedostot soveltuvat vain yksittäisten kuvien muokkaamiseen. Tässä kappaleessa on esitetty projektityössä tehdyt Simulink-mallit, joilla voidaan muokata liikkuvaa kuvaa. Tosin liikkuva kuva esitetään Simulink:ssä yksittäisinä kuvina. Siten edellisen kappaleen m-tiedostoja voitaisiin käyttää myös Simulink:ssä. Seuraavassa on esitetty Simulink-mallit, joista ensimmäisessä luetaan videotiedostosta muokkaamatonta videokuvaa, muutetaan videokuvan kontrastia sekä muutellaan värikanavia (RGB) ajastetusti. Jälkimmäisessä Simulink-mallissa käyttäjän on mahdollista valita käyttöön haluamansa värikanavat, jolloin tuloksena on esimerkiksi violetteja värisävyjä silloin, kun käytössä on punainen(r) ja sininen(b) värikanava. 3.2.1 Ajastetut värikanavan muutokset Ensimmäisessä Simulink-mallissa toistettavan muokatun kuvan värikanavien vaihdokset tapahtuvat ajastusti (malliin on lisätty kello ja vipuja). Seuraavassa on esitetty kuvia ajastetusti värikanavia muuttavasta Simulink-mallista. Kuva 5: Ajastetut värikanavan muutokset Simulink:ssä. Ensimmäisessä videossa (vas.) on alkuperäinen video, keskimmäisessä videon kontrastia on muokattu, ja viimeisessä lisäksi sen värikanavaa on muutettu. Aikaa videotoiston alusta on kuvan tapauksessa kulunut 3s. 10

Kuva 6: Ajastetut värikanavan muutokset Simulink:ssä. Ensimmäisessä videossa (vas.) on alkuperäinen video, keskimmäisessä videon kontrastia on muokattu, ja viimeisessä lisäksi sen värikanavaa on muutettu. Aikaa videotoiston alusta on kuvan tapauksessa kulunut 10s. 11

Kuva 7: Ajastetut värikanavan muutokset Simulink:ssä. Ensimmäisessä videossa (vas.) on alkuperäinen video, keskimmäisessä videon kontrastia on muokattu, ja viimeisessä lisäksi sen värikanavaa on muutettu. Aikaa videotoiston alusta on kuvan tapauksessa kulunut 15 s. 12

3.2.2 Manuaaliset värikanavan muutokset Toisessa Simulink-mallissa värikanavien muutokset tapahtuvat käyttäjän valinnan mukaan manuaalisesti. Käytettävien värikanavien valinta tehdään vivuilla(switch), joiden tilaa (on/o) voidaan muuttaa hiiren napin klikkauksin. Seuraavassa on kuva manuaalisten värikanavien vaihdosten mallista. Kuva 8: Manuaalinen värikanavien valinta. Ensimmäisessä videossa (vas.) on alkuperäinen video, keskimmäisessä videon kontrastia on muokattu, ja viimeisessä lisäksi sen värikanavaa on muutettu. Kuvan tapaksessa käytössä ovat vihreä(g) ja sininen(b) kanava. 3.2.3 Kommentteja Simulink-malleista Edellisten kappaleiden Simulink-mallit ovat lähinnä Simulink:n perustoimintoja esitteleviä äärimmilleen pelkistettyjä esimerkkejä. Ajastettuja värikanavien muutoksia esittelevässä mallissa värien lisäämisellä kuvasta saadaan hiukan havainnollisempi, koska ihmissilmän kyky erotella harmaasävyjä on hyvin rajoittunut. Tosin värien käyttöön ei tällöinkään liity juurikaan älykkyyttä, koska valtimoita ja laskimoita ei 13

edelleenkään erotella mitenkään toisistaan. Jälkimmäinen malli on vieläkin yksinkertaisempi sen ainoastaan tarjotessa käyttäjälle mahdollisuuden valita, minkä väristä videokuvaa hän katselee. 14

4 Yhteenveto Tämä projektityö tarjoaa lähtökohdan mahdollisesti tuleville samaa aihetta käsitteleville töille. Seuraavassa on listattuna projektin kuluessa kertyneitä havaintoja, jotka kannattaa ottaa huomioon jatkossa. - Windows tukee käyttöjärjestelmänä codeceja, joita myös MATLAB ja Simulink tarvitsevat pakattuja videoita toistettaessa. Pakkaamattomat videot ovat kohtuuttoman suurikokoisia ja raskaita prosessoida. - MATLAB:n valmiit funktiot eivät ilmeisesti riitä monimutkaisten verisuonikuvien käsittelyyn, vaan kuvanmuokkaus on tehtävä pikselitasolla. - MATLAB tarjoaa työkaluja reaaliaikaisen videokuvan käsittelyyn (Data Acquisition Toolbox) - Verisuonten luokittelu valtimoiksi ja laskimoiksi voitaisiin kenties tehdä tilakoneen avulla, jossa syötevideosta poimittaisiin kirkastuvia kohtia, ja niitä värjättäisiin ajastusta apuna käyttäen asteittain muuttuvilla värisävyillä. (Simulink:n State- ow Toolbox) - Mikäli ICG-kuvien käsittelystä halutaan saada taloudellista hyötyä, niin PC:n ja MATLAB:n sijaan kannattanee kuvankäsittelyssä käyttää kameraan liitettävää ohjelmoitavaa logiikkaa (FPGA), jolloin lopputulos on edullisempi, nopeampi(?) ja helpompi kaupallistaa. 15

5 Toteutunut aikataulu Seuraavassa on esitetty projektin tekoon kulunut aika. Tehtävä Kulunut aika [h] MATLAB:n m-tiedostojen teko 10 Simulink-mallien teko 20 Dokumentointi ja esitykset 15 Yhteensä 45 Tarkemmin eriteltynä eniten projektissa kului aikaa videotiedoston saattamiseen MAT- LAB:n tukemaan muotoon. Lisäksi TKK:n Windows-luokkien tietokoneiden codectuki paljastui melko puutteelliseksi, joten aikaa kului myös sopivia codec-muunnoksia tekevän ohjelman etsimiseen internetistä. 16

6 Viitteet Viitteet [1] http://lipas.uwasa./ TAU/memos/AUTOaivo/, viitattu 19.12.2008 [2] http://www.mathworks.com/access/ helpdesk/help/toolbox/images/index.html?/access/helpdesk/ help/toolbox/images/stretchlim.html, viitattu 19.12.2008 [3] http://www.mathworks.com/access/ helpdesk/help/toolbox/images/index.html?/access/helpdesk/ help/toolbox/images/imtophat.html, viitattu 19.12.2008 [4] http://www.mathworks.com/access/ helpdesk/help/toolbox/images/index.html?/access/helpdesk/ help/toolbox/images/strel.html, viitattu 19.12.2008 [5] http://www.mathworks.com/access/ helpdesk/help/toolbox/images/index.html?/access/helpdesk/ help/toolbox/images/bwlabel.html, viitattu 19.12.2008 [6] http://www.mathworks.com/access/ helpdesk/help/techdoc/index.html?/access/helpdesk/ help/techdoc/ref/colormap.html, viitattu 19.12.2008 17

7 Liitteet 7.1 Liite 1. modifyimage4.m % Function modies the parameter image by: % (1) changing a parameter image to a grayscale -> show % (2) adjusting the resulting image's contrast (*) -> show % % (3) performing morphological top-hat ltering % (4) determining a proper level for thresholding % (5) converting image into black and white binary image by % thresholding -> show % (*) Also showing the contrast adjusted colormap manipulated % image. % % The function returns the black and white binary image, which % it has tried to sort into 4 dierent regions. function imout = modifyimage4(imin, cmap) grayscale = rgb2gray(imread(imin)); %(1) subplot(2, 2, 1) % Plotting as subimage (lets the image to have its original colormap % -> gray) subimage(grayscale) title('original image in grayscale'); % stretchlim is used to determine a proper latter and upper % limit for the contrast to be taken in account of input image. % The contrast values below the latter limit and values above % the upper limit are ignored: adjusted = imadjust(grayscale,stretchlim(grayscale),[], 1); %(2) subplot(2, 2, 2) subimage(adjusted) title('modied contrast'); subplot(2, 2, 3), imshow(adjusted), title('modied colormap and contrast'); tophat = imtophat(adjusted, strel('disk',35)); %(3) level = abs(graythresh(tophat)); %(4) binary = im2bw(tophat, level); %(5) imout = binary; subplot(2, 2, 4), imshow(binary), title('tophat ltered, binary image'); % Changing the colormap for all the images besides the 1st one colormap(cmap) %(2) 18

7.2 Liite 2. modifyimage6.m % Function modies the parameter image by: % (1) changing a parameter image to a grayscale -> show % (2) adjusting grayscale image's colormap (*) -> show % (3) adjusting the resulting image's contrast (*) -> show % % (4) performing morphological top-hat ltering % (5) determining a proper level for thresholding % (6) converting image into black and white binary image by % thresholding -> show % (7) seeking connected areas for representing them with % dierent colors -> sorts image into labels. % (8) converting image's label matrix into RGB image -> show % (*) Also showing the contrast adjusted colormap manipulated % image. % % The function returns the colored binary image, which it % has tried to sort into 4 dierent regions(bwlabel-function). function imout = modifyimage6(imin, cmap) grayscale = rgb2gray(imread(imin)); % (1) subplot(3, 2, 1) % Plotting as subimage (lets the image to have its original colormap % -> gray) subimage(grayscale) %(*) title('original image in grayscale'); % stretchlim is used to determine a proper latter and upper % limit for the contrast to be taken in account of input image. % The contrast values below the latter limit and values above % the upper limit are ignored: adjusted = imadjust(grayscale,stretchlim(grayscale),[], 1); % (3) subplot(3, 2, 2) subimage(adjusted) title('modied contrast'); subplot(3, 2, 3), imshow(grayscale) title('modied colormap'); subplot(3, 2, 4), imshow(adjusted), title('modied colormap and contrast'); tophat = imtophat(adjusted, strel('disk',35)); %(4) level = abs(graythresh(tophat)); %(5) binary = im2bw(tophat, level); %(6) 19

[labeled] = bwlabel(binary, 4); %(7) RGB_label = label2rgb(labeled, @winter, 'k', 'shue'); %(8) imout = RGB_label; subplot(3, 2, 5), imshow(binary), title('tophat ltered, binary image'); subplot(3, 2, 6), imshow(imout), title('tophat ltered, colored binary image'); % Changing the colormap for all the images besides the 1st one colormap(cmap) %(2) 20