Kazalo:

Obdelava slike Moyamoya: 8 korakov
Obdelava slike Moyamoya: 8 korakov

Video: Obdelava slike Moyamoya: 8 korakov

Video: Obdelava slike Moyamoya: 8 korakov
Video: How To Do Stable Diffusion LORA Training By Using Web UI On Different Models - Tested SD 1.5, SD 2.1 2024, November
Anonim
Moyamoya obdelava slik
Moyamoya obdelava slik

Moyamoya, "oblak dima", je redka bolezen, ki nastane zaradi blokade arterij v bazalnih ganglijih, ki je območje na dnu možganov. Bolezen je progresivna cerebrovaskularna bolezen, ki prizadene predvsem otroke. Simptomi moyamoye vključujejo začetno kap, stalne mini kapi, mišično oslabelost, paralizo ali epileptične napade zaradi postopnega zoženja arterij. Brez zdravljenja bo moyamoya povzročila težave z govorom, senzorično okvaro in poškodovano zavest. V našem projektu bomo uporabili MATLAB za predhodno obdelavo slike MRI ali MRA z uporabo različnih filtrov za zmanjšanje hrupa v sliki za lociranje prizadetega območja. Poleg tega bomo izboljšavo funkcij uporabili za natančnejše iskanje prizadetih območij. Poleg tega bomo nato izvedli neodvisen t-test vzorcev, da ugotovimo, ali obstaja pomembna razlika med količino krvnih žil v normalnih možganih v primerjavi z možgani, ki jih prizadene moyamoya.

1. korak: Poiščite MRI in MRA preiskave normalnega možgana in možganov, prizadetih z Moyamoyo

Poiščite MRI in MRA preiskave normalnih možganov in možganov, prizadetih z Moyamoyo
Poiščite MRI in MRA preiskave normalnih možganov in možganov, prizadetih z Moyamoyo
Poiščite MRI in MRA preiskave normalnih možganov in možganov, prizadetih z Moyamoyo
Poiščite MRI in MRA preiskave normalnih možganov in možganov, prizadetih z Moyamoyo
Poiščite MRI in MRA preiskave normalnih možganov in možganov, prizadetih z Moyamoyo
Poiščite MRI in MRA preiskave normalnih možganov in možganov, prizadetih z Moyamoyo
Poiščite MRI in MRA preiskave normalnih možganov in možganov, prizadetih z Moyamoyo
Poiščite MRI in MRA preiskave normalnih možganov in možganov, prizadetih z Moyamoyo

Te slike so skeni, ki smo jih uporabili za projekt, ki smo ga našli na spletu. Dve sliki s krvnimi žilami na sredini sta MRA skeniranja, drugi dve sliki pa MRI.

Na teh povezavah najdete te slike:

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

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

2. korak: naložite slike v MATLAB in slike dodelite spremenljivki za prikaz slik

Naložite slike v MATLAB in slike dodelite spremenljivki za prikaz slik
Naložite slike v MATLAB in slike dodelite spremenljivki za prikaz slik

Če želite začeti postopek, začnite z brisanjem ukaznega okna, zaprite vse možne številke in grafikone, ki so morda že odprti, in počistite spremenljivke, ki so že dodeljene v vašem delovnem prostoru.

Nato ustvarite zanko for od 1 do 2 z ukazom i = [1: 2]

Nato naložite slike MRA z ukazom imread (sprintf ('ime datoteke%.filetype', i)), da preberete slike iz datotek, ki so določene z imenom datoteke, čemur sledi številka, uporabljena za zanko, ki uporablja sprintf za paketno nalaganje in dodeli spremenljivko.

Nato za prikaz slike v sliki uporabite ukaz imshow (I).

Če želite dodeliti sivo barvno karto, uporabite ukaz barvno karto (siva).

Če želite popolnoma odpraviti barvo in pretvoriti 3D matriko za slike v 2D, uporabite ukaz rgb2gray (I) in ga dodelite ločeni spremenljivki.

Nato naložite slike MRI z uporabo predhodno navedenega ukaza ali imread (sprintf ('ime datoteke%.filetype', i)) in ga dodelite novi spremenljivki

Ponovite ukaz rgb2gray z novo spremenljivko, uporabljeno za slike MRI.

Če je potrebno, lahko spremenite velikost slike z ukazom imresize (A, scale) in jo dodelite ločeni spremenljivki.

3. korak: Izboljšajte podolgovate strukture v intenzivnosti slike z večstopenjskim filtriranjem

Izboljšajte podolgovate strukture v intenzivnosti slike z večstopenjskim filtriranjem
Izboljšajte podolgovate strukture v intenzivnosti slike z večstopenjskim filtriranjem

Z novo spremenljivko uporabite ukaz fibermetric (A) za izboljšanje cevastih struktur na slikah

S prejšnjo spremenljivko uporabite ukaz histeq (B) za izboljšanje izenačitev histograma s spreminjanjem intenzivnosti slik in jo dodelite novi spremenljivki.

Prikaz histograma z ukazom imhist (B)

Ustvarite novo spremenljivko, da ustvarite prag za filter. V tem primeru dodelite prejšnjo spremenljivko> 0,875 in filtrirajte intenzivnost slikovnih pik pod vrednostjo 0,875

Nato ustvarite novo sliko in uporabite ukaz imshow (A) za prikaz nove filtrirane slike.

4. korak: Zaženite 2D srednji filter

Zaženite 2D srednji filter
Zaženite 2D srednji filter

Z ukazom medfilt22 (A, [m n]) zaženite 2D srednji filter, pri katerem vsak izhodni piksel vsebuje srednjo vrednost na meji mxn okoli ustrezne slikovne pike na vhodni sliki.

Ustvarite novo sliko in uporabite imshow (A) za prikaz srednje filtrirane slike.

5. korak: Maskirajte sliko

Maskirajte sliko
Maskirajte sliko

Z uporabo srednje filtrirane slike uporabite ukaz [labeledImage, numberOfBlots] = bwlabel (A) za štetje števila belih madežev na sliki

Nato uporabite funkcijska stanja regijskih rekvizitov = regijske rekvizite (z oznako Image, 'Area') za izračun površin vsakega madeža ali krvne žile

Vsa območja dodelite eni spremenljivki

Nato z drugo spremenljivko preštejte število madežev, ki presegajo 50 slikovnih pik

Nato razvrstite vse madeže, ki so pod 50 slikovnimi pikami v padajočem vrstnem redu, z ukazom [sortiranoobmočja, sortiranoIndicies] = razvrstite (območja, 'spust')

Nato uporabite drugo spremenljivko z ukazom logični 0 (napačno).

S spremenljivko v prejšnjem koraku poiščite točke, ki so resnične (vrednosti> 0), in ustvarite logično matriko za izdelavo binarne slike in jo dodelite novi spremenljivki.

Ustvarite novo sliko in uporabite imshow (A) novo binarno sliko.

Nato obrnite sliko z ukazom imcomplement (A) in jo dodelite drugi spremenljivki.

Če želite ustvariti maskirano sliko, uporabite novo spremenljivko z ukazom resizedimage.*Uint8 (obrnjena slika)

Ustvarite novo sliko in uporabite imshow (A) za prikaz maskirane slike.

Če želite končati celotno kodo, uporabite ukaz 'end', da končate celotno zanko for

6. korak: Izberite skeniranje MRA za statistično testiranje

Izberite MRA skeniranje za statistično testiranje
Izberite MRA skeniranje za statistično testiranje
Izberite MRA skeniranje za statistično testiranje
Izberite MRA skeniranje za statistično testiranje
Izberite skeniranje MRA za statistično testiranje
Izberite skeniranje MRA za statistično testiranje

Za pripravo na statistično testiranje izberite skeniranje MRA, ki ga boste uporabili za t-test neodvisnih vzorcev. Ker bosta naša dva vzorca možgani, prizadeti z Moyamoyo, in normalni možgani, izberite spodobno količino MRA pregledov vsake skupine.

7. korak: Izračunajte površino krvnih žil pri pripravi na statistično testiranje

Izračunajte površino krvnih žil v pripravah na statistično testiranje
Izračunajte površino krvnih žil v pripravah na statistično testiranje

Statistični test se bo osredotočil na dolžino ali količino krvnih žil, prikazanih na pregledih MRA. Zato moramo pred primerjavo izračunati površino krvnih žil.

Začnite s filtriranjem MRA normalnih možganov in izračunom količine krvnih žil. Če želite to narediti, zaženite zanko for. Ker obstajajo tri slike, bo pogoj i = [1: 3].

Odprite sliko z ukazom imread in jo dodelite spremenljivki.

Nato ustvarite stavek if/else z ukazom if, else. Za stavek if uporabite velikost ukaza (A, 3) == 3, kjer je A spremenljivka, ki se uporablja za odpiranje slike, da ustvarite stavek if, ko je tretja dimenzija matrike 3. Nato pretvorite sliko v 2D in se z ukazom rgb2gray (A) znebite barve in jo dodelite novi spremenljivki. Z ukazom imresize (A, [m n]) spremenite velikost slike. V tem primeru smo slike spremenili v matrico 1024 x 1024. Če želite izboljšati cevaste strukture slike, znova uporabite vlaknasti ukaz in ga dodelite novi spremenljivki.

Sledi trditev else. Če slika ni 3D matrika, želimo preskočiti pretvorbo. Naredite enako kot stavek if, vendar brez ukaza rgb2gray (A).

Ustvarite novo spremenljivko in jo nastavite enako spremenljivki iz fibrometričnega koraka, večjega od 0,15. Ta mejno vrednost slike pri intenzivnostih presega 0,15.

Vrstice kod iz 4. in 5. koraka navodil bomo ponavljali od srednje vrstice filtra do vrstice imshow (I). Nato z ukazno vsoto (I (:)) seštejte vse slikovne pike, ki sestavljajo krvne žile, in jo dodelite ločeni spremenljivki. Poimenujte novo spremenljivko NormalBloodVessels (i) in jo nastavite enako spremenljivki iz ukaza sum (I (:)). To doda podatke v matriko.

Prekinite zanko in ponovite, vendar za MRA možganov, na katere vpliva Moyamoya. Na koncu spremenljivko poimenujte MoyaMoyaBloodVessels (i), da je ne zamenjate z običajnimi možganskimi MRA.

Korak 8: Izvedite neodvisen T-test vzorcev

Izvedite neodvisen T-test vzorcev
Izvedite neodvisen T-test vzorcev

Ker obstajata dva neodvisna vzorca in majhna populacija, izvedite neodvisen t-test vzorcev.

Ustvarite in poimenujte funkcijo, ki izvaja neodvisen t-test vzorcev, da ugotovite, ali je količina krvnih žil v MRA normalnih možganov bistveno enaka ali ne v primerjavi z MRA možganov, na katere vpliva Moyamoya.

Z ukazom disp ('X') prikažite postavljeno hipotezo za test. V prvi vrstici prikažite "Hipoteze za dva vzorčna t testa." V drugi vrstici prikažite "H0 = Količina krvnih žil normalnih možganov je enaka količini krvnih žil možganov z Moyamoyino boleznijo", da navedete ničelno hipotezo. V tretji vrstici prikažite: "HA = Količina krvnih žil normalnih možganov ni enaka količini krvnih žil možganov z boleznijo Moyamoya." predstaviti alternativno hipotezo.

Z 95 -odstotnim intervalom zaupanja in velikostjo vzorca 3 izračunajte rezultat t z ukazom tinv ([0,025 0,975], 2) in ga dodelite spremenljivki t. Uporabite ukaz var (NormalBloodVessels) in var (MoyaMoyaBloodVessels) in ju dodelite spremenljivkam za izračun odstopanj obeh podatkovnih nizov.

Preverite, ali so razlike enake ali ne. To naredite tako, da ustvarite stavek if/else z ukazom if, else. Za pogoj v stavku if zapišite A / B == [0,25: 4], kjer je A spremenljivka, ki upošteva varianco normalnih krvnih žil, B pa spremenljivka, ki upošteva varianco krvnih žil Moyamoya. 0,25 in 4 izhajata iz splošne ocene za ugotavljanje, ali so razlike enake ali ne. Nato izvedite dva testa vzorca t z [h, p] = ttest2 (A, B, 0,05, 'oba', 'enako'), pri čemer sta A in B enaki spremenljivki, kot je bilo omenjeno prej. Za stavek else uporabite [h, p] = ttest2 (A, B, 0.05, 'oba', 'neenako'), da izvedete preskus dveh vzorcev t v primeru, če variance nista enaki. Končajte stavek if/else. Tako se izračuna p.

Ustvarite stavek if/else, ki bo prikazal zaključek na podlagi vrednosti p. Pogoj za stavek if bo p> 0,05. Ker običajno ne uspemo zavrniti ničelne hipoteze, ko je vrednost p večja od 0,05, z ukazom disp ('X') prikažemo "Ker je vrednost p večja od 0,05, ne uspemo zavrniti ničelne hipoteze" in " Zato ne zavračamo, da je količina krvnih žil normalnih možganov enaka količini možganov z boleznijo Moyamoya. " V stavku else, ker običajno zavračamo ničelno hipotezo, ko je vrednost p pod 0,05, uporabite ukaz disp ('X') za prikaz "Ker je vrednost p manjša od 0,05, zavračamo ničelno hipotezo" in " Zato ne zavračamo, da količina krvnih žil normalnih možganov ni enaka količini možganov z boleznijo Moyamoya. " Končajte stavek if/else.

Priporočena: