Mundarija:

Miya qutisi: Vaqt o'tishi bilan neyron hajmini kuzatish: 20 qadam
Miya qutisi: Vaqt o'tishi bilan neyron hajmini kuzatish: 20 qadam

Video: Miya qutisi: Vaqt o'tishi bilan neyron hajmini kuzatish: 20 qadam

Video: Miya qutisi: Vaqt o'tishi bilan neyron hajmini kuzatish: 20 qadam
Video: BİR O'ZİNGİZ KO'RİNG / DUNYODAGİ ENG G'ALATİ ER-XOTİNLAR / Buni Bilasizmi? 2024, Iyul
Anonim
Miya qutisi: vaqt o'tishi bilan neyron hajmini kuzatish
Miya qutisi: vaqt o'tishi bilan neyron hajmini kuzatish

Insoniyatning uzoq umr ko'rish chegarasi oldinga siljishi bizdan oldin tsivilizatsiyalar ko'rmagan kasalliklarning paydo bo'lishiga olib keldi. 2017 yilda Altsgeymer kasalligi taxminan 5.3 million keksa amerikalikni yoki taxminan har 10 keksa amerikalikni (https://www.alz.org/facts/) va demensiya bilan kasallangan boshqa ko'plab odamlarni ta'sir qilgan. Keksalarimiz nima azob chekayotganini tushunish uchun kurashda yordam berish uchun bu kod kelajak tadqiqotchilarni jihozlaydi va vaqt o'tishi bilan miya hajmini kuzatish qobiliyatiga qiziqadi.

1 -qadam: Miya qutisini ishlatish

Miya qutisi yordamida
Miya qutisi yordamida

Miya qutisini ishlatish uchun faqat quyidagilar kerak:

  • Miyaning MRI tekshiruvi va bunday fayllarning nomi va formati (barchasi bir xil o'lchamlarga ega bo'lishi kerak)
  • Bir ko'rishning uzunligi
  • Har bir qatlam orasidagi masofa (MRT)
  • Bemorning ismi (kiritishda bo'sh joylarni kiritmang va ism va familiyani katta harf bilan yozing, masalan: familiya familiyasi)

Vaqt o'tishi bilan odamda miya hajmining tendentsiyalarini kuzatish imkoniyati mavjud. Shunday qilib, Altsgeymer kasalligi tendentsiyalarining ko'rsatkichlarini ushbu dastur yordamida kuzatish mumkin. Sinovda biz ishlatgan uzunlik bitta skanerlash uchun 180 mm va MRG oralig'idagi masofa uchun o'rtacha ko'rsatkichlarga asoslanib 5 mm edi.

Biroq, miya qutisini qo'llashni faqat bitta vazifa bilan cheklab qo'yishning hojati yo'q. Agar qattiq jismning kesimlari xuddi o'simta kabi fotosurat bo'lsa, ularning hajmini o'zgartirish tendentsiyasini dasturiy ta'minotda ham kuzatish mumkin.

2 -qadam: kirish: bo'limlarni tahlil qilish

Kirish: bo'limlarni tahlil qilish
Kirish: bo'limlarni tahlil qilish

Uch o'lchovli tuzilmalarda, bu ikki o'lchovli tekisliklar kesma deb nomlanadi. Tasavvur qiling -a, qog'ozlar to'plami to'rtburchaklar prizma hosil qiladi, keyin har bir qog'oz qog'ozning kesimi bo'ladi. Miyani tasavvur qilishda biz ham xuddi shunday fikrni qo'llaymiz. MRT (magnit -rezonans tomografiya) (MRT ma'lumotlariga qarang) miyaning kesmalarini ushlaydi va miyaning har bir "qatlamida" belgilangan chegaralardan foydalanib, biz miyaning hajmini modellashtirish va topish uchun tuzilma qurishimiz mumkin.. Biz avvalo bunday chegaralar haqida ma'lumot beradigan funktsiyani tuzishimiz kerak.

3 -qadam: funktsiyani sozlash: LevelCurveTracings.m

Funktsiyani sozlash: LevelCurveTracings.m
Funktsiyani sozlash: LevelCurveTracings.m
Funktsiyani o'rnatish: LevelCurveTracings.m
Funktsiyani o'rnatish: LevelCurveTracings.m
Funktsiyani sozlash: LevelCurveTracings.m
Funktsiyani sozlash: LevelCurveTracings.m
Funktsiyani sozlash: LevelCurveTracings.m
Funktsiyani sozlash: LevelCurveTracings.m

Birinchidan, kompyuteringizda MATLAB_R2017b yuklanganligiga ishonch hosil qiling (bu yerdan yuklab oling) va MATLAB -ni oching. MATLAB interfeysida, oynaning yuqori chap burchagidagi "Yangi" deb yozilgan tugmachani bosing va "sariq" va "funktsiya" variantini tanlang, muharrir oynasida shunga o'xshash joyni oching. uchinchi rasm. Biz funktsiyani sozlash uchun birinchi qatorni o'zgartirishga e'tibor qaratamiz. Bu erda "outputArg1" yozilsa, uni "miya", "outputArg2" bilan almashtiring, "teshiklar", "untitled2" dan "exp2" gacha, "inputArg1" ni "tasvir" ga aylantiring va "inputArg2" ni o'chirib tashlang. Sizda "exp2" yordamida chaqiriladigan, "tasvir" argumentini oladigan va "miya" va "teshiklar" chegaralarini chiqaradigan funksiya mavjud. Funktsiyaning birinchi qatori to'rtinchi rasmda tasvirlangan chiziqqa o'xshash bo'lishi kerak. Ushbu boshlang'ich satr ostidagi barcha kodlarni o'chirib tashlang.

4 -qadam: bog'langan algoritmni ishlab chiqish: chegaralarni topish

Bog'langan algoritmni ishlab chiqish: chegaralarni topish
Bog'langan algoritmni ishlab chiqish: chegaralarni topish

Kodni quyidagi satr ostiga kiriting. Funktsiyaning bu bo'limi quyidagi satrlarni bajaradi.

  1. "Image" tasvirini "mri" o'zgaruvchisiga yuklang.
  2. "Mri" ni belgilangan chegara qiymatiga qarab sonlar soniga teng va nolga (aka binarizing) ega bo'lgan qiymatlardan iborat tasvirga aylantiring. Agar pikseldagi qiymat 0,1 ga teng yoki undan katta bo'lsa, u bittaga o'rnatiladi, agar bo'lmasa, bu pikselning qiymati nolga o'rnatiladi.
  3. Quyidagi to'rtta satr MRT ko'rish qatlamining chetidagi 10 ta ustun va qatorni nolga aylantiradi, chunki chegaralarni belgilashda noto'g'ri qiymatlarni o'qimaslik uchun (kod bilan tajribadan o'rganilganidek).
  4. Oxirgi satrda bwboundaries "mri" ikkilangan tasvirining chegaralarini kuzatib boradi va uni "b" ga tenglashtiradi, uning indekslari chegaralar bittasiga o'rnatilgan elementlarga mos keladi.

5 -qadam: Bog'langan algoritmni ishlab chiqish: tashqi chegaralangan massivni yaratish

Bog'langan algoritmni ishlab chiqish: tashqi chegaralangan massivni yaratish
Bog'langan algoritmni ishlab chiqish: tashqi chegaralangan massivni yaratish

Tahririyat oynasida rasmdagi quyidagi kodni kuzatib boring. Kodning ushbu bo'limi quyidagi satrlarni bajaradi.

  1. Ikki tomonlama "b" tasvirining har bir satrining uzunligini toping (cellfun funktsiya uzunligini har bir qatorga qo'llaydi).
  2. Maksimal uzunliklarni saqlash uchun "loc" ni o'rnating.
  3. Maksimal uzunlik indeksini toping, uni "largeTrace" da saqlang.
  4. "B" bilan bir xil o'lchamdagi "mri" tasvirining o'lchamini toping va "BWsize" ga o'rnating.
  5. "Ysize" ga o'rnatilgan rasmlar qatoridagi qatorlar sonini toping.
  6. "Xsize" ga o'rnatilgan rasmlar qatoridagi ustunlar sonini toping.
  7. Nolinchi "xsize" matritsasi "ysize" va "largeTraceMat" qatorini yarating.
  8. "Lindex" vektorida saqlanadigan eng kattaTrace x va y qiymatlari qaerda bo'lganiga mos keladigan indekslangan ekvivalent indeksni toping.
  9. "LargeTraceMat" nol matritsasida indeksdagi elementlar sifatida "indeks" da saqlangan indeks qiymatlarini mos keladigan elementlarga aylantiring.

Shunday qilib, "largeTraceMat" mantiqiy massivi nol fonida tasvirlangan miya ko'rish kesimining eng katta chegaralangan hududiga ega.

6 -qadam: bog'langan algoritmni ishlab chiqish: markaziy nuqta bilan ishlash

Bog'langan algoritmni ishlab chiqish: markaziy nuqta bilan ishlash
Bog'langan algoritmni ishlab chiqish: markaziy nuqta bilan ishlash

Keyinchalik, biz kesmaning bir nechta mintaqadan (eng katta) iboratligini tekshirishimiz kerak. Eng yirik mintaqaning markaziy markazining tekislanishini sinab ko'rish orqali, biz markazlashgan tsentroidni beradigan bir -biriga yaqin bo'lgan hududni yoki bir nechta mintaqalar bo'lishini ko'rishimiz mumkin.

  1. "TempStruct" tuzilishi qatoriga teng bo'lgan mavjud sentroidlar haqidagi ma'lumotlarni topish uchun "regionProps" dan foydalaning.
  2. "Centroids" maydonining ma'lumotlari vertikal ravishda birlashtirilgan "centroids" qatorini tuzing
  3. "Centroids" ning ikkinchi ustun qiymatlarini oling (gorizontal o'lchov koordinatalari)
  4. Centroidning gorizontal markazga to'g'ri kelishini tekshirish uchun filtrni ishga tushiring

7 -qadam: bog'langan algoritmni ishlab chiqish: markaziy markaz bo'lmaganida

Bog'langan algoritmni ishlab chiqish: markaziy markaz bo'lmaganida
Bog'langan algoritmni ishlab chiqish: markaziy markaz bo'lmaganida

Stsenariy bo'yicha, eng katta iz mintaqasining markazida markazlashtirilmagan, biz quyidagi bosqichlardan o'tamiz. Biz MRT tekshiruvlarida kuzatganimizdek, miyaning yarim sharlari kesishmagan holda tasvirlangan bo'lish tendentsiyasi bo'lgan, shuning uchun biz "eng kattaTraceMat" dagi eng katta iz bilan birga ikkinchi eng katta izni chizishni davom ettirmoqdamiz.

  1. Kuzatilgan matritsani yangi "b2" o'zgaruvchisiga o'rnating.
  2. "B2" bo'sh matritsasini ishga tushiring va "loc" indeksli.
  3. Shartli yarating, chunki sentroid markazlanmagan bo'lsa (ya'ni, bir nechta mintaqaviy qatlam)
  4. Har bir satr uchun yangi iz hajmini o'rnating (traceSize2)
  5. Chegaralar mavjud bo'lgan indekslarni topish uchun "loc2" ni o'rnating
  6. "B2" da "loc2" ko'rsatgan hujayralar "eng kattaTrace2" ga teng bo'lsin.
  7. Indekslarga indekslarga aylantiring, "lindex" ga o'rnating
  8. "LargeTraceMat" dagi "lindex" ga mos keladigan elementlarni 1 ga o'zgartiring
  9. "B2" bo'sh matritsasini, "loc2" indeksli to'plamini ishga tushiring.

8 -qadam: bog'langan algoritmni ishlab chiqish: teshiklarning aralashuvi

Bog'langan algoritmni ishlab chiqish: teshiklarning aralashuvi
Bog'langan algoritmni ishlab chiqish: teshiklarning aralashuvi

Teshiklar bilan ishlashda "b2" da saqlangan qiymatlar eng katta izdan boshqa tuzilmalarni kuzatib boradi va ularni "eng kattaTraceMat" ning to'ldirilgan shakliga chizish miya hududlarida teshiklar borligini ko'rsatadi.

  1. "Eng kattaTraceMat" shaklida to'ldirilgan "fillMat" qatorini yarating.
  2. "InterferentsMat" qatorini, "ysize" va "xsize" nol qatorini yarating
  3. Vertikal ravishda biriktirilgan "b2" dan qiymatlarni saqlash uchun "interferensiya" qatorini yarating
  4. "Interferentsiya" ga mos keladigan indekslarni saqlash uchun "lindex" qatorini yarating.
  5. "InterferenceMat" dagi "lindex" ga mos keladigan indekslar uchun qiymatni 1 ga qo'ying, bu boshqa chegaralangan mintaqani tashkil qiladi.

9 -qadam: bog'langan algoritmni ishlab chiqish: teshiklarni aniqlash, miya va teshik chegaralarini yakunlash

Bog'langan algoritmni ishlab chiqish: teshiklarni aniqlash, miya va teshik chegaralarini yakunlash
Bog'langan algoritmni ishlab chiqish: teshiklarni aniqlash, miya va teshik chegaralarini yakunlash
  1. "TempMat" qatorini "interferenceMat" plus "fillMat" ga teng qilib o'rnating va shu tariqa matritsadagi har bir qiymatni bir -biriga qo'shib qo'ying.
  2. "InterlocationMat" va "fillMat" ikkalasi ham bitta bo'lgan indekslarga teng "holeLoc" qatorini o'rnating.
  3. "TeshikMat" ni "ysize" x "xsize" o'lchovlarning nol matritsasi sifatida o'rnating.
  4. "HoleMat" da "holeLoc" ga teng bo'lgan indekslarni o'rnating
  5. "Miya" ni "eng kattaTraceMat" ga o'rnating.
  6. "Teshiklar" ni "holeMat" ga o'rnating.

Qo'shilgan matritsalarning qiymatlari 2 ga teng bo'lganligi aniqlanganda, teshiklarning joylashuvi osongina himoyalangan va bo'sh matritsaga chizilgan.

10 -qadam: Ma'lumotlarni yozish: PatientFiles.m funktsiyasi

Jurnal ma'lumotlari: PatientFiles.m funktsiyasi
Jurnal ma'lumotlari: PatientFiles.m funktsiyasi
Jurnal ma'lumotlari: PatientFiles.m funktsiyasi
Jurnal ma'lumotlari: PatientFiles.m funktsiyasi
Jurnal ma'lumotlari: PatientFiles.m funktsiyasi
Jurnal ma'lumotlari: PatientFiles.m funktsiyasi
Jurnal ma'lumotlari: PatientFiles.m funktsiyasi
Jurnal ma'lumotlari: PatientFiles.m funktsiyasi

Oxirgi funktsiyani sozlash singari, oynaning yuqori chap burchagidagi "Yangi" deb yozilgan tugmachani bosing va "sariq" belgisini qo'ying va muharrir oynasida bo'sh joyni ochish uchun "funktsiya" ni tanlang. uchinchi rasmda shunga o'xshaydi. Birinchi satrda chiqish matritsasini o'chiring va shunchaki "chiqish" bilan almashtiring, "untitled2" ni "PatientFiles" bilan almashtiring, barcha kirish argumentlarini o'chiring va uning o'rniga kod satrining to'rtinchi rasmida ko'rsatilgan formatga amal qiling. Bu funksiyaning birinchi qatori rasmning formatiga mos kelishi kerak.

11 -qadam: Ma'lumotlarni fayllarga kiritish

Ma'lumotlarni fayllarga kiritish
Ma'lumotlarni fayllarga kiritish
Ma'lumotlarni fayllarga kiritish
Ma'lumotlarni fayllarga kiritish

Asosiy funktsiyadan topilgan ma'lumotlarni (hozircha tavsiflanmagan) qayd qilish uchun faylni sozlash uchun biz ushbu bosqichlarni bajarishimiz kerak (kod bilan belgilangan tartibda).

  1. PatientName uchun kirish satr ekanligini tekshiring.
  2. Agar u mag'lubiyat bo'lmasa, bemorning nomi kiritilishi satr bo'lishi kerak.
  3. If iborasini tugating (xatoning oldini oling).
  4. "DateandTime" qatorini o'rnating, u quyidagi formatni beradi: soat: daqiqa-oy/kun/yil.
  5. FileName o'zgaruvchisini quyidagicha o'rnating: PatientName.m.

Endi funksiyaning keyingi bo'limiga: Bu nomdagi fayl allaqachon mavjudmi?

1) Aytaylik, bu nomdagi fayl allaqachon mavjud:

  1. O'tmishdagi navbatdagi qiymatlarni olish uchun faylni ishga tushiring
  2. Joriy yinelemaning "DateandTime" ma'lumotlarini x qiymatlari katakchasidagi yangi katakka qo'shing (indeks oxiri+1)
  3. Hozirgi "brainVolume" qiymatini y qiymatlari katakchasidagi yangi katakka qo'shing (indeks oxiri+1)
  4. Faylga yuklangan joriy o'zgaruvchilarni saqlang.

2) Aytaylik, bu nomdagi fayl yo'q:

  1. "PatientName" o'zgaruvchisida saqlangan nomi bilan yangi fayl yarating
  2. Joriy "DateandTime" ma'lumotlarini x qiymatlarining bo'sh katak qatoriga katakcha sifatida qo'shing
  3. Y "yV" bo'sh hujayralar qatoriga joriy "brainVolume" ma'lumotlarini katak sifatida qo'shing
  4. Faylga yuklangan joriy o'zgaruvchilarni saqlang.

12 -qadam: Ma'lumotlarni qayd qilish: Vaqt o'tishi bilan miya hajmining uchastkasini ko'rsatish

Jurnal ma'lumotlari: Vaqt o'tishi bilan miya hajmining uchastkasini ko'rsatish
Jurnal ma'lumotlari: Vaqt o'tishi bilan miya hajmining uchastkasini ko'rsatish
  1. X qiymatlar qatorini (xVals) toifali qatorga (xValsCategorical) aylantirish, chizishga ruxsat berish uchun
  2. Shakl oynasini yaratish 5
  3. "XValsCategorical" va "yVals" (miya hajmini o'z ichiga olgan) tomonidan belgilanadigan nuqtalarni chizish, bo'sh nuqtalarni ko'rsatish va kesilgan chiziqlar bilan bog'lanish uchun bo'sh doiralar yordamida.
  4. Uchastkaga sarlavha bering: Patient Name Brain Volume Data
  5. X o'qini rasmda ko'rsatilgandek belgilang
  6. Y o'qini rasmda ko'rsatilgandek belgilang
  7. 5 -rasm chiqishga teng bo'lsin

Bundan kelib chiqib, PatientName funktsiyasi vaqt o'tishi bilan miya hajmini kuzatib boradigan, tahrirlangan ma'lumotlarga ega bo'lgan faylni va tendentsiyalarni aks ettiruvchi uchastkani beradi.

13 -qadam: Subplotlardagi bo'shliqlarni yopish: Subplotclose.m

Subplotlardagi bo'shliqlarni yopish: Subplotclose.m
Subplotlardagi bo'shliqlarni yopish: Subplotclose.m

Http://www.briandalessandro.com kodidan moslashtirilgan funksiya MRI tasvirlari va miya qatlamlari aks ettirilgan raqamlar yaratilganda, asosiy kodning pastki chizig'i orasidagi bo'shliqlarni yopish vazifasini bajaradi. Subplotclose.m ichida ishlatiladigan subplot funktsiyasi berilgan uzunlik o'lchami jihatidan bir -biriga mahkam o'rnashish uchun berilgan joylarning o'rnini o'zgartiradi. Masalan, agar kod 7 x 3 matritsani niyat qilsa, satrlar bir -biriga mos keladi, chunki qator o'lchami uzunroq. Agar kod 3 x 7 matritsani niyat qilsa, ustunlar bizning asosiy kodimiz rasmlarida ko'rsatilgandek, qatorlar orasidagi bo'shliqlarga to'g'ri joylashadi.

14 -qadam: Asosiy kod: Hammasini tozalash va kirishni so'rash

Asosiy kod: Hammasini tozalash va kirishni so'rash
Asosiy kod: Hammasini tozalash va kirishni so'rash

Asosiy kodni ishga tushirish uchun oynaning yuqori chap burchagida "Yangi" degan tugmani bosing va oldingi bo'limlardan "Funktsiya" o'rniga "Skript" ni tanlang. Kodni muharrir oynasida rasmda ko'rsatilgandek kiriting. Kod satrlari quyidagi vazifalarni bajaradi:

  1. 0, 1 va 2 dan tashqari barcha ochiq fayllarni yoping.
  2. Barcha rasm oynalarini yoping.
  3. Ish maydonidagi barcha o'zgaruvchilarni tozalang.
  4. Buyruqlar oynasini tozalang.
  5. Buyruqlar oynasida ko'rsatish: MRI tekshiruvi uchun quyidagi o'lchamlarni kiriting:
  6. Buyruqlar oynasidagi yangi satrda so'rang: millimetrda bitta skanerning uzunligi:. Foydalanuvchi bergan javob "lengthMM" o'zgaruvchisiga o'rnatiladi.
  7. Yangi satrda so'rang: MRT tekshiruvi orasidagi masofa milimetrda:. Foydalanuvchi bergan javob "ZStacks" o'zgaruvchisiga o'rnatiladi.

15 -qadam: Asosiy kod: rasmlarni ommaviy qayta ishlash

Asosiy kod: rasmlarni ommaviy qayta ishlash
Asosiy kod: rasmlarni ommaviy qayta ishlash
Asosiy kod: rasmlarni ommaviy qayta ishlash
Asosiy kod: rasmlarni ommaviy qayta ishlash

Ushbu bo'limda kod tasvirlarni yuklaydi (miyaning kesmalarining MRT tekshiruvidan iborat) va har bir tasvir faylining nomlarini "Base" o'zgaruvchisida saqlaydi va har bir MRI tekshiruvini ko'rsatadi. Iltimos, rasmdagi kodni bajaring, u quyidagilarni bajaradi:

  1. Joriy papkadagi MRI _ () nom formatiga mos keladigan barcha fayllar to'g'risidagi ma'lumotlarni o'z ichiga olgan "BrainImages" strukturaviy massivini yarating. Png
  2. "BrainImages" tuzilishidagi elementlar soniga teng "NumberofImages" o'zgaruvchisini o'rnating.
  3. 1 -rasm oynasini oching
  4. Faylda sanab o'tilgan rasmlar sonini aylanib o'tish uchun for loopini o'rnating
  5. Har bir tsikl uchun "CurrentImage" - bu MRI_i-p.webp" />
  6. "Imshow" orqali yuklanadigan 19 ta tasvirni ko'rsatish uchun 3 x 7 o'lchamdagi kichik rejani yarating.
  7. Har bir tasvirni subplot rasm oynasida boshqa element sifatida ko'rsatish
  8. Har bir subplot elementini Level_ deb nomlang, bu erda for - loopning iteratsiya raqami bo'sh.
  9. For loopini tugatish (xatolardan qochish)

Bu 1 -rasm oynasida x -yo'nalishida bo'shliqlarsiz 3 x 7 konfiguratsiyada barcha MRG tekshiruvlarini xom shaklda ko'rsatadi.

16 -qadam: Asosiy kod: to'ldirish

Asosiy kod: to'ldirish
Asosiy kod: to'ldirish

To'ldirish yordamida biz rasm o'lchamlari bir -biridan boshqasidan biroz kattaroq bo'lgan taqdirda, o'lchamlarning mos kelmasligi uchun xatolikka olib kelishi mumkin bo'lgan kichik tafovutlardan qochamiz.

  1. Shakl oynasini oching 2
  2. Rasm matritsasini MRI_1-p.webp" />
  3. Rasm matritsasining hajmini toping va "OriginalXPixels" (qatorlar soni uchun) va "OriginalYPixels" (ustunlar soni uchun) ga o'rnating.
  4. "BrainMat" matritsasini har bir tekislik uchun yana 20 ta satr va yana 20 ta ustunli nollardan va har bir tekis uchun 19 ta umumiy kesimdan iborat qilib o'rnating.
  5. "Teshiklar matini" keyinroq teshik koordinatalarini kiritish uchun bir xil uch o'lchovli nollardan iborat qilib o'rnating.
  6. "ZeroMat" ni maydonning kattaligi, yigirma qator va yigirma ustun, nollarning ikki o'lchovli qatori qilib yarating.

17 -qadam: Asosiy kod: chegaralarni aniqlash

Asosiy kod: chegaralarni aniqlash
Asosiy kod: chegaralarni aniqlash
Asosiy kod: chegaralarni aniqlash
Asosiy kod: chegaralarni aniqlash
  1. Oldindan yuklangan har bir rasmdagi ma'lumotlarni ko'rib chiqish uchun for loopini o'rnating
  2. Xuddi shu tarzda, oldingi ishlov berish usulida "CurrentImage" fayllarni "MRI_i.png" bilan yuklaydi, bu erda men iteratsiya raqami.
  3. Har bir tasvirni avval tuzilgan "LevelCurveTracings2.m" ishlov berish funktsiyasi orqali ishga tushiring
  4. "Miya" chiqishining hajmini toping, qatorlar sonini "Currentrow" ga va ustunlar sonini "Currentcolumns" ga o'rnating.
  5. "CurrentMat" ni "Currentrow" va "Currentcolumns" bilan belgilangan o'lchamlar bilan nol matritsasiga o'rnating.
  6. "Brain" ma'lumotlarini "CurrentMat" ga joylashtiring, har tomondan 10 qatorli chegara bilan
  7. Rasm chegaralarini ko'rsatish uchun 3 x 7 o'lchamdagi kichik maydonni yarating
  8. Shakllar oynasidagi har bir subplot elementiga sarlavha bering
  9. Har bir chegara qatlamidan iborat "BrainMat" uch o'lchovli matritsasini yarating "CurrentMat"
  10. For loopini tugating (xatolarni oldini olish uchun)

Quyidagi kichik bo'lim taklif qilingan uch o'lchovli shaklning yuqori va pastki qismida qoldirilgan teshiklarni to'ldiradi

  1. "LevelCurve1" ni "BrainMat" ning birinchi qavatiga teng qilib o'rnating (qattiq taglik)
  2. "LevelCurveEnd" ni "BrainMat" ning oxirgi qatlamiga teng qilib o'rnating (qattiq qismning yuqori qismi)
  3. To'ldirilgan qatlam bilan "LevelCurve1" ustidan yozing
  4. To'ldirilgan qatlam bilan "LevelCurveEnd" ustidan yozing
  5. To'ldirilgan qatlamni "BrainMat" ning pastki qatlami sifatida o'rnating.
  6. To'ldirilgan qatlamni "BrainMat" ning yuqori qatlami sifatida o'rnating.

18 -qadam: Asosiy kod: to'g'ri Z o'lchamini aniqlash

Asosiy kod: to'g'ri Z o'lchamini aniqlash
Asosiy kod: to'g'ri Z o'lchamini aniqlash

Birinchi uchta satr bo'sh "z" qatorini o'rnatish va mm^3 hajmining to'g'ri o'qilishini olish uchun oddiy konvertatsiya operatsiyalarini (piksellarni uzunlikka bo'lish) o'z ichiga oladi.

  1. Har bir qatlamda aylanib o'tish uchun for loop hosil qiling
  2. Berilgan qatlamdagi sonlar sonini toping
  3. Z koordinatalarini ustunlar vektori "tempz" ga mos keladigan nisbatga moslashtirilgan qiymatlarga aylantiring.
  4. Z vektoriga daraja egri chizig'i uchun z qiymatini qo'shing

Bu bilan z koordinatalari to'g'ri sozlangan.

19 -qadam: Asosiy kod: X va Y koordinatalarini aniqlash

Asosiy kod: X va Y koordinatalarini aniqlash
Asosiy kod: X va Y koordinatalarini aniqlash

Endi chegaralardagi har bir nuqtaning x va y pozitsiyalarini aniqlash.

  1. "XBrain" ni bo'sh qator sifatida boshlang
  2. "YBrain" ni bo'sh qator sifatida boshlang
  3. Yuklangan har bir tasvirni aylanib o'tish uchun for loopini o'rnating
  4. "RowBrain" va "ColumnBrain" ustunli vektorlari bilan ifodalangan chegaradagi har bir nuqtaning tekis koordinatalarini saqlash uchun ikkita ustunli matritsani tuzing.
  5. Hozir topilgan "RowBrain" koordinatalari bilan "xBrain" ni qo'shing
  6. "YBrain" ni hozirda topilgan "ColumnBrain" koordinatalari bilan qo'shing
  7. For loopini tugating (xatolikka yo'l qo'ymaslik uchun)

20 -qadam: Asosiy kod: Uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni yozib olish

Asosiy kod: uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni qayd qilish
Asosiy kod: uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni qayd qilish
Asosiy kod: uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni ro'yxatga olish
Asosiy kod: uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni ro'yxatga olish
Asosiy kod: uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni ro'yxatga olish
Asosiy kod: uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni ro'yxatga olish
Asosiy kod: uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni ro'yxatga olish
Asosiy kod: uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni ro'yxatga olish

AlfaShape funktsiyasidan foydalanib, biz miyaning hajmini hisoblashimiz mumkin bo'lgan uch o'lchovli tuzilmani yaratamiz.

  1. AlphaShape funktsiyasidan foydalaning, x, y va z koordinatalari uchun "xBrain", "yBrain" va "z" vektorlarini ulang va "BrainPolyhedron" ga teng qo'ying.
  2. Shakl oynasini oching 3
  3. "BrainPolyhedron" hisoblangan alfa shaklini chizish, rasm oynasida ko'rsatish
  4. Alfa shakllar uchun ishlaydigan "hajm" funktsiyasidan foydalanib, alfa shakli hajmini hisoblang
  5. Ovozni mm^3 ga aylantiring
  6. Qattiq jismning hajmini buyruqlar oynasida chop eting
  7. Kasal sifatida bemorning ismini kiritish so'raladi
  8. Soat bilan joriy sana va vaqtni oling va "DateandTime" ga o'rnating
  9. Hisoblangan ma'lumotlarni hisobga olish va tuzish uchun "PatientFiles" funktsiyasini chaqiring

Bu erdan ikkinchi va uchinchi rasmlar ochiladigan raqamlarni, to'rtinchi rasm esa buyruqlar oynasida ko'rsatilishi kerak.

Tavsiya: