Pollák Tamás Konzulens: Dr. Horváth Gábor

Hasonló dokumentumok
Ö ná llo láboráto rium beszá molo

Képfeldolgozáson alapuló orvosi diagnosztikai eljárások kidolgozása

Önálló labor beszámoló Képek szegmentálása textúra analízis segítségével. MAJF21 Eisenberger András május 22. Konzulens: Dr.

Felvételi tematika INFORMATIKA

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Segédlet: Főfeszültségek meghatározása Mohr-féle feszültségi körök alkalmazásával

Képszegmentáló eljárások. Orvosi képdiagnosztika 2018 ősz

Osztott algoritmusok

Láthatósági kérdések

Adatbázis rendszerek Gy: Algoritmusok C-ben

Cohen-Sutherland vágóalgoritmus

Ionogram releváns területeinek meghatározása és elemzésének automatikus megvalósítása

VII.10. TORNYOSULÓ PROBLÉMÁK. A feladatsor jellemzői

Adatszerkezetek II. 2. előadás

Gráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17

Rendszámfelismerő rendszerek

e ee Tartalom A játék lényege E F H Mennyi színt látsz valójában? 12 nyílkártya 98 színkártya

Programozási segédlet

Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Algoritmusok és adatszerkezetek 2.

Megoldókulcs. Matematika D kategória ( osztályosok) február 6.

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

Gépi tanulás. Hány tanítómintára van szükség? VKH. Pataki Béla (Bolgár Bence)

Számelméleti alapfogalmak

A GYORS REFLEXEK VÍZHATLAN JÁTÉKA JÁTÉKOS SZÁMÁRA - 4 ÉVES KORTÓL

Gépi tanulás és Mintafelismerés

Dinamikus programozás - Szerelőszalag ütemezése

A GYORS REFLEXEK JÁTÉKA 2 5 JÁTÉKOS RÉSZÉRE 4 ÉVES KORTÓL

32. A Knuth-Morris-Pratt algoritmus

Algoritmusok és adatszerkezetek 2.

Halmazok. A és B különbsége: A \ B. A és B metszete: A. A és B uniója: A

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.

Érdekes informatika feladatok

EESztori. copyright infomix Kft.

A programozás alapjai 1 Rekurzió

Szöveges feladatok és Egyenletek

Egy játék 2-3 aranyra éhes játékosnak, 8 éves kortól.

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

7. Régió alapú szegmentálás

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

Visszalépéses keresés

Tanulási cél Szorzatfüggvényekre vonatkozó integrálási technikák megismerése és különböző típusokra való alkalmazása. 5), akkor

3. Szűrés képtérben. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

A KLT (Kanade Lucas Tomasi) Feature Tracker Működése (jellegzetes pontok választása és követése)

Hogyan lehet meghatározni az égitestek távolságát?

Kiegészítő előadás. Vizsgabemutató VBA. Dr. Kallós Gábor, Fehérvári Arnold, Pusztai Pál Krankovits Melinda. Széchenyi István Egyetem

6. gyakorlat. Gelle Kitti. Csendes Tibor Somogyi Viktor. London András. jegyzetei alapján

J E G Y Z Ő K Ö N Y V

Minta 2. MATEMATIKA KÖZÉPSZINTŰ ÍRÁSBELI FELADATSOR. I. rész

FÜGGVÉNYTANI ALAPOK A) ÉRTELMEZÉSI TARTOMÁNY

Nagyméretű adathalmazok kezelése (BMEVISZM144) Reinhardt Gábor április 5.

Életkor: 6+ Játékosok száma: 2 4 Játékidő: 20 perc JÁTÉKLEÍRÁS

Kézikönyv. Dinamikus szelekció készítése és a "tartomány" kapcsoló használata

Statisztikai függvények

I. II. III. IV. A B C D B C D A C D A B D A B C

Bevezető feldatok. Elágazás és összegzés tétele

Képfeldolgozás haladóknak Lovag Tamás Novák Gábor 2011

AUTOATTENDANT Rendszer Kézikönyv

HTML ÉS PHP ŐSZI FÉLÉV

1. Jelölje meg az összes igaz állítást a következők közül!

Gyakori elemhalmazok

Jogviszony-igazolás, Törzskönyvi szám generálás. Felhasználói dokumentáció verzió 2.0.

A 2018/2019 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA I. (alkalmazói) kategória

Programozási módszertan. Mohó algoritmusok

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Egy feladat megoldása Geogebra segítségével

Tanúsítvány igénylése sportegyesületek számára

1.1.1 Dátum és idő függvények

Tanulók szóértésének felmérése a tankönyvekben előforduló szövegek alapján

Lényege: valamilyen szempont szerint homogén csoportok képzése a pixelekből. Amit már ismerünk:

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Egy ismerős fizika - feladatról. Az interneten találtuk az [ 1 ] könyvet, benne egy ismerős fizika - feladattal 1. ábra.

Suri Éva Kézikönyv Kézikönyv. egy ütős értékesítési csapat mindennapjaihoz. Minden jog fenntartva 2012.

elektronikus adattárolást memóriacím

Speciális szükségletű felhasználók navigációjának vizsgálata különböző multimédiás alkalmazásokban

Kép mátrix. Feladat: Pap Gáborné-Zsakó László: Algoritmizálás, adatmodellezés 2/35

Programozás I. gyakorlat

A Microsoft OFFICE. EXCEL táblázatkezelő. program alapjai as verzió használatával

Aritmetikai kifejezések lengyelformára hozása

Függvény határérték összefoglalás

A félév során előkerülő témakörök

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

VI. Robotprogramozó Országos Csapatverseny évfolyam

Excel 2010 függvények

6. fejezet: Ciklusok

1. gyakorlat. Mesterséges Intelligencia 2.

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

KOVÁCS BÉLA, MATEMATIKA I.

Adatszerkezetek és algoritmusok

Branch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.

Hadházi Dániel.

OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1

Érdemes egy n*n-es táblázatban (sorok-lányok, oszlopok-fiúk) ábrázolni a két színnel, mely éleket húztuk be (pirossal, kékkel)

Képfeldolgozás Szegmentálás Osztályozás Képfelismerés Térbeli rekonstrukció

Dobble Denis Blanchot játéka 2-8 játékos számára 7 éves kortól

Függvények II. Indítsuk el az Excel programot! A minta alapján vigyük be a Munka1 munkalapra a táblázat adatait! 1. ábra Minta az adatbevitelhez

MATEMATIKAI FÜGGVÉNYEK

Átírás:

Önálló laboratórium dokumentáció Képfeldolgozás orvosi alkalmazásai CT képfeldolgozás Pollák Tamás Konzulens: Dr. Horváth Gábor

A feladat A CT felvételeket a betegről segédeszközként használjuk a pácienseken elváltozások után kutatva. Eredetileg tomográfiás röntgen képek készülnek a páciensről, egy eljárás során általában 40 kép, és ezeken kell megtalálni elváltozásokat a mellkasi területen, egész pontosan a tüdőn belül. Mivel a tomográfiás képek úgymond mindent tartalmaznak, ezért nehéz dolgunk van az elváltozások felderítésében. Léteznek algoritmusok, programok, amik diagnosztizálnak kóros területeket, de nagyon sok hibás osztályozás születik, amiről még el kéne dönteni, hogy valóban egy elváltozással van-e dolgunk. A mi feladatunk az, hogy az érhálózatot felderítsük, és megjelenítsük. Az érhálózattal a kezünkben, könnyen el lehet dönteni a hibás megállapításokról, hogy valóban elváltozást találtunk-e meg, vagy csak egy eret, esetleg egy érkanyarulatot. Ezek mellett önállóan is nagy segítséget nyújt a tomográfiás képek vizsgálatakor. A feladatom a CT képeken a tüdőterület körbehatárolása, és meghatározása volt, mivel a CT képekből vetítéssel nyerünk tomográfiás képeket, amikből majd újabb szelet képeket tudunk gyártani és eredetileg is csak a tüdőterületre voltunk kíváncsiak. Másik feladat a hajszálerek eltüntetése volt, tehát a tüdőben lévő nagyobb erek meghatározása. A feladat során ezekhez hasonló CT képekkel dolgoztunk.

A megvaló sí ta s alapó tlete Kiindulási ötlet a régiónövesztéses algoritmus alkalmazása volt, mely a következő tulajdonságokkal bír: - van egy kiindulási pont - megvizsgáljuk a szomszédjait, valamilyen tulajdonság szerint - ha megfelelnek ezeknek a tulajdonságoknak, akkor a szomszédokkal bővítjük a régiót - majd azoknak is megvizsgáljuk a szomszédjait, egészen addig, ameddig már senkinek nincsen alkalmas szomszédja A mi esetünkben, ezért azért praktikus, mert ha sikerült megtalálni egy pontot a tüdőterületből, akkor onnan indítva egy ilyen eljárást, meg tudjuk határozni a tüdőben lévő pontokat, első körben az ereket a tüdőben nem határozzuk meg, mivel azok nem felelnek meg a kezdeti tulajdonságnak, ami alapján vizsgálódunk, tehát hogy egy küszöbérték alatt legyen a pont intenzitása. Az intenzitás azért fontos, mivel a CT képeken minél világosabb valami, annál inkább tömör anyag található ott, ebből kifolyólag a levegő fekete, ez jó kiindulási alap arra, hogy keresgéljünk és küszöbértéket határozzunk meg. Az alsó képen egy régiónövesztéses algoritmus futása látszik, ami a cellákat vizsgálja, itt éppen fehér régiót próbál meghatározni, de látszik, hogy még enyhén szürke pontok is beleférnek a használt küszöbbe, nekünk elsősorban az ellentettje lesz fontos, vagyis fekete pontból indulunk ki és fekete pontokat keresünk.

Tóva bbi próble ma k A régiónövesztéses algoritmus tehát egy pontból indul (későbbiekben seed pont-ként hivatkozom az ilyen pontokra), amiből következik, hogy kell olyan pontokat találnunk, amik megfelelnek különböző kritériumoknak, a legfontosabbak: - valószínűleg a tüdőterület része - az intenzitása és a szomszédjainak intenzitása alapján egy levegőt reprezentáló pont, ahonnan kiindulhatunk További jellemzői a pontoknak és a régióknak a később lesznek tárgyalva. Megvaló sí ta s 1. Ke pek beólvasa sa Mivel a vetítés egy egész CT képsorozat segítségével történik, ami állhat akár 500 darab képből is, ezért ezt hatékonyan kell megtennünk. A program e részében egy ciklusban olvassuk be a képeket, majd meghívjuk rajt azt a függvényt, ami majd megkeresi a tüdőterületeket, és visszaad kettő mátrixot: - Tüdőben lévő pontok mátrixa: minden olyan pont, ami a tüdőben van, beleértve az ereket is - Tüdőben lévő erek mátrixa: minden tüdőben lévő ér 1-esként szerepel a mátrixban, minden más 0, tehát az a terület is, ami a tüdőben van, de levegő A program ezt megvalósító része:

2. Seed póntók kerese se Tehát olyan pontokat keresünk, ahonnan az algoritmust elindíthatjuk. A program egy mátrixban tárolja, hogy melyik pontot látogattuk már meg, és ez alapján később nem fogunk vizsgálni egy olyan pontot, amiről már kiderült, hogy része egy régiónak, amikor pontokat és régiókat keresünk a képen. Különböző feltételeknek kell megfelelnie ezeknek a pontokat, amik az alábbiak: - még nem része egy megtalált régiónak sem, és a kép alsó felén helyezkedik el. - nem teljesen fekete a pont o ez azért fontos, mert teljesen fekete pontok legnagyobbrészt csak a tüdőn és a testen kívül helyezkednek el - van legalább 1 darab, egy kicsivel magasabb intenzitású szomszédja o mivel a tüdő teli van hajszálerekkel, és apróbb foltokkal, így is kiszűrjük a tüdőn kívül eső részeket, és kevesebb eséllyel találunk meg egy nyelőcsövet, ami többnyire teljesen fekete - van legalább 4 darab sötét szomszédja o több azért nem fontos, mivel így már biztos szinte, hogy tüdőterület, és ha épp egy ér mellett vagyunk, akkor lehet a legtöbb szomszédja magas intenzitású, mivel az ér világosabb Néhány kapcsolódó kódrész:

3. Re gió k meghata róza sa Most, hogy már vannak seed pontjaink, még mindig nem lehetünk elégedettek, ugyanis lehetnek olyan megtalált régiók, amik semmiképpen sem a tüdőterület részei, ezeket utólagos vizsgálat után el kell dobnunk. Példádul az alábbi képen semmiképpen nem lenne jó, ha a középső két fekete területet is megtalálnánk, hiszen egyértelműen látszik, hogy van két nagy tüdőterületünk, a másik két régió pedig közte van. Ugyanúgy megszorításokat, feltételeket kell szabnunk a régiókra, mint a seed pontokra, amikor kerestük őket, azonban a seed pontok rögtön eldőltek, hogy lehet-e vagy nem, és ha igen, indítottunk rajt egy régiónövesztést, most pedig a növesztés közben, vagy végén dől el, hogy a régió tüdőterület e, vagy sem. A feltételek: - ha képhatárhoz ér a régió, akkor mindenképpen a testen kívül vagyunk, tehát el kell dobni ezt a régiót - általában a tüdő mikor még csak kis részét látjuk, az alját, több részből állhat, de ekkor ezek a tüdőterületek kicsik, azonban, ha már van két nagy terület akkor megvan a tüdő két oldala, és nem kell már több régió, és biztos, hogy ez a két nagy lesz a tüdő nem más, mivel semmi más sem ilyen nagy a CT képeken, sehol sincs ennyi levegő

Kapcsolódó kódrészek, ahol a feltételek ellenőrizve vannak. A képhatárra vonatkozó feltétel: A régiók méretére vonatkozó feltétel, ha nagyobb egy bizonyos százaléknál, akkor nagy régiónak számítjuk. Fontos, hogy a régió növekedésénél a küszöb alatti pontokat egységes feketére állítjuk, így a képeken, már nem látszódnak a hajszálerek.

4. Tü dó kó rvónal megrajzóla sa A CT képeken való könnyebb vizsgálódás miatt meg kell határozni a tüdőkörvonalat. Első körben azokat a pontokat vizsgáljuk meg, amik egy régió részei és vannak olyan szomszédjaik, amik a régión kívül esnek, ezek a pontok lehetnek a körvonal részei. Ekkor még a tüdőn belüli erek is körülhatárolásra kerülnek. Második lépésben, csak a tüdőkörvonalat kell meghatározni, a tüdőn belüli ereknek ne legyen körvonala. Az ötlet: - indítsunk egy régiónövesztést, ami a legfelső fehér, körvonal pontból indul ki, és azt vizsgálja, hogy a szomszédjai is körvonal részek e, ekkor a tüdő tetejéről elindul egy régiónövesztés és végigmegy a körvonalon - miután ez megvan, azok az előző pontok, amik nincsenek benne ebben a tüdőkörvonalban, feketítésre kerülnek, és már nem tartjuk őket úgy számon mint a tüdő korvonal részei. Illusztráció a második esetre:

5. Tü dó terü let ma trix meghata róza sa A tüdőkörvonal megléte után, könnyű feladatnak tűnik a tüdőterület meghatározása, azok a pontok, amik a körvonalon belül vannak. Valójában nem ilyen egyszerű a helyzet, nem tudtam arra alapozva meghatározni a pontokat, hogy esetleg milyen irányban, lefele vagy felfele, oldalra vannak-e olyan pontok, amik a tüdőkörvonal részei. Azért volt így nehéz, mert lehet csavar is a tüdőben, és nem tudtam semmi olyan általánosat megállapítani, ami alapján az összes képre igaz lenne, és meg tudnám mondani, mely pontok vannak a körvonalon belül. Másik ötlet, ami a megoldáshoz vezet az, hogy eddig is egy mátrixban tároltuk azokat a pontokat, amik a tüdőben vannak, de nem erek. Most azt kell meghatároznunk, hogy az ereket is belevegyük ebbe a mátrixba. Egy for ciklussal végigiterálunk az összes ponton és azt vizsgáltam, hogy az intenzitásérték 0 és 1 közt van-e, illetve van-e a pontnak két tüdőbeli szomszédja (körvonal nem számít tüdőterületnek, és mivel fehér, ezért vizsgálandó területnek sem), mert ekkor biztosra mondhatjuk, hogy a tüdőben van. Továbbá ilyenkor a pontot belevettük a tüdőben lévő pontok eddigi mátrixába, és így haladva a pontokon az összes ér belekerül a tüdőben mátrixba. Így végül vissza tudjuk adni, a tüdőben lévő pontok mátrixát. 6. Erek ma trix meghata róza sa A hajszálerek problémájának megoldása: - a küszöbözés miatt, a tüdőben lévő erekben, már nincsenek benne a hajszálerek Az erek mátrixát úgy határozzuk meg, hogy az előző algoritmust futtatjuk, azonban van egy üres mátrixunk, és amikor az előző feltételeknek megfelelő pontokat talál, tehát van két tüdőbeli szomszédja, és az intenzitásértéke a megadott tartományon belül van, akkor hozzáadjuk az új mátrixhoz, vagyis jelöljük benne, hogy ez a pixel az erekhez tartozik.

Tóva bbi teendó k A CT képekből vetítéssel lesz tomográfiás kép, ez egy másik kollega feladata volt. Ez a program van összekapcsolva az övével, ennek a kimenete a tüdő mátrix, és az erek mátrix, ő pedig választhat, hogy melyiket vetíti éppen. A vetítésről pár szó: - számítás idejében is jelentősen meglátszik, hogy csak az ereket vagy a tüdőterületet kell vetíteni - a vetítés során megnézi, hogy az adott pixel az e program által visszaadott választott mátrixban 1-es e, és ha igen, akkor vetíti azt a pontot - az összes CT képből egy vetítés során egy kép készül egy szögből A prógram hia nyóssa gai Hibás régiódetektálások - nem feltétlenül problémák, mivel ezek a régiók általában érmentesek, és majdnem feketék, tehát vetítés során, nem lesz szinte semmi hatásuk a kimeneti képre Nem megtalált régiók - jobban befolyásolják a kimeneti képet, azonban csak nagyon kis mértékben - előfordul, hogy egy régió, az egyik képen még nem kapcsolódik a tüdőhöz, de a következőn már igen, ekkor a vetítés után kicsit halványabbnak látszódik az a terület, ahol kihagytuk a régiót, de mivel ez csak néha fordul elő, nem tűnik fel a kimeneti képen Megjegyze sek A legtöbb helyen nem illesztettem a dokumentumba kódrészletet, mivel vagy triviális volt a megvalósítás a leírtak alapján, vagy túl hosszú lett volna a beillesztett kód.