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, Novembar
Anonim
Moyamoya obrada slike
Moyamoya obrada slike

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 pogađa uglavnom 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 koristeći različite filtere 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. Nadalje, tada ćemo pokrenuti nezavisni t-test uzoraka kako bismo utvrdili postoji li značajna razlika između količine krvnih žila u normalnom mozgu u odnosu na mozak pogođen mojamojom.

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 slike su skenovi koje smo koristili za projekt koje smo pronašli na internetu. Dvije slike s krvnim žilama koje se nalaze u sredini su MRA skenovi, dok su druge dvije slike MRI skeniranje.

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

Da biste započeli proces, 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 kreirajte 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 koristeći sprintf za paketno učitavanje i dodjeljivanje to u promenljivu.

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

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

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

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

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

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

Koristeći novu varijablu, koristite naredbu fibermetric (A) za poboljšanje cijevnih 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)

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

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

Korak 4: Pokrenite 2D medijanski filter

Pokrenite 2D medijanski filter
Pokrenite 2D medijanski filter

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.

Kreirajte novu figuru i koristite imshow (A) za prikaz srednje filtrirane slike.

Korak 5: Maskirajte sliku

Maskirajte sliku
Maskirajte sliku

Koristeći srednju filtriranu sliku, koristite naredbu [labeledImage, numberOfBlots] = bwlabel (A) za brojanje broja bijelih mrlja na slici

Zatim upotrijebite stanje stanja rekvizita regije = regionski rekviziti (označeno sa Slike, 'Površina') za izračunavanje 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 (Oblasti, 'silazno')

Zatim, pomoću druge varijable, upotrijebite naredbu ismember (labeledImage, sortiranoIndicies (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čka 0 (netačno).

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

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

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

Za kreiranje maskirane slike upotrijebite novu varijablu s naredbom resizedimage.*Uint8 (invertedimage)

Kreirajte novu figuru i koristite 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 nezavisnih uzoraka. Budući da će naša dva uzorka biti mozgovi pogođeni Moyamoyom, i normalni mozgovi, odaberite pristojnu količinu MRA skeniranja za svaku grupu.

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 testiranje
Izračunajte površinu krvnih žila u pripremi za statističko testiranje

Statistički test fokusirat će se na dužinu 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 kreirajte naredbu if/else naredbom if, else. Za if naredbu, koristite naredbu size (A, 3) == 3, gdje je A varijabla koja se koristi za otvaranje slike, za kreiranje if naredbe za treću dimenziju niza 3. Zatim konvertirajte sliku u 2D i riješite se boja pomoću naredbe rgb2gray (A) i dodijelite je novoj varijabli. Za promjenu veličine slike koristite naredbu imresize (A, [m n]). U ovom smo slučaju promijenili veličinu slika na matricu 1024 x 1024. Da biste poboljšali cijevne strukture slike, ponovo upotrijebite optičku naredbu i dodijelite je novoj varijabli.

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

Kreirajte novu promenljivu, postavljajući je jednaku promenljivoj iz vlaknometrijskog koraka većeg od 0,15. Ovo postavlja granicu slike 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 naredbe sum (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 pogođene Moyamoyom. Imenujte varijablu na kraju MoyaMoyaBloodVessels (i) da je ne zamijenite 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 nezavisna uzorka i mala populacija, pokrenite nezavisni uzorak t-test.

Kreirajte i imenujte funkciju koja pokreće nezavisni uzorak t-testa kako bi se utvrdilo je 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 postavili 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." da iznese 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. Koristite naredbe var (NormalBloodVessels) i var (MoyaMoyaBloodVessels) i dodijelite ih varijablama za izračunavanje varijansi oba skupa podataka.

Provjerite jesu li odstupanja jednaka ili ne. Učinite to stvaranjem naredbe if/else s naredbom if, else. Za stanje u if naredbi napišite A / B == [0.25: 4], gdje je A varijabla koja objašnjava varijansu normalnih krvnih žila, a B je varijabla koja objašnjava varijansu 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 sa [h, p] = ttest2 (A, B, 0.05, 'oboje', 'jednako'), pri čemu su A i B iste varijable kao što je ranije spomenuto. Za naredbu else koristite [h, p] = ttest2 (A, B, 0.05, 'oboje', 'nejednako') da biste pokrenuli dva uzorka t testa u slučaju da varijacije nisu jednake. Završite if/else naredbu. Ovo će izračunati p.

Kreirajte if/else naredbu koja će prikazati zaključak na osnovu vrijednosti p. Uvjet za if naredbu bit će p> 0,05. Budući da obično ne uspijevamo odbaciti 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 naredbi else, budući da obično odbacujemo nultu hipotezu kada je vrijednost p ispod 0,05, koristite naredbu disp ('X') za prikaz "Budući da je vrijednost p manja od 0,05, odbacujemo nultu hipotezu", i " Stoga ne odbacujemo da količina krvnih žila normalnog mozga nije jednaka onoj u mozgu s Moyamoyinom bolešću. " Završite if/else naredbu.

Preporučuje se: