Mundarija:
- 1 -qadam: Miya qutisini ishlatish
- 2 -qadam: kirish: bo'limlarni tahlil qilish
- 3 -qadam: funktsiyani sozlash: LevelCurveTracings.m
- 4 -qadam: bog'langan algoritmni ishlab chiqish: chegaralarni topish
- 5 -qadam: Bog'langan algoritmni ishlab chiqish: tashqi chegaralangan massivni yaratish
- 6 -qadam: bog'langan algoritmni ishlab chiqish: markaziy nuqta bilan ishlash
- 7 -qadam: bog'langan algoritmni ishlab chiqish: markaziy markaz bo'lmaganida
- 8 -qadam: bog'langan algoritmni ishlab chiqish: teshiklarning aralashuvi
- 9 -qadam: bog'langan algoritmni ishlab chiqish: teshiklarni aniqlash, miya va teshik chegaralarini yakunlash
- 10 -qadam: Ma'lumotlarni yozish: PatientFiles.m funktsiyasi
- 11 -qadam: Ma'lumotlarni fayllarga kiritish
- 12 -qadam: Ma'lumotlarni qayd qilish: Vaqt o'tishi bilan miya hajmining uchastkasini ko'rsatish
- 13 -qadam: Subplotlardagi bo'shliqlarni yopish: Subplotclose.m
- 14 -qadam: Asosiy kod: Hammasini tozalash va kirishni so'rash
- 15 -qadam: Asosiy kod: rasmlarni ommaviy qayta ishlash
- 16 -qadam: Asosiy kod: to'ldirish
- 17 -qadam: Asosiy kod: chegaralarni aniqlash
- 18 -qadam: Asosiy kod: to'g'ri Z o'lchamini aniqlash
- 19 -qadam: Asosiy kod: X va Y koordinatalarini aniqlash
- 20 -qadam: Asosiy kod: Uch o'lchovli tuzilmani tuzish, hajmni topish va ma'lumotlarni yozib olish
Video: Miya qutisi: Vaqt o'tishi bilan neyron hajmini kuzatish: 20 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-31 10:26
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 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
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
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
Kodni quyidagi satr ostiga kiriting. Funktsiyaning bu bo'limi quyidagi satrlarni bajaradi.
- "Image" tasvirini "mri" o'zgaruvchisiga yuklang.
- "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.
- 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).
- 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
Tahririyat oynasida rasmdagi quyidagi kodni kuzatib boring. Kodning ushbu bo'limi quyidagi satrlarni bajaradi.
- Ikki tomonlama "b" tasvirining har bir satrining uzunligini toping (cellfun funktsiya uzunligini har bir qatorga qo'llaydi).
- Maksimal uzunliklarni saqlash uchun "loc" ni o'rnating.
- Maksimal uzunlik indeksini toping, uni "largeTrace" da saqlang.
- "B" bilan bir xil o'lchamdagi "mri" tasvirining o'lchamini toping va "BWsize" ga o'rnating.
- "Ysize" ga o'rnatilgan rasmlar qatoridagi qatorlar sonini toping.
- "Xsize" ga o'rnatilgan rasmlar qatoridagi ustunlar sonini toping.
- Nolinchi "xsize" matritsasi "ysize" va "largeTraceMat" qatorini yarating.
- "Lindex" vektorida saqlanadigan eng kattaTrace x va y qiymatlari qaerda bo'lganiga mos keladigan indekslangan ekvivalent indeksni toping.
- "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
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.
- "TempStruct" tuzilishi qatoriga teng bo'lgan mavjud sentroidlar haqidagi ma'lumotlarni topish uchun "regionProps" dan foydalaning.
- "Centroids" maydonining ma'lumotlari vertikal ravishda birlashtirilgan "centroids" qatorini tuzing
- "Centroids" ning ikkinchi ustun qiymatlarini oling (gorizontal o'lchov koordinatalari)
- Centroidning gorizontal markazga to'g'ri kelishini tekshirish uchun filtrni ishga tushiring
7 -qadam: 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.
- Kuzatilgan matritsani yangi "b2" o'zgaruvchisiga o'rnating.
- "B2" bo'sh matritsasini ishga tushiring va "loc" indeksli.
- Shartli yarating, chunki sentroid markazlanmagan bo'lsa (ya'ni, bir nechta mintaqaviy qatlam)
- Har bir satr uchun yangi iz hajmini o'rnating (traceSize2)
- Chegaralar mavjud bo'lgan indekslarni topish uchun "loc2" ni o'rnating
- "B2" da "loc2" ko'rsatgan hujayralar "eng kattaTrace2" ga teng bo'lsin.
- Indekslarga indekslarga aylantiring, "lindex" ga o'rnating
- "LargeTraceMat" dagi "lindex" ga mos keladigan elementlarni 1 ga o'zgartiring
- "B2" bo'sh matritsasini, "loc2" indeksli to'plamini ishga tushiring.
8 -qadam: 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.
- "Eng kattaTraceMat" shaklida to'ldirilgan "fillMat" qatorini yarating.
- "InterferentsMat" qatorini, "ysize" va "xsize" nol qatorini yarating
- Vertikal ravishda biriktirilgan "b2" dan qiymatlarni saqlash uchun "interferensiya" qatorini yarating
- "Interferentsiya" ga mos keladigan indekslarni saqlash uchun "lindex" qatorini yarating.
- "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
- "TempMat" qatorini "interferenceMat" plus "fillMat" ga teng qilib o'rnating va shu tariqa matritsadagi har bir qiymatni bir -biriga qo'shib qo'ying.
- "InterlocationMat" va "fillMat" ikkalasi ham bitta bo'lgan indekslarga teng "holeLoc" qatorini o'rnating.
- "TeshikMat" ni "ysize" x "xsize" o'lchovlarning nol matritsasi sifatida o'rnating.
- "HoleMat" da "holeLoc" ga teng bo'lgan indekslarni o'rnating
- "Miya" ni "eng kattaTraceMat" ga o'rnating.
- "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
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
Asosiy funktsiyadan topilgan ma'lumotlarni (hozircha tavsiflanmagan) qayd qilish uchun faylni sozlash uchun biz ushbu bosqichlarni bajarishimiz kerak (kod bilan belgilangan tartibda).
- PatientName uchun kirish satr ekanligini tekshiring.
- Agar u mag'lubiyat bo'lmasa, bemorning nomi kiritilishi satr bo'lishi kerak.
- If iborasini tugating (xatoning oldini oling).
- "DateandTime" qatorini o'rnating, u quyidagi formatni beradi: soat: daqiqa-oy/kun/yil.
- 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:
- O'tmishdagi navbatdagi qiymatlarni olish uchun faylni ishga tushiring
- Joriy yinelemaning "DateandTime" ma'lumotlarini x qiymatlari katakchasidagi yangi katakka qo'shing (indeks oxiri+1)
- Hozirgi "brainVolume" qiymatini y qiymatlari katakchasidagi yangi katakka qo'shing (indeks oxiri+1)
- Faylga yuklangan joriy o'zgaruvchilarni saqlang.
2) Aytaylik, bu nomdagi fayl yo'q:
- "PatientName" o'zgaruvchisida saqlangan nomi bilan yangi fayl yarating
- Joriy "DateandTime" ma'lumotlarini x qiymatlarining bo'sh katak qatoriga katakcha sifatida qo'shing
- Y "yV" bo'sh hujayralar qatoriga joriy "brainVolume" ma'lumotlarini katak sifatida qo'shing
- Faylga yuklangan joriy o'zgaruvchilarni saqlang.
12 -qadam: Ma'lumotlarni qayd qilish: Vaqt o'tishi bilan miya hajmining uchastkasini ko'rsatish
- X qiymatlar qatorini (xVals) toifali qatorga (xValsCategorical) aylantirish, chizishga ruxsat berish uchun
- Shakl oynasini yaratish 5
- "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.
- Uchastkaga sarlavha bering: Patient Name Brain Volume Data
- X o'qini rasmda ko'rsatilgandek belgilang
- Y o'qini rasmda ko'rsatilgandek belgilang
- 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
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 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:
- 0, 1 va 2 dan tashqari barcha ochiq fayllarni yoping.
- Barcha rasm oynalarini yoping.
- Ish maydonidagi barcha o'zgaruvchilarni tozalang.
- Buyruqlar oynasini tozalang.
- Buyruqlar oynasida ko'rsatish: MRI tekshiruvi uchun quyidagi o'lchamlarni kiriting:
- Buyruqlar oynasidagi yangi satrda so'rang: millimetrda bitta skanerning uzunligi:. Foydalanuvchi bergan javob "lengthMM" o'zgaruvchisiga o'rnatiladi.
- 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
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:
- Joriy papkadagi MRI _ () nom formatiga mos keladigan barcha fayllar to'g'risidagi ma'lumotlarni o'z ichiga olgan "BrainImages" strukturaviy massivini yarating. Png
- "BrainImages" tuzilishidagi elementlar soniga teng "NumberofImages" o'zgaruvchisini o'rnating.
- 1 -rasm oynasini oching
- Faylda sanab o'tilgan rasmlar sonini aylanib o'tish uchun for loopini o'rnating
- Har bir tsikl uchun "CurrentImage" - bu MRI_i-p.webp" />
- "Imshow" orqali yuklanadigan 19 ta tasvirni ko'rsatish uchun 3 x 7 o'lchamdagi kichik rejani yarating.
- Har bir tasvirni subplot rasm oynasida boshqa element sifatida ko'rsatish
- Har bir subplot elementini Level_ deb nomlang, bu erda for - loopning iteratsiya raqami bo'sh.
- 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
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.
- Shakl oynasini oching 2
- Rasm matritsasini MRI_1-p.webp" />
- Rasm matritsasining hajmini toping va "OriginalXPixels" (qatorlar soni uchun) va "OriginalYPixels" (ustunlar soni uchun) ga o'rnating.
- "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.
- "Teshiklar matini" keyinroq teshik koordinatalarini kiritish uchun bir xil uch o'lchovli nollardan iborat qilib o'rnating.
- "ZeroMat" ni maydonning kattaligi, yigirma qator va yigirma ustun, nollarning ikki o'lchovli qatori qilib yarating.
17 -qadam: Asosiy kod: chegaralarni aniqlash
- Oldindan yuklangan har bir rasmdagi ma'lumotlarni ko'rib chiqish uchun for loopini o'rnating
- Xuddi shu tarzda, oldingi ishlov berish usulida "CurrentImage" fayllarni "MRI_i.png" bilan yuklaydi, bu erda men iteratsiya raqami.
- Har bir tasvirni avval tuzilgan "LevelCurveTracings2.m" ishlov berish funktsiyasi orqali ishga tushiring
- "Miya" chiqishining hajmini toping, qatorlar sonini "Currentrow" ga va ustunlar sonini "Currentcolumns" ga o'rnating.
- "CurrentMat" ni "Currentrow" va "Currentcolumns" bilan belgilangan o'lchamlar bilan nol matritsasiga o'rnating.
- "Brain" ma'lumotlarini "CurrentMat" ga joylashtiring, har tomondan 10 qatorli chegara bilan
- Rasm chegaralarini ko'rsatish uchun 3 x 7 o'lchamdagi kichik maydonni yarating
- Shakllar oynasidagi har bir subplot elementiga sarlavha bering
- Har bir chegara qatlamidan iborat "BrainMat" uch o'lchovli matritsasini yarating "CurrentMat"
- 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
- "LevelCurve1" ni "BrainMat" ning birinchi qavatiga teng qilib o'rnating (qattiq taglik)
- "LevelCurveEnd" ni "BrainMat" ning oxirgi qatlamiga teng qilib o'rnating (qattiq qismning yuqori qismi)
- To'ldirilgan qatlam bilan "LevelCurve1" ustidan yozing
- To'ldirilgan qatlam bilan "LevelCurveEnd" ustidan yozing
- To'ldirilgan qatlamni "BrainMat" ning pastki qatlami sifatida o'rnating.
- To'ldirilgan qatlamni "BrainMat" ning yuqori qatlami sifatida o'rnating.
18 -qadam: 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.
- Har bir qatlamda aylanib o'tish uchun for loop hosil qiling
- Berilgan qatlamdagi sonlar sonini toping
- Z koordinatalarini ustunlar vektori "tempz" ga mos keladigan nisbatga moslashtirilgan qiymatlarga aylantiring.
- 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
Endi chegaralardagi har bir nuqtaning x va y pozitsiyalarini aniqlash.
- "XBrain" ni bo'sh qator sifatida boshlang
- "YBrain" ni bo'sh qator sifatida boshlang
- Yuklangan har bir tasvirni aylanib o'tish uchun for loopini o'rnating
- "RowBrain" va "ColumnBrain" ustunli vektorlari bilan ifodalangan chegaradagi har bir nuqtaning tekis koordinatalarini saqlash uchun ikkita ustunli matritsani tuzing.
- Hozir topilgan "RowBrain" koordinatalari bilan "xBrain" ni qo'shing
- "YBrain" ni hozirda topilgan "ColumnBrain" koordinatalari bilan qo'shing
- 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
AlfaShape funktsiyasidan foydalanib, biz miyaning hajmini hisoblashimiz mumkin bo'lgan uch o'lchovli tuzilmani yaratamiz.
- AlphaShape funktsiyasidan foydalaning, x, y va z koordinatalari uchun "xBrain", "yBrain" va "z" vektorlarini ulang va "BrainPolyhedron" ga teng qo'ying.
- Shakl oynasini oching 3
- "BrainPolyhedron" hisoblangan alfa shaklini chizish, rasm oynasida ko'rsatish
- Alfa shakllar uchun ishlaydigan "hajm" funktsiyasidan foydalanib, alfa shakli hajmini hisoblang
- Ovozni mm^3 ga aylantiring
- Qattiq jismning hajmini buyruqlar oynasida chop eting
- Kasal sifatida bemorning ismini kiritish so'raladi
- Soat bilan joriy sana va vaqtni oling va "DateandTime" ga o'rnating
- 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:
Aylanadigan telefonni radioga aylantiring va vaqt o'tishi bilan sayohat qiling: 5 qadam (rasmlar bilan)
Aylanadigan telefonni radioga aylantiring va vaqt o'tishi bilan sayohat qiling: men aylanadigan telefonni radioni buzdim! Telefonni oling, mamlakatni va o'n yillikni tanlang va qandaydir ajoyib musiqani tinglang! Bu qanday ishlaydi?
Vaqt o'tishi uchun suv o'tkazmaydigan Raspberry Pi bilan ishlaydigan Wi -Fi DSLR veb -kamerasi: 3 qadam (rasmlar bilan)
Vaqt o'tishi uchun suv o'tkazmaydigan Raspberry Pi bilan ishlaydigan DSLR veb -kamerasi: men quyosh botishini uydan tomosha qilyapman. Shunday qilib, men quyosh botganda va men uni ko'rish uchun uyda bo'lmaganimda, FOMO -ni olaman. IP -kameralar tasvir sifatini yomonlashtirdi. Men birinchi DSLR -ni qayta ishlatish usullarini izlay boshladim: 2007 yildagi Cano
Vaqt o'tishi qutisi: 5 qadam
Time-Lapse Box: Bu darslik vaqtni suratga olish uchun Raspberry Pi-ni qanday o'rnatishni ko'rsatib beradi! O'rnatish Raspberry Pi tomonidan boshqariladigan yorug'lik manbai va kamera (PiCamera) dan iborat bo'lib, ularni suratga olish va Google-ga yuklash uchun mo'ljallangan. Haydash. Men chiroqni ishlataman
Vaqt o'tishi bilan Dolly: 3 qadam (rasmlar bilan)
Time Lapse Dolly: Agar siz har doim o'z harakatingizni amalga oshirishni orzu qilgan bo'lsangiz, lekin vaqtni tejash moslamasini sotib olish uchun cheksiz mablag 'bo'lmasa va elektronika yoki dasturlash bilan yaxshi bo'lmagan bo'lsangiz, bu siz uchun ko'rsatma. Mening maqsadim bu va mening barcha ko'rsatmalarim
Vaqt o'tishi bilan rasmlar uchun kamera osonlashtirildi: 22 qadam (rasmlar bilan)
Vaqt o'tishi bilan suratga olish uchun kamera osonlashtirildi. Men boshqa ko'rsatmalarni vaqtni tez suratga olish filmlarini suratga olishni tekshirib ko'rdim. U kino qismini juda yaxshi yoritgan. U filmlar yaratish uchun yuklab olishingiz mumkin bo'lgan bepul dasturiy ta'minot haqida gapirib berdi. Men o'z -o'zimga aytdim, men o'ylaymanki, agar men qila olsam