Mündəricat:

Beyin Qutu: Zamanla Sinir Həcminin İzlənməsi: 20 addım
Beyin Qutu: Zamanla Sinir Həcminin İzlənməsi: 20 addım

Video: Beyin Qutu: Zamanla Sinir Həcminin İzlənməsi: 20 addım

Video: Beyin Qutu: Zamanla Sinir Həcminin İzlənməsi: 20 addım
Video: Overview of Autonomic Disorders 2024, Iyul
Anonim
Beyin qutusu: Zamanla sinir həcmini izləmək
Beyin qutusu: Zamanla sinir həcmini izləmək

Daha uzun insan ömrünün sərhədlərinə doğru irəliləmək, mədəniyyətlərimizin bizdən əvvəl görmədiyi xəstəliklərin artmasına səbəb oldu. Bunlardan Alzheimer, 2017 -ci ildə təxminən 5.3 milyon yaşayan yaşlı Amerikalıya və ya təxminən hər 10 yaşlı Amerikalıya (https://www.alz.org/facts/) və demanslı sayısız digərinə təsir etdi. Yaşlılarımızın əziyyət çəkdiyini başa düşmək üçün mübarizəyə kömək etmək üçün bu kod gələcək tədqiqatçıları təchiz edəcək və zamanla beyin həcmini izləmək qabiliyyəti ilə maraqlanacaq.

Addım 1: Beyin qutusundan istifadə edin

Beyin qutusundan istifadə
Beyin qutusundan istifadə

Beyin qutusundan istifadə etmək üçün yalnız aşağıdakılara ehtiyacınız var:

  • Beynin MRT taramaları və bu cür faylların adı və formatı (hamısı təxminən eyni ölçülərə malik olmalıdır)
  • Bir taramanın uzunluğu
  • Hər qat arasındakı məsafə (MRT)
  • Xəstə Adı (Daxil edərkən boşluq daxil etməyin və zəhmət olmasa ad və soyadın böyük hərfini yazın: Ad Soyadı)

Və buradan, bir insanın zamanla beyin həcmindəki tendensiyaları izləmək qabiliyyəti var. Beləliklə, Alzheimer meylləri üçün rəqəmlər bu proqram tərəfindən izlənilə bilər. Sınaqda istifadə etdiyimiz uzunluq orta rəqəmlərə əsaslanaraq bir tarama üçün 180 mm və MRT taramaları arasındakı məsafə üçün 5 mm idi.

Ancaq beyin qutusunun tətbiqini bu bir işlə məhdudlaşdırmaq lazım deyil. Verilmiş bərk maddənin kəsişmələri bir şiş kimi fotoşəkildirsə, bunların həcmindəki dəyişikliklər proqramda da izlənilə bilər.

Addım 2: Giriş: Bölmələrin təhlili

Giriş: Bölmələrin təhlili
Giriş: Bölmələrin təhlili

Üç ölçülü quruluşda, bunlardan ibarət olan iki ölçülü müstəviyə kəsiklər deyilir. Bir kağız yığınının düzbucaqlı bir prizma təşkil etdiyini düşünün, onda hər bir kağız parçası kağızın kəsiyi olardı. Beyni təsəvvür edərkən eyni düşüncəni tətbiq edirik. MRT (maqnit rezonans görüntüləmə) (MRT məlumatlarına baxın) beynin kəsik hissələrini tutur və beynin hər bir "qatında" müəyyən edilmiş sərhədlərdən istifadə edərək beynin həcmini modelləşdirmək və tapmaq üçün bir quruluş qura bilərik.. Ancaq əvvəlcə bu cür sərhədlər haqqında məlumat vermək üçün bir funksiya qurmalıyıq.

Addım 3: Bir funksiya qurmaq: LevelCurveTracings.m

Bir funksiya qurmaq: LevelCurveTracings.m
Bir funksiya qurmaq: LevelCurveTracings.m
Bir funksiya qurmaq: LevelCurveTracings.m
Bir funksiya qurmaq: LevelCurveTracings.m
Bir funksiya qurmaq: LevelCurveTracings.m
Bir funksiya qurmaq: LevelCurveTracings.m
Bir funksiya qurmaq: LevelCurveTracings.m
Bir funksiya qurmaq: LevelCurveTracings.m

Əvvəlcə kompüterinizin MATLAB_R2017b yükləndiyinə əmin olun (buradan yükləyin) və MATLAB -ı açın. MATLAB interfeysində, pəncərənin sol üst küncündə qalın sarı artı işarəsi olan "Yeni" yazan düyməni basın və redaktor pəncərəsində oxşar bir yerə açmaq üçün "funksiya" seçimini seçin. üçüncü şəkil. Funksiyanı qurmaq üçün birinci sətrin dəyişdirilməsinə diqqət yetirəcəyik. "OutputArg1" deyildiyi yerdə "deşiklər", "untitled2" ilə "exp2" və "inputArg1" sözlərini "image" demək üçün "brain", "outputArg2" ilə əvəz edin və "inputArg2" ni silin. İndi "exp2" istifadə edərək, "görüntü" arqumentini götürərək və "beyin" və "çuxurların" sərhədlərini çıxarmaqla çağırılacaq bir funksiyanız var. Funksiyanın birinci sətri dördüncü şəkildə təsvir olunan xəttə bənzəməlidir. Bu ilkin sətrin altındakı bütün kodları silin.

Addım 4: Bağlı Alqoritmin İnkişafı: Sərhədlərin Tapılması

Bağlı Alqoritmi İnkişaf etdirmək: Sərhədləri Tapmaq
Bağlı Alqoritmi İnkişaf etdirmək: Sərhədləri Tapmaq

Kodu aşağıdakı kimi xəttin altına daxil edin. Funksiyanın bu bölməsi aşağıdakı sətirləri yerinə yetirir.

  1. "Image" şəklini "mri" dəyişəninə yükləyin.
  2. "Mri" ni, müəyyən edilmiş bir eşik dəyərinə əsaslanaraq bir sıra və sıfırlar (aka binarizing) dəyərlərindən ibarət bir görüntüyə çevirin. Pikseldəki dəyər 0,1 -ə bərabərdirsə və ya ondan çox olarsa, bu dəyər birə, yoxsa o pikseldəki dəyər sıfıra bərabərdir.
  3. Aşağıdakı dörd sətir, MRT tarama qatının kənarındakı 10 sütunu və satırı sıfıra çevirir, hədd qoyarkən düzgün olmayan dəyərləri oxumaqdan qaçınmaq üçün (kodu sınamaqdan öyrənildiyi kimi).
  4. Son sətirdə, bwboundaries, "mri" ikili görüntüsünün sərhədlərini izləyir və indeksləri bir olan sərhədlərə uyğun olan elementləri olan bir sıra olan "b" ilə təyin edir.

Addım 5: Bağlı Alqoritmi İnkişaf etdirmək: Xarici Bağlı Array Yaratmaq

Bağlı Alqoritmi İnkişaf etdirmək: Xarici Bağlı Array Yaratmaq
Bağlı Alqoritmi İnkişaf etdirmək: Xarici Bağlı Array Yaratmaq

Redaktor pəncərəsində şəkildəki aşağıdakı kodu izləyin. Kodun bu bölməsi aşağıdakı sətirləri yerinə yetirir.

  1. "B" ikitərəfli görüntüsünün hər satırının uzunluğunu tapın (cellfun funksiya uzunluğunu hər cərgəyə tətbiq edir).
  2. Maksimum uzunluqları saxlamaq üçün "loc" seçin.
  3. Maksimum uzunluğun indeksini tapın, "largeTrace" də saxlamaq üçün qurun.
  4. "B" ilə eyni ölçüdən ibarət olan "mri" görüntüsünün ölçüsünü tapın və "BWsize" olaraq təyin edin.
  5. "Ysize" olaraq təyin olunan görüntü dizisindəki satır sayını tapın.
  6. "Xsize" olaraq təyin olunan görüntü dizisindəki sütun sayını tapın.
  7. Sıfırların "xsize" matrix "ysize", "largeTraceMat" serialını yaradın.
  8. En böyükTrace x dəyərlərinin və y dəyərlərinin olduğu yerə uyğun olaraq yazılmış dəyərlərdən "lindex" vektorunda saxlayan ekvivalent indeksi tapın.
  9. "En böyükTraceMat" sıfır matrisində, "lindex" də elementlər olaraq saxlanılan indeks dəyərlərinə uyğun olan indekslərdəki elementləri birinə çevirin.

Beləliklə, "largeTraceMat" məntiqi cərgəsi, sıfır fonunda olanlar kimi verilən beyin tarama kəsişməsinin ən böyük sərhəd bölgəsinə malikdir.

Addım 6: Bağlı Alqoritmin İnkişafı: Mərkəz Nöqtəsi ilə İşləmək

Bağlı Alqoritmi İnkişaf etdirmək: Mərkəz Nöqtəsi ilə İşləmək
Bağlı Alqoritmi İnkişaf etdirmək: Mərkəz Nöqtəsi ilə İşləmək

Sonra, kəsiyin birdən çox bölgədən (ən böyük) ibarət olub olmadığını yoxlamaq lazımdır. Ən böyük bölgənin mərkəz mərkəzinin hizalanmasını sınayaraq, daha mərkəzli bir centroid və ya birdən çox bölgənin olma ehtimalını verən bitişik bir bölgənin olub olmadığını görə bilərik.

  1. "TempStruct" quruluş dizisinə bərabər olan mövcud centroidlər haqqında məlumat tapmaq üçün "regionProps" istifadə edin.
  2. Şaquli olaraq birləşdirilmiş "centroid" sahəsindəki məlumatları olan "centroids" forması
  3. "Centroids" in ikinci sütun dəyərlərini götürün (üfüqi ölçü koordinatları)
  4. Mərkəzin üfüqi mərkəzə hizalanmasını yoxlamaq üçün bir filtr işlədin

Addım 7: Bağlı Alqoritmin İnkişafı: Bir Centroid Mərkəzləşdirilmədikdə

Bağlı Alqoritmin İnkişafı: Bir Centroid Mərkəzləşdirilmədikdə
Bağlı Alqoritmin İnkişafı: Bir Centroid Mərkəzləşdirilmədikdə

Ən böyük iz bölgəsinin mərkəzinin mərkəzləşdirilməməsi ssenarisində aşağıdakı addımları atırıq. MRT taramalarında müşahidə etdiyimiz kimi, beynin yarımkürələrinin bitişik olmadığı zaman kəsiyində təsvir edilməsi tendensiyası idi, buna görə də indi "largeTraceMat" dakı ən böyük izlə birlikdə ikinci ən böyük izi qurmağa davam edirik.

  1. İzlənilən matrisi yeni "b2" dəyişəninə qoyun
  2. "Loc" ilə indekslənmiş bir dəst ilə boş matrix "b2" ni işə salın.
  3. Bir centroid mərkəzləşdirilmədikdə (yəni birdən çox bölgə təbəqəsi) şərti yaradın
  4. Hər bir satır üçün tapılacaq yeni bir iz ölçüsü təyin edin (traceSize2)
  5. Sərhədlərin mövcud olduğu indeksləri tapmaq üçün "loc2" seçin
  6. "B2" də "loc2" tərəfindən təyin olunan hüceyrələr "largeTrace2" ə bərabər olsun
  7. Alt indeksləri indekslərə çevirin, "lindex" olaraq təyin edin
  8. "LargeTraceMat" da "lindex" ə uyğun olan elementləri 1 -ə dəyişdirin
  9. "Loc2" ilə indekslənmiş bir dəst ilə "b2" boş matrisini işə salın.

Addım 8: Bağlı Alqoritmin İnkişafı: Deliklərin Müdaxiləsi

Bağlı Alqoritmin İnkişafı: Deliklərin Müdaxiləsi
Bağlı Alqoritmin İnkişafı: Deliklərin Müdaxiləsi

Deliklər ilə məşğul olarkən, "b2" də saxlanılan dəyərlər ən böyük izdən başqa strukturları izləyir və bunları "LargeTraceMat" ın doldurulmuş bir forması üzərində quraraq beyin bölgələrində hansı deşiklərin olduğunu ortaya qoyur.

  1. "LargeTraceMat" şəklində doldurulmuş "fillMat" serialı yaradın
  2. "Xsize" sıfırdan ibarət "ysize" "interferenceMat" serialı yaradın
  3. Şaquli olaraq birləşdirilmiş "b2" dən dəyərləri saxlamaq üçün "interferenceloc" serialı yaradın
  4. "Interferenceloc" a uyğun gələn indeksləri saxlamaq üçün "lindex" serialı yaradın
  5. "InterferenceMat" dakı "lindex" ə uyğun olan indekslər üçün fərqli bir məhdudlaşdırılmış bölgə halına gətirərək dəyəri 1 olaraq təyin edin.

Addım 9: Bağlı Alqoritmin İnkişafı: Deliklərin Yerləşdirilməsi, Beyin Bağlarının və Delik Bağlarının Sonlandırılması

Bağlı Alqoritmin İnkişafı: Deliklərin Yerləşdirilməsi, Beyin Bağlarının və Delik Bağlarının Sonlandırılması
Bağlı Alqoritmin İnkişafı: Deliklərin Yerləşdirilməsi, Beyin Bağlarının və Delik Bağlarının Sonlandırılması
  1. "TempMat" dizisini "interferenceMat" plus "fillMat" a bərabər olaraq təyin edin, beləliklə matrisdəki hər bir dəyəri bir -birinə əlavə edin.
  2. "DelikLoc" dizisini "interferenceMat" və "fillMat" ın hər ikisinin bir olduğu indekslərə bərabər təyin edin
  3. Ölçülərin sıfır matrisi olaraq "holeMat" qurun "ysize" x "xsize"
  4. "HoleMat" da "holeLoc" a bərabər olan indekslər qurun
  5. "Beyin" i "LargeTraceMat" olaraq təyin edin
  6. "Delikləri" "holeMat" a təyin edin

Əlavə edilmiş matrislərin dəyərlərinin 2 -yə bərabər olduğu aşkar edildikdə, çuxur yerləri asanlıqla təmin edildi və boş bir matrisə qoydu.

Addım 10: Məlumatların Qeydiyyatı: PatientFiles.m funksiyası

Giriş məlumatları: PatientFiles.m funksiyası
Giriş məlumatları: PatientFiles.m funksiyası
Giriş məlumatları: PatientFiles.m funksiyası
Giriş məlumatları: PatientFiles.m funksiyası
Giriş məlumatları: PatientFiles.m funksiyası
Giriş məlumatları: PatientFiles.m funksiyası
Giriş məlumatları: PatientFiles.m funksiyası
Giriş məlumatları: PatientFiles.m funksiyası

Son funksiyanın qurulması kimi, pəncərənin sol üst küncündə qalın sarı artı işarəsi olan "Yeni" yazan düyməni basın və redaktor pəncərəsində boşluq açmaq üçün "funksiya" seçimini seçin. üçüncü şəkildəki kimidir. Birinci sətirdə çıxış matrisini silin və sadəcə "çıxış" ilə əvəz edin, "untitled2" yerinə "PatientFiles" yazın, bütün giriş arqumentlərini silin və bunun əvəzinə kod xəttinin dördüncü şəklində göstərilən formatlamaya əməl edin. Bu funksiyanın ilk sətri şəklin formatına uyğun olmalıdır.

Addım 11: Məlumatların Fayllara Girişi

Məlumatların Fayllara Girişi
Məlumatların Fayllara Girişi
Məlumatların Fayllara Girişi
Məlumatların Fayllara Girişi

Əsas funksiya tərəfindən tapılan məlumatları qeyd etmək üçün bir fayl qurmaq üçün (hələ təsvir olunmayıb), bu addımları yerinə yetirməliyik (kodun xətti ilə göstərildiyi kimi).

  1. PatientName üçün girişin bir simli olub olmadığını yoxlayın.
  2. Bir simli deyilsə, xəstə adı girişinin bir simli olması lazım olduğunu göstərin.
  3. İf ifadəsini sonlandırın (xətanın qarşısını alın).
  4. Aşağıdakı formatı verəcək "DateandTime" simli ifadəsi qurun: saat: dəqiqə-ay/gün/il.
  5. FileName dəyişənini aşağıdakı kimi təyin edin: PatientName.m.

İndi funksiyanın növbəti hissəsinə keçək: Bu adda bir fayl artıq varmı?

1) Tutaq ki, bu adda fayl artıq mövcuddur:

  1. Keçmişdəki dəyərləri almaq üçün faylı işə salın
  2. Mövcud iterasyonun "DateandTime" məlumatlarını x dəyərlərinin hüceyrə massivinə yeni bir hüceyrə olaraq əlavə edin (indeks sonu+1)
  3. Mövcud "brainVolume" dəyərini y dəyərlərinin hüceyrə massivinə yeni bir hüceyrə olaraq əlavə edin (indeks sonu+1)
  4. Faylı yüklənmiş cari dəyişənləri qeyd edin.

2) Tutaq ki, bu adda fayl yoxdur:

  1. "PatientName" dəyişənində saxlanılan adı olan yeni bir fayl yaradın
  2. Mövcud "DateandTime" məlumatlarını x dəyərlərinin boş hüceyrə massivinə bir hüceyrə olaraq əlavə edin
  3. Mövcud "brainVolume" məlumatlarını y dəyərlərinin boş hüceyrə massivinə bir hüceyrə olaraq əlavə edin
  4. Faylı yüklənmiş cari dəyişənləri qeyd edin.

Addım 12: Məlumatların Qeydə Alınması: Zamanla Beyin Həcmi Planının Göstərilməsi

Giriş məlumatları: Zamanla Beyin Həcminin Bir Plotunu Göstərmək
Giriş məlumatları: Zamanla Beyin Həcminin Bir Plotunu Göstərmək
  1. Planlaşdırmağa imkan vermək üçün x dəyərlər dizisini (xVals) kateqoriyalı bir sıraya (xValsCategorical) çevirin.
  2. Şəkil pəncərəsi yaradın 5
  3. "XValsCategorical" və "yVals" (beyin həcmini ehtiva edən) tərəfindən təyin olunan nöqtələri, nöqtələri göstərmək və kəsikli xətlərlə bağlanmaq üçün içi boş dairələrdən istifadə edərək qurun.
  4. Süjetə belə başlıq verin: xəstəAdı Beyin Həcmi Veriləri
  5. X oxunu şəkildəki kimi etiketləyin
  6. Y oxunu şəkildəki kimi etiketləyin
  7. 5 rəqəmi çıxışa bərabər olsun

Bundan sonra, xəstə adı adlandırılan funksiya zamanla beyin həcmini izləyən, düzəliş edilmiş məlumatları və meylləri əks etdirən bir süjet verəcəkdir.

Addım 13: Subplotlarda Boşluqların Bağlanması: Subplotclose.m

Subplotlarda Boşluqların Bağlanması: Subplotclose.m
Subplotlarda Boşluqların Bağlanması: Subplotclose.m

Http://www.briandalessandro.com saytından koddan uyğunlaşdırılan funksiya, MRT görüntülərini və beyin təbəqələrini əks etdirən fiqurlar yaradıldıqda, əsas kodun alt sahə rəqəmləri arasındakı boşluqları bağlamaq funksiyasını yerinə yetirir. Subplotclose.m -də istifadə olunan alt sahə funksiyası, daha uzun ölçü baxımından bir -birinə sıx uyğunlaşmaq üçün verilən alt sahələrin mövqeyini düzəldir. Məsələn, kod 7 x 3 matrisini nəzərdə tutursa, satır ölçüsü daha uzun olduğu üçün satırlar sıx uyğunlaşacaq. Kod 3 x 7 matrisini nəzərdə tutursa, sütunlar əsas kodumuzun şəkillərində göstərildiyi kimi satırlarda boşluqlar olan rahat şəkildə yerləşəcəkdir.

Addım 14: Əsas Kod: Hamısının silinməsi və Girişlərin sorulması

Əsas Kod: Hamısını təmizləmək və Girişləri istəmək
Əsas Kod: Hamısını təmizləmək və Girişləri istəmək

Əsas kodu işə salmaq üçün, pəncərənin yuxarı sol küncündə "Yeni" yazan eyni düyməni basın və əvvəlki bölmələrdən "İşlev" yerinə "Skript" seçin. Redaktor pəncərəsindəki şəkildə göstərildiyi kimi kodu yazın. Kod xətləri aşağıdakı vəzifələri yerinə yetirir:

  1. 0, 1 və 2 istisna olmaqla bütün faylları açın.
  2. Bütün rəqəm pəncərələrini bağlayın.
  3. İş sahəsindəki bütün dəyişənləri silin.
  4. Komanda Pəncərəsini silin.
  5. Komanda Pəncərəsində Göstər: MRT taramaları üçün aşağıdakı ölçüləri daxil edin:
  6. Komanda Pəncərəsində yeni bir sətirdə soruşun: Bir taramanın uzunluğu milimetrdir:. İstifadəçi tərəfindən verilən cavab "lengthMM" dəyişəninə təyin ediləcək.
  7. Yeni bir sətirdə soruşun: MRT taramaları arasındakı məsafə milimetrdə:. İstifadəçi tərəfindən verilən cavab "ZStacks" dəyişəninə təyin ediləcək.

Addım 15: Əsas Kod: Şəkillərin Toplu İşlənməsi

Əsas Kod: Şəkillərin İşlənməsi
Əsas Kod: Şəkillərin İşlənməsi
Əsas Kod: Şəkillərin Toplu İşlənməsi
Əsas Kod: Şəkillərin Toplu İşlənməsi

Bu bölmədə kod şəkilləri (beynin kəsik hissələrinin MRT taramalarından ibarət) yükləyəcək və hər bir görüntü faylının adlarını "Base" dəyişənində saxlayacaq və hər bir MRT taramasını göstərəcək. Zəhmət olmasa, şəkildəki aşağıdakıları yerinə yetirən kodu izləyin:

  1. MRI _ () ad formatına uyğun olan cari qovluqdakı bütün fayllar haqqında məlumatı olan "BrainImages" quruluş dizisi yaradın. Png
  2. "BrainImages" struktur dizisindəki elementlərin sayına bərabər olan "NumberofImages" dəyişənini təyin edin.
  3. Şəkil pəncərəsini açın 1
  4. Faylda sayılan şəkillərin sayına görə keçmək üçün bir döngə təyin edin
  5. Hər bir döngə üçün "CurrentImage", MRI_i-p.webp" />
  6. "İmshow" tərəfindən yüklənəcək 19 görüntünü göstərmək üçün 3 x 7 alt sahə yaradın.
  7. Subplot rəqəm pəncərəsində hər bir görüntüyü başqa bir element kimi göstərin
  8. Hər bir alt sahə elementini Level_ olaraq adlandırın, burada boş for döngəsinin təkrar nömrəsidir.
  9. For döngüsünü sonlandırın (xətadan qaçın)

Bu, rəqəmsal pəncərədə 1, bütün MRT taramalarını x istiqamətdə heç bir boşluq olmadan 3 x 7 konfiqurasiyasında xam formada göstərəcək.

Adım 16: Əsas Kod: Doldurma

Əsas kod: doldurma
Əsas kod: doldurma

Doldurma ilə, bir şəklin digərindən bir qədər böyük olması halında ölçü uyğunsuzluğu üçün səhv verə biləcək şəkil ölçülərində kiçik uyğunsuzluqların qarşısını alırıq.

  1. Şəkil pəncərəsini açın 2
  2. Şəkil matrisini MRI_1-p.webp" />
  3. Şəklin matrisinin ölçüsünü tapın və "OriginalXPixels" (satır sayı üçün) və "OriginalYPixels" (sütun sayı üçün) olaraq təyin edin.
  4. "BrainMat" matrisini, hər bir təyyarə üçün daha 20 satır və 20 daha çox sütundan ibarət olan sıfırlardan və hər bir təyyarə üçün 19 ümumi kəsikdən ibarət olaraq qurun.
  5. Daha sonra giriş çuxur koordinatları üçün eyni üç ölçülü sıfırdan ibarət olmaq üçün "HolesMat" qurun
  6. İki ölçülü sıfırdan ibarət olan, üstəgəl iyirmi satır və iyirmi sütunun ölçüsü olmaq üçün "zeroMat" yaradın.

Addım 17: Əsas Kod: Sərhədlərin müəyyən edilməsi

Əsas Kod: Sərhədlərin müəyyən edilməsi
Əsas Kod: Sərhədlərin müəyyən edilməsi
Əsas Kod: Sərhədlərin müəyyən edilməsi
Əsas Kod: Sərhədlərin müəyyən edilməsi
  1. Daha əvvəl yüklənmiş hər bir şəkildəki məlumatlardan keçmək üçün for for loop seçin
  2. Daha əvvəl eyni şəkildə toplu işləmə üsulu ilə "CurrentImage" faylları "MRI_i.png" ilə yükləyir, burada mən iterasiya nömrəsidir.
  3. Hər bir görüntünü əvvəllər hazırladığınız "LevelCurveTracings2.m" emal funksiyasından keçirin
  4. "Beyin" çıxışının ölçüsünü tapın, satır sayını "Currentrow" və sütun sayını "Currentcolumns" olaraq təyin edin.
  5. "CurrentMat" ı "Currentrow" və "Currentcolumns" tərəfindən təyin olunan ölçüləri olan sıfır matrisinə qoyun.
  6. "CurrentMat" da "Beyin" dən məlumatları hər tərəfdən 10 satırlıq bir boşluqla mərkəzləşdirin
  7. Şəkillərin sərhədlərini göstərmək üçün 3 x 7 ölçülü bir alt sahə yaradın
  8. Şəkil pəncərəsindəki subplot elementlərinin hər birinə başlıq verin
  9. "CurrentMat" hər bir sərhəd qatından ibarət üç ölçülü matris "BrainMat" yaradın.
  10. For loopuna son verin (səhvlərin qarşısını almaq üçün)

Aşağıdakı alt bölmə, təklif olunan üç ölçülü formanın yuxarı və aşağı hissələrində qalan delikləri doldurur

  1. "LevelCurve1" i "BrainMat" ın birinci qatına bərabər qoyun (bərk hissənin alt hissəsi)
  2. "LevelCurveEnd" i "BrainMat" ın son qatına bərabər qoyun (bərkdən yuxarı)
  3. Doldurulmuş bir təbəqə ilə "LevelCurve1" in üzərinə yazın
  4. Doldurulmuş bir təbəqə ilə "LevelCurveEnd" in üzərinə yazın
  5. Doldurulmuş təbəqəni "BrainMat" ın alt təbəqəsi olaraq təyin edin
  6. Doldurulmuş təbəqəni "BrainMat" ın üst təbəqəsi olaraq təyin edin

Addım 18: Əsas Kod: Düzgün Z Ölçüsünün Müəyyən edilməsi

Əsas Kod: Düzgün Z Ölçüsünün Müəyyən edilməsi
Əsas Kod: Düzgün Z Ölçüsünün Müəyyən edilməsi

İlk üç sətir, boş bir "z" dizisi qurmaqdan və mm^3 həcminin düzgün oxunmasını əldə etmək üçün sadə çevrilmə əməliyyatlarından (pikselləri uzunluğa bölmək) ibarətdir.

  1. Hər bir təbəqəni keçmək üçün bir döngə yaradın
  2. Verilmiş bir təbəqədə olanların sayını tapın
  3. Z koordinatlarını uyğun nisbətdə ölçülən dəyərlərə çevirin, sütun vektoru "tempz" olaraq təyin edin.
  4. Səviyyə əyrisi üçün z dəyərini z vektoruna əlavə edin

Bununla z koordinatları düzgün tənzimlənir.

Addım 19: Əsas Kod: X və Y koordinatlarının təyin edilməsi

Əsas Kod: X və Y koordinatlarının təyin edilməsi
Əsas Kod: X və Y koordinatlarının təyin edilməsi

İndi sərhədlərdəki nöqtələrin hər birinin x və y mövqelərini təyin edək.

  1. "XBrain" i boş bir sıra olaraq başladın
  2. "YBrain" i boş bir sıra olaraq başladın
  3. Yüklənmiş hər bir görüntünün içindən keçmək üçün for loop qurun
  4. Sütun vektorları ilə təmsil olunan "RowBrain" və "ColumnBrain" hər bir nöqtənin planar koordinatlarını saxlamaq üçün iki sütun matrisi tərtib edin.
  5. Hal -hazırda tapılan "RowBrain" koordinatları ilə "xBrain" əlavə edin
  6. Hal -hazırda tapılan "ColumnBrain" koordinatları ilə "yBrain" əlavə edin
  7. For loopunu sonlandırın (səhv etməmək üçün)

Addım 20: Əsas Kod: Üç Ölçülü Bir Quruluş Planı, Həcmi Tapmaq və Məlumatları Qeyd etmək

Əsas Kod: Üç Ölçülü Bir Quruluş Planı, Həcmi Tapmaq və Məlumatları Qeyd etmək
Əsas Kod: Üç Ölçülü Bir Quruluş Planı, Həcmi Tapmaq və Məlumatları Qeyd etmək
Əsas Kod: Üç Ölçülü Bir Quruluş Planı, Həcmi Tapmaq və Məlumatları Qeyd etmək
Əsas Kod: Üç Ölçülü Bir Quruluş Planı, Həcmi Tapmaq və Məlumatları Qeyd etmək
Əsas Kod: Üç Ölçülü Bir Quruluş Planı, Həcmi Tapmaq və Məlumatları Qeyd etmək
Əsas Kod: Üç Ölçülü Bir Quruluş Planı, Həcmi Tapmaq və Məlumatları Qeyd etmək
Əsas Kod: Üç Ölçülü Bir Quruluş Planı, Həcmi Tapmaq və Məlumatları Qeyd etmək
Əsas Kod: Üç Ölçülü Bir Quruluş Planı, Həcmi Tapmaq və Məlumatları Qeyd etmək

AlphaShape funksiyasından istifadə edərək beynin həcmini hesablaya biləcəyimiz üçölçülü bir quruluş yaradacağıq.

  1. AlphaShape funksiyasından istifadə edin, x, y və z koordinatları üçün "xBrain", "yBrain" və "z" vektorlarını qoşun və "BrainPolyhedron" a bərabər olaraq təyin edin.
  2. Şəkil pəncərəsini açın 3
  3. Şəkil pəncərəsində görünən "BrainPolyhedron" alfa şəklini çəkin
  4. Alfa formaları üçün işləyən "həcm" funksiyasından istifadə edərək alfa şəklinin həcmini hesablayın
  5. Həcmi mm^3 -ə çevirin
  6. Qatı maddənin həcmini Komanda Pəncərəsində çap edin
  7. Bir xəstə adının giriş olaraq təyin edilməsini istəyin
  8. Saatla cari tarix və saatı əldə edin və "DateandTime" olaraq təyin edin
  9. Hesablanmış məlumatları daxil etmək və qurmaq üçün "PatientFiles" funksiyasına zəng edin

Buradan ikinci və üçüncü şəkillər açılan rəqəmləri, dördüncü şəkil isə Komanda Pəncərəsində göstərilməlidir.

Tövsiyə: