INHOUDSOPGAWE:

Moyamoya -beeldverwerking: 8 stappe
Moyamoya -beeldverwerking: 8 stappe

Video: Moyamoya -beeldverwerking: 8 stappe

Video: Moyamoya -beeldverwerking: 8 stappe
Video: FULL BODY WORKOUT IN 8 STAPPEN Prt. 1 || #DAY1 #16. TRAINEN MET JORDEN BRES & JAYJAY BOSKE 2024, November
Anonim
Moyamoya -beeldverwerking
Moyamoya -beeldverwerking

Moyamoya, 'rookwolk', is 'n seldsame siekte wat veroorsaak word deur die verstopping van are by die basale ganglia, 'n gebied aan die basis van die brein. Die siekte is 'n progressiewe serebrovaskulêre siekte wat meestal kinders raak. Simptome van moyamoya sluit in 'n aanvanklike beroerte, konstante mini-beroertes, spierswakheid, verlamming of aanvalle as gevolg van die progressiewe vernouing van are. Sonder behandeling sal moyamoya probleme met spraak, sensoriese gestremdheid en beskadigde bewussyn veroorsaak. In ons projek sal ons MATLAB gebruik om 'n MRI- of MRA -beeld vooraf te verwerk met behulp van verskillende filters om geraas binne die beeld te verminder om die aangetaste gebied op te spoor. Boonop sal ons 'n funksieverbetering gebruik om die aangetaste gebiede meer presies op te spoor. Boonop sal ons 'n onafhanklike monster t-toets uitvoer om vas te stel of daar 'n beduidende verskil is tussen die hoeveelheid bloedvate in 'n normale brein in vergelyking met 'n brein wat deur moyamoya geraak word.

Stap 1: Soek MRI- en MRA -skanderings van 'n normale brein en 'n brein wat geraak word deur Moyamoya

Vind MRI- en MRA -skanderings van 'n normale brein en 'n brein wat geraak word deur Moyamoya
Vind MRI- en MRA -skanderings van 'n normale brein en 'n brein wat geraak word deur Moyamoya
Vind MRI- en MRA -skanderings van 'n normale brein en 'n brein wat geraak word deur Moyamoya
Vind MRI- en MRA -skanderings van 'n normale brein en 'n brein wat geraak word deur Moyamoya
Vind MRI- en MRA -skanderings van 'n normale brein en 'n brein wat geraak word deur Moyamoya
Vind MRI- en MRA -skanderings van 'n normale brein en 'n brein wat geraak word deur Moyamoya
Vind MRI- en MRA -skanderings van 'n normale brein en 'n brein wat geraak word deur Moyamoya
Vind MRI- en MRA -skanderings van 'n normale brein en 'n brein wat geraak word deur Moyamoya

Hierdie beelde is die skanderings wat ons gebruik het vir die projek wat ons aanlyn gevind het. Die twee beelde met die bloedvate in die middel is MRA -skanderings, terwyl die ander twee beelde MRI -skanderings is.

Die volgende skakels is waar hierdie beelde gevind word:

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

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

Stap 2: Laai prente op MATLAB en ken beelde toe aan 'n veranderlike om prente te vertoon

Laai beelde op MATLAB en ken beelde toe aan 'n veranderlike om prente te vertoon
Laai beelde op MATLAB en ken beelde toe aan 'n veranderlike om prente te vertoon

Om die proses te begin, begin deur die opdragvenster skoon te maak, sluit al die moontlike figure en grafieke wat reeds oop is, en maak veranderlikes wat reeds in u werkruimte toegewys is, skoon.

Skep daarna 'n for lus van 1 tot 2 met die opdrag i = [1: 2]

Laai daarna die MRA -beelde met die opdrag imread (sprintf ('filename%.filetype', i)) om die beelde te lees uit die lêers wat deur die lêernaam gespesifiseer word, gevolg deur die nommer wat vir die lus gebruik word met sprintf vir batchlaai en toewys dit na 'n veranderlike.

Gebruik dan die opdrag imshow (I) om die beeld in 'n figuur te vertoon.

Gebruik die opdrag colormap (grys) om 'n grys kleurkaart toe te ken.

Om kleur heeltemal uit te skakel en die 3D -matriks vir die beelde in 2D om te skakel, gebruik die opdrag rgb2gray (I) en ken dit toe aan 'n aparte veranderlike.

Laai dan die MRI -beelde met die opdrag wat voorheen genoem is of imread (sprintf ('filename%.filetype', i)) en ken dit toe aan 'n nuwe veranderlike

Herhaal die rgb2gray -opdrag met die nuwe veranderlike wat vir die MRI -beelde gebruik word.

Indien nodig, kan u die grootte van 'n prent verander met behulp van die opdrag imresize (A, skaal) en aan 'n aparte veranderlike toewys.

Stap 3: Verbeter verlengde strukture in intensiteitsbeeld met multiskaalfiltering

Verbeter verlengde strukture in intensiteitsbeeld met veelskaalse filter
Verbeter verlengde strukture in intensiteitsbeeld met veelskaalse filter

Gebruik 'n nuwe veranderlike en gebruik die opdrag fibermetries (A) om die buisvormige strukture in die beelde te verbeter

Met die vorige veranderlike, gebruik die opdrag histeq (B) om die histogram -gelykstellings te verbeter deur die intensiteit van die beelde te verander en dit aan 'n nuwe veranderlike toe te ken.

Vertoon die histogram met die opdrag imhist (B)

Skep 'n nuwe veranderlike om 'n drempel vir die filter te skep. Ken in hierdie geval die vorige veranderlike> 0,875 toe en filter die pixelintensiteit uit onder die waarde van 0,875

Skep daarna 'n nuwe figuur en gebruik die opdrag imshow (A) om die nuwe gefiltreerde beeld te vertoon.

Stap 4: Begin 'n 2D -mediaanfilter

Begin 'n 2D -mediaanfilter
Begin 'n 2D -mediaanfilter

Gebruik 'n opdrag medfilt2 (A, [m n]) en voer 'n 2D -mediaanfilter uit, waar elke uitsetpixel die mediaanwaarde in die mxn -grens rondom die onderskeie pixel in die invoerbeeld bevat.

Skep 'n nuwe figuur en gebruik imshow (A) om die mediaan gefiltreerde beeld te vertoon.

Stap 5: Masker die prentjie

Masker die beeld
Masker die beeld

Gebruik die mediane gefiltreerde prent en gebruik die opdrag [labeledImage, numberOfBlots] = bwlabel (A) om die aantal wit vlekke in die prent te tel

Gebruik dan die funksies van die region props = regionprops (labeled Image, 'Area') om die oppervlaktes van elke vlek of bloedvat te bereken

Ken al die gebiede in een veranderlike toe

Tel dan die aantal vlekke wat meer as 50 pixels is, met 'n ander veranderlike

Sorteer daarna alle vlekke wat onder 50 pixels in dalende volgorde is, met behulp van command [sortedAreas, sortedIndicies] = sort (Areas, 'descend')

Gebruik dan 'n ander veranderlike en gebruik die opdrag ismember (labeledImage, sortedIndicies (1: numberToExtract)) om 'n skikking met elemente van labeledImage terug te keer, word gevind in sortedIndicies van nommer 1 na die aantal bloedvate om 'n logiese 1 (waar) of 'n logiese 0 (vals).

Met die veranderlike in die vorige stap, vind die waar punte (waardes> 0) en skep 'n logiese skikking om 'n binêre beeld te maak en dit aan 'n nuwe veranderlike toe te ken.

Skep 'n nuwe figuur en gebruik imshow (A) die nuwe binêre beeld.

Draai dan die prent om met behulp van opdragimplementering (A) en ken dit toe aan 'n ander veranderlike.

Om 'n gemaskerde beeld te skep, gebruik 'n nuwe veranderlike met bevel resizedimage.*Uint8 (invertedimage)

Skep 'n nuwe figuur en gebruik imshow (A) om 'n gemaskerde beeld te vertoon.

Om die hele kode te beëindig, moet u die opdrag 'end' gebruik om die hele lus te beëindig

Stap 6: Kies die MRA -skanderings vir statistiese toetse

Kies die MRA -skanderings vir statistiese toetse
Kies die MRA -skanderings vir statistiese toetse
Kies die MRA -skanderings vir statistiese toetse
Kies die MRA -skanderings vir statistiese toetse
Kies die MRA -skanderings vir statistiese toetse
Kies die MRA -skanderings vir statistiese toetse

Om voor te berei vir statistiese toetse, kies die MRA-skanderings wat vir die onafhanklike monsters t-toets gebruik gaan word. Omdat ons twee monsters Moyamoya -brein en normale breine is, kies 'n ordentlike hoeveelheid MRA -skanderings van elke groep.

Stap 7: Bereken die oppervlakte van bloedvate ter voorbereiding vir statistiese toetse

Bereken die oppervlakte van bloedvate ter voorbereiding vir statistiese toetse
Bereken die oppervlakte van bloedvate ter voorbereiding vir statistiese toetse

Die statistiese toets fokus op die lengte of hoeveelheid bloedvate wat op die MRA -skanderings getoon word. Ons moet dus die oppervlakte van die bloedvate bereken voor vergelyking.

Begin deur die MRA's van normale breine te filter en die hoeveelheid bloedvate te bereken. Om dit te doen, voer 'n for -lus uit. Omdat daar drie beelde is, is die toestand i = [1: 3].

Maak die prent oop met die imread -opdrag en ken dit toe aan 'n veranderlike.

Skep vervolgens 'n if/else -verklaring met die if, else -opdrag. Gebruik die opdraggrootte (A, 3) == 3 vir die if -verklaring, waar A die veranderlike is wat gebruik word om na die prent oop te maak, om 'n if -verklaring te skep vir wanneer die derde dimensie van die skikking 3 is. na 2D en ontslae te raak van kleur met die opdrag rgb2gray (A) en ken dit toe aan 'n nuwe veranderlike. Gebruik die opdrag imresize (A, [m n]) om die grootte van die prent te verander. In hierdie geval het ons die beelde verander na 'n matrix van 1024 x 1024. Om die buisvormige strukture van die beeld te verbeter, gebruik die veselmetriese opdrag weer en ken dit toe aan 'n nuwe veranderlike.

Die volgende is vir die andersverklaring. As die beeld nie 'n 3D -matriks is nie, wil ons die omskakeling oorslaan. Doen dieselfde as die if -verklaring, maar sonder die rgb2gray (A) -opdrag.

Skep 'n nuwe veranderlike en stel dit gelyk aan die veranderlike vanaf die veselmetriese stap groter as 0,15. Dit drempel die beeld vir intensiteite groter as 0,15.

Ons sal die reëls met kodes herhaal vanaf stap 4 en 5 van die instruksies vanaf die mediaanfilterlyn tot by die imshow (I) -reël. Gebruik daarna die opdragsom (I (:)) om alle pixels waaruit bloedvate bestaan, bymekaar te tel, en ken dit toe aan 'n aparte veranderlike. Noem 'n nuwe veranderlike NormalBloodVessels (i) en stel dit gelyk aan die veranderlike uit die som (I (:)) opdrag. Dit voeg die data by die matriks.

Beëindig die lus en herhaal, maar vir die MRA's van die brein wat deur Moyamoya geraak word. Noem die veranderlike aan die einde MoyaMoyaBloodVessels (i) om dit nie te verwar met die normale brein MRA's nie.

Stap 8: Doen 'n Onafhanklike Monsters T-toets

Doen 'n onafhanklike monsters T-toets
Doen 'n onafhanklike monsters T-toets

Aangesien daar twee onafhanklike monsters en 'n klein populasie is, voer 'n onafhanklike monsters t-toets uit.

Skep en noem 'n funksie wat 'n onafhanklike monster t-toets uitvoer om te bepaal of die hoeveelheid bloedvate in die MRA's van normale breine aansienlik gelyk is aan die van MRA's van breine wat deur Moyamoya geraak word.

Toon die hipotese wat vir die toets gestel is deur die opdrag disp ('X') te gebruik. Op die eerste reël, vertoon "Hipoteses vir twee monster t toets." Op die tweede reël, vertoon "H0 = Die hoeveelheid bloedvate van 'n normale brein is gelyk aan die hoeveelheid bloedvate van 'n brein met Moyamoya -siekte," om die nulhipotese te verklaar. Op die derde reël, vertoon: "HA = Die hoeveelheid bloedvate van 'n normale brein is nie gelyk aan die hoeveelheid bloedvate van 'n brein met Moyamoya -siekte nie." om die alternatiewe hipotese te stel.

Gebruik 'n vertrouensinterval van 95% en 'n steekproefgrootte van 3, bereken die t -telling deur die opdrag tinv ([0.025 0.975], 2) te gebruik en ken aan veranderlike t. Gebruik die opdrag var (NormalBloodVessels) en var (MoyaMoyaBloodVessels) en ken dit aan veranderlikes toe om die afwykings van beide datastelle te bereken.

Kyk of die afwykings naby gelyk is of nie. Doen dit deur 'n if/else -verklaring met die if, else -opdrag te skep. Vir die toestand in die if -stelling, skryf A / B == [0.25: 4], waar A die veranderlike is wat die afwyking van normale bloedvate behels en B die veranderlike is wat verantwoordelik is vir die variansie van Moyamoya -bloedvate. 0.25 en 4 kom uit 'n algemene skatting om te bepaal of afwykings gelyk is of nie. Voer dan die twee monster t -toets uit met [h, p] = ttest2 (A, B, 0.05, 'beide', 'gelyk'), met A en B dieselfde veranderlikes as voorheen genoem. Vir die anders -stelling, gebruik [h, p] = ttest2 (A, B, 0.05, 'beide', 'ongelyk') om 'n twee monster t -toets uit te voer in die geval waar die afwykings nie gelyk is nie. Beëindig die if/else -stelling. Dit sal p.

Skep 'n if/else -stelling wat 'n gevolgtrekking sal toon gebaseer op die waarde van p. Die voorwaarde vir die if -verklaring is p> 0,05. Aangesien ons gewoonlik nie die nulhipotese verwerp as die waarde van p groter is as 0,05 nie, gebruik ons die opdrag disp ('X') om 'Omdat die p -waarde groter is as 0,05 te wys, kan ons die nulhipotese nie verwerp nie' en ' Daarom verwerp ons nie dat die hoeveelheid bloedvate van 'n normale brein gelyk is aan dié van 'n brein met Moyamoya -siekte nie. " In die anders -verklaring, aangesien ons gewoonlik die nulhipotese verwerp as die waarde van p onder 0,05 is, gebruik ons die opdrag disp ('X') om 'Omdat die p -waarde minder as 0,05 is, verwerp ons die nulhipotese' en ' Daarom verwerp ons nie dat die hoeveelheid bloedvate van 'n normale brein nie gelyk is aan dié van 'n brein met Moyamoya -siekte nie. " Beëindig die if/else -stelling.

Aanbeveel: