Բովանդակություն:
- Քայլ 1: Գործարկել գրաֆիկական ինտերֆեյս (GUI)
- Քայլ 2. Բեռնում և կարդում MRI պատկերները MATLAB- ում
- Քայլ 3: Պատկերի զտում
- Քայլ 4. Ուռուցքի մեկուսացում էլիպսիկ դիմակի միջոցով
- Քայլ 5. Ուռուցքների ուրվագծում
- Քայլ 6. Ուռուցքների ֆիզիկական հատկությունների վերլուծություն
Video: Ուղեղի ուռուցքի ՄՌՏ հայտնաբերում Matlab- ի միջոցով. 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Հեղինակ ՝ Մադհումիտա Կանան, Հենրի Նգուեն, Էշլի Ուրուտիա Ավիլա, Մեյ Jinին
Այս MATLAB ծածկագիրը հիվանդի ուղեղի ՄՌՏ սկաներում հայտնաբերված ուռուցքի ճշգրիտ չափը, ձևը և տեղակայման ծրագիր է: Այս ծրագիրը նախատեսված է ի սկզբանե աշխատելու ուղեղի ՄՌՏ սկանավորման ուռուցքների հայտնաբերման հետ, սակայն այն կարող է օգտագործվել նաև այլ օրգանների սկանավորման դեպքում քաղցկեղի ախտորոշման համար:
Հետևյալ հրահանգները նախ նկարագրելու են պատկերի վերլուծության մեթոդները ՝ ՄՌՏ սկան զտելու և մաքրելու միջոցով, երկուականացման, միջին զտման և լոգարիթմական պատուհանների միջոցով: Հաջորդը, այն հրահանգ կտա, թե ինչպես կարելի է մեկուսացնել ուռուցքը ՝ նախապես ձևավորված էլիպսիկ դիմակի միջոցով, և այն հետագայում զտել ՝ ուռուցքի ձևի պարագիծը ուրվագծելու համար:
Ուռուցքի հայտնաբերումից հետո հրահանգները կբացատրեն, թե ինչպես կարելի է այս ծրագիրը ներառել գրաֆիկական ինտերֆեյսի (GUI) մեջ: Այս հրահանգների ընթացքում կցվելու են համապատասխան ծածկագիր և ֆայլեր, որոնք կօգնեն բացատրել, թե ինչպես է աշխատում այս ՄՌՏ հետազոտությունը:
Որոշ բաներ, որոնք պետք է իմանալ, ներբեռնել և պատրաստ լինել, նախքան այս ուսանելիին շարունակելը. 1. Համոզվեք, որ ներբեռնված եք MATLAB- ի վերջին տարբերակը: Դուք կարող եք տեղադրել R2018b այստեղ ՝
2. Այս ծրագիրը գործարկելու համար անհրաժեշտ է մուտք ունենալ ՄՌՏ ուղեղի սկանավորման ֆայլեր: Չնայած որոշները միշտ կարելի է գտնել Google- ի պատկերներից, յուրաքանչյուր հիվանդի համար կարող են կատարվել մանրակրկիտ և ճշգրիտ վերլուծություն ուղեղի տարբեր շերտերի ուղիղ սկանավորման համապատասխան պատկերներից: Այս տվյալների շտեմարանից կարող եք մուտք գործել 20 տարբեր հիվանդների glioblastoma- ի ֆայլերը նախնական և հետբուժման համար ՝
3. Այս ծրագրի ուշադրության կենտրոնում և տարբեր մեթոդներ, որոնք ուղղորդում են այս նախագիծը, ներկայացված են այս հետազոտական հոդվածում ՝
Քայլ 1: Գործարկել գրաֆիկական ինտերֆեյս (GUI)
Առաջին քայլը կլինի ստեղծել և նախաձեռնել գրաֆիկական ինտերֆեյս ՝ GUI: Դա կարելի է անել ՝ հրամանի պատուհանում մուտքագրելով ուղեցույց, սեղմելով enter և ստեղծելով նոր GUI: Այս քայլն ավարտվելուց հետո կարող եք սկսել ստեղծել գործառույթներ, ինչպիսիք են առանցքները, ստատիկ տեքստը, խմբագրել տեքստը և սեղմել կոճակները, որոնք կցուցադրվեն ծրագրի գործարկումից և օգտագործողի հետ շփվելուց հետո: Այս գործառույթները կարող են խմբագրվել և շահարկվել գույքի տեսուչի միջոցով, սակայն ամենակարևոր հատկանիշը, որը պետք է փոփոխվի այս գործառույթները ստեղծելիս, Պիտակի անունն է: Կարևոր է փոխել յուրաքանչյուր գործառույթի Tag անունը, քանի որ դա թույլ կտա մեզ ստեղծել տարբերակիչ հետադարձ գործառույթ: Երբ դուք բավարարված եք ձեր GUI- ի դասավորությամբ, կարող եք անցնել DICOM ֆայլերի բեռնման, որոնք կցուցադրվեն GUI- ի շրջանակներում:
Քայլ 2. Բեռնում և կարդում MRI պատկերները MATLAB- ում
DICOM ֆայլերը բեռնելու համար դուք պետք է ճիշտ նախաստորագրեք հետ կանչի գործառույթը, որը կկատարվեր «Բեռնել MRI պատկերը» կոճակը սեղմելիս: Երբ դա ավարտվի, դուք պետք է ստեղծեք գլոբալ փոփոխական, որը պատկերակը կցուցադրի բռնակների առանցքների վրա, որտեղ ցանկանում եք, որ ցուցադրվի Original MRI պատկերը: Տվյալների բազայից բեռնված MRI սկան պատկերները բոլորը DICOM ձևաչափված ֆայլեր են, որոնք պետք է բեռնվեն ձեր MATLAB գրացուցակում: Տեղադրեք ֆայլը imgetfile- ի միջոցով `դրանք ծրագրում բեռնելու համար: Պատկերները կարդացվում են ներկառուցված MATLAB գործառույթի «երկընթերցում» գործառույթի միջոցով, և յուրաքանչյուր ֆայլի համար առաջին հում պատկերը ներկառուցված է GUI ձախ առանցքների մեջ ՝ օգտագործելով ցուցադրումը:
Ներկառուցված MATLAB գործառույթը «dicominfo» նաև չափազանց օգտակար է յուրաքանչյուր MRI երկկողմանի ֆայլի ամբողջ տեղեկատվության հասցեագրման համար: Մենք օգտագործեցինք այս գործառույթը `հիվանդների բոլոր նկարագրական տեղեկությունները քաղելու համար, ինչպիսիք են նրանց սեռը, տարիքը, քաշը և հասակը: Այս գործառույթը ձեզ տրամադրում է նաև կույտի կարգը, որն օգտակար է ծրագրի գրաֆիկական ինտերֆեյսում ծրագրի իրականացման համար: Մենք ստեղծեցինք փոփոխականներ հիվանդների յուրաքանչյուր նկարագրական տեղեկատվության համար, որոնք կօգտագործվեն GUI- ի համար, երբ հայտնաբերման կոճակը սեղմվի:
Քայլ 3: Պատկերի զտում
Հում պատկերի DICOM ֆայլը բեռնվել և կարդալուց հետո պատկերը պետք է մոխրագույն մասշտաբից վերածել երկուական ձևի, որը բաղկացած է միայն սև և սպիտակ պիքսելներից: վերահսկելով հարմարվողական շեմի ասպեկտները զգայունության 0.59 արժեքով: Կանխադրված շեմի զգայունության գործակիցը ՝ 0.5 -ը ցածր էր և չկարողացավ հայտնաբերել պատկերից ավելի պայծառ բծերն ու բծերը, ուստի այն հասցրինք 0.59 -ի:
Երկուականացված պատկերը այնուհետև մշակվում է միջին զտիչի միջոցով `օգտագործելով« medfilt2 »գործառույթը, քանի որ երկակի պատկերն երկչափ է: Մենք սահմանում ենք յուրաքանչյուր ելքային պիքսել, որ պարունակի միջին արժեքը 5 x 5 հարևանությամբ համապատասխան պիքսելին մուտքի երկակի պատկերում: Սա նվազեցնում է աղմուկը և պահպանում է եզրերը 5 x 5 քառակուսի յուրաքանչյուր պիքսելի շուրջը: Հաջորդը, մենք օգտագործում ենք լոգարիթմական պատուհան ՝ օգտագործելով «strel» ՝ սկավառակաձև հարթ կառուցվածքային տարր ստեղծելու համար ՝ 2 հարևանությամբ շառավղով ՝ յուրաքանչյուր սկավառակի հարևանության յուրաքանչյուր կենտրոնական, ծագման պիքսել նույնականացնելու համար: Մենք օգտագործել ենք սկավառակի կառուցվածքային տարր, քանի որ մենք վերլուծում ենք յուրաքանչյուր շրջանաձև կետ և յուրաքանչյուր կետի պիքսելները, ուստի սկավառակի ձևի տարրն ավելի օգտակար է:
Պատկերը ֆիլտրվելուց հետո այն կարող է մաքրվել «փակելու» գործառույթի միջոցով ՝ նկարի զտված սպիտակ պիքսելների միջև եղած սև կետերը հեռացնելու համար և փակում է դրա շուրջը եղած բոլոր բացերը: Ամբողջովին մշակված պատկերը այնուհետև կարող է գծագրվել նախապես հատկացված գործչի երկրորդ ենթատեքստում, ինչը թույլ է տալիս համեմատել հում և զտված պատկերի միջև:
Քայլ 4. Ուռուցքի մեկուսացում էլիպսիկ դիմակի միջոցով
Ուռուցքի պայծառ բծերը կարող են մեկուսացվել հիմնական ֆիլտրացված պատկերից `նախապես ձևավորված էլիպսիկ դիմակի միջոցով: Այս դիմակը ստեղծելու համար դուք պետք է իմանաք սկզբնական, չմշակված ՄՌՏ սկանավորման պատկերի չափը, և դրա տողի և սյունակի երկարությունը, համապատասխանաբար x և y- կոորդինատները համապատասխանաբար, բաշխեք կենտրոնի կոորդինատներն էլիպսաձևի համար: Մենք սահմանում ենք y առանցքը որպես հիմնական առանցք ՝ կենտրոնից 50 միավոր շառավղով, իսկ փոքր առանցքը ՝ կենտրոնից 40 միավոր շառավղով:
Մենք օգտագործել ենք MATLAB գործառույթը «meshgrid» ՝ երկկողմանի ցանցի կոորդինատներով քարտեզային հարթություն ստեղծելու համար ՝ վեկտորներում պարունակվող կոորդինատների հիման վրա ՝ 1-ից մինչև x առանցքի երկարություն, և 1-ից մինչև պատկերի y առանցքի երկարություն:. Col- ը մատրիցա է, որտեղ յուրաքանչյուր տող x- առանցքի պատճեն է, իսկ Row- ը `մատրիցա, որտեղ յուրաքանչյուր սյունակ y- առանցքի պատճենն է: Դեկարտյան ցանցը, որը ներկայացված է Col և Row կոորդինատներով, ունի երկարության (1: Y_Size) տողեր և երկարություն (1: X_Size) սյուներ: Օգտագործեք Coles and Row- ի ինդեքսները, որոնք ստեղծվել են քարտեզային ցանցի միջոցով `էլիպսի հավասարումը որոշելու համար` կախված կանխորոշված շառավիղից և կենտրոնի կոորդինատներից: Էլլիպտիկ ուրվագիծը այժմ կարող է լցվել ուռուցքային բծերից հայտնաբերված սպիտակ պիքսելներով:
Օգտագործելով նախապես ստեղծված էլիպսային դիմակը, մենք կարող ենք դուրս բերել կոնկրետ ուռուցքը, որը ցանկանում եք վերլուծել ֆիլտրացված պատկերից: Էլիպսիկ դիմակը հայտնաբերում է, թե որ բծերը տրամաբանորեն տեղավորվում են էլիպսի ուրվագծի սահմաններում և ընդունում է դա որպես ֆիլտրացված պատկերի կետ `որպես ուռուցք ընդունելի: «Bwareafilt» գործառույթը այնուհետև զտում է այս հայտնաբերված ուռուցքից դուրս մնացած բոլոր օբյեկտները պատկերից: Մենք օգտագործեցինք 500 -ից 4000 -ի հատուկ պատուհան էմպիրիկորեն `հիմնված բոլոր պատկերների չափերի վրա: Այնուհետև մենք կիրառեցինք մեկ այլ լոգարիթմական պատուհան ՝ «strel» - ով, որպես հարթ սկավառակի ձևավորված կառուցվածքային տարր ՝ ավելի մեծ 6 շառավղով, փակելու համար հայտնաբերված ուռուցքի յուրաքանչյուր կենտրոնական սպիտակ պիքսելի միջև եղած բացերը: Հայտնաբերված ուռուցքի բիծը հետագայում մաքրվում է ՝ օգտագործելով «մոտիկ» ՝ սև պիքսելները հետագայում վերացնելու և «անցք» -ով լրացնելու բոլոր անցքերը: Այս մշակված ուռուցքը այնուհետև կարող է ցուցադրվել նախաբաշխված հողամասի երրորդ ենթակոմպլեկտում ՝ համեմատություն ապահովելով մեկուսացված ուռուցքի և ՄՌՏ սկանի բնօրինակ և զտված պատկերների միջև:
Քայլ 5. Ուռուցքների ուրվագծում
Այժմ, երբ ուռուցքը մեկուսացված է դիմակով, այն կարելի է ուրվագծել և ցուցադրել սկզբնական պատկերի վրա ՝ դրա ճշգրիտ տեղը ցույց տալու համար: Դա անելու համար մենք օգտագործեցինք «bwboundaries» գործառույթը ՝ նախապես հայտնաբերված ուռուցքը ուրվագծով հետագծելու համար: Մենք նշեցինք ուրվագիծը, որը չպետք է ներառի ուռուցքային օբյեկտի անցքերը, ինչպես այն ուրվագծվում է: Սա կարելի է գծել սկզբնական, հում պատկերի վրա ՝ օգտագործելով «for» օղակը, որը գծում է ուռուցքի շուրջ ուրվագիծը ՝ օգտագործելով գծի ինդեքսներ ՝ 1,5 պիքսել գծի լայնությամբ: Այս ուրվագիծը այնուհետև գծված է չմշակված պատկերի վրա ՝ ցույց տալով ուռուցքի ճշգրիտ չափը և տեղը ՝ համեմատած սկզբնական ՄՌՏ սկանավորման հետ:
Քայլ 6. Ուռուցքների ֆիզիկական հատկությունների վերլուծություն
Մեկուսացված և ուրվագծված տեղը կարող է մեզ օգտակար տեղեկություններ տրամադրել ուռուցքի չափի, տարածքի և գտնվելու վայրի մասին: Մենք օգտագործել ենք «regionprops» գործառույթը ՝ ուռուցքի հատկությունները հայտնաբերելու համար, որոնք վերաբերում են տարածքին, պարագծին, ցենտրոիդներին և պիքսելային ինդեքսի արժեքին: Այս պիքսելային ինդեքսի արժեքը մեզ տալիս է իրական աշխարհի միավորներ յուրաքանչյուր պատկերի յուրաքանչյուր պիքսելի համար, որը յուրահատուկ է յուրաքանչյուր սկանավորման համար: Այդ հատկությունները կարող են փոխակերպվել միլիմետրերի իրական աշխարհի միավորների: Usրագիրը մեզ տրամադրող էմպիրիկ տեղեկատվությունը յուրահատուկ է յուրաքանչյուր ՄՌՏ սկանավորման համար և չափազանց օգտակար է ուռուցքի չափը, գտնվելու վայրը և տեսակը որոշելու համար, որը օգտագործողները կարող են վերլուծել և ներառել գրաֆիկական ինտերֆեյսի մեջ:
Խորհուրդ ենք տալիս:
Ինչպես կատարել դիպչող դռան զանգ, մարմնի ջերմաստիճանի հայտնաբերում, GY-906, 433 ՄՀց Arduino- ի միջոցով. 3 քայլ
Ինչպես կատարել դիպչող դռան զանգ, մարմնի ջերմաստիճանի հայտնաբերում, GY-906, 433 ՄՀց Arduino- ի միջոցով. Այսօր մենք կանենք դիպչող դռան զանգ, այն կբացահայտի ձեր մարմնի ջերմաստիճանը: Այժմյան իրավիճակում շատ կարևոր է իմանալ, թե արդյոք մարմնի ջերմաստիճանը նորմայից բարձր է, երբ ինչ -որ մեկը ծաղրում է: Այս նախագիծը կարմիր լույս կներկայացնի, եթե հայտնաբերվի որևէ
Պարզ գույնի հայտնաբերում OpenCV- ի միջոցով. 6 քայլ
Պարզ գույնի հայտնաբերում OpenCV- ի միջոցով. Բարև: Այսօր ես ցույց կտամ OpenCV- ի և python- ի միջոցով կենդանի տեսանյութից գույնը հայտնաբերելու մի պարզ մեթոդ: Հիմնականում ես պարզապես կփորձեմ անհրաժեշտ գույնը առկա է հետին պլանում կամ ոչ, և OpenCV մոդուլների միջոցով դիմակավորելու եմ այդ տարածաշրջանը և
Գույնի հայտնաբերում Python- ում OpenCV- ի միջոցով. 8 քայլ
Գույնի հայտնաբերում Python- ում OpenCV- ի միջոցով. Բարև: Այս հրահանգը օգտագործվում է ուղեցույց այն մասին, թե ինչպես կարելի է պիթոնում պատկերից վերցնել որոշակի գույն ՝ օգտագործելով openCV գրադարան: Եթե դուք նոր եք այս տեխնիկայում, ապա մի անհանգստացեք, այս ուղեցույցի վերջում դուք կկարողանաք ծրագրավորել ձեր սեփական գույնը
3 զարմանալի ուղեղի / մտքի կառավարման նախագծեր Lights LedStrip LED Arduino- ով և Neurosky- ով. 6 քայլ (նկարներով)
3 ingարմանալի ուղեղի / մտքի վերահսկման նախագծեր Lights LedStrip LED Arduino- ի և Neurosky- ի հետ. Երբևէ ցանկացե՞լ եք լույսերը միացնել կամ անջատել միայն դրա մասին մտածելով: Կամ ուզում եք իմանալ, թե որքան եք սթրեսի մեջ ՝ նայելով RGB լուսադիոդի գույնին: Մինչդեռ այժմ կարող եք հետևել այս Հրահանգներին: aգացողություն ունենալու համար, թե ինչ ենք մենք պատրաստվում
Ուղեղի տուփ. Uralամանակի ընթացքում հետևել նյարդային ծավալին `20 քայլ
Ուղեղի արկղ. Uralամանակի ընթացքում հետևել նյարդային ծավալին. Մարդկային կյանքի ավելի երկար սահմանագծին հասնելը առաջ է բերել հիվանդությունների աճ, որոնք մեզանից առաջ չեն տեսել քաղաքակրթություններին: Դրանցից է, որ Ալցհեյմերի հիվանդությունը ազդել է մոտ 5.3 միլիոն կենդանի ծեր ամերիկացիների վրա 2017 թվականին, կամ մոտավորապես 10 -ից 1 -ը