Përmbajtje:

Përpunimi i imazhit Moyamoya: 8 hapa
Përpunimi i imazhit Moyamoya: 8 hapa

Video: Përpunimi i imazhit Moyamoya: 8 hapa

Video: Përpunimi i imazhit Moyamoya: 8 hapa
Video: How To Do Stable Diffusion LORA Training By Using Web UI On Different Models - Tested SD 1.5, SD 2.1 2024, Nëntor
Anonim
Përpunimi i imazhit Moyamoya
Përpunimi i imazhit Moyamoya

Moyamoya, "fryrja e tymit", është një sëmundje e rrallë që shkaktohet nga bllokimi i arterieve në ganglionet bazale, e cila është një zonë në bazën e trurit. Sëmundja është një sëmundje progresive cerebrovaskulare që prek më së shumti fëmijët. Simptomat e moyamoya përfshijnë një goditje fillestare, mini-goditje të vazhdueshme, dobësi muskulare, paralizë ose konfiskime si rezultat i ngushtimit progresiv të arterieve. Pa trajtim, moyamoya do të shkaktojë probleme me të folurin, dëmtim ndijor dhe dëmtim të vetëdijes. Në projektin tonë, ne do të përdorim MATLAB në mënyrë që të përpunojmë paraprakisht një imazh MRI ose MRA duke përdorur filtra të ndryshëm për të zvogëluar zhurmën brenda figurës për të gjetur zonën e prekur. Përveç kësaj, ne do të përdorim një përmirësim të veçorive për të gjetur zonat e prekura më saktë. Për më tepër, atëherë ne do të kryejmë një test të pavarur t-test për të përcaktuar nëse ekziston një ndryshim i rëndësishëm midis sasisë së enëve të gjakut në një tru normal në krahasim me një tru të prekur nga moyamoya.

Hapi 1: Gjeni skanime MRI dhe MRA të një truri normal dhe një tru të prekur me Moyamoya

Gjeni skanime MRI dhe MRA të një truri normal dhe një tru të prekur me Moyamoya
Gjeni skanime MRI dhe MRA të një truri normal dhe një tru të prekur me Moyamoya
Gjeni skanime MRI dhe MRA të një truri normal dhe një tru të prekur me Moyamoya
Gjeni skanime MRI dhe MRA të një truri normal dhe një tru të prekur me Moyamoya
Gjeni skanime MRI dhe MRA të një truri normal dhe një tru të prekur me Moyamoya
Gjeni skanime MRI dhe MRA të një truri normal dhe një tru të prekur me Moyamoya
Gjeni skanime MRI dhe MRA të një truri normal dhe një tru të prekur me Moyamoya
Gjeni skanime MRI dhe MRA të një truri normal dhe një tru të prekur me Moyamoya

Këto imazhe janë skanimet që kemi përdorur për projektin që kemi gjetur në internet. Dy imazhet me enët e gjakut të vendosura në mes janë skanime MRA, ndërsa dy imazhet e tjera janë skanime MRI.

Lidhjet e mëposhtme janë aty ku gjenden këto imazhe:

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

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

Hapi 2: Ngarkoni imazhet në MATLAB dhe caktoni imazhe në një variabël për të shfaqur imazhe

Ngarkoni imazhe në MATLAB dhe caktoni imazhe në një variabël për të shfaqur imazhe
Ngarkoni imazhe në MATLAB dhe caktoni imazhe në një variabël për të shfaqur imazhe

Për të filluar procesin, filloni duke pastruar dritaren e komandës, mbyllni të gjitha figurat dhe grafikët e mundshëm që mund të jenë tashmë të hapur dhe pastroni ndryshoret e caktuara tashmë në hapësirën tuaj të punës.

Pas kësaj, krijoni një lak për 1 nga 2 duke përdorur komandën i = [1: 2]

Pas kësaj, ngarkoni imazhet MRA duke përdorur komandën imread (sprintf ('emri i skedarit%.filetype', i)) për të lexuar imazhet nga skedarët e specifikuar me emrin e skedarit të ndjekur nga numri i përdorur për lakun duke përdorur sprintf për ngarkimin dhe caktimin e serisë atë në një ndryshore.

Pastaj për të shfaqur imazhin në një figurë, përdorni komandën imshow (I).

Për të caktuar një hartë me ngjyrë gri, përdorni komandën kolormap (gri).

Për të eleminuar plotësisht ngjyrën dhe konvertuar matricën 3D për imazhet në 2D, përdorni komandën rgb2gray (I) dhe caktojeni atë në një ndryshore të veçantë.

Pastaj ngarkoni imazhet MRI duke përdorur komandën e deklaruar më parë ose imread (sprintf ('filename%.filetype', i)) dhe caktojeni në një ndryshore të re

Përsëriteni komandën rgb2gray me ndryshoren e re të përdorur për imazhet MRI.

Nëse është e nevojshme, mund të ndryshoni madhësinë e një imazhi duke përdorur komandën imresize (A, shkallë) dhe t'i caktoni një ndryshore të veçantë.

Hapi 3: Përmirësoni strukturat e zgjatura në imazhin me intensitet me filtrim në shumë shkallë

Përmirësoni strukturat e zgjatura në imazhin me intensitet me filtrim në shumë shkallë
Përmirësoni strukturat e zgjatura në imazhin me intensitet me filtrim në shumë shkallë

Duke përdorur një ndryshore të re, përdorni komandën fibermetric (A) për të përmirësuar strukturat tubulare në imazhe

Me ndryshoren e mëparshme, përdorni komandën histeq (B) për të rritur barazimet e histogramit duke transformuar intensitetin e imazheve dhe caktojeni atë në një ndryshore të re.

Shfaq histogramin duke përdorur komandën imhist (B)

Krijoni një ndryshore të re për të krijuar një prag për filtrin. Në këtë rast caktoni ndryshoren e mëparshme> 0.875, duke filtruar intensitetin e pikselit nën vlerën 0.875

Pas kësaj, krijoni një figurë të re dhe përdorni komandën imshow (A) për të shfaqur imazhin e ri të filtruar.

Hapi 4: Drejtoni një filtër mesatar 2D

Drejtoni një filtër mesatar 2D
Drejtoni një filtër mesatar 2D

Duke përdorur komandën medfilt2 (A, [m n]), drejtoni një filtër mesatar 2D, ku çdo piksel dalës përmban vlerën mesatare në kufirin mxn rreth pikselit përkatës në imazhin hyrës.

Krijoni një figurë të re dhe përdorni imshow (A) për të shfaqur imazhin e filtruar mesatar.

Hapi 5: Maskoni imazhin

Maskoni Imazhin
Maskoni Imazhin

Duke përdorur imazhin mesatar të filtruar, përdorni komandën [emërtuarImage, numberOfBlots] = bwlabel (A) për të numëruar numrin e njollave të bardha në imazh

Pastaj, përdorni gjendjet e funksioneve të rajonit props = regionprops (etiketuarImage, 'Area') për të llogaritur zonat e secilës njollë ose enë gjaku

Caktoni të gjitha zonat në një ndryshore

Pastaj duke përdorur një ndryshore tjetër, numëroni numrin e njollave që tejkalojnë 50 piksele

Më pas, renditni çdo njollë që është nën 50 pikselë në rend zbritës duke përdorur komandën [sortedAreas, sortedIndicies] = renditje (Zonat, 'zbritja')

Pastaj, duke përdorur një ndryshore tjetër, përdorni komandën ismember (etiketuarImage, sortedIndicies (1: numberToExtract)) për të kthyer një grup me elementë të etiketuarImage gjenden në renditjet Indikat nga numri 1 në numrin e enëve të gjakut për të kthyer një logjike 1 (e vërtetë) ose një 0 logjik (i rremë).

Me ndryshoren në hapin e mëparshëm, gjeni pikat që janë të vërteta (vlerat> 0) dhe krijoni një grup logjik për të bërë një imazh binar dhe caktojeni atë një ndryshoreje të re.

Krijoni një figurë të re dhe përdorni imshow (A) imazhin e ri binar.

Pastaj, përmbysni imazhin duke përdorur komplementin komandues (A) dhe caktojeni atë në një ndryshore të ndryshme.

Për të krijuar një imazh të maskuar, përdorni një ndryshore të re me madhësinë e komandës në imazh.*Uint8 (invertedimage)

Krijoni një figurë të re dhe përdorni imshow (A) për të shfaqur imazhin e maskuar.

Për t'i dhënë fund të gjithë kodit, sigurohuni që të përdorni komandën 'fund' për t'i dhënë fund të gjithë lakut

Hapi 6: Zgjidhni Skanimet MRA për Testimin Statistikor

Zgjidhni Skanimet MRA për Testimin Statistikor
Zgjidhni Skanimet MRA për Testimin Statistikor
Zgjidhni Skanimet MRA për Testimin Statistikor
Zgjidhni Skanimet MRA për Testimin Statistikor
Zgjidhni Skanimet MRA për Testimin Statistikor
Zgjidhni Skanimet MRA për Testimin Statistikor

Për t'u përgatitur për testimin statistikor, zgjidhni skanimet MRA që do të përdoren për t-testin e mostrave të pavarura. Për shkak se dy mostrat tanë do të ndikojnë në trurin Moyamoya, dhe trurin normal, zgjidhni një sasi të mirë të skanimeve MRA të secilit grup.

Hapi 7: Llogaritni sipërfaqen e enëve të gjakut në përgatitje për testimin statistikor

Llogaritni sipërfaqen e enëve të gjakut në përgatitje për testimin statistikor
Llogaritni sipërfaqen e enëve të gjakut në përgatitje për testimin statistikor

Testi statistikor do të përqëndrohet në gjatësinë ose sasinë e enëve të gjakut të treguara në skanimet MRA. Kështu, ne duhet të llogarisim sipërfaqen e enëve të gjakut para krahasimit.

Filloni duke filtruar MRA të trurit normal dhe duke llogaritur sasinë e enëve të gjakut. Për ta bërë këtë, drejtoni një lak for. Meqenëse ka tre imazhe, gjendja do të jetë i = [1: 3].

Hapni imazhin me komandën imread dhe caktojeni atë një ndryshoreje.

Tjetra, krijoni një deklaratë if/else me komandën if, else. Për deklaratën if, përdorni madhësinë e komandës (A, 3) == 3, ku A është ndryshorja e përdorur për t'u hapur në imazh, për të krijuar një deklaratë if për kur dimensioni i tretë i grupit është 3. Pastaj konvertoni imazhin në 2D dhe hiqni qafe ngjyrën duke përdorur komandën rgb2gray (A) dhe caktojeni atë një ndryshoreje të re. Përdorni komandën imresize (A, [m n]) për të ndryshuar madhësinë e figurës. Në këtë rast, ne i ndryshuam madhësinë e imazheve në një matricë 1024 x 1024. Për të përmirësuar strukturat tubulare të figurës, përdorni përsëri komandën fibometrike dhe caktojeni atë në një ndryshore të re.

Më poshtë është për deklaratën tjetër. Nëse imazhi nuk është një matricë 3D, ne duam të kalojmë konvertimin. Bëni të njëjtën gjë si deklarata if, por pa komandën rgb2gray (A).

Krijoni një ndryshore të re, duke e vendosur atë të barabartë me ndryshoren nga hapi fibrik metrikal më i madh se 0.15. Ky është pragu i imazhit për intensitet më të madh se 0.15.

Ne do të përsërisim linjat e kodeve nga hapat 4 dhe 5 të udhëzueshëm nga linja mesatare e filtrit deri në vijën e shfaqjes (I). Më pas, përdorni komandën sum (I (:)) për të shtuar të gjitha pikselët që përbëjnë enët e gjakut dhe caktojeni atë në një ndryshore të veçantë. Emërtoni një ndryshore të re NormalBloodVessels (i) dhe vendoseni të barabartë me ndryshoren nga komanda sum (I (:)). Kjo shton të dhënat në matricë.

Përfundoni lakin dhe përsëriteni por për MRA -të e trurit të prekur nga Moyamoya. Emërtoni ndryshoren në fund MoyaMoyaBloodVessels (i) për të mos e ngatërruar atë me MRA -të normale të trurit.

Hapi 8: Drejtoni një T-Test të Mostrave të Pavarur

Drejtoni një T-Test të Mostrave të Pavarur
Drejtoni një T-Test të Mostrave të Pavarur

Meqenëse ekzistojnë dy mostra të pavarura dhe një popullsi e vogël, bëni një test t-test të pavarur.

Krijoni dhe emërtoni një funksion që drejton një test të pavarur t-test për të përcaktuar nëse sasia e enëve të gjakut në MRA të trurit normal janë dukshëm të barabarta ose jo me atë të MRA të trurit të prekur nga Moyamoya.

Shfaqni hipotezën e vendosur për testin duke përdorur komandën disp ('X'). Në rreshtin e parë, shfaqni, "Hipotezat për dy mostra t test." Në rreshtin e dytë, shfaqni, "H0 = Sasia e enëve të gjakut të një truri normal është e barabartë me sasinë e enëve të gjakut të trurit me sëmundjen Moyamoya", për të deklaruar hipotezën zero. Në rreshtin e tretë, shfaqni, "HA = Sasia e enëve të gjakut të një truri normal nuk barazohet me sasinë e enëve të gjakut të trurit me sëmundjen Moyamoya." për të shprehur hipotezën alternative.

Duke përdorur një interval besueshmërie 95% dhe një madhësi mostre prej 3, llogaritni rezultatin t duke përdorur komandën tinv ([0,025 0,975], 2) dhe caktojini ndryshores t. Përdorni komandën var (NormalBloodVessels) dhe var (MoyaMoyaBloodVessels) dhe caktojini ato variablave për të llogaritur variancat e të dy grupeve të të dhënave.

Kontrolloni nëse variancat janë afër barabarta apo jo. Bëni këtë duke krijuar një deklaratë if/else me komandën if, else. Për gjendjen në deklaratën if, shkruani A / B == [0.25: 4], ku A është variabla që llogarit variancën e enëve të gjakut normale dhe B është variabla që llogarit variancën e enëve të gjakut Moyamoya. 0.25 dhe 4 vijnë nga një vlerësim i përgjithshëm për të përcaktuar nëse variancat janë të barabarta apo jo. Pastaj ekzekutoni testin e dy mostrave t me [h, p] = ttest2 (A, B, 0.05, 'të dyja', 'të barabarta'), me A dhe B të jenë të njëjtat ndryshore siç u përmend më parë. Për deklaratën else, përdorni [h, p] = ttest2 (A, B, 0.05, 'të dyja', 'të pabarabartë') për të drejtuar një test me dy mostra t në rastin kur variancat nuk janë të barabarta. Përfundoni deklaratën nëse/tjetër. Kjo do të llogarisë f.

Krijoni një deklaratë nëse/tjetër që do të shfaqë një përfundim bazuar në vlerën e p. Kushti për deklaratën if do të jetë p> 0.05. Meqenëse ne zakonisht dështojmë të hedhim poshtë hipotezën zero kur vlera e p është më e madhe se 0.05, përdorni komandën disp ('X') për të shfaqur "Për shkak se vlera p është më e madhe se 0.05 ne nuk arrijmë të hedhim poshtë hipotezën zero", dhe " Prandaj ne nuk arrijmë të refuzojmë se sasia e enëve të gjakut të një truri normal është e barabartë me atë të një truri me sëmundjen Moyamoya. " Në pohimin tjetër, meqenëse ne zakonisht hedhim poshtë hipotezën zero kur vlera e p është nën 0.05, përdorni komandën disp ('X') për të shfaqur "Për shkak se vlera p është më pak se 0.05 ne hedhim poshtë hipotezën zero", dhe " Prandaj ne nuk arrijmë të refuzojmë se sasia e enëve të gjakut të një truri normal nuk është e barabartë me atë të një truri me sëmundjen Moyamoya. " Përfundoni deklaratën nëse/tjetër.

Recommended: