Sadržaj:

Obrada slike Moyamoya: 8 koraka
Obrada slike Moyamoya: 8 koraka

Video: Obrada slike Moyamoya: 8 koraka

Video: Obrada slike Moyamoya: 8 koraka
Video: ЦВЕТ ВОЛОС для КРАСНОЙ КОЖИ! Как подобрать цвет волос! Ева Лорман 2024, Studeni
Anonim
Obrada slike Moyamoya
Obrada slike Moyamoya

Moyamoya, "oblačić dima", rijetka je bolest uzrokovana začepljenjem arterija u bazalnim ganglijima, području u podnožju mozga. Bolest je progresivna cerebrovaskularna bolest koja najviše pogađa djecu. Simptomi moyamoye uključuju početni moždani udar, stalne mini udarce, mišićnu slabost, paralizu ili napadaje kao rezultat progresivnog sužavanja arterija. Bez liječenja, moyamoya će uzrokovati probleme s govorom, oštećenjem osjeta i oštećenjem svijesti. U našem projektu koristit ćemo MATLAB za predprocesiranje MRI ili MRA slike pomoću različitih filtera za smanjenje šuma unutar slike za lociranje zahvaćenog područja. Osim toga, upotrijebit ćemo poboljšanje značajki za preciznije lociranje zahvaćenih područja. Štoviše, tada ćemo provesti neovisni t-test uzoraka kako bismo utvrdili postoji li značajna razlika između količine krvnih žila u normalnom mozgu u usporedbi s mozgom pogođenim moyamoyom.

Korak 1: Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom

Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom
Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom
Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom
Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom
Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom
Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom
Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom
Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom

Ove su slike skenovi koje smo koristili za projekt koji smo pronašli na internetu. Dvije slike s krvnim žilama koje se nalaze u sredini su MRA snimke, dok su druge dvije slike MRI.

Na sljedećim se linkovima nalaze ove slike:

static.cambridge.org/resource/id/urn:cambr…

static.cambridge.org/resource/id/urn:cambr…

Korak 2: Učitajte slike u MATLAB i dodijelite slike varijabli za prikaz slika

Učitajte slike u MATLAB i dodijelite slike varijabli za prikaz slika
Učitajte slike u MATLAB i dodijelite slike varijabli za prikaz slika

Za početak procesa počnite brisanjem naredbenog prozora, zatvorite sve moguće slike i grafikone koji su možda već otvoreni i izbrišite varijable koje su već dodijeljene u vašem radnom prostoru.

Nakon toga stvorite for petlju od 1 do 2 pomoću naredbe i = [1: 2]

Nakon toga učitajte MRA slike pomoću naredbe imread (sprintf ('naziv datoteke%.filetype', i)) za čitanje slika iz datoteka navedenih imenom datoteke, nakon čega slijedi broj koji se koristi za petlju pomoću sprintf za paketno učitavanje i dodjeljivanje to na varijablu.

Zatim za prikaz slike u obliku slike koristite naredbu imshow (I).

Za dodjelu sive karte boja upotrijebite naredbu mapu boja (siva).

Za potpuno uklanjanje boje i pretvaranje 3D matrice slika u 2D, upotrijebite naredbu rgb2gray (I) i dodijelite je zasebnoj varijabli.

Zatim učitajte slike MRI pomoću prethodno navedene naredbe ili imread (sprintf ('naziv datoteke%.filetype', i)) i dodijelite je novoj varijabli

Ponovite naredbu rgb2gray s novom varijablom koja se koristi za MRI snimke.

Ako je potrebno, možete promijeniti veličinu slike pomoću naredbe imresize (A, scale) i dodijeliti je zasebnoj varijabli.

Korak 3: Poboljšajte produžene strukture u intenzivnoj slici pomoću filtriranja s više razina

Poboljšajte produžene strukture u intenzivnoj slici pomoću filtriranja s više razina
Poboljšajte produžene strukture u intenzivnoj slici pomoću filtriranja s više razina

Pomoću nove varijable upotrijebite naredbu fibermetric (A) za poboljšanje cjevastih struktura na slikama

S prethodnom varijablom, upotrijebite naredbu histeq (B) za poboljšanje izjednačavanja histograma transformacijom intenziteta slika i dodjelom nove varijable.

Prikažite histogram pomoću naredbe imhist (B)

Izradite novu varijablu za stvaranje praga za filtar. U ovom slučaju dodijelite prethodnu varijablu> 0,875, filtrirajući intenzitet piksela ispod vrijednosti 0,875

Nakon toga stvorite novu figuru i upotrijebite naredbu imshow (A) za prikaz nove filtrirane slike.

Korak 4: Pokrenite 2D srednji filtar

Pokrenite 2D srednji filtar
Pokrenite 2D srednji filtar

Pomoću naredbe medfilt2 (A, [m n]) pokrenite 2D medijalni filter, gdje svaki izlazni piksel sadrži srednju vrijednost na granici mxn oko odgovarajućeg piksela na ulaznoj slici.

Izradite novu sliku i upotrijebite imshow (A) za prikaz medijanske filtrirane slike.

Korak 5: Maskirajte sliku

Maskirajte sliku
Maskirajte sliku

Pomoću srednje filtrirane slike upotrijebite naredbu [labeledImage, numberOfBlots] = bwlabel (A) za brojanje broja bijelih mrlja na slici

Zatim upotrijebite stanja stanja rekvizita regije = regionski rekviziti (označeno sa Slike, 'Područje') za izračun površina svake mrlje ili krvne žile

Dodijelite sva područja u jednu varijablu

Zatim pomoću druge varijable izbrojite broj mrlja koji prelazi 50 piksela

Nakon toga, sortirajte sve mrlje ispod 50 piksela u opadajućem redoslijedu pomoću naredbe [sortiranoPodručja, sortiranoIndicies] = sortiranje (Područja, 'silazno')

Zatim, pomoću druge varijable, upotrijebite naredbu ismember (labeledImage, sortIndicies (1: numberToExtract)) za vraćanje niza s elementima labeledImage koji se nalaze u sortIndicies od broja 1 do broja krvnih žila za vraćanje logičkog 1 (true) ili logičko 0 (netočno).

S varijablom u prethodnom koraku pronađite točke koje su istinite (vrijednosti> 0) i stvorite logički niz za izradu binarne slike i dodijelite je novoj varijabli.

Izradite novu figuru i upotrijebite imshow (A) novu binarnu sliku.

Zatim obrnite sliku pomoću naredbe imcomplement (A) i dodijelite je drugoj varijabli.

Za izradu maskirane slike upotrijebite novu varijablu s naredbom resizedimage.*Uint8 (obrnuta slika)

Izradite novu figuru i upotrijebite imshow (A) za prikaz maskirane slike.

Za završetak cijelog koda svakako upotrijebite naredbu 'end' za završetak cijele for petlje

Korak 6: Odaberite MRA skeniranje za statističko testiranje

Odaberite MRA skeniranje za statističko testiranje
Odaberite MRA skeniranje za statističko testiranje
Odaberite MRA skeniranje za statističko testiranje
Odaberite MRA skeniranje za statističko testiranje
Odaberite MRA skeniranje za statističko testiranje
Odaberite MRA skeniranje za statističko testiranje

Za pripremu za statističko testiranje odaberite MRA skeniranje koje ćete koristiti za t-test neovisnih uzoraka. Budući da će naša dva uzorka biti mozgovi pogođeni Moyamoyom, i normalni mozgovi, odaberite pristojnu količinu MRA snimki svake skupine.

Korak 7: Izračunajte površinu krvnih žila u pripremi za statističko testiranje

Izračunajte površinu krvnih žila u pripremi za statističko ispitivanje
Izračunajte površinu krvnih žila u pripremi za statističko ispitivanje

Statistički test usredotočit će se na duljinu ili količinu krvnih žila prikazanu na MRA snimkama. Stoga prije usporedbe moramo izračunati površinu krvnih žila.

Počnite filtriranjem MRA -a normalnog mozga i izračunavanjem količine krvnih žila. Da biste to učinili, pokrenite for petlju. Budući da postoje tri slike, uvjet će biti i = [1: 3].

Otvorite sliku naredbom imread i dodijelite je varijabli.

Zatim stvorite naredbu if/else naredbom if, else. Za if naredbu upotrijebite naredbu size (A, 3) == 3, gdje je A varijabla koja se koristi za otvaranje slike, za stvaranje if naredbe za treću dimenziju niza 3. Zatim pretvorite sliku u 2D i riješite se boja pomoću naredbe rgb2gray (A) i dodijelite je novoj varijabli. Za promjenu veličine slike upotrijebite naredbu imresize (A, [m n]). U ovom smo slučaju promijenili veličinu slika na matricu 1024 x 1024. Da biste poboljšali cjevaste strukture slike, ponovno upotrijebite vlaknometrijsku naredbu i dodijelite je novoj varijabli.

Slijedi sljedeće za izjavu else. Ako slika nije 3D matrica, želimo preskočiti pretvorbu. Učinite isto kao if naredba, ali bez naredbe rgb2gray (A).

Izradite novu varijablu postavljajući je jednaku varijabli s vlaknometrijskog koraka većeg od 0,15. Ovaj prag prikazuje sliku za intenzitete veće od 0,15.

Ponovit ćemo redove kodova od koraka 4 i 5 instrukcije od srednje linije filtra do linije imshow (I). Nakon toga, pomoću naredbenog zbroja (I (:)) zbrojite sve piksele koji čine krvne žile i dodijelite je zasebnoj varijabli. Imenujte novu varijablu NormalBloodVessels (i) i postavite je jednaku varijabli iz naredbe sum (I (:)). Ovo dodaje podatke u matricu.

Prekinite petlju i ponovite, ali za MRA mozga zahvaćene Moyamoyom. Imenujte varijablu na kraju MoyaMoyaBloodVessels (i) kako je ne biste zamijenili s normalnim MRA mozga.

Korak 8: Pokrenite T-test nezavisnih uzoraka

Pokrenite T-test nezavisnih uzoraka
Pokrenite T-test nezavisnih uzoraka

Budući da postoje dva neovisna uzorka i mala populacija, pokrenite t-test neovisnih uzoraka.

Napravite i imenujte funkciju koja pokreće neovisni t-test uzoraka kako bi se utvrdilo jesu li količina krvnih žila u MRA-ima normalnog mozga značajno jednaka ili nije onoj u MRA-i mozga na koju utječe Moyamoya.

Prikažite postavljenu hipotezu za test pomoću naredbe disp ('X'). U prvom retku prikažite "Hipoteze za dva uzorka t testa." U drugom retku prikažite: "H0 = Količina krvnih žila normalnog mozga jednaka je količini krvnih žila mozga s Moyamoyinom bolešću", kako biste iznijeli nultu hipotezu. U trećem retku prikažite "HA = Količina krvnih žila normalnog mozga nije jednaka količini krvnih žila mozga s Moyamoyinom bolešću." iznijeti alternativnu hipotezu.

Koristeći 95% interval pouzdanosti i veličinu uzorka 3, izračunajte t rezultat pomoću naredbe tinv ([0,025 0,975], 2) i dodijelite varijabli t. Upotrijebite naredbu var (NormalBloodVessels) i var (MoyaMoyaBloodVessels) i dodijelite ih varijablama za izračun varijance oba skupa podataka.

Provjerite jesu li odstupanja jednaka ili ne. Učinite to stvaranjem naredbe if/else naredbom if, else. Za uvjet u iskazu if napišite A / B == [0,25: 4], gdje je A varijabla koja objašnjava varijancu normalnih krvnih žila, a B je varijabla koja objašnjava varijancu Moyamoya krvnih žila. 0.25 i 4 dolaze iz opće procjene za utvrđivanje jesu li varijance jednake ili ne. Zatim pokrenite dva uzorka t testa s [h, p] = ttest2 (A, B, 0.05, 'oboje', 'jednako'), pri čemu su A i B iste varijable kao što je prije spomenuto. Za naredbu else upotrijebite [h, p] = ttest2 (A, B, 0.05, 'oboje', 'nejednako') za pokretanje testa s dva uzorka u slučaju da varijance nisu jednake. Završite naredbu if/else. Time će se izračunati p.

Napravite if/else naredbu koja će prikazati zaključak na temelju vrijednosti p. Uvjet za if naredbu bit će p> 0,05. Budući da obično ne odbacujemo nultu hipotezu kada je vrijednost p veća od 0,05, upotrijebite naredbu disp ('X') za prikaz "Budući da je vrijednost p veća od 0,05, ne uspijevamo odbaciti nultu hipotezu" i " Stoga ne odbacujemo da je količina krvnih žila normalnog mozga jednaka količini mozga s Moyamoyinom bolešću. " U izjavi else, budući da obično odbacujemo nultu hipotezu kada je vrijednost p ispod 0,05, upotrijebite naredbu disp ('X') za prikaz "Budući da je vrijednost p manja od 0,05, odbacujemo nultu hipotezu" i " Stoga ne uspijevamo odbaciti da količina krvnih žila normalnog mozga nije jednaka onoj u mozgu s Moyamoyinom bolešću. " Završite naredbu if/else.

Preporučeni: