Fluoresenssimikroskopiakuvien prosessointi ja analysointi Lassi Paavolainen
Luennon aiheet Johdantoa Fluoresenssimikroskopian perusteet Yleisesti käytettyjä menetelmiä kuvien prosessointiin ja analysointiin Esimerkkejä solubiologian kuva-analyysiongelmista BioImageXD:n esittely 2
Luennon aiheet Johdantoa Fluoresenssimikroskopian perusteet Yleisesti käytettyjä menetelmiä kuvien prosessointiin ja analysointiin Esimerkkejä solubiologian kuva-analyysiongelmista BioImageXD:n esittely 3
Johdantoa Mikroskopian käyttäminen solubiologian tutkimuksessa kasvaa jatkuvasti Mikroskopiakuvien analysointi on nykyään täysin koneella tapahtuvaa Perusbiologilla ei paljoa tietämystä kuvien analysointimenetelmistä Kvantitatiivinen analysointi vaatii erikoistaitoja ja erityisiä menetelmiä Tarvitaan erikoistuneita ohjelmistoja 4
BioImageXD Jyväskylän yliopiston ja Turun yliopiston yhteinen projekti Yhteistyötä Åbo Akademin ja MPI-CBG:n kanssa Kehitys alkoi vuonna 2004 Tietotekniikan laitoksen sovellusprojektista Pääprojektissa tällä hetkellä kuusi henkilöä: 2 Ohjelmistosuunnittelijaa (ainoat täyspäiväiset) 1 Pääsuunnittelija sekä 1 IT-koordinoija 2 Pomoa :) 5
Miksi BioImageXD? Kaupalliset ohjelmistot kalliita ja bugisia Kaupallisen ohjelmiston algoritmeista ei tarkkaa tietoa Kaupallinen vs. Open Source Kaupallisista ja vapaista ohjelmistoista puuttui tarvittavia ominaisuuksia Ei olemassa olevaa, solubiologien käyttöön erikoistunutta, helppokäyttöistä vapaata ohjelmistoa 6
Teknistä tietoa BioImageXD:stä Koodattu Pythonilla ja C++:lla C++-koodi wrapattu Pythonilla käytettäväksi Visualisointiin VTK (http://www.vtk.org) Prosessointiin ja analysointiin ITK (http://www.itk.org) ITK verrattavissa OpenCV:hen (henk.koht. mielipide: ITK monipuolisempi ja korkeammalla tasolla, mutta ei niin tehokas varsinkaan wrapattuna) 7
Luennon aiheet Johdantoa Fluoresenssimikroskopian perusteet Yleisesti käytettyjä menetelmiä kuvien prosessointiin ja analysointiin Esimerkkejä solubiologian kuva-analyysiongelmista BioImageXD:n esittely 8
Fluoresenssimikroskopian perusteet Fluoresenssien käyttäminen Erilaisia fluoresensseja kuvantavia mikroskooppeja Konfokaalimikroskooppi Fluoresenssimikroskooppien kuvadata 9
Fluoresenssit Kuvattavat kohteet periaatteessa läpinäkyviä => fluoresenssimolekyyleillä saadaan näkyviksi Kokeesta riippuen fluoresoidaan esimerkiksi tuma, solukalvo, kalvoproteiineja tai solulima Fluoresenssimolekyyli absorboi tiettyä aallonpituutta ja emittoi eri aallonpituutta Absorboitava ja emittoitava aallonpituus riippuu fluoresenssimolekyylistä (esim. vihreä, punainen, violetti) 10
Fluoresenssimikroskooppeja Erilaisia mikroskooppeja kymmeniä (wide-field, konfokaali, nipkow-disk jne.) Perinteisten lisäksi erikoistuneita menetelmiä kymmeniä ellei satoja (lyhenteitä kuin tietoliikenteessä: FRAP, FRET, FLIM, MP jne.) 11
Konfokaalimikroskooppi Mahdollistaa 3D kuvantamisen pinholen avulla Pinhole päästää vain tietyltä tasolta tulevan valon lävitseen 12
Kuvan muodostaminen (konfokaali) Kuva muodostetaan pikseli kerralla (vrt. CCDkennot) Laser käy läpi yhden xy-leikkeen, jonka jälkeen siirretään näytettä tai pinholea Tarkkuus parempi kuin perinteisellä fluoresenssimikroskoopilla Melko hidas (esim. 0.5-2 sekuntia/leike) Ei sovellu nopeasti liikkuvien objektien kuvantamiseen 13
Fluoresenssi vs. konfokaali Fluoresenssi Konfokaali 14
Mikroskooppien kuvadata Nykyään kaikki data on digitaalista Yleensä 8-bittistä dataa, joskus 12-bittistä. Uudemmissa mikroskoopeissa float tai RGB dataa (toki näillä ei käytännön merkitystä) Jokainen kanava omana datajoukkonaan 3D data koostuu erillisistä 2D-kuvista eli leikkeistä Metadata olennainen osa dataa => jokaisella mikroskooppien valmistajalla oma tiedostoformaatti :( 15
Mikroskooppien kuvadata, osa 2 Melko pienen konfokaalitiedoston datan koko esim. 512x512x24x2x1 tavu = 12 MB Metadata sisältää tiedon kanavan aallonpituudesta Ohjelmistossa 8-bittinen data kuvataan värillisenä CTF-funktion avulla (color transfer function), esimerkiksi 8-bit arvo => RGB: 0 => (0,0,0) 1 => (1,0,0) 255 => (255,0,0) 16
Luennon aiheet Johdantoa Fluoresenssimikroskopian perusteet Yleisesti käytettyjä menetelmiä kuvien prosessointiin ja analysointiin Esimerkkejä solubiologian kuva-analyysiongelmista BioImageXD:n esittely 17
Esiteltäviä menetelmiä Kolokalisaatio Segmentointi Watershed segmentation Dynaamiset pinnat Rekisteröinti Dekonvoluutio 18
Kolokalisaatio Ideana analysoida kahden eri kanavan päällekkäisyyttä Tutkitaan kuinka paljon kahden kanavan intensiteetit vastaavat toisiaan Normaalisti kuvat thresholdataan käsin tai automaattisesti, jotta tausta ei vaikuttaisi kolokalisaatioanalyysiin Käytetään esimerkiksi tutkittaessa kahden proteiinin hakeutumista toistensa luo 19
Kolokalisaation esimerkkikuvat 20
Kolokalisaatiokaavoja Pearson's colocalization coefficient: Mander's coefficients: 21
Segmentointi Lähes kaiken analysoinnin perusta on segmentointi (pl. kolokalisaatio) Segmentointia tarvitaan erottelemaan mielenkiintoiset objektit taustasta Segmentoinnin tulosta käytetään analysoimaan objektien lukumääriä ja kokoja, objektien trackingissa, objektien kolokalisaatiossa jne. Segmentointi on yleensä hankalaa ja huonosti toimiva menetelmä rajoittaa kaikkien segmentoinnista riippuvien menetelmien toimintaa 22
Watershed segmentointi Ideana jakaa kuva vedenkeräysaltaisiin 2D-kuva ajatellaan 3D-mallina, jossa pikselin intensiteetti määrittää pylvään korkeuden Lokaaleihin minimeihin kertyy vesi samaan altaaseen kuuluvista pikseleistä Käytetään paljon mikroskopiadatalle 23
Watershedin esimerkkikuvat 24
Watershedin esimerkkikuvat, osa 2 25
Watershedin käyttäminen Menetelmän etuna on pieni määrä säädettäviä parametreja Tuottaa helposti ylisegmentoidun kuvan Toimii melko hyvin segmentoitaessa suurta objektijoukkoa (esimerkiksi integriinien segmentointi) Yksi tapa erottaa objekteja toisistaan (tästä lisää myöhemmin) 26
Dynaamiset pinnat Useita segmentointimenetelmiä, jotka perustuvat 2D:ssä reunan tai 3D:ssä pinnan dynaamiseen evoluutioon Menetelmiä tunnetaan muun muassa seuraavilla nimillä: Snakes, Active Contours, Deformable Models, Level Set Methods Tuloksena saadaan yksi tai useampi yhden vokselin paksuinen yhtenäinen reuna/pinta 27
Dynaamisten pintojen toiminta Menetelmille annetaan valmis pinta tai pintoja alustuksena sekä ns. speed image, joka vaikuttaa pinnan evoluutioon Parametreilla voidaan vaikuttaa mm. siihen kuinka pinta etenee ja kuinka teräviä kulmia voidaan hyväksyä Suorituksen aikana pinnat muuntuvat iteratiivisesti Iteraatiot lopetetaan, kun pinta ei enää muuta tai iteraatioiden maksimimäärä on ylitetty 28
Dynaamisten pintojen käyttäminen Käytetään paljon varsinkin lääketieteelliseen dataan Vaativat yleensä parametrien säätöä (semiautomaattisia) Laskennallisesti vaativia varsinkin 3D:n tapauksessa Esimerkki: http://iacl.ece.jhu.edu/projects/gvf/ 29
Rekisteröinti Tarkoituksena selvittää kuvaus ns. moving imagen pisteistä alkuperäisen ns. fixed imagen pisteisiin f(mi(x2,y2,z2)) = FI(x1,y1,z1) Käytännössä ei selvitetä kuvausta jokaiselle vokselille Optimoidaan muunnosta käyttämällä haluttua metriikkaa 30
Miksi rekisteröintiä Kuvattavat solut pieniä => näyte liikkuu helposti esimerkiksi lämpöolosuhteiden muuttuessa (drifting) Elävissä näytteissä voi tapahtua epätoivottavaa muodon muutosta (deformation) Kompensoidaan näytteen siirtymistä tai epämuodostumista, jotta kvantitatiivista analysointia voidaan tehdä (esim. tracking) Aina ei kompensoida vaan halutaan tutkia juuri epämuodostumista 31
Driftin kompensointia Selvitetään muunnos T, jolla koko moving imagea pitää siirtää Laskennallisesti vaativaa, mutta puhutaan ennemmin minuuteista/tunneista kuin päivistä 32
Drift alkuperäiset kuvat Slice 13, 1. aikapiste, gamma 0.5 Slice 13, 10. aikapiste, gamma 0.5 33
Drift kompensoitu kuva Slice 13, 1. aikapiste, gamma 0.5 Slice 13, 10. aikapiste, gamma 0.5 34
Deformable registration Epämuodostumien kompensointia Lukuisia menetelmiä, B-Splines yksi suosituimpia Laskennallisesti erittäin raskas, vie tunteja tai päiviä 35
B-Splines alkuperäiset kuvat Slice 13, 1. aikapiste, gamma 0.5 Slice 13, 2. aikapiste, gamma 0.5 36
B-Splines kompensoitu kuva Slice 13, 1. aikapiste, gamma 0.5 Slice 13, 2. aikapiste, gamma 0.5 37
Dekonvoluutio Tarkoituksena parantaa kuvan tarkkuutta Poistetaan kuvan muodostuksen aikaista konvoluutiota, sillä PSF ei ole täydellinen Mitattu Teoreettinen xy-taso: xz-taso: Kuvat Huygens software Wikistä (http://support.svi.nl/wiki/pointspreadfunction) 38
Dekonvoluutio esimerkki Useita menetelmiä, PSF joko parametrina tai sitä yritetään ratkaista (ns. blind deconvolution) Kuva Huygens software Wikistä (http://support.svi.ml/wiki/imagerestoration) 39
Dekonvoluutio BioImageXD:ssä Käytetään iteratiivista menetelmää, jolle syötetään parametrina kuvattu PSF-kuva 40
Luennon aiheet Johdantoa Fluoresenssimikroskopian perusteet Yleisesti käytettyjä menetelmiä kuvien prosessointiin ja analysointiin Esimerkkejä solubiologian kuva-analyysiongelmista BioImageXD:n esittely 41
Objektien laskenta Ongelma: Objektit kuvissa menevät päällekkäin 42
Päällekkäisten objektien erotteleminen 1. (Smoothausta esim. Gaussian tai Median) 2. Threshold (manuaalinen tai automaattinen) 3. (Opening ja Fill hole) 4. Euclidean distance 5. Watershed Transform 6. Mask (käyttäen kohdan 3 tulosta maskina) 43
Edellisen työlistan tulos 44
Infektioprosentin laskentaa 45
Epätarkkojen reunojen etsiminen Tehtävä: 3D objektien epätarkan pinnan määrittäminen Ongelma: Fluoresenssien epätasaisen leviämisen takia pinta näyttää enemmän pistepilveltä Mahdollistaisi sisäkkäisten objektien segmentoinnin, solukalvon muodon muutosten analysoinnin, soluun tulevan tavaran tarkemman analysoinnin jne. 46
Esimerkkikuva värjätystä solulimasta Pinta ei ole yhtenäinen Smoothing tai morphologiset oper. + threshold ei toimi Yhden vokselin paksuisen pinnan löytäminen hankalaa Yleinen ratkaisu on käyttää active contour / level set -menetelmiä 47
Tehtyjä pinnan määrittämisiä 5. leike 11. leike 48
Luennon aiheet Johdantoa Fluoresenssimikroskopian perusteet Yleisesti käytettyjä menetelmiä kuvien prosessointiin ja analysointiin Esimerkkejä solubiologian kuva-analyysiongelmista BioImageXD:n esittely 49
Työtarjous Required: Basic knowledge of image processing and analysis Some experience (either through work or studies) of working in a larger software development project C++ programming skills A positive and hard-working person capable of communicating and working in English Preferrable: Experience in some scripting language, preferrably Python Familiarity with XML-techniques Experienced not only in Windows but also in Mac or Linux environments Some familiarity with design patterns Masters degree or equivalent in computer sciences or the like Interested in pursuing post-graduate studies (doctoral thesis) in the project Already located in or able to move to Turku Assets: Familiarity with VTK and ITK Familiarity with wxpython Familiarity with CMake 50
Kysymyksiä? Kysymyksiä aiheesta tai aiheen vierestä 51