Sadržaj:
- Korak 1: Pronađite MRI i MRA snimke normalnog mozga i mozga zahvaćenog Moyamoyom
- Korak 2: Učitajte slike u MATLAB i dodijelite slike varijabli za prikaz slika
- Korak 3: Poboljšajte produžene strukture u intenzivnoj slici pomoću filtriranja s više razina
- Korak 4: Pokrenite 2D medijanski filter
- Korak 5: Maskirajte sliku
- Korak 6: Odaberite MRA skeniranje za statističko testiranje
- Korak 7: Izračunajte površinu krvnih žila u pripremi za statističko testiranje
- Korak 8: Pokrenite T-test nezavisnih uzoraka
Video: Obrada slike Moyamoya: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
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
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
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
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
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
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
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
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
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:
Bluetooth zvučnik "Napravi sam" s baterijskim napajanjem // Kako se gradi - Obrada drveta: 14 koraka (sa slikama)
Bluetooth zvučnik sa DIY baterijskim napajanjem // Kako se gradi-Obrada drveta: Napravio sam ovaj prijenosni Bluetooth boombox zvučnik sa punjivom baterijom, napajajući se pomoću kompleta zvučnika Parts Express C-Note plus njihove ploče za pojačalo KAB (veze do svih dijelova ispod). Ovo je bila moja prva verzija zvučnika i iskreno sam zadivljen koliko je sjajan
Obrada slike s Raspberry Pi: Instaliranje OpenCV -a i Razdvajanje boja slike: 4 koraka
Obrada slike pomoću Raspberry Pi -a: Instaliranje OpenCV -a i odvajanje boja slike: Ovaj je post prvi od nekoliko vodiča za obradu slika koji slijede. Pažljivije ćemo pogledati piksele koji čine sliku, naučiti kako instalirati OpenCV na Raspberry Pi, a takođe ćemo napisati i testne skripte za snimanje slike, a takođe i
Bluetooth audio i digitalna obrada signala: Arduino okvir: 10 koraka
Bluetooth audio i digitalna obrada signala: Arduino okvir: sažetak Kada pomislim na Bluetooth, mislim na muziku, ali nažalost većina mikrokontrolera ne može reproducirati muziku putem Bluetootha. Raspberry Pi može, ali to je računar. Želim razviti okvir zasnovan na Arduinu za mikrokontrolere za reprodukciju zvuka putem Blueta
Bluetooth i IMU sa Tactigon pločom - Obrada: 7 koraka
Bluetooth i IMU s Tactigon pločom - Obrada: Ova serija članaka će objasniti kako koristiti Tactigonove integrirane senzore i komunikacijska sučelja za stvaranje jednostavnog kontrolera gestama. Izvorni kôd dostupan ovdje na GitHubu U ovom ćemo članku naučiti kako da upotrebim simp
Kvantimetrijska obrada slike: 5 koraka
Kvantimetrijska obrada slike: (Gornja slika prikazuje usporedbu postojeće metode obrade slike s kvantimetrijskom obradom slike. Obratite pažnju na poboljšani rezultat. Gornja desna slika prikazuje čudne artefakte koji proizlaze iz pogrešne pretpostavke da slike mjere nešto takvo