Sadržaj:
- Korak 1: Pokrenite grafičko korisničko sučelje (GUI)
- Korak 2: Učitavanje i čitanje MRI slika u MATLAB -u
- Korak 3: Filtriranje slike
- Korak 4: Izolacija tumora eliptičnom maskom
- Korak 5: Opis tumora
- Korak 6: Analiza fizikalnih svojstava tumora
Video: MRI otkrivanje tumora mozga pomoću Matlaba: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Napisali: Madhumita Kannan, Henry Nguyen, Ashley Urrutia Avila, Mei Jin
Ovaj MATLAB kôd je program za otkrivanje točne veličine, oblika i mjesta tumora koji se nalazi u MR snimci pacijenta. Ovaj je program osmišljen tako da izvorno radi s otkrivanjem tumora u MRI snimkama mozga, ali se također može koristiti za dijagnostiku raka i kod drugih organa.
Sljedeće upute prvo će opisati metode za analizu slike filtriranjem i čišćenjem MRI skeniranja, binarniziranjem, 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 dodatno 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 uputama: 1. Obavezno preuzmite najnoviju verziju programa MATLAB. R2018b možete instalirati ovdje:
2. Da biste pokrenuli ovaj program, morate imati pristup datotekama za skeniranje mozga MRI. 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)
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 poput osi, statičkog teksta, uređivati tekst i gumbe koji će se prikazati nakon pokretanja programa i interakcije s korisnikom. Ovim se funkcijama može uređivati i upravljati putem inspektora svojstava, no najvažnija značajka koja se mora promijeniti pri stvaranju ovih funkcija je naziv oznake. Važno je promijeniti naziv oznake svake implementirane funkcije jer će nam omogućiti stvaranje prepoznatljive funkcije povratnog poziva. Nakon što ste zadovoljni izgledom svog grafičkog sučelja, možete prijeći na učitavanje datoteka DICOM koje će se prikazati unutar grafičkog sučelja.
Korak 2: Učitavanje i čitanje MRI slika u MATLAB -u
Da biste učitali DICOM datoteke, morate ispravno inicijalizirati funkciju povratnog poziva koja bi se izvršila pritiskom na gumb "Učitaj MRI sliku". Nakon što je ovo dovršeno, morate stvoriti globalnu varijablu koja bi sliku prikazivala na osama ručica na kojoj želite prikazati izvornu MRI sliku. Slike MR skeniranja preuzete iz baze podataka sve su datoteke u DICOM formatu koje je potrebno učitati u vaš MATLAB imenik. 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 iznimno 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 slaganja koji je koristan za implementaciju programa unutar grafičkog korisničkog sučelja. Za svaku opisnu informaciju o pacijentima stvorili smo varijable koje će se koristiti za grafičko sučelje kad se pritisne tipka za otkrivanje.
Korak 3: 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 izradu 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 zatim se obrađuje kroz medijanski filter pomoću funkcije 'medfilt2' jer je binarna slika dvodimenzionalna. Postavili smo svaki izlazni piksel tako da sadrži medijansku vrijednost u susjedstvu 5 x 5 oko odgovarajućeg piksela na ulaznoj binarnoj slici. Time se smanjuje šum i zadržavaju rubovi 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, pa je element oblika diska korisniji.
Kad 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, dopuštajući usporedbu između neobrađene i filtrirane slike.
Korak 4: Izolacija tumora eliptičnom maskom
Svijetle točke tumora tada se mogu izolirati iz glavne filtrirane slike putem 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 duljinu retka i stupca, po x i y koordinatama, 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 temelju koordinata sadržanih u vektorima od 1 do duljine osi x i od 1 do duljine osi y slike. Col je matrica u kojoj je svaki redak kopija osi x, a Row je matrica u kojoj je svaki stupac kopija osi y. Dekartova mreža predstavljena koordinatama Col i Row ima redove duljine (1: Y_Size) i duljinu (1: X_Size). Pomoću indeksa Col i Row koje generira kartezijanska mreža odredite jednadžbu 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.
Korištenjem unaprijed generirane eliptične maske 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 to 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 izvornih i filtriranih slika MRI skeniranja.
Korak 5: Opis tumora
Sada kada je tumor izoliran maskom, može se ocrtati i prikazati na izvornoj slici, kako bi se pokazalo njegovo točno mjesto. Da bismo to učinili, upotrijebili smo funkciju 'bwboundaries' za ocrtavanje prethodno otkrivenog tumora s obrisom. Naveli smo da nacrt ne uključuje rupe unutar tumorskog objekta kako se ocrtava. To se može iscrtati na izvornoj, sirovoj slici, pomoću "for" petlje koja iscrtava obris oko tumora pomoću indeksa linije s širinom crte od 1,5 piksela. Ovaj se obris zatim iscrtava na sirovoj slici, prikazujući točnu veličinu i mjesto tumora, u odnosu na izvorno snimanje magnetskom rezonancom.
Korak 6: Analiza fizikalnih 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. Ta se svojstva tada mogu pretvoriti u jedinice milimetara u stvarnom svijetu. Empirijske informacije koje nam program pruža jedinstvene su za svako snimanje magnetskom rezonancom i iznimno 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čeni:
Rover-One: Davanje mozga RC kamionu/automobilu: 11 koraka
Rover-One: Davanje mozga RC kamionu/automobilu: Ovo uputstvo je na PCB-u koji sam dizajnirao pod nazivom Rover-One. Rover-One je rješenje koje sam osmislio kako bih uzeo igračku RC automobil/kamion i dao mu mozak koji uključuje komponente za osjet okoline. Rover-One je PCB 100 x 100 mm dizajniran u EasyED-u
Upravljanje Raspberry Pi pomoću Matlaba: 5 koraka
Upravljanje Raspberry Pi pomoću Matlaba: Hej, ovaj vodič govori o kontroli vašeg malina pi bez glave pomoću matlaba. Možda ćete morati instalirati matlab na najnoviju verziju radi podrške novijem maline pi ploči
Jednostavno otkrivanje boje pomoću OpenCV-a: 6 koraka
Jednostavno otkrivanje boja pomoću OpenCV-a: Bok! Danas ću pokazati jednostavnu metodu otkrivanja boje iz videa uživo koristeći OpenCV i python. U osnovi ću samo testirati da li je potrebna boja prisutna u pozadinskom okviru ili ne, a pomoću OpenCV modula maskirat ću tu regiju i
Otkrivanje boja u Pythonu pomoću OpenCV -a: 8 koraka
Otkrivanje boja u Pythonu pomoću OpenCV -a: Zdravo! Ova instrukcija se koristi za vodiče o tome kako izvući određenu boju iz slike u pythonu pomoću biblioteke openCV. Ako ste tek počeli koristiti ovu tehniku, ne brinite, na kraju ovog vodiča moći ćete programirati svoju boju
Osnove Matlaba: 6 koraka
Osnove Matlaba: Ovo uputstvo će pokriti neke od najosnovnijih funkcija matlaba. Naučit ćete kako natjerati matlab da interno pokreće periodičnu funkciju i iscrtava te kako umjesto toga povući istu periodičku funkciju iz excel datoteke i iscrtati je. Ova funkcija