Բովանդակություն:

Ուղեղի տուփ. Uralամանակի ընթացքում հետևել նյարդային ծավալին `20 քայլ
Ուղեղի տուփ. Uralամանակի ընթացքում հետևել նյարդային ծավալին `20 քայլ

Video: Ուղեղի տուփ. Uralամանակի ընթացքում հետևել նյարդային ծավալին `20 քայլ

Video: Ուղեղի տուփ. Uralամանակի ընթացքում հետևել նյարդային ծավալին `20 քայլ
Video: Հապալասը ունի հակաուռուցքային ,ուղեղի աշխատանքը բարելավվող հատկություն🫐🫐🫐🫐🫐 2024, Նոյեմբեր
Anonim
Ուղեղի արկղ. Uralամանակի ընթացքում հետևել նյարդային ծավալին
Ուղեղի արկղ. Uralամանակի ընթացքում հետևել նյարդային ծավալին

Ավելի երկար մարդկային կյանքի սահմանը առաջ է բերել հիվանդությունների աճ, որոնք մեզանից առաջ չեն տեսել քաղաքակրթություններին: Դրանցից է, որ Ալցհեյմերի հիվանդությունը ազդել է մոտ 5.3 միլիոն կենդանի տարեց ամերիկացիների վրա 2017 թվականին, կամ մոտավորապես յուրաքանչյուր 10 տարեց ամերիկացիներից մեկը (https://www.alz.org/facts/) և անհամար այլոց դեմենսիայով: Որպեսզի օգնենք հասկանալ, թե ինչ է տառապում մեր մեծերը, այս ծածկագիրը ապագա հետազոտողներին և հետաքրքրասեր ցանկացողներին կհամալրի ժամանակի ընթացքում ուղեղի ծավալը հետևելու ունակությամբ:

Քայլ 1: Օգտագործելով ուղեղի տուփը

Օգտագործելով Brain Box
Օգտագործելով Brain Box

Ուղեղի տուփ օգտագործելու համար անհրաժեշտ է միայն հետևյալը.

  • Ուղեղի ՄՌՏ սկանավորում և նման ֆայլերի անուն և ձևաչափ (բոլորը պետք է ունենան մոտավորապես նույն չափերը)
  • Մեկ սկանավորման երկարություն
  • Յուրաքանչյուր շերտի միջև հեռավորությունը (MRI սկան)
  • Հիվանդի անունը (մուտքագրելիս մի՛ ընդգրկեք բացատներ և խնդրում ենք մեծատառով նշել անունը և ազգանունը, օրինակ ՝ FirstnameLastname)

Եվ այստեղից կարելի է հետևել անհատի ուղեղի ծավալների միտումների վրա ժամանակի ընթացքում: Այսպիսով, Ալցհեյմերի միտումների թվերին կարելի է հետևել այս ծրագրաշարի միջոցով: Փորձարկման ժամանակ օգտագործված երկարությունը 180 մմ էր `մեկ սկանավորման երկարության համար և 5 մմ` ՄՌՏ սկաների միջև հեռավորության համար `միջին թվերի հիման վրա:

Այնուամենայնիվ, ուղեղի տուփի կիրառումը չպետք է սահմանափակվի այս մեկ առաջադրանքով: Եթե տվյալ պինդ մարմնի խաչմերուկները լուսանկարված են, ինչպես ուռուցքն ինքնին, ապա դրանց ծավալի փոփոխությունների միտումները կարելի է հետևել նաև ծրագրակազմում:

Քայլ 2. Ներածություն. Խաչաձեւ հատվածների վերլուծություն

Ներածություն. Խաչմերուկների վերլուծություն
Ներածություն. Խաչմերուկների վերլուծություն

Եռաչափ կառույցներում երկու ծավալային հարթությունները, որոնցից բաղկացած են, կկոչվեն խաչմերուկ: Պատկերացրեք, որ թղթի կույտը կազմում է ուղղանկյուն պրիզմա, ապա թղթի յուրաքանչյուր կտոր կլինի թղթի խաչմերուկ: Ուղեղը պատկերացնելիս մենք կիրառում ենք նույն մտքի ընթացքը: MRI (մագնիսա -ռեզոնանսային տոմոգրաֆիա) (տե՛ս MRI- ի մասին տեղեկատվությունը) գրավում է ուղեղի խաչմերուկները, և ուղեղի յուրաքանչյուր «շերտում» սահմանված սահմանների օգտագործումից մենք կարող ենք կառուցել կառուցվածք ՝ մոդելավորելու և գտնելու ուղեղի ծավալը:. Մենք նախ պետք է կառուցենք այնպիսի գործառույթ, որը տեղեկատվություն տրամադրի նման սահմանների վրա:

Քայլ 3: Գործառույթ ստեղծելը ՝ LevelCurveTracings.m

Ֆունկցիայի ստեղծում. LevelCurveTracings.m
Ֆունկցիայի ստեղծում. LevelCurveTracings.m
Ֆունկցիայի ստեղծում. LevelCurveTracings.m
Ֆունկցիայի ստեղծում. LevelCurveTracings.m
Ֆունկցիայի ստեղծում. LevelCurveTracings.m
Ֆունկցիայի ստեղծում. LevelCurveTracings.m
Ֆունկցիայի ստեղծում. LevelCurveTracings.m
Ֆունկցիայի ստեղծում. LevelCurveTracings.m

Նախ, համոզվեք, որ ձեր համակարգիչը ներբեռնել է MATLAB_R2017b (ներբեռնեք այստեղ) և բացեք MATLAB- ը: MATLAB ինտերֆեյսում կտտացրեք պատուհանի վերին ձախ անկյունում գտնվող կոճակին, որի վրա գրված է «Նոր» ՝ համարձակ դեղին գումարած նշանով և ընտրեք «գործառույթ» տարբերակը ՝ խմբագրի պատուհանում բացելով բացատ, որը նման է դրան երրորդ նկարը: Մենք կենտրոնանալու ենք գործառույթը կարգավորելու համար առաջին գիծը փոխելու վրա: Այնտեղ, որտեղ գրված է «outputArg1», փոխարինեք «ուղեղով», «outputArg2» - ով ՝ «անցքեր», «untitled2» - ից «exp2», և «inputArg1» ՝ «պատկերին», և ջնջեք «inputArg2»: Այժմ դուք ունեք գործառույթ, որը պետք է կոչվի ՝ օգտագործելով «exp2» ՝ մեկ փաստարկ վերցնելով «պատկեր» և դուրս բերելով «ուղեղի» և «անցքերի» սահմանները: Ֆունկցիայի առաջին տողը պետք է նմանվի չորրորդ նկարում պատկերված տողին: Այս սկզբնական տողից ներքև ջնջեք բոլոր ծածկագրերը:

Քայլ 4. Սահմանափակված ալգորիթմի մշակում. Սահմաններ գտնելը

Սահմանների որոնում. Սահմանների որոնում
Սահմանների որոնում. Սահմանների որոնում

Մուտքագրեք ծածկագիրը հետևյալ տողում. Ֆունկցիայի այս հատվածը կատարում է հետևյալ տող առ տող.

  1. Տեղադրեք «պատկեր» պատկերում «mri» փոփոխականի մեջ:
  2. «Mri» - ն վերածեք պատկերի ՝ կազմված մի շարք թվերից մինչև մեկ և զրոներ (նույնականացվում է երկուականացում) ՝ հիմնված սահմանված շեմի արժեքի վրա: Եթե պիքսելում արժեքը հավասար է կամ գերազանցում է 0.1 -ը, ապա այն սահմանվում է մեկի վրա, եթե ոչ, ապա այդ պիքսելի արժեքը զրո է:
  3. Հետևյալ չորս տողերը 10 սյունակ և տող են դարձնում ՄՌՏ սկան շերտի եզրերին զրոյի ՝ խուսափելու համար ոչ սահմանային արժեքներ կարդալուց (ինչպես սովորել են ծածկագրով փորձարկելուց):
  4. Վերջնական տողում bwboundaries- ը հետևում է «mri» երկակի պատկերների սահմաններին և այն հավասարեցնում է «b» - ին, զանգված `այն տարրերով, որոնց ցուցանիշները համապատասխանում են մեկի սահմանած ցուցանիշներին:

Քայլ 5. Կապված ալգորիթմի մշակում. Արտաքին կապի զանգվածի ստեղծում

Սահմանված ալգորիթմի մշակում. Արտաքին կապի զանգվածի ստեղծում
Սահմանված ալգորիթմի մշակում. Արտաքին կապի զանգվածի ստեղծում

Հետևեք խմբագրի պատուհանում ՝ նկարի հետևյալ ծածկագրով: Կոդի այս հատվածը կատարում է հետևյալ տող առ տող.

  1. Գտեք երկուականացված «բ» պատկերի տողերից յուրաքանչյուրի երկարությունը (բջջային զվարճանքը գործառույթի երկարությունը կիրառում է յուրաքանչյուր տողի վրա):
  2. Սահմանեք «loc» ՝ առավելագույն երկարությունները պահելու համար:
  3. Գտեք առավելագույն երկարության ինդեքսը, որը տեղադրված է պահելու «ամենամեծ ճանապարհին»:
  4. Գտեք «mri» պատկերի չափը, որը բաղկացած է «b» - ի նույն չափից և սահմանեք «BWsize»:
  5. Գտեք պատկերի զանգվածի տողերի քանակը, որը սահմանվել է «ysize»:
  6. Գտեք պատկերի զանգվածի սյունակների քանակը, որը սահմանվել է «xsize»:
  7. Ստեղծեք զանգված «ամենամեծTraceMat», «ysize» «xsize» զրոյական մատրիցով:
  8. Գտեք համարժեք ինդեքսը բաժանորդագրված արժեքներից, որը համապատասխանում է այնտեղ, որտեղ եղել են ամենամեծ Trace x և y արժեքները, պահեք վիդեո «lindex» - ում:
  9. Largestրոյների մատրիցում ՝ «largeTraceMat», «lindex» - ում որպես տարրեր պահվող ինդեքսների տարրերին համապատասխանող տարրերը վերածեք միավորների:

Այսպիսով, տրամաբանական զանգվածը «ամենամեծTraceMat» ունի ուղեղի սկանավորման խաչմերուկի տվյալ հատվածի ամենամեծ սահմանագծված հատվածը, որը գծված է որպես զրոների ֆոն:

Քայլ 6. Սահմանված ալգորիթմի մշակում. Կենտրոնի հետ աշխատելը

Սահմանափակ ալգորիթմի մշակում. Աշխատել կենտրոնի հետ
Սահմանափակ ալգորիթմի մշակում. Աշխատել կենտրոնի հետ

Հաջորդը, մենք պետք է փորձարկենք `տեսնելու համար, թե արդյոք խաչմերուկը բաղկացած է մեկից ավելի տարածաշրջանից (ամենամեծը): Փորձարկելով ամենամեծ տարածաշրջանի կենտրոնախաղի դասավորվածությունը, մենք կարող ենք տեսնել, թե արդյոք կա մեկ հարակից շրջան, որը կտա ավելի կենտրոնացված կենտրոն, կամ մի քանի շրջանների հնարավորություն:

  1. Օգտագործեք «regionProps» ՝ ներկա centroids- ի մասին տեղեկատվություն գտնելու համար, որը հավասար է «tempStruct» կառուցվածքային զանգվածին
  2. Ձևի զանգված «centroids» ՝ «centroid» դաշտից տվյալները ուղղահայաց միացված
  3. Վերցրեք «սենտրոիդների» երկրորդ սյունակի արժեքները (հորիզոնական հարթության կոորդինատները)
  4. Գործարկեք զտիչ ՝ կենտրոնական կենտրոնի հորիզոնական կենտրոնի հավասարեցումը ստուգելու համար

Քայլ 7. Կապված ալգորիթմի մշակում. Երբ կենտրոնախախտը կենտրոնացած չէ

Սահմանափակ ալգորիթմի մշակում. Երբ կենտրոնախտը կենտրոնացած չէ
Սահմանափակ ալգորիթմի մշակում. Երբ կենտրոնախտը կենտրոնացած չէ

Այն սցենարով, որ ամենամեծ հետքի տարածաշրջանի կենտրոնամետը կենտրոնացված չէ, մենք անցնում ենք հետևյալ քայլերով: Ինչպես մենք նկատել էինք ՄՌՏ սքանավորումներում, միտումն այն էր, որ ուղեղի կիսագնդերը պատկերված լինեին խաչաձեւ հատվածում, երբ ոչ հարակից, ուստի այժմ շարունակում ենք գծել երկրորդ ամենամեծ հետքը `« ամենամեծTraceMat » - ի ամենամեծ հետքի հետ միասին:

  1. Հետագծված մատրիցը սահմանեք «b2» նոր փոփոխականի վրա
  2. Նախաձեռնել դատարկ «b2» մատրիցան ՝ «loc» - ով ինդեքսավորված հավաքածուով
  3. Ստեղծեք պայմանական պայման, երբ կենտրոնը կենտրոնացված չէ (այսինքն ՝ մի քանի շրջանի շերտ)
  4. Յուրաքանչյուր տողի համար գտեք հետքի նոր չափ (traceSize2)
  5. Սահմանեք «loc2» ՝ ինդեքսները գտնելու համար, որտեղ առկա են սահմաններ
  6. Թող «b2» - ում «loc2» - ով նշված բջիջները հավասար լինեն «ամենամեծ Trace2» - ին
  7. Բաժանորդագրությունները փոխակերպեք ինդեքսների ՝ սահմանելով «lindex»
  8. Փոփոխեք «lindex» - ին համապատասխան տարրերը «largeTraceMat» - ում 1 -ի
  9. Նախաձեռնել դատարկ «b2» մատրիցան ՝ «loc2» - ով ինդեքսավորված հավաքածուով

Քայլ 8. Կապված ալգորիթմի մշակում. Անցքերի միջամտություն

Սահմանափակ ալգորիթմի մշակում. Անցքերի միջամտություն
Սահմանափակ ալգորիթմի մշակում. Անցքերի միջամտություն

Փոսերի հետ առնչվելիս «b2» - ում պահված արժեքները հետևում էին այլ կառույցների, քան ամենամեծ հետքն են, և դրանք «խոշորագույն TraceMat» - ի լցված ձևի վրա գծելը ցույց կտա, թե որտեղ են ուղեղի շրջաններում անցքեր:

  1. Ստեղծեք զանգված «fillMat», որը լրացված է «ամենամեծTraceMat» տեսքով
  2. Ստեղծեք զանգված «interferenceMat», «ysize» ՝ «xsize» զրոյական զանգվածով
  3. Ստեղծեք «interferenceloc» զանգված, ուղղահայաց միացված «b2» - ից արժեքները պահելու համար
  4. Ստեղծեք «lindex» զանգված ՝ «interferceloc» - ին համապատասխանող ինդեքսները պահելու համար:
  5. «InterferenceMat» - ի «lindex» - ին համապատասխանող ինդեքսների համար արժեքը սահմանեք 1 ՝ կազմելով տարբեր սահմանափակված տարածք

Քայլ 9. Կապված ալգորիթմի մշակում. Փոսերի տեղադրում, ուղեղի և անցքերի սահմանների վերջնականացում

Սահմանափակված ալգորիթմի մշակում. Փոսերի տեղադրում, ուղեղի սահմանների և անցքերի սահմանների վերջնականացում
Սահմանափակված ալգորիթմի մշակում. Փոսերի տեղադրում, ուղեղի սահմանների և անցքերի սահմանների վերջնականացում
  1. Սահմանել «tempMat» զանգվածը «interferenceMat» - ին գումարած «fillMat» ՝ դրանով իսկ մատրիցայի յուրաքանչյուր արժեք ավելացնելով միմյանց
  2. Սահմանել «holeLoc» զանգվածը այն ցուցանիշներին հավասար, որտեղ «interferenceMat» և «fillMat» երկուսն էլ հավասար էին մեկին
  3. Տեղադրեք «holeMat» - ը որպես չափերի զրոյական մատրիցա «ysize» x «xsize»
  4. «HoleMat» - ում սահմանեք ինդեքսներ, որոնք հավասար են «holeLoc» - ին
  5. Սահմանել «ուղեղը» «ամենամեծTraceMat» - ի վրա
  6. Սահմանեք «անցքեր» -ը «holeMat» - ի վրա

Գտնելով, որտեղ ավելացված մատրիցների արժեքները հավասար էին 2 -ի, անցքերի տեղերը հեշտությամբ ապահովվեցին և գծագրվեցին դատարկ մատրիցի վրա:

Քայլ 10. Տվյալների մուտքագրում. Գործառույթ PatientFiles.m

Անտառահատման տվյալներ ՝ գործառույթ PatientFiles.m
Անտառահատման տվյալներ ՝ գործառույթ PatientFiles.m
Անտառահատման տվյալներ ՝ գործառույթ PatientFiles.m
Անտառահատման տվյալներ ՝ գործառույթ PatientFiles.m
Անտառահատման տվյալներ ՝ գործառույթ PatientFiles.m
Անտառահատման տվյալներ ՝ գործառույթ PatientFiles.m
Անտառահատման տվյալներ ՝ գործառույթ PatientFiles.m
Անտառահատման տվյալներ ՝ գործառույթ PatientFiles.m

Ինչպես և վերջին գործառույթի կարգավորումը, կտտացրեք պատուհանի վերին ձախ անկյունում գտնվող կոճակին, որի վրա գրված է «Նոր» ՝ համարձակ դեղին գումարած նշանով և ընտրեք «գործառույթ» տարբերակը ՝ խմբագրիչի պատուհանում բացելու համար բացվող տարածք: նման է երրորդ նկարի վրա: Առաջին տողում ջնջեք ելքային մատրիցան և փոխարինեք պարզապես «ելքով», «անվերնագիր 2» -ը փոխարինեք «pacientFiles» - ով, ջնջեք բոլոր մուտքային արգումենտները և փոխարենը հետևեք ծածկագրի տողի չորրորդ նկարում նշված ձևաչափմանը: Այս գործառույթի առաջին տողը պետք է համապատասխանի նկարի ձևաչափմանը:

Քայլ 11: Տվյալների մուտքագրում ֆայլերի մեջ

Տվյալների մուտքագրում ֆայլերի մեջ
Տվյալների մուտքագրում ֆայլերի մեջ
Տվյալների մուտքագրում ֆայլերի մեջ
Տվյալների մուտքագրում ֆայլերի մեջ

Հիմնական ֆունկցիայի կողմից հայտնաբերված տվյալները (դեռ նկարագրված չեն) գրանցելու համար ֆայլ ստեղծելու համար մենք պետք է հետևենք այս քայլերին (ինչպես նշված է ծածկագրով տող առ տող):

  1. Ստուգեք, արդյոք հիվանդի անվան մուտքը տող է:
  2. Եթե դա տող չէ, ցուցադրեք այդ հիվանդի անվան մուտքը պետք է լինի տող:
  3. Ավարտեք if հայտարարությունը (կանխեք սխալը):
  4. Ստեղծեք «DateandTime» տողային հայտարարություն, որը կտա հետևյալ ձևաչափը ՝ ժամ. Րոպե-ամիս/օր/տարի:
  5. Փոփոխական ֆայլի անվանումը սահմանեք հետևյալին ՝

Հիմա ֆունկցիայի հաջորդ բաժին. Արդյո՞ք այս անունով ֆայլ գոյություն ունի:

1) Ենթադրենք, որ այս անվան ֆայլն արդեն գոյություն ունի.

  1. Գործարկեք ֆայլը ՝ անցյալի արժեքները հերթագրելու համար
  2. Ավելացրեք ընթացիկ կրկնության «DateandTime» տվյալները ՝ որպես նոր բջիջ x արժեքների բջիջների զանգվածում (ինդեքսի վերջ+1)
  3. Ավելացրեք ընթացիկ «brainVolume» արժեքը որպես նոր բջիջ y արժեքների բջիջների զանգվածում (ինդեքսի վերջ+1)
  4. Պահպանեք ֆայլում բեռնված ընթացիկ փոփոխականները:

2) Ենթադրենք, որ այս անվան ֆայլը գոյություն չունի.

  1. Ստեղծեք նոր ֆայլ ՝ «pacientName» փոփոխականում պահված անունով
  2. Ավելացրեք ընթացիկ «DateandTime» տվյալները ՝ որպես բջիջ, x արժեքների դատարկ բջիջների զանգվածում
  3. Ավելացրեք ընթացիկ «brainVolume» տվյալները որպես բջիջ ՝ y արժեքների դատարկ բջիջների զանգվածում
  4. Պահպանեք ֆայլում բեռնված ընթացիկ փոփոխականները:

Քայլ 12: Տվյալների մուտքագրում. Rainամանակի ընթացքում ուղեղի ծավալների ցուցադրում

Տվյալների մուտքագրում. Rainամանակի ընթացքում ուղեղի ծավալի սյուժեի ցուցադրում
Տվյալների մուտքագրում. Rainամանակի ընթացքում ուղեղի ծավալի սյուժեի ցուցադրում
  1. Փոխարկեք x արժեքների զանգվածը (xVals) կատեգորիկ զանգվածի (xValsCategorical) ՝ գծապատկեր թույլ տալու համար
  2. Ստեղծեք գործչի պատուհան 5
  3. Պատկերացրեք «xValsCategorical» և «yVals» (ուղեղի ծավալը պարունակող) նշանակած կետերը ՝ օգտագործելով խոռոչի շրջանակներ ՝ կետերը նշելու և գծված գծերով միանալու համար:
  4. Սյուժեն վերնագրեք որպես ՝ հիվանդ Անուն ուղեղի ծավալի տվյալներ
  5. Պիտակավորեք x առանցքը, ինչպես ցույց է տրված նկարում
  6. Պիտակավորեք y առանցքը, ինչպես ցույց է տրված նկարում
  7. Թող նկար 5 -ը հավասար լինի ելքին

Այստեղից, կոչվում է հիվանդի անուն գործառույթը, որը կտա ֆայլ `խմբագրված տվյալներով` ժամանակի ընթացքում հետևելով ուղեղի ծավալի և միտումներ ցուցադրող սյուժեի:

Քայլ 13. Ենթածրագրերի բացերի փակումը. Subplotclose.m

Ենթածրագրերում բացերի փակումը. Subplotclose.m
Ենթածրագրերում բացերի փակումը. Subplotclose.m

Http://www.briandalessandro.com կոդից հարմարեցված գործառույթը գործում է հիմնական ծածկագրի ենթածրագրերի միջև եղած բացերը փակելու համար, երբ ստեղծվում են ՄՌՏ պատկերներ և ուղեղի շերտեր: Subplotclose.m- ում օգտագործվող ենթածրագրի գործառույթը կարգավորում է տվյալ ենթատիպերի դիրքը `միմյանց ավելի սերտորեն տեղավորելու համար` ավելի երկար հարթության տեսանկյունից: Օրինակ, եթե ծածկագիրը նախատեսում է 7 x 3 մատրիցա, տողերը սերտորեն կհամապատասխանեն, քանի որ տողի չափսն ավելի երկար է: Եթե ծածկագիրը նախատեսում է 3 x 7 մատրիցա, սյուները կհամապատասխանեն հարմարավետ ՝ տողերում բացթողումներով, ինչպես ցույց է տրված մեր հիմնական կոդի նկարներում:

Քայլ 14: Հիմնական ծածկագիրը. Բոլորը ջնջելը և մուտքերի արագացումը

Հիմնական ծածկագիրը. Բոլորի մաքրում և մուտքագրումների արագացում
Հիմնական ծածկագիրը. Բոլորի մաքրում և մուտքագրումների արագացում

Հիմնական ծածկագիրը սկսելու համար կտտացրեք նույն կոճակին, որը պատուհանի վերին ձախ անկյունում գրված է «Նոր» և ավելի վաղ բաժիններից «Գործառույթ» -ի փոխարեն ընտրել «Սցենար»: Մուտքագրեք կոդը, ինչպես ցույց է տրված նկարում, խմբագրի պատուհանում: Կոդի տողերը հերթականությամբ կատարում են հետևյալ առաջադրանքները.

  1. Փակել բոլոր բաց ֆայլերը, բացառությամբ 0, 1 և 2:
  2. Փակեք բոլոր պատկերների պատուհանները:
  3. Մաքրել աշխատանքային տարածքի բոլոր փոփոխականները:
  4. Մաքրել հրամանի պատուհանը:
  5. Displayուցադրել հրամանի պատուհանում. ՄՌՏ սկանավորման համար մուտքագրեք հետևյալ չափերը.
  6. Հրամանի պատուհանի նոր տողի վրա հարցրեք. Մեկ սկանավորման երկարությունը միլիմետրերով. Օգտագործողի կողմից տրված պատասխանը կկարգավորվի «lengthMM» փոփոխականի վրա:
  7. Նոր գծում հարցրեք. MRI սկանավորումների միջև հեռավորությունը միլիմետրերով. Օգտվողի կողմից տրված պատասխանը կկարգավորվի «ZStacks» փոփոխականի վրա:

Քայլ 15: Հիմնական ծածկագիր. Պատկերի խմբաքանակ

Հիմնական ծածկագիրը. Պատկերի խմբաքանակը
Հիմնական ծածկագիրը. Պատկերի խմբաքանակը
Հիմնական ծածկագիր. Պատկերի խմբաքանակ
Հիմնական ծածկագիր. Պատկերի խմբաքանակ

Այս բաժնում ծածկագիրը կբեռնի պատկերները (բաղկացած է ուղեղի խաչմերուկների ՄՌՏ սկանավորումներից) և կպահի յուրաքանչյուր պատկերի ֆայլի անունները «Հիմք» փոփոխականում և կցուցադրի ՄՌՏ սկաներից յուրաքանչյուրը: Խնդրում ենք հետևել նկարի կոդին, որը կատարում է հետևյալը.

  1. Ստեղծեք «BrainImages» կառուցվածքային զանգված, որը պարունակում է տեղեկատվություն ընթացիկ թղթապանակի բոլոր ֆայլերի վերաբերյալ, որոնք համապատասխանում են MRI _ () անվան ձևաչափին: png
  2. Սահմանել «NumberofImages» փոփոխականը, որը հավասար է «BrainImages» կառուցվածքային զանգվածի տարրերի թվին:
  3. Բացեք գործչի պատուհանը 1
  4. Ֆայլում հաշված պատկերների քանակի համար սահմանեք մի օղակ, որը պետք է շրջանցի
  5. Յուրաքանչյուր հանգույցի համար «CurrentImage» - ը յուրաքանչյուր ֆայլի համապատասխան անունն է MRI_i.png, որի կրկնության համարը «i» է
  6. Ստեղծեք 3 x 7 ենթահող ՝ ցուցադրելու համար 19 պատկերները «imshow» - ով
  7. Ենթածրագրի պատկերի պատուհանում յուրաքանչյուր պատկեր ցուցադրեք որպես այլ տարր
  8. Յուրաքանչյուր ենթածրագրի տարր վերնագրեք Level_, որտեղ դատարկ է for loop- ի կրկնության համարը:
  9. Ավարտեք for loop- ը (խուսափելով սխալից)

Սա 1 -ին պատուհանում կցուցադրի բոլոր ՄՌՏ սկաները հում տեսքով ՝ 3 x 7 կազմաձևով, առանց x կողմնորոշման բացերի:

Քայլ 16. Հիմնական ծածկագիրը

Հիմնական ծածկագիրը
Հիմնական ծածկագիրը

Լիցքավորմամբ մենք խուսափում ենք պատկերի չափերի փոքր անհամապատասխանությունների խնդրից, որոնք կարող են սխալների պատճառ դառնալ չափերի անհամապատասխանության դեպքում, եթե մի նկար մյուսից փոքր -ինչ մեծ է:

  1. Բացեք գործչի պատուհանը 2
  2. Տեղադրեք պատկերի մատրիցը MRI_1.png- ից «padBase» փոփոխականի մեջ
  3. Գտեք պատկերի մատրիցի չափը և սահմանեք «OriginalXPixels» (տողերի քանակի համար) և «OriginalYPixels» (սյունակների քանակի համար)
  4. Ստեղծեք «BrainMat» մատրիցը, որը բաղկացած կլինի բոլոր զրոներից ՝ ևս 20 տողերով և ևս 20 սյունակով յուրաքանչյուր հարթության համար, և 19 ընդհանուր խաչմերուկ ՝ մեկ մեկ հարթության համար:
  5. Ստեղծեք «HolesMat» ՝ զրոների նույն եռաչափ զանգվածից ՝ հետագայում անցքի կոորդինատները մուտքագրելու համար
  6. Ստեղծեք «zeroMat» ՝ պահոցի չափին գումարած քսան տող և քսան սյունակ, զրոների երկչափ զանգված:

Քայլ 17. Հիմնական ծածկագիրը. Սահմանների սահմանում

Հիմնական ծածկագիրը. Սահմանների սահմանում
Հիմնական ծածկագիրը. Սահմանների սահմանում
Հիմնական ծածկագիրը. Սահմանների սահմանում
Հիմնական ծածկագիրը. Սահմանների սահմանում
  1. Սահմանեք մի օղակ ՝ ավելի վաղ բեռնված յուրաքանչյուր պատկերի տվյալների միջոցով
  2. Ավելի վաղ խմբաքանակի մշակման նույն եղանակով «CurrentImage» - ը ֆայլեր է բեռնում «MRI_i.png» - ով, որտեղ i- ի կրկնության համարն է:
  3. Գործարկեք յուրաքանչյուր պատկեր ավելի վաղ պատրաստած «LevelCurveTracings2.m» գործառույթի միջոցով
  4. Գտեք «Ուղեղ» ելքի չափը, տողերի քանակը սահմանեք «Currentrow», իսկ սյունակների թիվը ՝ «Currentcolumns»:
  5. «CurrentMat» - ը սահմանեք զրոյների մատրիցայի վրա ՝ «Currentrow» - ի և «Currentcolumns» - ով նշված չափերով:
  6. Կենտրոնացրեք «Brain» - ի տվյալները «CurrentMat» - ում ՝ բոլոր տողերից 10 տողերի լուսանցքով
  7. Ստեղծեք 3 x 7 չափսերի ենթահող, պատկերների սահմանները ցուցադրելու համար
  8. Վերնագրի՛ր նկարի պատուհանի ենթածրագրի յուրաքանչյուր տարր
  9. Ստեղծեք «BrainMat» եռաչափ մատրիցա ՝ կազմված «CurrentMat» յուրաքանչյուր սահմանային շերտից
  10. Վերջացրեք for loop- ը (սխալներից խուսափելու համար)

Հետևյալ ենթաբաժինը լրացնում է առաջարկվող եռաչափ ձևի վերևում և ներքևում մնացած անցքերը

  1. Սահմանեք «LevelCurve1» - ը հավասար է «BrainMat» - ի առաջին շերտին (պինդ մասի ներքև)
  2. Սահմանեք «LevelCurveEnd» հավասար «BrainMat» - ի վերջին շերտին (պինդ մասի վերև)
  3. Վերաշարադրել «LevelCurve1» ՝ լրացված շերտով
  4. Վերաշարադրել «LevelCurveEnd» ՝ լրացված շերտով
  5. Լրացված շերտը սահմանեք որպես «BrainMat» - ի ստորին շերտ
  6. Լրացված շերտը սահմանեք որպես «BrainMat» - ի վերին շերտ

Քայլ 18. Հիմնական ծածկագիրը. Zիշտ Z չափման որոշում

Հիմնական ծածկագիրը. Zիշտ Z չափման որոշում
Հիմնական ծածկագիրը. Zիշտ Z չափման որոշում

Առաջին երեք տողերը բաղկացած են դատարկ «z» զանգվածի տեղադրումից և պարզ փոխակերպման գործողություններից (պիքսելները բաժանել երկարության վրա) ՝ ծավալը մմ^3 -ով ճիշտ ընթերցելու համար:

  1. Ստեղծեք օղակ for, որը շրջում է յուրաքանչյուր շերտով
  2. Գտիր տրված շերտի միավորների թիվը
  3. Փոխարկեք z- ի կոորդինատները արժեքների մեջ, որոնք չափված են համապատասխան հարաբերակցության, որը դրված է «tempz», սյունակի վեկտորի վրա
  4. Մակարդակի կորի համար z արժեքը ավելացրեք z վեկտորին

Այս z կոորդինատները ճիշտ են ճշգրտվում:

Քայլ 19. Հիմնական ծածկագիրը. X և Y կոորդինատների որոշում

Հիմնական ծածկագիրը. X և Y կոորդինատների որոշում
Հիմնական ծածկագիրը. X և Y կոորդինատների որոշում

Այժմ սահմանների յուրաքանչյուր կետի x և y դիրքերը որոշելու համար:

  1. Նախագծեք «xBrain» - ը որպես դատարկ զանգված
  2. Նախաձեռնել «yBrain» - ը որպես դատարկ զանգված
  3. Տեղադրեք for loop ՝ յուրաքանչյուր բեռնված պատկերի միջոցով շրջանցելու համար
  4. Կազմեք երկու սյունակի մատրիցա `յուրաքանչյուր կետի հարթ կոորդինատները պահելու համար` ներկայացված սյունակի վեկտորներով `" RowBrain "և" ColumnBrain"
  5. Կցեք «xBrain» - ը ներկայումս գտնված «RowBrain» կոորդինատների հետ
  6. Կցեք «yBrain» - ը ներկայումս գտնված «ColumnBrain» կոորդինատներով
  7. Վերջացրեք for loop- ը (սխալներից խուսափելու համար)

Քայլ 20. Հիմնական ծածկագիր. Եռաչափ կառուցվածքի գծագրում, Volավալի որոնում և տվյալների մուտքագրում

Հիմնական ծածկագիրը. Եռաչափ կառույց կառուցելը, ծավալը գտնելու և մուտքագրելու տվյալները
Հիմնական ծածկագիրը. Եռաչափ կառույց կառուցելը, ծավալը գտնելու և մուտքագրելու տվյալները
Հիմնական ծածկագիրը. Եռաչափ կառույց կառուցելը, ծավալը գտնելու և մուտքագրելու տվյալները
Հիմնական ծածկագիրը. Եռաչափ կառույց կառուցելը, ծավալը գտնելու և մուտքագրելու տվյալները
Հիմնական ծածկագիրը. Եռաչափ կառույց կառուցելը, ծավալը գտնելու և մուտքագրելու տվյալները
Հիմնական ծածկագիրը. Եռաչափ կառույց կառուցելը, ծավալը գտնելու և մուտքագրելու տվյալները
Հիմնական ծածկագիր. Եռաչափ կառուցվածքի գծագրում, umeավալի որոնում և տվյալների մուտքագրում
Հիմնական ծածկագիր. Եռաչափ կառուցվածքի գծագրում, umeավալի որոնում և տվյալների մուտքագրում

Օգտագործելով alphaShape գործառույթը, մենք կստեղծենք եռաչափ կառուցվածք, որից կարող ենք հաշվարկել ուղեղի ծավալը:

  1. Օգտագործեք alphaShape գործառույթը, միացրեք «xBrain», «yBrain» և «z» վեկտորները x, y և z կոորդինատների համար և սահմանեք «BrainPolyhedron» - ի հավասար:
  2. Բացեք գործչի պատուհանը 3
  3. Հաշվարկեք «BrainPolyhedron» հաշվարկված ալֆա ձևը, որը ցուցադրվում է նկարի պատուհանում
  4. Հաշվիր ալֆա ձևի ծավալը ՝ օգտագործելով «ծավալ» գործառույթը, որն աշխատում է ալֆա ձևերի համար
  5. Ձայնը վերածեք մմ^3 -ի
  6. Տպեք հրամանի պատուհանում պինդ մարմնի ծավալը
  7. Խնդրում ենք հիվանդի անունը սահմանել որպես մուտքագրում
  8. Ստացեք ընթացիկ ամսաթիվը և ժամը ժամացույցով և սահմանեք «DateandTime»
  9. Callանգահարեք «pacientFiles» գործառույթը ՝ հաշվարկված տվյալները մուտքագրելու և գծագրելու համար

Այստեղից երկրորդ և երրորդ նկարները պետք է ցույց տան հայտնվող թվերը, իսկ չորրորդը ՝ այն, որը պետք է ցուցադրվի Հրամանի պատուհանում:

Խորհուրդ ենք տալիս: