Мазмуну:

Moyamoya Image иштетүү: 8 кадам
Moyamoya Image иштетүү: 8 кадам
Anonim
Moyamoya Image Processing
Moyamoya Image Processing

Моямоя, "түтүн булатуу" - сейрек кездешүүчү оору, мээнин түбүндө жайгашкан базальдык ганглиядагы артериялардын тыгылышынан улам пайда болот. Бул оору көбүнчө балдарды жабыркатуучу прогрессивдүү мээ кан тамыр оорусу. Моямоя симптомдоруна алгачкы инсульт, дайыма мини-инсульт, булчуңдардын алсыздыгы, шал же тамырлардын прогрессивдүү куушунун натыйжасында талма кирет. Дарылоо болбосо, моямоя сүйлөө, сезүү бузулушу жана аң -сезимдин бузулушуна алып келет. Биздин долбоордо биз жабыр тарткан аймакты табуу үчүн сүрөттөгү ызы -чууну азайтуу үчүн ар кандай чыпкалар аркылуу MRI же MRA сүрөтүн алдын ала иштетүү үчүн MATLAB колдонобуз. Мындан тышкары, биз жабыр тарткан аймактарды тагыраак табуу үчүн мүмкүнчүлүктү жакшыртууну колдонобуз. Мындан тышкары, биз мояамоядан жабыркаган мээге салыштырмалуу кадимки мээдеги кан тамырларынын көлөмүнүн ортосунда олуттуу айырма бар же жок экендигин аныктоо үчүн көз карандысыз үлгүлөрдү т-тесттен өткөрөбүз.

1 -кадам: Moyamoya менен жабыркаган кадимки мээнин MRI жана MRA сканерлерин табыңыз

Moyamoya менен жабыркаган кадимки мээнин MRI жана MRA сканерлерин табыңыз
Moyamoya менен жабыркаган кадимки мээнин MRI жана MRA сканерлерин табыңыз
Moyamoya менен жабыркаган кадимки мээнин MRI жана MRA сканерлерин табыңыз
Moyamoya менен жабыркаган кадимки мээнин MRI жана MRA сканерлерин табыңыз
Moyamoya менен жабыркаган кадимки мээнин MRI жана MRA сканерлерин табыңыз
Moyamoya менен жабыркаган кадимки мээнин MRI жана MRA сканерлерин табыңыз
Moyamoya менен жабыркаган нормалдуу мээнин MRI жана MRA сканерлерин табыңыз
Moyamoya менен жабыркаган нормалдуу мээнин MRI жана MRA сканерлерин табыңыз

Бул сүрөттөр биз интернеттен тапкан долбоор үчүн колдонгон сканерлерибиз. Ортодо кан тамырлары бар эки сүрөт MRA сканери, калган эки сүрөт MRI сканери.

Төмөндөгү шилтемелер бул сүрөттөр кайда:

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

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

2 -кадам: MATLABга сүрөттөрдү жүктөө жана сүрөттөрдү көрсөтүү үчүн өзгөрмөлөргө сүрөттөрдү дайындоо

MATLABга сүрөттөрдү жүктөө жана сүрөттөрдү көрсөтүү үчүн өзгөрмөлөргө сүрөттөрдү дайындоо
MATLABга сүрөттөрдү жүктөө жана сүрөттөрдү көрсөтүү үчүн өзгөрмөлөргө сүрөттөрдү дайындоо

Процессти баштоо үчүн, буйрук терезесин тазалоо менен баштаңыз, буга чейин ачык болушу мүмкүн болгон бардык мүмкүн болгон фигураларды жана графиктерди жаап, жумуш мейкиндигиңизде буга чейин дайындалган өзгөрмөлөрдү тазалаңыз.

Андан кийин, i = [1: 2] буйругун колдонуп, 1ден 2ге чейинки циклди түзүңүз.

Кийинчерээк, MRA сүрөттөрүн жүктөө үчүн imread (sprintf ('filename%.filetype', i)) файлдын аталышында көрсөтүлгөн файлдардан сүрөттөрдү окуу үчүн sprintf менен партияны жүктөө жана дайындоо үчүн циклди колдонуңуз. ал өзгөрмөлүү.

Андан кийин сүрөттү фигурада көрсөтүү үчүн imshow (I) командасын колдонуңуз.

Боз түстүү картаны дайындоо үчүн colormap (grey) командасын колдонуңуз.

Түстү толугу менен жок кылуу жана сүрөттөрдүн 3D матрицасын 2Dге айландыруу үчүн rgb2gray (I) буйругун колдонуңуз жана аны өзүнчө өзгөрмөгө дайындаңыз.

Андан кийин MRI сүрөттөрүн мурун айтылган же imread (sprintf ('файл аты%.filetype', i)) колдонуу менен жүктөп, аны жаңы өзгөрмөгө дайындаңыз.

Rgb2gray буйругун MRI сүрөттөрү үчүн колдонулган жаңы өзгөрмө менен кайталаңыз.

Керек болсо, imresize (A, масштаб) буйругун колдонуу менен сүрөттүн өлчөмүн өзгөртө аласыз жана өзүнчө өзгөрмөгө дайындай аласыз.

3 -кадам: Көп масштабдуу чыпкалоо менен интенсивдүү сүрөттөгү узартылган структураларды күчөтүү

Көп масштабдуу чыпкалоо менен интенсивдүү сүрөттөгү узартылган структураларды өркүндөтүү
Көп масштабдуу чыпкалоо менен интенсивдүү сүрөттөгү узартылган структураларды өркүндөтүү

Жаңы өзгөрмөнү колдонуп, сүрөттөрдөгү түтүктүү структураларды жакшыртуу үчүн fibermetric (A) буйругун колдонуңуз

Мурунку өзгөрмөнүн жардамы менен histeq (B) буйругун колдонуп, сүрөттөрдүн интенсивдүүлүгүн трансформациялоо менен гистограмма теңөөлөрүн күчөтүңүз жана аны жаңы өзгөрмөгө дайындаңыз.

Imhist (B) буйругун колдонуп гистограмманы көрсөтүү

Чыпка үчүн босогону түзүү үчүн жаңы өзгөрмөнү түзүңүз. Бул учурда, 0.875 мааниси астында пикселдин интенсивдүүлүгүн чыпкалоо менен мурунку өзгөрмө> 0.875ти дайындаңыз

Андан кийин, жаңы фигураны түзүңүз жана жаңы чыпкаланган сүрөттү көрсөтүү үчүн imshow (A) буйругун колдонуңуз.

4 -кадам: 2D медианалык чыпканы иштетүү

2D медианалык чыпканы иштетүү
2D медианалык чыпканы иштетүү

Medfilt2 (A, [m n]) буйругун колдонуп, 2D медианалык фильтрди иштетиңиз, мында ар бир чыгаруу пикселинде mxn чекиндеги медианалык маанини киргизүү сүрөтүндөгү тиешелүү пикселдин айланасы камтылган.

Жаңы фигураны түзүңүз жана орточо чыпкаланган сүрөттү көрсөтүү үчүн imshow (A) колдонуңуз.

5 -кадам: Сүрөттү маска кылуу

Сүрөттү маска кылуу
Сүрөттү маска кылуу

Орточо чыпкаланган сүрөттү колдонуп, [labeledImage, numberOfBlots] = bwlabel (A) буйругун колдонуп, сүрөттөгү ак тактардын санын эсептеңиз.

Андан кийин, ар бир тактын же кан тамырдын аймактарын эсептөө үчүн регион реквизиттеринин функциялары штаттарын = regionprops (labeledImage, 'Area') колдонуңуз.

Бардык аймактарды бир өзгөрмөгө дайындаңыз

Андан кийин башка өзгөрмөнү колдонуп, 50 пикселден ашкан блоттордун санын эсептеңиз

Андан кийин, [pixedAreas, sortedIndicies] = sort (Ареналар, 'түшүү') буйругун колдонуп, 50 пикселден төмөн болгон бардык чекиттерди азаюу тартибинде иреттеңиз.

Андан кийин, башка өзгөрмөнү колдонуп, логикалык 1ди кайтаруу үчүн 1 номеринен кан тамырларынын санына чейин sortedIndicies табылган labeledImage элементтери бар массивди кайтаруу үчүн ismember (labeledImage, sortedIndicies (1: numberToExtract)) буйругун колдонуңуз логикалык 0 (жалган)

Мурунку кадамдагы өзгөрмө менен, чын болгон пункттарды табыңыз (баалуулуктар> 0) жана бинардык сүрөттү түзүү үчүн логикалык массив түзүп, аны жаңы өзгөрмөгө дайындаңыз.

Жаңы фигураны түзүңүз жана imshow (A) жаңы бинардык сүрөттү колдонуңуз.

Андан кийин, imcomplement (A) буйругун колдонуп, сүрөттү буруңуз жана аны башка өзгөрмөгө дайындаңыз.

Маскачан сүрөттү түзүү үчүн resizedimage буйругу менен жаңы өзгөрмөнү колдонуңуз.*Uint8 (invertedimage)

Жаңы фигураны түзүңүз жана imshow (A) колдонуп, маскированный сүрөттү көрсөтүңүз.

Бүт кодду бүтүрүү үчүн, бүтүн циклди бүтүрүү үчүн 'end' командасын колдонууну унутпаңыз

6 -кадам: Статистикалык тестирлөө үчүн MRA сканерлерин тандаңыз

Статистикалык тестирлөө үчүн MRA скандоолорун тандаңыз
Статистикалык тестирлөө үчүн MRA скандоолорун тандаңыз
Статистикалык тестирлөө үчүн MRA скандоолорун тандаңыз
Статистикалык тестирлөө үчүн MRA скандоолорун тандаңыз
Статистикалык тестирлөө үчүн MRA скандоолорун тандаңыз
Статистикалык тестирлөө үчүн MRA скандоолорун тандаңыз

Статистикалык тестирлөөгө даярдануу үчүн, т-тесттин көз карандысыз үлгүлөрү үчүн колдонула турган MRA сканерлерин тандаңыз. Биздин эки үлгү Moyamoya жана кадимки мээлер жабыркаган мээлер болгондуктан, ар бир топтун MRA сканерлеринин татыктуу санын тандаңыз.

7 -кадам: Статистикалык тестирлөөгө даярдануу учурунда кан тамырларынын аянтын эсептөө

Статистикалык тестирлөөгө даярдыкта кан тамырларынын аянтын эсептөө
Статистикалык тестирлөөгө даярдыкта кан тамырларынын аянтын эсептөө

Статистикалык тест MRA сканерлеринде көрсөтүлгөн кан тамырлардын узундугуна же көлөмүнө багытталат. Ошентип, салыштыруудан мурун кан тамырлардын аянтын эсептеп чыгышыбыз керек.

Кадимки мээнин MRAларын чыпкалоо жана кан тамырларынын көлөмүн эсептөө менен баштаңыз. Бул үчүн for циклин иштетиңиз. Үч сүрөт бар болгондуктан, шарт i = [1: 3] болот.

Imread буйругу менен сүрөттү ачып, аны өзгөрмөгө дайындаңыз.

Андан кийин, if, else буйругу менен if/else билдирүүсүн түзүңүз. If оператору үчүн, команданын өлчөмүн колдонуңуз (A, 3) == 3, мында A - массивдин үчүнчү өлчөмү 3 болгондо if операторун түзүү үчүн, сүрөттү ачуу үчүн колдонулуучу өзгөрмө. 2Dге жана rgb2gray (A) буйругун колдонуп түстөн арылыңыз жана аны жаңы өзгөрмөгө дайындаңыз. Сүрөттүн өлчөмүн өзгөртүү үчүн imresize (A, [m n]) командасын колдонуңуз. Бул учурда биз сүрөттөрдү 1024 x 1024 матрицасына өзгөрттүк. Сүрөттүн түтүкчөлүү структураларын күчөтүү үчүн фиберметрикалык буйрукту кайра колдонуңуз жана аны жаңы өзгөрмөгө дайындаңыз.

Else төмөнкү билдирүү үчүн. Эгерде сүрөт 3D матрицасы болбосо, биз конверсияны өткөрүп жибергибиз келет. If оператору менен бирдей кыл, бирок rgb2gray (A) буйругу жок.

Жаңы өзгөрмөнү түзүп, аны 0.15тен чоң фиберметикалык кадамдын өзгөрмөсүнө барабар кылыңыз. Бул 0.15тен жогору интенсивдүүлүк үчүн сүрөттү чектүү кылат.

Биз көрсөтмөнүн 4 жана 5 -кадамдарынан коддордун саптарын медианалык чыпкадан imshow (I) сызыгына чейин кайталайбыз. Андан кийин, кан тамырларын түзгөн бардык пикселдерди кошуу үчүн сумма (I (:)) буйругун колдонуңуз жана аны өзүнчө өзгөрмөгө дайындаңыз. Жаңы өзгөрмөнүн аталышы NormalBloodVessels (i) жана аны сумма (I (:)) буйругунан өзгөрмөлүү кылып коюңуз. Бул матрицага маалыматтарды кошот.

Циклди бүтүрүңүз жана кайталаңыз, бирок Moyamoya жабыркаган мээнин MRAs үчүн. Акырында MoyaMoyaBloodVessels (i) өзгөрмөсүн атап, аны кадимки мээ MRAлары менен чаташтырбоо үчүн.

8-кадам: Көз карандысыз үлгүлөр T-тестин иштетүү

Көз карандысыз үлгүлөр T-тестин иштетүү
Көз карандысыз үлгүлөр T-тестин иштетүү

Эки көз карандысыз үлгү жана калктын саны аз болгондуктан, көз карандысыз үлгүлөрдү t-тесттен өткөрүңүз.

Кадимки мээнин MRAларындагы кан тамырларынын саны Moyamoya жабыркаган мээнин MRAсына барабар экендигин аныктоо үчүн көз карандысыз үлгүлөр t-тестин иштетүүчү функцияны түзүңүз жана аттаңыз.

Disp ('X') буйругун колдонуу менен тест үчүн коюлган гипотезаны көрсөтүңүз. Биринчи сапта, "t үлгүсүнүн эки гипотезасы" дисплейин көрсөтүңүз. Экинчи сапта, "H0 = Кадимки мээнин кан тамырларынын саны Моямоя оорусу бар мээнин кан тамырларынын санына барабар" дисплейи нөлдүк гипотезаны билдирүү үчүн. Үчүнчү сапта дисплейде "HA = Кадимки мээнин кан тамырларынын саны Моямоя оорусу бар мээнин кан тамырларынын санына барабар эмес." альтернативалуу гипотезаны айтуу.

95% ишеним интервалын жана 3 үлгүдөгү чоңдукту колдонуу менен t упайын tinv ([0.025 0.975], 2) буйругу менен эсептеп, t өзгөрмөсүнө тапшырыңыз. Var (NormalBloodVessels) жана var (MoyaMoyaBloodVessels) буйруктарын колдонуңуз жана аларды эки маалымат топтомунун дисперсиясын эсептөө үчүн өзгөрмөлөргө тапшырыңыз.

Дисперсиялардын барабар же жакын эместигин текшериңиз. If, else буйругу менен if/else билдирүүсүн түзүү менен муну аткарыңыз. If операторундагы шарт үчүн A / B == [0.25: 4] деп жазыңыз, мында А - кадимки кан тамырлардын дисперсиясын эсепке алган өзгөрмө, В - Moyamoya кан тамырларынын дисперсиясын эсепке алган өзгөрмө. 0.25 жана 4 дисперсиялардын барабар же тең эместигин аныктоо үчүн жалпы сметадан келет. Андан кийин эки үлгү t тестин [h, p] = ttest2 (A, B, 0.05, 'экөө тең', 'бирдей') менен жүргүзүңүз, A жана B мурда айтылгандай эле өзгөрмөлөр. Башка билдирүү үчүн, дисперсиялар барабар болбогон учурда, t үлгүсүнүн эки үлгүсүн иштетүү үчүн [h, p] = ttest2 (A, B, 0.05, 'both', 'unequal') колдонуңуз. If/else билдирүүсүн бүтүрүңүз. Бул б эсептейт.

P маанисине негизделген корутунду көрсөтө турган if/else билдирүүсүн түзүңүз. If билдирүүсүнүн шарты p> 0.05 болот. Биз адатта p мааниси 0,05тен жогору болгондо нөл гипотезасын четке кага албагандыктан, дисп ('X') командасын колдонуп "p мааниси 0.05тен чоң болгондуктан, биз нөл гипотезаны четке кага албайбыз" жана " Ошондуктан биз кадимки мээнин кан тамырларынын саны Моямоя оорусу бар мээге барабар экенин четке кага албайбыз. " Башка билдирүүдө, биз адатта, нөлдүн гипотезасын четке каккандыктан, p мааниси 0.05тен төмөн болгондо, дисп ('X') командасын колдонуу үчүн "p мааниси 0.05тен аз болгондуктан, биз нөл гипотезаны четке кагабыз" жана " Ошондуктан биз кадимки мээнин кан тамырларынын саны Моямоя оорусу бар мээге барабар эмес экенин четке кага албайбыз. " If/else билдирүүсүн бүтүрүңүз.

Сунушталууда: