Obsah:
- Krok 1: Nájdite skeny MRI a MRA normálneho mozgu a mozgu postihnutého Moyamoyou
- Krok 2: Načítajte obrázky do systému MATLAB a priraďte obrázky k premennej na zobrazenie obrázkov
- Krok 3: Vylepšite predĺžené štruktúry v intenzívnom obraze pomocou viacúrovňového filtrovania
- Krok 4: Spustite filter 2D mediánu
- Krok 5: Maskujte obrázok
- Krok 6: Vyberte skeny MRA na štatistické testovanie
- Krok 7: Vypočítajte plochu krvných ciev v rámci prípravy na štatistické testovanie
- Krok 8: Spustite T-test nezávislých vzoriek
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Moyamoya, „obláčik dymu“, je zriedkavé ochorenie, ktoré je spôsobené upchatím tepien v bazálnych gangliách, čo je oblasť v spodnej časti mozgu. Ochorenie je progresívne cerebrovaskulárne ochorenie, ktoré väčšinou postihuje deti. Príznaky moyamoyi zahŕňajú počiatočnú cievnu mozgovú príhodu, konštantné malé údery, svalovú slabosť, paralýzu alebo záchvaty v dôsledku postupného zúženia tepien. Bez liečby bude moyamoya spôsobovať problémy s rečou, zmyslovým postihnutím a poškodeným vedomím. V našom projekte použijeme MATLAB na predbežné spracovanie obrazu MRI alebo MRA pomocou rôznych filtrov na zníženie šumu v obraze na lokalizáciu postihnutej oblasti. Okrem toho použijeme vylepšenie funkcií na presnejšiu lokalizáciu postihnutých oblastí. Okrem toho potom spustíme nezávislý t-test vzoriek, aby sme zistili, či existuje významný rozdiel medzi počtom krvných ciev v normálnom mozgu v porovnaní s mozgom postihnutým moyamoyou.
Krok 1: Nájdite skeny MRI a MRA normálneho mozgu a mozgu postihnutého Moyamoyou
Tieto obrázky sú skeny, ktoré sme použili pre projekt a ktoré sme našli online. Dva obrázky s krvnými cievami umiestnenými v strede sú skeny MRA, zatiaľ čo ďalšie dva obrázky sú skeny MRI.
Na týchto obrázkoch sa nachádzajú nasledujúce odkazy:
static.cambridge.org/resource/id/urn:cambr…
static.cambridge.org/resource/id/urn:cambr…
Krok 2: Načítajte obrázky do systému MATLAB a priraďte obrázky k premennej na zobrazenie obrázkov
Ak chcete začať proces, začnite vymazaním príkazového okna, zatvorte všetky možné obrázky a grafy, ktoré už môžu byť otvorené, a vymažte premenné už priradené vo vašom pracovnom priestore.
Potom vytvorte slučku for 1 až 2 pomocou príkazu i = [1: 2]
Potom pomocou príkazu imread (sprintf ('názov súboru to na premennú.
Potom na zobrazenie obrázku na obrázku použite príkaz imshow (I).
Ak chcete priradiť sivú farebnú mapu, použite príkaz colormap (sivá).
Na úplné odstránenie farieb a konverziu 3D matice pre obrázky na 2D použite príkaz rgb2gray (I) a priradte ho k samostatnej premennej.
Potom načítajte obrázky MRI pomocou príkazu uvedeného vyššie alebo imread (sprintf ('názov súboru%.filetype', i)) a priradte ho k novej premennej
Zopakujte príkaz rgb2gray s novou premennou použitou pre obrázky MRI.
V prípade potreby môžete zmeniť veľkosť obrázka pomocou príkazu imresize (A, mierka) a priradiť ho k samostatnej premennej.
Krok 3: Vylepšite predĺžené štruktúry v intenzívnom obraze pomocou viacúrovňového filtrovania
Pomocou novej premennej použite príkaz fibermetric (A) na vylepšenie tubulárnych štruktúr na obrázkoch
Pri predchádzajúcej premennej vylepšite ekvalizácie histogramu pomocou príkazu histeq (B) transformáciou intenzity obrázkov a priradením novej premennej.
Zobrazte histogram pomocou príkazu imhist (B)
Vytvorením novej premennej vytvoríte prahovú hodnotu pre filter. V tomto prípade priraďte predchádzajúcu premennú> 0,875, čím odfiltrujete intenzitu pixelov pod hodnotou 0,875
Potom vytvorte nový obrázok a pomocou príkazu imshow (A) zobrazte nový filtrovaný obrázok.
Krok 4: Spustite filter 2D mediánu
Pomocou príkazu medfilt2 (A, [m n]) spustite filter 2D mediánu, kde každý výstupný pixel obsahuje hodnotu mediánu v mxn hranici okolo príslušného pixelu vo vstupnom obrázku.
Vytvorte novú figúrku a pomocou imshow (A) zobrazte medián filtrovaného obrázku.
Krok 5: Maskujte obrázok
Použitím mediánu filtrovaného obrázka pomocou príkazu [labeledImage, numberOfBlots] = bwlabel (A) spočítajte počet bielych škvŕn na obrázku
Potom pomocou funkčných stavov rekvizity regiónu = regionprops (označené Obrázok, „Oblasť“) vypočítajte oblasti každej škvrny alebo krvnej cievy
Priraďte všetky oblasti do jednej premennej
Potom pomocou inej premennej spočítajte počet blotov, ktoré presahujú 50 pixelov
Potom zoraďte všetky škvrny, ktoré sú nižšie ako 50 pixelov, v zostupnom poradí pomocou príkazu [sortAreas, triedenéIndicies] = sort (Oblasti, 'zostúpiť')
Potom pomocou inej premennej pomocou príkazu ismember (labeledImage, triedenéIndicies (1: numberToExtract)) na vrátenie poľa s prvkami labeledImage sa nachádzajú v triedených indikáciách od čísla 1 do počtu ciev, aby sa vrátila logická 1 (true) alebo logická 0 (nepravda).
S premennou v predchádzajúcom kroku nájdite body, ktoré sú pravdivé (hodnoty> 0), a vytvorte logické pole na vytvorenie binárneho obrazu a priradenie k novej premennej.
Vytvorte novú figúrku a použite imshow (A) nový binárny obraz.
Potom obrázok prevráťte pomocou príkazu imcomplement (A) a priraďte ho k inej premennej.
Ak chcete vytvoriť maskovaný obrázok, použite novú premennú s príkazom resizedimage.*Uint8 (invertedimage)
Vytvorte novú figúrku a pomocou imshow (A) zobrazte maskovaný obrázok.
Ak chcete ukončiť celý kód, nezabudnite použiť príkaz „end“na ukončenie celej slučky for
Krok 6: Vyberte skeny MRA na štatistické testovanie
Na prípravu na štatistické testovanie vyberte skeny MRA, ktoré sa majú použiť na t-test nezávislých vzoriek. Pretože naše dve vzorky budú ovplyvnené mozgami Moyamoya a normálnymi mozgami, vyberte slušné množstvo skenov MRA každej skupiny.
Krok 7: Vypočítajte plochu krvných ciev v rámci prípravy na štatistické testovanie
Štatistický test sa zameria na dĺžku alebo množstvo ciev zobrazených na snímkach MRA. Pred porovnaním teda musíme vypočítať plochu ciev.
Začnite filtráciou MRA normálnych mozgov a výpočtom množstva ciev. Ak to chcete urobiť, spustite slučku for. Pretože existujú tri obrázky, podmienka bude i = [1: 3].
Otvorte obrázok príkazom imread a priraďte ho k premennej.
Ďalej vytvorte príkaz if/else príkazom if, else. V prípade príkazu if použite príkaz size (A, 3) == 3, kde A je premenná používaná na otvorenie obrázka, na vytvorenie príkazu if, keď je tretia dimenzia poľa 3. Potom obrázok preveďte do 2D a zbavte sa farby pomocou príkazu rgb2gray (A) a priraďte ju k novej premennej. Na zmenu veľkosti obrázka použite príkaz imresize (A, [m n]). V tomto prípade sme zmenili veľkosť obrázkov na maticu 1024 x 1024. Na vylepšenie tubulárnych štruktúr obrazu znova použite vláknový príkaz a priraďte ho k novej premennej.
Nasleduje vyhlásenie else. Ak obrázok nie je 3D maticou, chceme konverziu vynechať. Vykonajte to isté ako príkaz if, ale bez príkazu rgb2gray (A).
Vytvorte novú premennú tak, že ju nastavíte na rovnakú hodnotu ako premenná z vláknového kroku väčšia ako 0,15. Tým sa prahová hodnota obrázka nastaví na intenzitu väčšiu ako 0,15.
Budeme opakovať riadky kódov z krokov 4 a 5 pokynu od stredného filtračného riadku až po riadok imshow (I). Potom pomocou príkazu súčet (I (:)) spočítajte všetky pixely, ktoré tvoria cievy, a priraďte ho k samostatnej premennej. Pomenujte novú premennú NormalBloodVessels (i) a nastavte ju na rovnakú hodnotu ako premenná z príkazu sum (I (:)). Tým sa údaje pridajú do matice.
Ukončite slučku a opakujte, ale pre MRA mozgov postihnutých Moyamoyou. Premennú na konci pomenujte MoyaMoyaBloodVessels (i), aby sa nezamieňala s normálnymi MRA v mozgu.
Krok 8: Spustite T-test nezávislých vzoriek
Pretože existujú dve nezávislé vzorky a malá populácia, spustite t-test nezávislých vzoriek.
Vytvorte a pomenujte funkciu, ktorá spustí nezávislý t-test vzoriek a určí, či je množstvo ciev v MRA normálnych mozgov významne rovnaké alebo nie ako v MRA mozgov postihnutých Moyamoyou.
Zobrazte hypotézu stanovenú pre test pomocou príkazu disp ('X'). V prvom riadku zobrazte „Hypotézy pre t -test pre dve vzorky“. V druhom riadku zobrazte „H0 = množstvo krvných ciev v normálnom mozgu sa rovná počtu krvných ciev v mozgu s Moyamoyovou chorobou“, aby sa uviedla nulová hypotéza. V treťom riadku zobrazte „HA = množstvo krvných ciev v normálnom mozgu sa nerovná počtu krvných ciev v mozgu s Moyamoyovou chorobou“. vysloviť alternatívnu hypotézu.
Pomocou 95% intervalu spoľahlivosti a veľkosti vzorky 3 vypočítajte skóre t pomocou príkazu tinv ([0,025 0,975], 2) a priradte ho k premennej t. Na výpočet odchýlok oboch množín údajov použite príkaz var (NormalBloodVessels) a var (MoyaMoyaBloodVessels) a priradte ich k premenným.
Skontrolujte, či sú odchýlky blízko alebo nie sú rovnaké. Vykonajte to vytvorením príkazu if/else pomocou príkazu if, else. Ako podmienku v príkaze if napíšte A / B == [0,25: 4], kde A je premenná, ktorá zodpovedá odchýlke normálnych ciev, a B je premenná, ktorá zodpovedá odchýlke ciev Moyamoya. 0,25 a 4 vychádzajú zo všeobecného odhadu na určenie, či sú odchýlky rovnaké alebo nie. Potom spustite t test dvoch vzoriek s [h, p] = ttest2 (A, B, 0,05, „obaja“, „rovní“), pričom A a B sú rovnaké premenné, ako bolo uvedené vyššie. Pre príkaz else použite [h, p] = ttest2 (A, B, 0,05, 'obaja', 'nerovnaké') na spustenie testu s dvoma vzorkami v prípade, že odchýlky nie sú rovnaké. Ukončite príkaz if/else. Tým sa vypočíta p.
Vytvorte príkaz if/else, ktorý zobrazí záver na základe hodnoty p. Podmienka príkazu if bude p> 0,05. Pretože spravidla nemôžeme odmietnuť nulovú hypotézu, keď je hodnota p väčšia ako 0,05, použite príkaz disp ('X') na zobrazenie „Pretože hodnota p je väčšia ako 0,05, neodmietneme nulovú hypotézu“a „ Preto neodmietame, že množstvo krvných ciev normálneho mozgu sa rovná množstvu mozgu s Moyamoyovou chorobou. " V prípade else, pretože obvykle odmietame nulovú hypotézu, keď je hodnota p nižšia ako 0,05, použite príkaz disp ('X') na zobrazenie "Pretože hodnota p je menšia ako 0,05, odmietame nulovú hypotézu" a " Preto neodmietame, že množstvo ciev normálneho mozgu nie je rovnaké ako v mozgu s Moyamoyovou chorobou. " Ukončite príkaz if/else.