Satura rādītājs:

Moyamoya attēlu apstrāde: 8 soļi
Moyamoya attēlu apstrāde: 8 soļi

Video: Moyamoya attēlu apstrāde: 8 soļi

Video: Moyamoya attēlu apstrāde: 8 soļi
Video: Word - attēlu un tabulu numerācija 2024, Decembris
Anonim
Moyamoya attēlu apstrāde
Moyamoya attēlu apstrāde

Moyamoya, "dūmu uzpūšanās", ir reta slimība, ko izraisa artēriju aizsprostošanās pie bazālajiem ganglijiem, kas ir zona smadzeņu pamatnē. Slimība ir progresējoša smadzeņu asinsvadu slimība, kas galvenokārt skar bērnus. Moyamoya simptomi ir sākotnējais insults, pastāvīgi mini-insulti, muskuļu vājums, paralīze vai krampji progresējošas artēriju sašaurināšanās rezultātā. Bez ārstēšanas moyamoya radīs problēmas ar runu, maņu traucējumiem un apziņas traucējumiem. Mūsu projektā mēs izmantosim MATLAB, lai iepriekš apstrādātu MRI vai MRA attēlu, izmantojot dažādus filtrus, lai samazinātu attēla troksni, lai noteiktu skarto zonu. Turklāt mēs izmantosim funkciju uzlabojumu, lai precīzāk atrastu skartās vietas. Turklāt mēs veiksim neatkarīgu paraugu t-testu, lai noteiktu, vai pastāv būtiska atšķirība starp asinsvadu daudzumu normālās smadzenēs, salīdzinot ar smadzenēm, kuras skārusi moyamoya.

1. darbība: atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu

Atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu
Atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu
Atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu
Atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu
Atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu
Atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu
Atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu
Atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu

Šie attēli ir skenējumi, kurus izmantojām projektam un kurus atradām tiešsaistē. Abi attēli ar asinsvadiem, kas atrodas vidū, ir MRA skenēšana, bet pārējie divi attēli ir MRI skenēšana.

Šie attēli ir atrodami šādās saitēs:

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

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

2. darbība: ielādējiet attēlus MATLAB un piešķiriet attēlus mainīgajam, lai parādītu attēlus

Ielādējiet attēlus MATLAB un piešķiriet attēlus mainīgajam, lai parādītu attēlus
Ielādējiet attēlus MATLAB un piešķiriet attēlus mainīgajam, lai parādītu attēlus

Lai sāktu procesu, vispirms notīriet komandu logu, aizveriet visus iespējamos skaitļus un grafikus, kas jau var būt atvērti, un notīriet mainīgos, kas jau ir piešķirti jūsu darbvietā.

Pēc tam izveidojiet for ciklu no 1 līdz 2, izmantojot komandu i = [1: 2]

Pēc tam ielādējiet MRA attēlus, izmantojot komandu imread (sprintf ('faila nosaukums%.filetype', i)), lai nolasītu attēlus no failiem, kas norādīti ar faila nosaukumu, kam seko cipars, kas izmantots cilpai, izmantojot sprintf partijas ielādei un piešķirot to uz mainīgo.

Pēc tam, lai parādītu attēlu attēlā, izmantojiet komandu imshow (I).

Lai piešķirtu pelēko krāsu karti, izmantojiet komandu colormap (pelēka).

Lai pilnībā izslēgtu krāsas un pārvērstu attēlu 3D matricu 2D, izmantojiet komandu rgb2gray (I) un piešķiriet to atsevišķam mainīgajam.

Pēc tam ielādējiet MRI attēlus, izmantojot iepriekš norādīto komandu vai imread (sprintf ('faila nosaukums%.filetype', i)) un piešķiriet to jaunam mainīgajam

Atkārtojiet komandu rgb2gray ar jauno mainīgo, ko izmanto MRI attēliem.

Ja nepieciešams, varat mainīt attēla izmēru, izmantojot komandu imresize (A, skala) un piešķirt atsevišķam mainīgajam.

3. darbība. Uzlabojiet iegarenas struktūras intensitātes attēlā, izmantojot daudzfunkcionālu filtrēšanu

Uzlabojiet iegarenas struktūras intensitātes attēlā, izmantojot daudzfunkcionālu filtrēšanu
Uzlabojiet iegarenas struktūras intensitātes attēlā, izmantojot daudzfunkcionālu filtrēšanu

Izmantojot jaunu mainīgo, izmantojiet komandu fibermetric (A), lai attēlos uzlabotu cauruļveida struktūras

Izmantojot iepriekšējo mainīgo, izmantojiet komandu histeq (B), lai uzlabotu histogrammas izlīdzināšanu, pārveidojot attēlu intensitāti un piešķirot to jaunam mainīgajam.

Parādiet histogrammu, izmantojot komandu imhist (B)

Izveidojiet jaunu mainīgo, lai filtram izveidotu slieksni. Šajā gadījumā piešķiriet iepriekšējo mainīgo> 0,875, filtrējot pikseļu intensitāti zem vērtības 0,875

Pēc tam izveidojiet jaunu figūru un izmantojiet komandu imshow (A), lai parādītu jauno filtrēto attēlu.

4. darbība: palaidiet 2D vidējā filtru

Palaidiet 2D vidējo filtru
Palaidiet 2D vidējo filtru

Izmantojot komandu medfilt2 (A, [m n]), palaidiet 2D vidējo filtru, kur katrs izvades pikselis satur vidējo vērtību mxn robežās ap attiecīgo pikseli ievades attēlā.

Izveidojiet jaunu figūru un izmantojiet imshow (A), lai parādītu vidējo filtrēto attēlu.

5. solis: maskējiet attēlu

Maskējiet attēlu
Maskējiet attēlu

Izmantojot vidējo filtrēto attēlu, izmantojiet komandu [labeledImage, numberOfBlots] = bwlabel (A), lai saskaitītu balto plankumu skaitu attēlā

Pēc tam izmantojiet reģiona rekvizītu funkcijas statusus = regionprops (marķētsImage, 'Area'), lai aprēķinātu katra plankuma vai asinsvadu laukumus

Piešķiriet visas zonas vienā mainīgajā

Pēc tam, izmantojot citu mainīgo, saskaitiet blotu skaitu, kas pārsniedz 50 pikseļus

Pēc tam sakārtojiet visus blotus, kas ir mazāki par 50 pikseļiem dilstošā secībā, izmantojot komandu [sortedAreas, sortedIndicies] = kārtot (apgabali, 'nolaisties')

Pēc tam, izmantojot citu mainīgo, izmantojiet komandu ismember (labeledImage, sortedIndicies (1: numberToExtract)), lai atgrieztu masīvu ar labeledImage elementiem, kas atrodami sortedIndicies no numura 1 līdz asinsvadu skaitam, lai atgrieztu loģisku 1 (true) vai loģisks 0 (aplams).

Izmantojot mainīgo iepriekšējā solī, atrodiet patiesos punktus (vērtības> 0) un izveidojiet loģisku masīvu, lai izveidotu bināru attēlu un piešķirtu to jaunam mainīgajam.

Izveidojiet jaunu figūru un izmantojiet jauno bināro attēlu imshow (A).

Pēc tam apgrieziet attēlu, izmantojot komandu imcomplement (A), un piešķiriet to citam mainīgajam.

Lai izveidotu maskētu attēlu, izmantojiet jaunu mainīgo ar komandu resizedimage.*Uint8 (invertedimage)

Izveidojiet jaunu figūru un izmantojiet imshow (A), lai parādītu maskētu attēlu.

Lai beigtu visu kodu, noteikti izmantojiet komandu 'end', lai pabeigtu visu cilpu

6. darbība: atlasiet MRA skenēšanu statistiskai pārbaudei

Atlasiet MRA skenēšanu statistiskai pārbaudei
Atlasiet MRA skenēšanu statistiskai pārbaudei
Atlasiet MRA skenēšanu statistiskai pārbaudei
Atlasiet MRA skenēšanu statistiskai pārbaudei
Atlasiet MRA skenēšanu statistiskai pārbaudei
Atlasiet MRA skenēšanu statistiskai pārbaudei

Lai sagatavotos statistiskai pārbaudei, atlasiet MRA skenēšanu, kas jāizmanto neatkarīgo paraugu t-testam. Tā kā mūsu divi paraugi būs smadzenes, kuras ietekmē Moyamoya, un normālas smadzenes, izvēlieties pienācīgu daudzumu katras grupas MRA skenēšanas.

7. solis: Aprēķiniet asinsvada laukumu, gatavojoties statistiskai pārbaudei

Aprēķiniet asinsvadu laukumu, gatavojoties statistiskai pārbaudei
Aprēķiniet asinsvadu laukumu, gatavojoties statistiskai pārbaudei

Statistiskajā testā galvenā uzmanība tiks pievērsta asinsvadu garumam vai daudzumam, kas parādīts MRA skenēšanā. Tādējādi pirms salīdzināšanas mums jāaprēķina asinsvadu laukums.

Sāciet, filtrējot normālu smadzeņu MRA un aprēķinot asinsvadu daudzumu. Lai to izdarītu, palaidiet for cilpu. Tā kā ir trīs attēli, nosacījums būs i = [1: 3].

Atveriet attēlu ar komandu imread un piešķiriet to mainīgajam.

Pēc tam izveidojiet paziņojumu if/else ar komandu if, else. Paziņojumam if izmantojiet komandu size (A, 3) == 3, kur A ir mainīgais, ko izmanto attēla atvēršanai, lai izveidotu paziņojumu if, kad masīva trešā dimensija ir 3. Pēc tam konvertējiet attēlu uz 2D un atbrīvoties no krāsas, izmantojot komandu rgb2gray (A), un piešķirt to jaunam mainīgajam. Izmantojiet komandu imresize (A, [m n]), lai mainītu attēla izmērus. Šajā gadījumā mēs mainījām attēlu izmērus līdz 1024 x 1024 matricai. Lai uzlabotu attēla cauruļveida struktūras, vēlreiz izmantojiet fibermetrisko komandu un piešķiriet to jaunam mainīgajam.

Tālāk ir norādīts cits paziņojums. Ja attēls nav 3D matrica, mēs vēlamies izlaist reklāmguvumu. Dariet to pašu, kas paziņojumā if, bet bez komandas rgb2gray (A).

Izveidojiet jaunu mainīgo, nosakot to vienādu ar fibermetriskā soļa mainīgo, kas ir lielāks par 0,15. Tādējādi attēla intensitāte ir lielāka par 0,15.

Mēs atkārtosim kodu rindas no instrukcijas 4. un 5. soļa no vidējās filtra līnijas līdz rindai imshow (I). Pēc tam izmantojiet komandu summu (I (:)), lai saskaitītu visus pikseļus, kas veido asinsvadus, un piešķiriet to atsevišķam mainīgajam. Nosauciet jaunu mainīgo NormalBloodVessels (i) un iestatiet to vienādu ar mainīgo no summas (I (:)) komandas. Tas pievieno datus matricai.

Pārtrauciet cilpu un atkārtojiet, bet MoMamoya skarto smadzeņu MRA. Nosauciet mainīgo beigās MoyaMoyaBloodVessels (i), lai to nejauktu ar parastajām smadzeņu MRA.

8. darbība: veiciet neatkarīgu paraugu T-testu

Veiciet neatkarīgu paraugu T-testu
Veiciet neatkarīgu paraugu T-testu

Tā kā ir divi neatkarīgi paraugi un neliela populācija, veiciet neatkarīgu paraugu t-testu.

Izveidojiet un nosauciet funkciju, kas veic neatkarīgu paraugu t-testu, lai noteiktu, vai asinsvadu daudzums normālu smadzeņu MRA ir ievērojami vienāds vai nav Moyamoya skarto smadzeņu MRA.

Parādiet testa hipotēzi, izmantojot komandu disp ('X'). Pirmajā rindā parādiet "Hipotēzes diviem parauga testiem." Otrajā rindā parādiet "H0 = normālu smadzeņu asinsvadu daudzums ir vienāds ar smadzeņu asinsvadu skaitu ar Moyamoya slimību", lai norādītu nulles hipotēzi. Trešajā rindā parādiet: "HA = normālu smadzeņu asinsvadu daudzums nav vienāds ar smadzeņu asinsvadu skaitu ar Moyamoya slimību." lai izklāstītu alternatīvo hipotēzi.

Izmantojot 95% ticamības intervālu un izlases lielumu 3, aprēķiniet t punktu skaitu, izmantojot komandu tinv ([0,025 0,975], 2), un piešķiriet mainīgajam t. Izmantojiet komandu var (NormalBloodVessels) un var (MoyaMoyaBloodVessels) un piešķiriet tos mainīgajiem, lai aprēķinātu abu datu kopu dispersijas.

Pārbaudiet, vai dispersijas ir tuvu vienādām vai nē. Dariet to, izveidojot paziņojumu if/else ar komandu if, else. Ja nosacījumam if, ierakstiet A / B == [0,25: 4], kur A ir mainīgais, kas atspoguļo normālo asinsvadu dispersiju, un B ir mainīgais, kas veido Moyamoya asinsvadu dispersiju. 0,25 un 4 nāk no vispārīga novērtējuma, lai noteiktu, vai dispersijas ir vienādas vai nē. Pēc tam veiciet divu paraugu t testu ar [h, p] = ttest2 (A, B, 0,05, 'abi', 'vienādi'), un A un B ir tie paši mainīgie, kas minēti iepriekš. Citam apgalvojumam izmantojiet [h, p] = ttest2 (A, B, 0,05, 'abi', 'nevienlīdzīgi'), lai veiktu divu paraugu t testu gadījumā, ja dispersijas nav vienādas. Pabeidziet paziņojumu ja/cits. Tas aprēķinās p.

Izveidojiet if/else paziņojumu, kas parādīs secinājumu, pamatojoties uz p vērtību. Ja paziņojuma nosacījums būs p> 0,05. Tā kā mēs parasti nevaram noraidīt nulles hipotēzi, ja p vērtība ir lielāka par 0,05, izmantojiet komandu disp ('X'), lai parādītu "Tā kā p vērtība ir lielāka par 0,05, mēs nevaram noraidīt nulles hipotēzi" un " Tāpēc mēs nevaram noraidīt, ka normālu smadzeņu asinsvadu daudzums ir vienāds ar smadzenēm ar Moyamoya slimību. " Paziņojumā else, tā kā mēs parasti noraidām nulles hipotēzi, ja p vērtība ir zemāka par 0,05, izmantojiet komandu disp ('X'), lai parādītu "Tā kā p vērtība ir mazāka par 0,05, mēs noraidām nulles hipotēzi" un " Tāpēc mēs nevaram noraidīt, ka normālu smadzeņu asinsvadu daudzums nav vienāds ar smadzenēm ar Moyamoya slimību. " Pabeidziet paziņojumu ja/cits.

Ieteicams: