Kazalo:
- 1. korak: Poiščite MRI in MRA preiskave normalnega možgana in možganov, prizadetih z Moyamoyo
- 2. korak: naložite slike v MATLAB in slike dodelite spremenljivki za prikaz slik
- 3. korak: Izboljšajte podolgovate strukture v intenzivnosti slike z večstopenjskim filtriranjem
- 4. korak: Zaženite 2D srednji filter
- 5. korak: Maskirajte sliko
- 6. korak: Izberite skeniranje MRA za statistično testiranje
- 7. korak: Izračunajte površino krvnih žil pri pripravi na statistično testiranje
- Korak 8: Izvedite neodvisen T-test vzorcev
Video: Obdelava slike Moyamoya: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
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
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
Č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
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
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
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
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
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
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:
Bluetooth zvočnik DIY z baterijo // Kako zgraditi - obdelava lesa: 14 korakov (s slikami)
Bluetooth zvočnik DIY z baterijo // Kako zgraditi-obdelava lesa: Ta prenosni zvočnik s tipkovnico Bluetooth za polnjenje, ki se napaja iz baterije, sem izdelal z uporabo kompleta zvočnikov Parts Express C-Note plus njihove ojačevalne plošče KAB (povezave do vseh delov spodaj). To je bila moja prva izdelava zvočnikov in iskreno sem presenečen nad tem, kako super
Obdelava slik z Raspberry Pi: Namestitev OpenCV in ločitev barv slike: 4 koraki
Obdelava slik z Raspberry Pi: Namestitev OpenCV -ja in ločevanje barv slike: Ta objava je prva od več vaj za obdelavo slik, ki sledijo. Podrobneje si ogledamo slikovne pike, ki sestavljajo sliko, se naučimo, kako namestiti OpenCV na Raspberry Pi, prav tako pa zapišemo preskusne skripte za zajem slike in tudi
Obdelava avdio in digitalnega signala Bluetooth: okvir Arduino: 10 korakov
Obdelava avdio in digitalnega signala Bluetooth: okvir Arduino: povzetek Ko pomislim na Bluetooth, pomislim na glasbo, žal večina mikrokrmilnikov ne more predvajati glasbe prek Bluetootha. Raspberry Pi lahko, a to je računalnik. Želim razviti okvir, ki temelji na Arduinu, za mikrokrmilnike za predvajanje zvoka prek Bluet
Bluetooth in IMU s ploščo Tactigon - obdelava: 7 korakov
Bluetooth in IMU s ploščo Tactigon - Obdelava: Ta serija člankov bo razložila, kako uporabiti integrirane senzorje in komunikacijske vmesnike Tactigon za ustvarjanje preprostega krmilnika kretenj. Koda vira, ki je na voljo tukaj na GitHub -u V tem članku se bomo naučili, kako uporabiti simptom
Kvantimetrična obdelava slike: 5 korakov
Kvantimetrična obdelava slik: (Zgornja slika prikazuje primerjavo obstoječe metode obdelave slik s kvantimetrično obdelavo slik. Upoštevajte izboljšani rezultat. Zgornja desna slika prikazuje čudne artefakte, ki izhajajo iz napačne domneve, da slike merijo nekaj takega