Satura rādītājs:
- 1. darbība: atrodiet normālu smadzeņu un Moyamoya skarto smadzeņu MRI un MRA skenēšanu
- 2. darbība: ielādējiet attēlus MATLAB un piešķiriet attēlus mainīgajam, lai parādītu attēlus
- 3. darbība. Uzlabojiet iegarenas struktūras intensitātes attēlā, izmantojot daudzfunkcionālu filtrēšanu
- 4. darbība: palaidiet 2D vidējā filtru
- 5. solis: maskējiet attēlu
- 6. darbība: atlasiet MRA skenēšanu statistiskai pārbaudei
- 7. solis: Aprēķiniet asinsvada laukumu, gatavojoties statistiskai pārbaudei
- 8. darbība: veiciet neatkarīgu paraugu T-testu
Video: Moyamoya attēlu apstrāde: 8 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
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
Š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
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
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
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
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
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
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
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:
Attēlu apstrāde ar Raspberry Pi: OpenCV un attēla krāsu atdalīšanas instalēšana: 4 soļi
Attēlu apstrāde ar Raspberry Pi: OpenCV un attēla krāsu atdalīšanas instalēšana: šī ziņa ir pirmā no vairākām attēlu apstrādes apmācībām, kas jāievēro. Mēs rūpīgāk aplūkojam attēla pikseļus, iemācāmies instalēt OpenCV uz Raspberry Pi, kā arī rakstām testa skriptus, lai uzņemtu attēlu, kā arī
Bluetooth audio un digitālo signālu apstrāde: Arduino sistēma: 10 soļi
Bluetooth audio un digitālo signālu apstrāde: Arduino sistēma: kopsavilkums Kad es domāju par Bluetooth, es domāju par mūziku, bet diemžēl lielākā daļa mikrokontrolleru nevar atskaņot mūziku, izmantojot Bluetooth. Raspberry Pi var, bet tas ir dators. Es vēlos izstrādāt uz Arduino balstītu sistēmu mikrokontrolleriem, lai atskaņotu audio, izmantojot Bluet
Bluetooth un IMU ar Tactigon Board - apstrāde: 7 soļi
Bluetooth un IMU ar Tactigon dēli - apstrāde: Šajā rakstu sērijā tiks paskaidrots, kā izmantot Tactigon integrētos sensorus un sakaru saskarnes, lai izveidotu vienkāršu žestu kontrolieri. Avota kods pieejams šeit vietnē GitHub Šajā rakstā mēs uzzināsim, kā izmantot simp
Ievads attēlu apstrādē: Pixy un tā alternatīvas: 6 soļi
Ievads attēlu apstrādē. Šī raksta beigās jūs uzzināsit: kā veidojas digitālais attēls
Kvanimetriskā attēlu apstrāde: 5 soļi
Kvanimetriskā attēlu apstrāde: (Augšējais attēls ilustrē esošās attēlu apstrādes metodes salīdzinājumu ar kvanimetrisko attēlu apstrādi. Ņemiet vērā uzlaboto rezultātu. Augšējā labajā attēlā redzami dīvaini artefakti, kas rodas no nepareiza pieņēmuma, ka attēli mēra kaut ko tādu