Innholdsfortegnelse:
- Trinn 1: Finn MR- og MRA -skanninger av en normal hjerne og en hjerne påvirket av Moyamoya
- Trinn 2: Last inn bilder på MATLAB og tilordne bilder til en variabel for å vise bilder
- Trinn 3: Forbedre langstrakte strukturer i intensitetsbilde med multiskala filtrering
- Trinn 4: Kjør et 2D medianfilter
- Trinn 5: Masker bildet
- Trinn 6: Velg MRA -skanninger for statistisk testing
- Trinn 7: Beregn området for blodkar i forberedelse til statistisk testing
- Trinn 8: Kjør en Independent Samples T-test
Video: Moyamoya Bildebehandling: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Moyamoya, "røykpust", er en sjelden sykdom som er forårsaket av blokkering av arterier ved basalganglier, som er et område ved hjernefoten. Sykdommen er en progressiv cerebrovaskulær sykdom som for det meste rammer barn. Symptomer på moyamoya inkluderer et innledende slag, konstante minislag, muskelsvakhet, lammelse eller anfall som følge av progressiv innsnevring av arterier. Uten behandling vil moyamoya forårsake problemer med tale, sensorisk svekkelse og skadet bevissthet. I vårt prosjekt vil vi bruke MATLAB for å forhåndsbehandle et MR- eller MRA -bilde ved hjelp av forskjellige filtre for å redusere støy i bildet for å lokalisere det berørte området. I tillegg vil vi bruke en funksjonsforbedring for å finne de berørte områdene mer presist. Videre vil vi deretter kjøre en uavhengig t-test for å avgjøre om det er en signifikant forskjell mellom mengden blodkar i en normal hjerne sammenlignet med en hjerne påvirket av moyamoya.
Trinn 1: Finn MR- og MRA -skanninger av en normal hjerne og en hjerne påvirket av Moyamoya
Disse bildene er skannene vi brukte for prosjektet som vi fant på nettet. De to bildene med blodårene i midten er MRA -skanninger, mens de to andre bildene er MR -skanninger.
Følgende lenker er der disse bildene finnes:
static.cambridge.org/resource/id/urn:cambr…
static.cambridge.org/resource/id/urn:cambr…
Trinn 2: Last inn bilder på MATLAB og tilordne bilder til en variabel for å vise bilder
For å starte prosessen, begynn med å tømme kommandovinduet, lukk alle mulige figurer og grafer som allerede er åpne, og slett variabler som allerede er tilordnet i arbeidsområdet.
Lag deretter en for -løkke fra 1 til 2 ved å bruke kommandoen i = [1: 2]
Last deretter MRA -bildene ved hjelp av kommandoen imread (sprintf ('filnavn%.filetype', i)) for å lese bildene fra filene som er angitt av filnavnet etterfulgt av nummeret som brukes for løkken ved å bruke sprintf for batch lasting og tildele det til en variabel.
Deretter bruker du kommandoen imshow (I) for å vise bildet i en figur.
For å tilordne et grått fargekart, bruk kommandoen colormap (grå).
For å fullstendig eliminere farge og konvertere 3D -matrisen for bildene til 2D, bruk kommandoen rgb2gray (I) og tilordne den til en egen variabel.
Last deretter inn MR -bildene ved å bruke kommandoen som er angitt tidligere eller imread (sprintf ('filnavn%.filetype', i)) og tilordne den til en ny variabel
Gjenta kommandoen rgb2gray med den nye variabelen som brukes for MR -bildene.
Om nødvendig kan du endre størrelsen på et bilde ved hjelp av kommandoen imresize (A, skala) og tilordne en egen variabel.
Trinn 3: Forbedre langstrakte strukturer i intensitetsbilde med multiskala filtrering
Bruk en ny variabel, bruk kommandoen fibermetrisk (A) for å forbedre de rørformede strukturene i bildene
Med den forrige variabelen bruker du kommandoen histeq (B) for å forbedre histogramutjevningene ved å transformere bildens intensitet og tilordne den til en ny variabel.
Vis histogrammet med kommandoen imhist (B)
Opprett en ny variabel for å lage en terskel for filteret. I dette tilfellet tilordner du den forrige variabelen> 0,875, og filtrerer bort pikselintensiteten under verdien 0,875
Lag deretter en ny figur og bruk kommandoen imshow (A) for å vise det nye filtrerte bildet.
Trinn 4: Kjør et 2D medianfilter
Bruk kommandoen medfilt2 (A, [m n]), kjør et 2D medianfilter, hvor hver utgangspiksel inneholder medianverdien i mxn -grensen rundt den respektive piksel i inngangsbildet.
Lag en ny figur og bruk imshow (A) for å vise medianfiltrert bilde.
Trinn 5: Masker bildet
Bruk median filtrert bilde, bruk kommandoen [labeledImage, numberOfBlots] = bwlabel (A) for å telle antall hvite flekker i bildet
Deretter bruker du regionstøttefunksjonstilstandene = regionprops (labeledImage, 'Area') for å beregne områdene til hver flekk eller blodkar
Tilordne alle områdene til en variabel
Deretter bruker du en annen variabel, og teller antall blotter som overstiger 50 piksler
Deretter sorterer du ut blotter som er under 50 piksler i synkende rekkefølge ved å bruke kommandoen [sortedAreas, sortedIndicies] = sort (Areas, 'descend')
Deretter bruker du en annen variabel med kommandoen ismember (labeledImage, sortedIndicies (1: numberToExtract)) for å returnere en matrise med elementer av labeledImage som finnes i sortedIndicies fra nummer 1 til antall blodkar for å returnere en logisk 1 (true) eller en logisk 0 (usann).
Med variabelen i forrige trinn, finn punktene som er sanne (verdier> 0) og lag en logisk matrise for å lage et binært bilde og tilordne det til en ny variabel.
Lag en ny figur og bruk imshow (A) det nye binære bildet.
Vend deretter bildet ved hjelp av kommandoimplementering (A) og tilordne det til en annen variabel.
For å lage et maskert bilde, bruk en ny variabel med kommandoen resizedimage.*Uint8 (invertedimage)
Lag en ny figur og bruk imshow (A) for å vise maskerte bilder.
For å avslutte hele koden, må du bruke kommandoen 'end' for å avslutte hele for loop
Trinn 6: Velg MRA -skanninger for statistisk testing
For å forberede deg på statistisk testing, velg MRA-skanningene som skal brukes for de uavhengige prøvene t-testen. Fordi våre to prøver vil være hjerner som påvirkes av Moyamoya og vanlige hjerner, velger du en anstendig mengde MRA -skanninger fra hver gruppe.
Trinn 7: Beregn området for blodkar i forberedelse til statistisk testing
Den statistiske testen vil fokusere på lengden eller mengden av blodkar vist på MRA -skanninger. Derfor må vi beregne arealet av blodårene før sammenligning.
Start med å filtrere MRAene til normale hjerner og beregne mengden blodkar. For å gjøre dette, kjør en for loop. Fordi det er tre bilder, vil tilstanden være i = [1: 3].
Åpne bildet med kommandoen imread og tilordne det til en variabel.
Deretter lager du en if/else -setning med kommandoen if, else. For if -setningen bruker du kommandostørrelsen (A, 3) == 3, der A er variabelen som brukes til å åpne bildet, for å lage en if -setning for når den tredje dimensjonen i matrisen er 3. Konverter deretter bildet til 2D og bli kvitt fargen ved å bruke kommandoen rgb2gray (A) og tilordne den til en ny variabel. Bruk kommandoen imresize (A, [m n]) for å endre størrelsen på bildet. I dette tilfellet endret vi størrelsen på bildene til 1024 x 1024 matrise. For å forbedre bildens rørformede strukturer, bruk den fibermetriske kommandoen igjen, og tilordne den til en ny variabel.
Følgende er for den andre uttalelsen. Hvis bildet ikke er en 3D -matrise, ønsker vi å hoppe over konvertering. Gjør det samme som if -setningen, men uten kommandoen rgb2gray (A).
Lag en ny variabel, og sett den til variabelen fra det fibermetriske trinnet større enn 0,15. Dette terskler bildet for intensiteter større enn 0,15.
Vi vil gjenta kodelinjene fra trinn 4 og 5 i instruksjonene fra medianfilterlinjen til imshow (I) -linjen. Etterpå bruker du kommandosummen (I (:)) til å legge opp alle pikslene som utgjør blodkar, og tilordne den til en egen variabel. Navngi en ny variabel NormalBloodVessels (i) og sett den lik variabelen fra summen (I (:)) kommandoen. Dette legger dataene til matrisen.
Avslutt sløyfen og gjenta, men for MRAene i hjernen som er berørt av Moyamoya. Navngi variabelen til slutt MoyaMoyaBloodVessels (i) for ikke å forveksle den med de normale hjernens MRA.
Trinn 8: Kjør en Independent Samples T-test
Siden det er to uavhengige prøver og en liten populasjon, kjør du en uavhengig t-test.
Lag og navngi en funksjon som kjører en uavhengig t-test for å avgjøre om mengden blodkar i MRAene til normale hjerner er signifikant lik eller ikke den for MRAer i hjerner påvirket av Moyamoya.
Vis hypotesen som er satt for testen ved å bruke kommandoen disp ('X'). På første linje vises "Hypoteser for to prøver t -test." På den andre linjen vises "H0 = Mengden blodkar i en normal hjerne tilsvarer mengden blodårer i en hjerne med Moyamoya sykdom", for å angi nullhypotesen. På den tredje linjen vises "HA = Mengden blodkar i en normal hjerne tilsvarer ikke mengden blodårer i en hjerne med Moyamoya sykdom." å oppgi den alternative hypotesen.
Bruk et 95% konfidensintervall og en prøvestørrelse på 3, beregne t -poengsummen ved å bruke kommandoen tinv ([0.025 0.975], 2) og tilordne variabel t. Bruk kommandoen var (NormalBloodVessels) og var (MoyaMoyaBloodVessels) og tilordne dem til variabler for å beregne avvikene til begge datasettene.
Sjekk om avvikene er nær like eller ikke. Gjør dette ved å opprette en if/else -setning med kommandoen if, else. For tilstanden i if -setningen, skriv A / B == [0.25: 4], der A er variabelen som står for variansen til normale blodkar og B er variabelen som står for variansen til Moyamoya -blodårene. 0,25 og 4 kommer fra et generelt estimat for å avgjøre om avvik er like eller ikke. Kjør deretter den to prøven t -testen med [h, p] = ttest2 (A, B, 0,05, 'begge', 'like'), med A og B som de samme variablene som nevnt tidligere. For den andre setningen, bruk [h, p] = ttest2 (A, B, 0,05, 'begge', 'ulik') for å kjøre en to prøve t -test i tilfelle hvor avvikene ikke er like. Avslutt if/else -setningen. Dette vil beregne s.
Lag en if/else -setning som viser en konklusjon basert på verdien av p. Betingelsen for if -setningen vil være p> 0,05. Siden vi vanligvis ikke klarer å avvise nullhypotesen når verdien av p er større enn 0,05, bruker du kommandoen disp ('X') til å vise "Fordi p -verdien er større enn 0,05, klarer vi ikke å avvise nullhypotesen" og " Derfor unnlater vi å avvise at mengden blodkar i en normal hjerne er lik mengden i en hjerne med Moyamoya sykdom. " I den andre setningen, siden vi vanligvis avviser nullhypotesen når verdien av p er under 0,05, bruker du kommandoen disp ('X') for å vise "Fordi p -verdien er mindre enn 0,05, avviser vi nullhypotesen" og " Derfor unnlater vi å avvise at mengden blodkar i en normal hjerne ikke er lik mengden til en hjerne med Moyamoya sykdom. " Avslutt if/else -setningen.
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Bildebehandling med Raspberry Pi: Installering av OpenCV og bildefargeseparasjon: 4 trinn
Bildebehandling med Raspberry Pi: Installere OpenCV og bildefargeseparasjon: Dette innlegget er det første av flere opplæringsprogrammer for bildebehandling som skal følge. Vi ser nærmere på pikslene som utgjør et bilde, lærer hvordan du installerer OpenCV på Raspberry Pi, og vi skriver også testskript for å ta et bilde og også
DIY termisk bildebehandling infrarødt kamera: 3 trinn (med bilder)
DIY Thermal Imaging Infrared Camera: Hei! Jeg leter alltid etter nye prosjekter for fysikkundervisningen min. For to år siden kom jeg over en rapport om termosensoren MLX90614 fra Melexis. Den beste med bare 5 ° FOV (synsfelt) ville være egnet for et selvlaget termisk kamera. Å lese
En introduksjon til bildebehandling: Pixy og dens alternativer: 6 trinn
En introduksjon til bildebehandling: Pixy og dets alternativer: I denne artikkelen vil vi forklare betydningen av Digital Image Processing (DIP) og årsakene til å bruke maskinvare som Pixy og andre verktøy for å lage en prosess på bilder eller videoer. På slutten av denne artikkelen lærer du: Hvordan et digitalt bilde dannes
Kvantimetrisk bildebehandling: 5 trinn
Kvantimetrisk bildebehandling: (Figuren over illustrerer sammenligning av eksisterende bildebehandlingsmetode med kvantimetrisk bildebehandling. Legg merke til det forbedrede resultatet. Bildet øverst til høyre viser merkelige artefakter som kommer fra feil antagelse om at bilder måler noe slikt