Բովանդակություն:
- Քայլ 1: Գտեք նորմալ ուղեղի և Մոյամոյայի հետ կապված ուղեղի MRI և MRA սկաներ
- Քայլ 2. Տեղադրեք պատկերներ MATLAB- ում և պատկերները հանձնեք փոփոխվող պատկերների ցուցադրման համար
- Քայլ 3. Բարձրացրեք երկարացված կառույցները ինտենսիվության պատկերի մեջ `բազմամակարդակ զտմամբ
- Քայլ 4: Գործարկեք 2D միջին ֆիլտր
- Քայլ 5: Դիմակավորեք պատկերը
- Քայլ 6. Ընտրեք վիճակագրական թեստավորման MRA սկանավորում
- Քայլ 7. Հաշվիր արյան անոթների մակերեսը վիճակագրական թեստավորման նախապատրաստման ընթացքում
- Քայլ 8. Գործարկեք անկախ նմուշների T- թեստ
Video: Moyamoya Պատկերի մշակում `8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Moyamoya- ն, «ծուխը», հազվագյուտ հիվանդություն է, որն առաջանում է բազալային գանգլիաների զարկերակների արգելափակման պատճառով, որը ուղեղի հիմքում ընկած տարածք է: Հիվանդությունը ուղեղի անոթների առաջադեմ հիվանդություն է, որը հիմնականում ազդում է երեխաների վրա: Մոյամոյայի ախտանիշները ներառում են նախնական ինսուլտ, անընդհատ մինի-ինսուլտներ, մկանների թուլություն, կաթված կամ առգրավումներ `զարկերակների առաջադեմ նեղացման արդյունքում: Առանց բուժման, մոյամոյան խնդիրներ կառաջացնի խոսքի, զգայական խանգարումների և գիտակցության խանգարման հետ: Մեր նախագծում մենք կօգտագործենք MATLAB- ը `MRI կամ MRA պատկերի նախամշակման համար` օգտագործելով տարբեր զտիչներ `նվազեցնելով աղմուկը պատկերի ներսում` տուժած տարածքը գտնելու համար: Բացի այդ, մենք կօգտագործենք հատկությունների բարելավում `տուժած տարածքները ավելի ճշգրիտ գտնելու համար: Ավելին, մենք այնուհետև կանցկացնենք անկախ նմուշների թեստ ՝ որոշելու համար, թե արդյոք կա էական տարբերություն նորմալ ուղեղի արյան անոթների քանակի միջև ՝ համեմատած մոյամոյայից տուժած ուղեղի հետ:
Քայլ 1: Գտեք նորմալ ուղեղի և Մոյամոյայի հետ կապված ուղեղի MRI և MRA սկաներ
Այս պատկերներն այն սկաներն են, որոնք մենք օգտագործել ենք նախագծի համար, որոնք գտել ենք առցանց: Երկու պատկերները, որոնց մեջտեղում տեղակայված են արյան անոթները, ՄՌՏ սկանավորում են, իսկ մյուս երկու պատկերները `ՄՌՏ սկանավորում:
Հետևյալ հղումներն են, որտեղ գտնվում են այս պատկերները.
static.cambridge.org/resource/id/urn:cambr…
static.cambridge.org/resource/id/urn:cambr…
Քայլ 2. Տեղադրեք պատկերներ MATLAB- ում և պատկերները հանձնեք փոփոխվող պատկերների ցուցադրման համար
Գործընթացը սկսելու համար սկսեք հրամանի պատուհանը մաքրելուց, փակեք բոլոր հնարավոր թվերն ու գծապատկերները, որոնք կարող են արդեն բաց լինել, և մաքրեք ձեր աշխատանքային տարածքում արդեն փոփոխված փոփոխականները:
Դրանից հետո, ստեղծեք 1 -ից 2 օղակ ՝ օգտագործելով i = [1: 2] հրամանը:
Այնուհետև, բեռնել MRA- ի պատկերները ՝ օգտագործելով imread հրամանը (sprintf ('filename%.filetype', i)) ՝ ֆայլի անունով նշված ֆայլերից պատկերները կարդալու համար, այնուհետև ՝ loop- ի համար օգտագործվող թվով, sprintf- ի միջոցով խմբաքանակի բեռնման և նշանակման համար: այն դեպի փոփոխական:
Այնուհետև պատկերը պատկերով ցուցադրելու համար օգտագործեք հրամանը ցուցադրել (I):
Մոխրագույն գունային քարտեզ նշանակելու համար օգտագործեք Colormap (մոխրագույն) հրամանը:
Գույնը լիովին վերացնելու և պատկերների համար 3D մատրիցան 2D վերածելու համար օգտագործեք rgb2gray (I) հրամանը և այն հանձնարարեք առանձին փոփոխականի:
Այնուհետև բեռնեք MRI պատկերները ՝ օգտագործելով նախկինում նշված կամ imread հրամանը (sprintf ('filename%.filetype', i)) և նշանակեք այն նոր փոփոխականին
Կրկնեք rgb2gray հրամանը MRI պատկերների համար օգտագործվող նոր փոփոխականով:
Անհրաժեշտության դեպքում կարող եք չափափոխել պատկերը `օգտագործելով imresize (A, scale) հրամանը և նշանակել առանձին փոփոխականի:
Քայլ 3. Բարձրացրեք երկարացված կառույցները ինտենսիվության պատկերի մեջ `բազմամակարդակ զտմամբ
Օգտագործելով նոր փոփոխական, օգտագործեք մանրաթելաչափական (A) հրամանը ՝ պատկերներում խողովակավոր կառուցվածքները բարձրացնելու համար
Նախորդ փոփոխականի դեպքում օգտագործեք histeq (B) հրամանը `հիստոգրամի հավասարեցումները բարձրացնելու համար` փոխակերպելով պատկերների ինտենսիվությունը և այն վերագրելով նոր փոփոխականի:
Displayուցադրել հիստոգրամը ՝ օգտագործելով imhist (B) հրամանը
Ստեղծեք նոր փոփոխական ՝ ֆիլտրի համար շեմ ստեղծելու համար: Այս դեպքում նշանակեք նախորդ փոփոխականը> 0,875 ՝ զտելով պիքսելային ինտենսիվությունը 0,875 արժեքի տակ
Դրանից հետո ստեղծեք նոր գործիչ և օգտագործեք imshow (A) հրամանը `նոր ֆիլտրացված պատկերը ցուցադրելու համար:
Քայլ 4: Գործարկեք 2D միջին ֆիլտր
Օգտագործելով medfilt2 (A, [m n]) հրամանը, գործարկեք 2D միջին զտիչ, որտեղ յուրաքանչյուր ելքային պիքսել պարունակում է մուտքային պատկերի համապատասխան պիքսելների շուրջ mxn սահմանի միջին արժեքը:
Ստեղծեք նոր գործիչ և օգտագործեք imshow (A) միջին զտված պատկերը ցուցադրելու համար:
Քայլ 5: Դիմակավորեք պատկերը
Օգտագործելով միջին զտված պատկերը, օգտագործեք [պիտակավորված պատկեր, թիվ OFBlots] = bwlabel (A) հրամանը ՝ պատկերում պատկերված սպիտակ բծերի քանակը
Այնուհետև օգտագործեք տարածաշրջանի հենարանների ֆունկցիայի վիճակները ՝
Բոլոր ոլորտները վերագրեք մեկ փոփոխականի
Այնուհետև օգտագործելով մեկ այլ փոփոխական, հաշվեք 50 պիքսելից ավելի բլոտների քանակը
Հետո, դասակարգեք 50 պիքսելից ցածր բոլոր բլոտները նվազման կարգով ՝ օգտագործելով [sortedAreas, sortedIndicies] = կարգավորում (Տարածքներ, 'իջնել')
Այնուհետև, օգտագործելով մեկ այլ փոփոխական, օգտագործեք ismember (պիտակավորված Image, sortedIndicies (1: numberToExtract)) հրամանը `պիտակավորվածIemage- ի տարրերով զանգվածը վերադարձնելու համար տեսակավորված 1 -ից մինչև արյան անոթների քանակը գտած տեսակավորումները վերադարձնելու համար տրամաբանական 1 (true) կամ տրամաբանական 0 (կեղծ):
Նախորդ քայլի փոփոխականի հետ գտեք ճշմարիտ կետերը (արժեքներ> 0) և ստեղծեք երկուական պատկեր ստեղծելու և այն նոր փոփոխականին վերագրելու տրամաբանական զանգված:
Ստեղծեք նոր գործիչ և օգտագործեք ցուցադրման (A) նոր երկուական պատկերը:
Այնուհետև, շրջեք պատկերը ՝ օգտագործելով հրամանի imcomplement (A) և նշանակեք այն այլ փոփոխականի:
Դիմակավորված պատկեր ստեղծելու համար օգտագործեք նոր փոփոխական ՝ չափափոխված պատկերով:*uint8 (invertedimage)
Ստեղծեք նոր գործիչ և օգտագործեք imshow (A) դիմակավորված պատկերը ցուցադրելու համար:
Ամբողջ ծածկագիրն ավարտելու համար անպայման օգտագործեք «end» հրամանը ՝ ամբողջ loop- ը ավարտելու համար
Քայլ 6. Ընտրեք վիճակագրական թեստավորման MRA սկանավորում
Վիճակագրական թեստերին նախապատրաստվելու համար ընտրեք MRA սկաները, որոնք պետք է օգտագործվեն անկախ նմուշների t-test- ի համար: Քանի որ մեր երկու նմուշները կլինեն ուղեղի վրա ազդող Մոյամոյա, և սովորական ուղեղներ, ընտրեք յուրաքանչյուր խմբի արժանապատիվ քանակությամբ MRA սքանավորում:
Քայլ 7. Հաշվիր արյան անոթների մակերեսը վիճակագրական թեստավորման նախապատրաստման ընթացքում
Վիճակագրական թեստը կկենտրոնանա MRA- ի սկաներում ցուցադրվող արյան անոթների երկարության կամ քանակի վրա: Այսպիսով, համեմատելուց առաջ մենք պետք է հաշվարկենք արյան անոթների մակերեսը:
Սկսեք նորմալ ուղեղի MRA- ները զտելուց և արյան անոթների քանակի հաշվարկում: Դա անելու համար գործարկեք for loop- ը: Քանի որ կան երեք պատկերներ, պայմանը կլինի i = [1: 3]:
Բացեք պատկերը imread հրամանով և նշանակեք այն փոփոխականին:
Հաջորդը, if, else հրամանով ստեղծեք if/else հայտարարությունը: If հայտարարության համար օգտագործեք հրամանի չափը (A, 3) == 3, որտեղ A- ն պատկերի բացման համար օգտագործվող փոփոխականն է, եթե if- ի հայտարարությունը ստեղծվի, երբ զանգվածի երրորդ հարթությունը 3. Այնուհետև փոխակերպեք պատկերը դեպի 2D և ազատվեք գույնից ՝ օգտագործելով rgb2gray (A) հրամանը և նշանակեք այն նոր փոփոխականին: Պատկերը չափափոխելու համար օգտագործեք imresize (A, [m n]) հրամանը: Այս դեպքում մենք չափափոխեցինք պատկերները մինչև 1024 x 1024 մատրիցա: Պատկերի գլանային կառուցվածքները բարձրացնելու համար կրկին օգտագործեք մանրաթելային հրամանը և այն հանձնարարեք նոր փոփոխականի:
Հետևյալը այլ հայտարարության համար է: Եթե պատկերը 3D մատրիցա չէ, մենք ցանկանում ենք բաց թողնել փոխարկումը: Նույնը արեք, եթե if հայտարարությունը, բայց առանց rgb2gray (A) հրամանի:
Ստեղծեք նոր փոփոխական ՝ այն հավասարեցնելով 0.15 -ից ավելի մանրաթելային քայլի փոփոխականին: Սա շեմին է պատկերի 0.15 -ից մեծ ինտենսիվության համար:
Մենք կկրկնենք կոդերի տողերը հրահանգվող 4 -րդ և 5 -րդ քայլերից ՝ միջին զտիչի գծից մինչև ցուցադրման (I) տողը: Դրանից հետո, օգտագործեք գումարի գումարը (I (:)) `արյան անոթները կազմող բոլոր պիքսելներին գումարելու համար և այն հանձնարարեք առանձին փոփոխականի: Անվանեք նոր փոփոխական NormalBloodVessels (i) և այն հավասարեք sum (I (:)) հրամանի փոփոխականին: Սա ավելացնում է տվյալները մատրիցային:
Ավարտեք հանգույցը և կրկնում, բայց Մոյամոյայից տուժած ուղեղի MRA- ների համար: Վերջում անվանեք փոփոխականին MoyaMoyaBloodVessels (i) `այն չշփոթելու համար ուղեղի նորմալ ՄՌԱ -երի հետ:
Քայլ 8. Գործարկեք անկախ նմուշների T- թեստ
Քանի որ կան երկու անկախ նմուշներ և փոքր բնակչություն, անցկացրեք անկախ նմուշների t-test:
Ստեղծեք և անվանեք գործառույթ, որն իրականացնում է անկախ նմուշների թեստ ՝ որոշելու համար, թե նորմալ ուղեղի ՄՌԱ-ներում արյան անոթների քանակը զգալիորեն հավասար է, թե ոչ Մոյամոյայից տուժած ուղեղների ՄՌԱ-ներին:
Displayուցադրեք թեստի համար սահմանված վարկածը ՝ օգտագործելով disp («X») հրամանը: Առաջին տողում ցուցադրեք «Երկու նմուշի թեստի վարկածներ»: Երկրորդ տողում `« 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], որտեղ A- ն այն փոփոխականն է, որը կազմում է նորմալ արյան անոթների շեղումը, իսկ B- ն `Moyamoya արյան անոթների շեղումը: 0.25 -ը և 4 -ը գալիս են ընդհանուր գնահատականից `որոշելու համար, թե արդյոք շեղումները հավասար են, թե ոչ: Այնուհետև անցկացրեք երկու ընտրանքային թեստ [h, p] = ttest2 (A, B, 0.05, «երկուսն էլ», «հավասար»), իսկ A և B- ն նույն փոփոխականներն են, ինչպես նշված էր նախկինում: Մնացած հայտարարության համար օգտագործեք [h, p] = ttest2 (A, B, 0.05, «երկուսն էլ», «անհավասար») երկու նմուշ t թեստ անցկացնելու դեպքում, երբ շեղումները հավասար չեն: Ավարտեք if/else հայտարարությունը: Սա կհաշվարկի p.
Ստեղծեք if/else հայտարարություն, որը կցուցադրի եզրակացություն ՝ հիմնված p- ի արժեքի վրա: If հայտարարության պայմանը կլինի p> 0.05: Քանի որ մենք սովորաբար չենք կարողանում մերժել զրոյական վարկածը, երբ p- ի արժեքը 0.05 -ից մեծ է, օգտագործեք disp ('X') հրամանը `« Քանի որ p- ի արժեքը 0.05 -ից մեծ է, մենք չենք կարող մերժել զրո վարկածը », և Հետևաբար, մենք չենք կարող մերժել, որ նորմալ ուղեղի արյան անոթների քանակը հավասար է Մոյամոյայի հիվանդությամբ ուղեղի »: Մյուս հայտարարության մեջ, քանի որ մենք սովորաբար մերժում ենք զրոյական վարկածը, երբ p- ի արժեքը 0.05 -ից ցածր է, օգտագործեք disp ('X') հրամանը `« Քանի որ p արժեքը 0.05 -ից փոքր է, մենք մերժում ենք զրո վարկածը »և« Հետևաբար, մենք չենք կարող մերժել, որ նորմալ ուղեղի արյան անոթների քանակը հավասար չէ Մոյամոյայի հիվանդությամբ ուղեղի »: Ավարտեք if/else հայտարարությունը:
Խորհուրդ ենք տալիս:
Drivemall Board- ի մշակում. 5 քայլ
Drivemall Board- ի մշակում. Այս ձեռնարկում մենք կտեսնենք անհատական Arduino տախտակ ստեղծելու հիմնական քայլերը: Օգտագործված ծրագրակազմը KiCad- ն է տախտակի ձևավորման համար և Arduino IDE- ն `տախտակի համար որոնվածը ստեղծելու և բեռնելու համար:
FK (For For Kinematic) Excel- ով, Arduino- ով և մշակում ՝ 8 քայլ
FK (For Kinematic) Excel- ի, Arduino- ի և մշակման միջոցով. Forward Kinematic- ը օգտագործվում է 3D տարածության մեջ End Effector- ի արժեքները (x, y, z) գտնելու համար:
Փոխանցել կինեմատիկան Excel- ով, Arduino- ով և մշակում ՝ 8 քայլ
Փոխանցել կինեմատիկան Excel- ի, Arduino- ի և մշակման միջոցով. Forward Kinematic- ը օգտագործվում է 3D տարածության մեջ End Effector- ի արժեքները (x, y, z) գտնելու համար:
Պատկերի մշակում Raspberry Pi- ով. OpenCV- ի և պատկերի գույնի տարանջատման տեղադրում. 4 քայլ
Պատկերի մշակում Raspberry Pi- ի միջոցով. OpenCV- ի և պատկերի գույնի տարանջատման տեղադրում. Այս գրառումը առաջինն է պատկերի մշակման մի քանի ձեռնարկներից, որոնք պետք է հետևեն: Մենք ավելի սերտորեն նայում ենք պատկերը կազմող պիքսելներին, սովորում ենք, թե ինչպես տեղադրել OpenCV- ն Raspberry Pi- ի վրա, ինչպես նաև գրում ենք թեստային սցենարներ ՝ նկարը պատկերելու և
Քանակաչափական պատկերի մշակում `5 քայլ
Քանակաչափական պատկերի վերամշակում