Sadržaj:

MRI otkrivanje tumora mozga pomoću Matlaba: 6 koraka
MRI otkrivanje tumora mozga pomoću Matlaba: 6 koraka

Video: MRI otkrivanje tumora mozga pomoću Matlaba: 6 koraka

Video: MRI otkrivanje tumora mozga pomoću Matlaba: 6 koraka
Video: МРТ головного мозга при эпилепсии 2024, Juli
Anonim
MRI otkrivanje tumora mozga pomoću Matlaba
MRI otkrivanje tumora mozga pomoću Matlaba

Napisali: Madhumita Kannan, Henry Nguyen, Ashley Urrutia Avila, Mei Jin

Ovaj MATLAB kôd je program za otkrivanje tačne veličine, oblika i lokacije tumora koji se nalazi u MRI snimkama pacijentovog mozga. Ovaj program je osmišljen tako da izvorno radi s otkrivanjem tumora u MRI snimkama mozga, ali se može koristiti i za dijagnostiku raka i kod drugih organa.

Sljedeća uputstva će prvo opisati metode za analizu slike filtriranjem i čišćenjem MRI skeniranja, binarizanjem, medijanskim filtriranjem i kliznim prozorima. Zatim će uputiti kako izolirati tumor pomoću unaprijed generirane eliptične maske, te ga dodatno filtrirati kako bi ocrtao opseg oblika tumora.

Nakon što se tumor otkrije, upute će dalje opisati kako ovaj program uključiti u grafičko korisničko sučelje (GUI). Kroz ove upute bit će priloženi odgovarajući kôd i datoteke koje će vam pomoći objasniti kako ova analiza MRI skeniranja funkcionira.

Neke stvari morate znati, preuzeti i pripremiti prije nego nastavite s ovim uputstvom: 1. Obavezno preuzmite najnoviju verziju MATLAB -a. R2018b možete instalirati ovdje:

2. Da biste pokrenuli ovaj program, morate imati pristup datotekama za skeniranje mozga magnetnom rezonancom. Iako se neke uvijek mogu pronaći na Google slikama, temeljita i točna analiza može se provesti na temelju odgovarajućih slika različitih slojeva skeniranja mozga za svakog pacijenta. Datotekama za 20 različitih pacijenata s glioblastomom prije i poslije liječenja možete pristupiti iz ove baze podataka:

3. Fokus ovog programa i različite metode koje vode ovaj projekt navedene su u ovom istraživačkom radu:

Korak 1: Pokrenite grafičko korisničko sučelje (GUI)

Pokretanje grafičkog korisničkog interfejsa (GUI)
Pokretanje grafičkog korisničkog interfejsa (GUI)
Pokretanje grafičkog korisničkog interfejsa (GUI)
Pokretanje grafičkog korisničkog interfejsa (GUI)

Prvi korak bio bi stvaranje i pokretanje grafičkog korisničkog sučelja, grafičkog sučelja. To se može učiniti upisivanjem vodiča u naredbeni prozor, pritiskom na enter i stvaranjem novog grafičkog sučelja. Nakon što je ovaj korak dovršen, možete početi stvarati funkcije kao što su osi, statički tekst, uređivanje teksta i tipke koje će se prikazati nakon pokretanja programa i interakcije s korisnikom. Ovim se funkcijama može uređivati i manipulirati putem inspektora svojstava, međutim najvažnija značajka koja se mora promijeniti pri kreiranju ovih funkcija je ime oznake. Važno je promijeniti naziv oznake svake implementirane funkcije jer će nam to omogućiti stvaranje prepoznatljive funkcije povratnog poziva. Kada budete zadovoljni izgledom svog grafičkog sučelja, možete prijeći na učitavanje DICOM datoteka koje će biti prikazane unutar grafičkog sučelja.

Korak 2: Učitavanje i čitanje MRI slika u MATLAB -u

Učitavanje i čitanje MRI slika u MATLAB -u
Učitavanje i čitanje MRI slika u MATLAB -u
Učitavanje i čitanje MRI slika u MATLAB -u
Učitavanje i čitanje MRI slika u MATLAB -u

Da biste učitali DICOM datoteke, morali biste ispravno pokrenuti funkciju povratnog poziva koja bi se izvršila pritiskom na tipku „Učitaj MRI sliku“. Nakon što se ovo dovrši, morate stvoriti globalnu varijablu koja bi prikazivala sliku na osama ručica na kojoj želite da se prikaže originalna MRI slika. Slike snimljene MR skeniranjem preuzete iz baze podataka sve su datoteke u DICOM formatu koje je potrebno učitati u vaš MATLAB direktorij. Pronađite datoteku pomoću imgetfile kako biste ih učitali u program. Slike se čitaju pomoću ugrađene MATLAB funkcije 'dicomread', a prva neobrađena slika za svaku datoteku ugrađuje se u lijeve osi grafičkog sučelja pomoću imshow -a.

Ugrađena MATLAB funkcija ‘dicominfo’ također je izuzetno korisna u adresiranju svih informacija svake MRI dicom datoteke. Koristili smo ovu funkciju za izdvajanje svih opisnih podataka pacijenata, kao što su njihov spol, dob, težina i visina. Ova funkcija vam također pruža redoslijed steka koji je koristan za implementaciju programa unutar grafičkog korisničkog sučelja. Kreirali smo varijable za svaku od opisnih informacija pacijenata koje će se koristiti za grafički korisnički interfejs kada se pritisne dugme za otkrivanje.

Korak 3: Filtriranje slike

Filtriranje slike
Filtriranje slike
Filtriranje slike
Filtriranje slike

Nakon što se DICOM datoteka neobrađene slike učita i pročita, sliku je potrebno pretvoriti iz sive u binarni oblik koji se sastoji samo od crno -bijelih piksela Koristili smo funkciju 'imbinarize' za kreiranje binarne slike od neobrađene slike pomoću kontroliranje aspekata adaptivnog praga pri vrijednosti osjetljivosti 0,59. Zadani prag osjetljivosti faktor 0,5 bio je nizak i nije mogao otkriti svjetlije mrlje i mrlje sa slike, pa smo ga povećali na 0,59.

Binarna slika se zatim obrađuje kroz medijanski filter pomoću funkcije 'medfilt2' jer je binarna slika dvodimenzionalna. Postavili smo svaki izlazni piksel tako da sadrži srednju vrijednost u susjedstvu 5 x 5 oko odgovarajućeg piksela na ulaznoj binarnoj slici. Ovo smanjuje šum i čuva rubove u kvadratu 5 x 5 oko svakog piksela. Zatim primjenjujemo klizni prozor pomoću 'strela' kako bismo stvorili ravni strukturirajući element u obliku diska s polumjerom susjedstva 2 za identifikaciju svakog središnjeg piksela polazišta u svakom susjedstvu diska. Koristili smo element za strukturiranje diska jer analiziramo svako kružno mjesto i piksele unutar svakog mjesta, tako da je element oblika diska korisniji.

Nakon što se slika filtrira, može se očistiti pomoću funkcije 'imclose' kako bi se uklonile crne mrlje između filtriranih bijelih piksela na slici i zatvorile sve praznine oko nje. Potpuno obrađena slika tada se može iscrtati u drugom podcrtu unaprijed dodijeljene slike, omogućavajući usporedbu između neobrađene i filtrirane slike.

Korak 4: Izolacija tumora eliptičnom maskom

Izolacija tumora putem eliptične maske
Izolacija tumora putem eliptične maske
Izolacija tumora putem eliptične maske
Izolacija tumora putem eliptične maske
Izolacija tumora putem eliptične maske
Izolacija tumora putem eliptične maske

Svijetle točke tumora tada se mogu izolirati od glavne filtrirane slike pomoću unaprijed generirane eliptične maske. Da biste stvorili ovu masku, trebali biste znati veličinu izvorne, neobrađene slike skeniranja magnetskom rezonancom, a koristeći njenu dužinu retka i stupca, kao x i y- koordinate, dodijelite središnje koordinate za eliptičnu. Os Y smo postavili kao glavnu os s radijusom od 50 jedinica od središta, a sporednu os s radijusom od 40 jedinica od središta.

Koristili smo MATLAB funkciju 'meshgrid' za generiranje kartezijanske ravnine s dvodimenzionalnom koordinatom mreže na osnovu koordinata sadržanih u vektorima od 1 do dužine osi x i od 1 do duljine osi y slike. Col je matrica u kojoj je svaki red kopija x-osi, a Row je matrica u kojoj je svaki stupac kopija y-osi. Dekartova mreža prikazana koordinatama Col i Row ima redove dužine (1: Y_Size) i dužine (1: X_Size). Upotrijebite indekse Col i Row koje generira kartezijanska mreža za određivanje jednadžbe elipse ovisno o unaprijed određenom radijusu i središnjim koordinatama. Eliptični obris sada se može ispuniti bijelim pikselima pronađenim na tumorskim mrljama.

Koristeći prethodno generiranu eliptičnu masku, možemo iz filtrirane slike izrezati određeni tumor koji želite analizirati. Eliptična maska detektira koja se mjesta logički uklapaju u obris elipse i prihvaća ovo kao mjesto na filtriranoj slici da bi bilo prihvatljivo kao tumor. Funkcija "bwareafilt" zatim filtrira sve ostale objekte izvan ovog otkrivenog tumora sa slike. Koristili smo određeni prozor dimenzija 500 x 4000 empirijski na temelju dimenzija svih slika. Zatim smo primijenili još jedan klizni prozor sa „strelom“kao elementom za strukturiranje u obliku ravnog diska većeg radijusa susjedstva od 6, kako bismo zatvorili praznine između svakog središnjeg bijelog piksela unutar otkrivenog tumora. Otkriveno mjesto tumora dodatno se čisti pomoću „imclose“kako bi se dodatno uklonili crni pikseli i sve rupe ispunile „imfill“. Ovaj obrađeni tumor tada se može prikazati u trećoj podcrti na unaprijed dodijeljenoj plohi kako bi se pružila usporedba između izoliranog tumora i originalnih i filtriranih snimaka MRI skeniranja.

Korak 5: Prikaz tumora

Tumor Outlining
Tumor Outlining
Tumor Outlining
Tumor Outlining

Sada kada je tumor izoliran maskom, može se ocrtati i prikazati na originalnoj slici, kako bi se pokazala njegova tačna lokacija. Da bismo to učinili, upotrijebili smo funkciju 'bwboundaries' za praćenje prethodno otkrivenog tumora s obrisom. Naveli smo da nacrt ne uključuje rupe unutar tumorskog objekta kako se ocrtava. Ovo se može iscrtati na originalnoj, sirovoj slici, pomoću „for“petlje koja iscrtava obris oko tumora koristeći indekse linije s širinom linije od 1,5 piksela. Ovaj obris se zatim iscrtava na sirovoj slici, prikazujući tačnu veličinu i lokaciju tumora, u odnosu na originalnu MRI snimku.

Korak 6: Analiza fizičkih svojstava tumora

Analiza fizičkih svojstava tumora
Analiza fizičkih svojstava tumora
Analiza fizičkih svojstava tumora
Analiza fizičkih svojstava tumora

Izolirano i ocrtano mjesto može nam pružiti korisne informacije o veličini, površini i lokaciji tumora. Koristili smo funkciju "regionprops" za otkrivanje svojstava tumora koja se odnose na područje, obod, centroide i vrijednost indeksa piksela. Ova vrijednost indeksa piksela daje nam jedinice stvarnog svijeta za svaki piksel svake slike, jedinstvene za svako skeniranje. Ova svojstva se tada mogu pretvoriti u jedinice milimetara u stvarnom svijetu. Empirijske informacije koje nam program pruža jedinstvene su za svako MRI skeniranje i izuzetno su korisne u određivanju veličine, lokacije i vrste tumora, koje korisnici mogu analizirati i uključiti u grafičko korisničko sučelje.

Preporučuje se: