Obsah:

Spracovanie obrazu Moyamoya: 8 krokov
Spracovanie obrazu Moyamoya: 8 krokov

Video: Spracovanie obrazu Moyamoya: 8 krokov

Video: Spracovanie obrazu Moyamoya: 8 krokov
Video: How To Do Stable Diffusion LORA Training By Using Web UI On Different Models - Tested SD 1.5, SD 2.1 2024, Júl
Anonim
Spracovanie obrazu Moyamoya
Spracovanie obrazu Moyamoya

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

Nájdite skeny MRI a MRA normálneho mozgu a mozgu postihnutého Moyamoyou
Nájdite skeny MRI a MRA normálneho mozgu a mozgu postihnutého Moyamoyou
Nájdite snímky MRI a MRA normálneho mozgu a mozgu postihnutého Moyamoyou
Nájdite snímky MRI a MRA normálneho mozgu a mozgu postihnutého Moyamoyou
Nájdite snímky MRI a MRA normálneho mozgu a mozgu postihnutého Moyamoyou
Nájdite snímky MRI a MRA normálneho mozgu a mozgu postihnutého Moyamoyou
Nájdite skeny MRI a MRA normálneho mozgu a mozgu postihnutého Moyamoyou
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

Načítajte obrázky do systému MATLAB a priraďte obrázky k premennej na zobrazenie obrázkov
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

Vylepšite predĺžené štruktúry v intenzívnom obraze pomocou viacúrovňového filtrovania
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

Spustite 2D mediánový filter
Spustite 2D mediánový filter

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

Maskovať obrázok
Maskovať 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

Vyberte skeny MRA na štatistické testovanie
Vyberte skeny MRA na štatistické testovanie
Vyberte skeny MRA na štatistické testovanie
Vyberte skeny MRA na štatistické testovanie
Vyberte skeny MRA na štatistické testovanie
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

Vypočítajte plochu krvných ciev v rámci prípravy na štatistické testovanie
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

Vykonajte T-test nezávislých vzoriek
Vykonajte 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.

Odporúča: