Daftar Isi:

Brain Box: Melacak Volume Neural Seiring Waktu: 20 Langkah
Brain Box: Melacak Volume Neural Seiring Waktu: 20 Langkah

Video: Brain Box: Melacak Volume Neural Seiring Waktu: 20 Langkah

Video: Brain Box: Melacak Volume Neural Seiring Waktu: 20 Langkah
Video: Joscha Bach: Waktu, Hipotesis Simulasi, Keberadaan 2024, Juli
Anonim
Brain Box: Melacak Volume Neural Seiring Waktu
Brain Box: Melacak Volume Neural Seiring Waktu

Kemajuan ke perbatasan kehidupan manusia yang lebih panjang telah memunculkan penyakit yang tidak terlihat oleh peradaban sebelum kita. Di antaranya, Alzheimer mempengaruhi sekitar 5,3 juta lansia Amerika yang hidup pada tahun 2017, atau sekitar 1 dari 10 lansia Amerika (https://www.alz.org/facts/) dan banyak lainnya dengan demensia. Untuk membantu perjuangan memahami apa yang menimpa orang tua kita, kode ini akan membekali para peneliti masa depan dan ingin tahu dengan kemampuan melacak volume otak dari waktu ke waktu.

Langkah 1: Menggunakan Kotak Otak

Menggunakan Kotak Otak
Menggunakan Kotak Otak

Untuk menggunakan kotak otak, seseorang hanya membutuhkan yang berikut:

  • Pemindaian MRI otak dan nama serta format file tersebut (semuanya harus memiliki dimensi yang kira-kira sama)
  • Panjang satu pemindaian
  • Jarak antara setiap lapisan (pemindaian MRI)
  • Nama Pasien (Saat menginput, jangan sertakan spasi dan harap menggunakan huruf besar untuk nama depan dan nama belakang, seperti: Nama Depan Nama Belakang)

Dan dari sini, seseorang memiliki kemampuan untuk melacak tren individu dalam volume otak dari waktu ke waktu. Dengan demikian, angka tren Alzheimer dapat dilacak oleh perangkat lunak ini. Panjang yang kami gunakan dalam percobaan adalah 180 mm untuk panjang satu pemindaian dan 5 mm untuk jarak antara pemindaian MRI, berdasarkan angka rata-rata.

Namun, penerapan brain box tidak perlu dibatasi untuk tugas yang satu ini. Jika penampang melintang dari benda padat yang diberikan adalah foto, seperti tumor itu sendiri, tren perubahan volume untuk ini juga dapat dilacak dalam perangkat lunak.

Langkah 2: Intro: Menganalisis Cross Sections

Intro: Menganalisis Cross Sections
Intro: Menganalisis Cross Sections

Dalam struktur tiga dimensi, bidang dua dimensi yang terdiri dari itu akan disebut penampang. Bayangkan setumpuk kertas membentuk prisma persegi panjang, maka setiap lembar kertas akan menjadi penampang kertas. Dalam membayangkan otak, kita menerapkan pola pikir yang sama. MRI (magnetic resonance imaging) (lihat informasi tentang MRI) menangkap penampang otak, dan dari menggunakan batas-batas yang ditentukan di setiap "lapisan" otak yang disediakan, kita dapat membangun struktur untuk memodelkan dan menemukan volume otak. Pertama-tama kita harus membangun fungsi untuk memberikan informasi tentang batas-batas tersebut.

Langkah 3: Menyiapkan Fungsi: LevelCurveTracings.m

Menyiapkan Fungsi: LevelCurveTracings.m
Menyiapkan Fungsi: LevelCurveTracings.m
Menyiapkan Fungsi: LevelCurveTracings.m
Menyiapkan Fungsi: LevelCurveTracings.m
Menyiapkan Fungsi: LevelCurveTracings.m
Menyiapkan Fungsi: LevelCurveTracings.m
Menyiapkan Fungsi: LevelCurveTracings.m
Menyiapkan Fungsi: LevelCurveTracings.m

Pertama, pastikan komputer Anda telah mengunduh MATLAB_R2017b (unduh di sini) dan buka MATLAB. Di antarmuka MATLAB, klik tombol di sudut kiri atas jendela yang bertuliskan "Baru" dengan tanda tambah kuning tebal, dan pilih opsi "fungsi", untuk membuka di jendela editor ruang yang menyerupai di gambar ketiga. Kami akan fokus mengubah baris pertama untuk mengatur fungsi. Di mana tertulis "outputArg1", ganti dengan "otak", "outputArg2" untuk mengatakan "lubang", "untitled2" menjadi "exp2", dan "inputArg1" menjadi "gambar", dan hapus "inputArg2". Anda sekarang memiliki fungsi untuk dipanggil menggunakan "exp2", mengambil satu argumen "gambar" dan mengeluarkan batas "otak" dan "lubang". Baris pertama dari fungsi harus menyerupai garis yang digambarkan pada gambar keempat. Hapus semua kode di bawah baris awal ini.

Langkah 4: Mengembangkan Algoritma Terikat: Menemukan Batas

Mengembangkan Algoritma Terikat: Menemukan Batas
Mengembangkan Algoritma Terikat: Menemukan Batas

Ketik kode sebagai berikut di bawah baris. Bagian fungsi ini melakukan baris demi baris berikut.

  1. Muat di gambar "gambar" ke dalam variabel "mri".
  2. Ubah "mri" menjadi gambar yang terbuat dari nilai dalam rentang angka hingga satu dan nol (alias binarisasi) berdasarkan nilai ambang batas yang ditetapkan. Jika nilai dalam suatu piksel sama dengan atau lebih besar dari 0,1, maka akan disetel ke satu, jika tidak, nilai pada piksel tersebut disetel ke nol.
  3. Empat baris berikut mengubah 10 kolom dan baris di tepi lapisan pemindaian MRI menjadi nol, untuk menghindari pembacaan nilai yang tidak tepat sebagai batas (seperti yang dipelajari dari eksperimen dengan kode).
  4. Pada baris terakhir, bwboundaries menelusuri batas gambar biner "mri" dan menyetelnya sama dengan "b", sebuah larik dengan elemen yang indeksnya sesuai dengan indeks batas yang disetel ke satu.

Langkah 5: Mengembangkan Algoritma Terikat: Menghasilkan Array Terikat Luar

Mengembangkan Algoritma Terikat: Menghasilkan Array Terikat Luar
Mengembangkan Algoritma Terikat: Menghasilkan Array Terikat Luar

Ikuti bersama di jendela editor dengan kode berikut pada gambar. Bagian kode ini melakukan baris demi baris berikut.

  1. Temukan panjang setiap baris dari gambar biner "b" (cellfun menerapkan panjang fungsi untuk setiap baris).
  2. Atur "loc" untuk menyimpan panjang maksimum.
  3. Temukan indeks dengan panjang maksimum, atur untuk disimpan di "largestTrace".
  4. Temukan ukuran gambar "mri", yang terdiri dari ukuran yang sama dengan "b", dan atur ke "BWsize".
  5. Temukan jumlah baris dalam larik gambar, setel ke "ysize".
  6. Temukan jumlah kolom dalam larik gambar, setel ke "xsize".
  7. Hasilkan larik "largestTraceMat", matriks "ysize" dengan "xsize" nol.
  8. Temukan indeks ekuivalen dari nilai subskrip yang sesuai dengan di mana nilai terbesarTrace x dan nilai y berada, simpan dalam vektor "lindex".
  9. Dalam matriks nol, "largestTraceMat", ubah elemen pada indeks yang sesuai dengan nilai indeks yang disimpan sebagai elemen dalam "lindex" menjadi satu.

Jadi larik logis "largestTraceMat" memiliki wilayah terbatas terbesar dari penampang pemindaian otak yang diberikan yang diplot sebagai yang berlatar belakang nol

Langkah 6: Mengembangkan Algoritma Terikat: Bekerja Dengan Titik Pusat

Mengembangkan Algoritma Terikat: Bekerja Dengan Titik Pusat
Mengembangkan Algoritma Terikat: Bekerja Dengan Titik Pusat

Selanjutnya, kita harus menguji untuk melihat apakah penampang terdiri dari lebih dari satu wilayah (terbesar). Dengan menguji keselarasan centroid region terbesar, kita dapat melihat apakah ada satu region yang berdekatan, yang akan menghasilkan centroid yang lebih terpusat, atau kemungkinan beberapa region.

  1. Gunakan "regionProps" untuk menemukan informasi tentang centroid yang ada, setel sama dengan array struktur "tempStruct"
  2. Bentuk larik "centroids" dengan data dari bidang "centroid" yang digabungkan secara vertikal
  3. Ambil nilai kolom kedua dari "centroids" (koordinat dimensi horizontal)
  4. Jalankan filter untuk memeriksa keselarasan centroid ke pusat horizontal

Langkah 7: Mengembangkan Algoritma Terikat: Ketika Centroid Tidak Terpusat

Mengembangkan Algoritma Terikat: Ketika Centroid Tidak Terpusat
Mengembangkan Algoritma Terikat: Ketika Centroid Tidak Terpusat

Dalam skenario bahwa pusat massa dari wilayah jejak terbesar tidak terpusat, kita melalui langkah-langkah berikut. Seperti yang telah kami amati dalam pemindaian MRI, kecenderungannya adalah memiliki belahan otak yang digambarkan dalam penampang ketika tidak bersebelahan, jadi kami sekarang terus memplot jejak terbesar kedua bersama dengan jejak terbesar di "largestTraceMat"

  1. Atur matriks yang dilacak ke variabel baru "b2"
  2. Inisialisasi matriks kosong "b2", dengan satu set yang diindeks oleh "loc"
  3. Buat kondisional, ketika centroid tidak terpusat (yaitu lapisan beberapa wilayah)
  4. Tetapkan ukuran jejak baru untuk ditemukan untuk setiap baris (traceSize2)
  5. Setel "loc2" untuk menemukan indeks di mana batas hadir
  6. Biarkan sel yang ditentukan oleh "loc2" di "b2" sama dengan "largestTrace2"
  7. Ubah subskrip menjadi indeks, setel ke "lindex"
  8. Ubah elemen yang sesuai dengan "lindex" di "largestTraceMat" menjadi 1
  9. Inisialisasi matriks kosong "b2", dengan set yang diindeks oleh "loc2"

Langkah 8: Mengembangkan Algoritma Terikat: Interferensi Lubang

Mengembangkan Algoritma Terikat: Interferensi Lubang
Mengembangkan Algoritma Terikat: Interferensi Lubang

Dalam menangani lubang, nilai yang disimpan dalam "b2" melacak struktur selain jejak terbesar, dan memplotnya ke dalam bentuk "terbesarTraceMat" yang diisi akan mengungkapkan di mana ada lubang di daerah otak.

  1. Buat array "filledMat", yang merupakan bentuk isian dari "largestTraceMat"
  2. Buat larik "interferenceMat", "ysize" dengan larik "xsize" dari nol
  3. Buat array "interferenceloc", untuk menyimpan nilai dari "b2", digabungkan secara vertikal
  4. Buat array "lindex" untuk menyimpan indeks yang sesuai dengan "interferenceloc"
  5. Untuk indeks di "interferenceMat" yang sesuai dengan "lindex", tetapkan nilai ke 1, membuat wilayah terbatas yang berbeda

Langkah 9: Mengembangkan Algoritma Terikat: Menemukan Lubang, Menyelesaikan Batas Otak dan Batas Lubang

Mengembangkan Algoritma Terikat: Menemukan Lubang, Menyelesaikan Batas Otak dan Batas Lubang
Mengembangkan Algoritma Terikat: Menemukan Lubang, Menyelesaikan Batas Otak dan Batas Lubang
  1. Setel array "tempMat" sama dengan "interferenceMat" plus "filledMat", sehingga menambahkan setiap nilai dalam matriks satu sama lain
  2. Setel larik "holesLoc" sama dengan indeks di mana "interferenceMat" dan "filledMat" keduanya sama dengan satu
  3. Atur "holesMat" sebagai matriks nol dimensi "ysize" x "xsize"
  4. Tetapkan indeks di "holesMat" yang sama dengan "holesLoc" sebagai satu
  5. Setel "otak" ke "largestTraceMat"
  6. Atur "holes" menjadi "holesMat"

Dengan ditemukannya nilai matriks yang ditambahkan sama dengan 2, lokasi lubang dapat dengan mudah diamankan dan diplot ke dalam matriks kosong.

Langkah 10: Data Logging: Fungsi PatientFiles.m

Data Logging: Fungsi PatientFiles.m
Data Logging: Fungsi PatientFiles.m
Data Logging: Fungsi PatientFiles.m
Data Logging: Fungsi PatientFiles.m
Data Logging: Fungsi PatientFiles.m
Data Logging: Fungsi PatientFiles.m
Data Logging: Fungsi PatientFiles.m
Data Logging: Fungsi PatientFiles.m

Sama seperti pengaturan fungsi terakhir, klik tombol di sudut kiri atas jendela yang bertuliskan "Baru" dengan tanda tambah kuning tebal, dan pilih opsi "fungsi", untuk membuka di jendela editor ruang yang seperti pada gambar ketiga. Pada baris pertama, hapus matriks keluaran dan ganti dengan hanya "output", ganti "untitled2" dengan "patientFiles", hapus semua argumen input, dan sebagai gantinya ikuti pemformatan yang ditentukan pada gambar keempat dari baris kode. Baris pertama dari fungsi ini harus sesuai dengan format gambar.

Langkah 11: Masuk Data Ke File

Masuk Data Ke File
Masuk Data Ke File
Masuk Data Ke File
Masuk Data Ke File

Untuk mengatur file untuk mencatat data yang ditemukan oleh fungsi utama (belum dijelaskan), kita harus mengikuti langkah-langkah ini (seperti yang ditentukan oleh kode baris demi baris).

  1. Periksa apakah input untuk patientName adalah string.
  2. Jika bukan string, tampilkan bahwa input patientName harus berupa string.
  3. Akhiri pernyataan if (mencegah kesalahan).
  4. Siapkan pernyataan string "DateandTime" yang akan memberikan format berikut: jam: menit--bulan/hari/tahun.
  5. Setel nama file variabel ke berikut: patientName.m.

Sekarang ke bagian fungsi berikutnya: Apakah file dengan nama ini sudah ada?

1) Misalkan file dengan nama ini sudah ada:

  1. Jalankan file untuk mendapatkan nilai dari antrian sebelumnya
  2. Tambahkan data "DateandTime" dari iterasi saat ini sebagai sel baru dalam array sel nilai x (indeks akhir+1)
  3. Tambahkan nilai "brainVolume" saat ini sebagai sel baru dalam larik sel nilai y (indeks akhir+1)
  4. Simpan variabel saat ini dimuat dalam file.

2) Misalkan file dengan nama ini tidak ada:

  1. Buat file baru dengan nama yang tersimpan di variabel "patientName"
  2. Tambahkan data "Tanggal dan Waktu" saat ini sebagai sel ke dalam larik sel kosong dari nilai x
  3. Tambahkan data "brainVolume" saat ini sebagai sel ke dalam array sel kosong dari nilai y
  4. Simpan variabel saat ini dimuat dalam file.

Langkah 12: Mencatat Data: Menampilkan Plot Volume Otak Seiring Waktu

Data Logging: Menampilkan Plot Volume Otak Seiring Waktu
Data Logging: Menampilkan Plot Volume Otak Seiring Waktu
  1. Ubah larik nilai x (xVals) menjadi larik kategorikal (xValsCategorical), untuk memungkinkan pembuatan plot
  2. Hasilkan jendela gambar 5
  3. Plot titik-titik yang ditunjuk oleh "xValsCategorical" dan "yVals"(berisi volume otak), menggunakan lingkaran berongga untuk menunjukkan titik-titik dan dihubungkan dengan garis putus-putus
  4. Beri judul plot sebagai: pasienNama Data Volume Otak
  5. Label sumbu x seperti yang ditunjukkan pada gambar
  6. Beri label pada sumbu y seperti pada gambar
  7. Biarkan gambar 5 sama dengan output

Dari sini, fungsi patientName yang dipanggil akan menghasilkan file dengan data yang diedit yang melacak volume otak dari waktu ke waktu, dan plot yang menampilkan tren.

Langkah 13: Menutup Kesenjangan di Subplot: Subplotclose.m

Menutup Kesenjangan di Subplot: Subplotclose.m
Menutup Kesenjangan di Subplot: Subplotclose.m

Fungsi yang diadaptasi dari kode dari https://www.briandalessandro.com ini berfungsi untuk menutup celah di antara figur subplot kode utama, saat figur yang menampilkan gambar MRI dan lapisan otak dibuat. Fungsi subplot yang digunakan dalam subplotclose.m menyesuaikan posisi subplot yang diberikan agar pas satu sama lain dalam aspek dimensi yang lebih panjang. Misalnya, jika kode bermaksud matriks 7 x 3, baris akan pas karena dimensi baris lebih panjang. Jika kode dimaksudkan untuk matriks 3 x 7, kolom akan pas, dengan celah di baris, seperti yang ditampilkan pada gambar kode utama kami.

Langkah 14: Kode Utama: Menghapus Semua dan Meminta Masukan

Kode Utama: Menghapus Semua dan Meminta Masukan
Kode Utama: Menghapus Semua dan Meminta Masukan

Untuk memulai kode utama, klik tombol yang sama yang bertuliskan "Baru" di sudut kiri atas jendela, dan pilih "Skrip" alih-alih "Fungsi" dari bagian sebelumnya. Ketik kode seperti yang ditunjukkan pada gambar di dalam jendela editor. Baris kode melakukan tugas berikut secara berurutan:

  1. Tutup semua file yang terbuka kecuali 0, 1, dan 2.
  2. Tutup semua jendela gambar.
  3. Hapus semua variabel di ruang kerja.
  4. Kosongkan Jendela Perintah.
  5. Tampilan di Jendela Perintah: Harap masukkan dimensi berikut untuk pemindaian MRI:
  6. Pada baris baru di Jendela Perintah, tanyakan: Panjang satu pemindaian dalam milimeter:. Respons yang dimasukkan oleh pengguna akan disetel ke variabel "lengthMM".
  7. Pada baris baru, tanyakan: Jarak antara pemindaian MRI dalam milimeter:. Respons yang dimasukkan oleh pengguna akan disetel ke variabel "ZStacks".

Langkah 15: Kode Utama: Pemrosesan Batch Gambar

Kode Utama: Batch Memproses Gambar
Kode Utama: Batch Memproses Gambar
Kode Utama: Pemrosesan Batch Gambar
Kode Utama: Pemrosesan Batch Gambar

Di bagian ini, kode akan memuat gambar (terdiri dari pemindaian MRI pada penampang otak) dan menyimpan nama setiap file gambar dalam variabel "Dasar" dan menampilkan setiap pemindaian MRI. Silakan ikuti dengan kode pada gambar, yang melakukan hal berikut:

  1. Buat susunan struktur "BrainImages" yang berisi informasi tentang semua file dalam folder saat ini yang sesuai dengan format nama MRI_().png
  2. Setel variabel "NumberofImages" sama dengan jumlah elemen dalam struktur array "BrainImages"
  3. Buka jendela gambar 1
  4. Atur loop for untuk menggilir jumlah gambar yang dihitung dalam file
  5. Untuk setiap loop, "CurrentImage" adalah nama masing-masing dari setiap file MRI_i.png, dengan nomor iterasi sebagai 'i'
  6. Hasilkan subplot a 3 x 7 untuk menampilkan 19 gambar yang akan dimuat oleh "imshow"
  7. Tampilkan setiap gambar sebagai elemen lain di jendela gambar subplot
  8. Beri judul setiap elemen subplot sebagai Level_, di mana kosong adalah nomor iterasi dari for loop.
  9. Akhiri perulangan for (menghindari kesalahan)

Ini akan menampilkan di jendela gambar 1 semua pemindaian MRI dalam bentuk mentah dalam konfigurasi 3 x 7 tanpa celah dalam orientasi x.

Langkah 16: Kode Utama: Padding

Kode Utama: Padding
Kode Utama: Padding

Dengan padding, kami menghindari masalah sedikit perbedaan dalam ukuran gambar yang dapat menghasilkan kesalahan untuk ketidakcocokan dimensi jika satu gambar sedikit lebih besar dari yang lain.

  1. Buka jendela gambar 2
  2. Muat matriks gambar dari MRI_1-p.webp" />
  3. Temukan ukuran matriks gambar dan atur ke "OriginalXPixels" (untuk jumlah baris) dan "OriginalYPixels" (untuk jumlah kolom)
  4. Atur matriks "BrainMat" agar terdiri dari semua nol dengan 20 baris lagi dan 20 kolom lagi untuk setiap bidang, dan 19 total penampang, satu per bidang.
  5. Siapkan "HolesMat" untuk terdiri dari array tiga dimensi nol yang sama untuk memasukkan koordinat lubang nanti
  6. Buat "zeroMat" menjadi ukuran pad ditambah dua puluh baris dan dua puluh kolom, array dua dimensi nol.

Langkah 17: Kode Utama: Menentukan Batas

Kode Utama: Menentukan Batas
Kode Utama: Menentukan Batas
Kode Utama: Menentukan Batas
Kode Utama: Menentukan Batas
  1. Atur loop for untuk menelusuri data dari setiap gambar yang dimuat sebelumnya
  2. Dengan cara yang sama dari pemrosesan batch sebelumnya, "CurrentImage" memuat file dengan "MRI_i.png", di mana i adalah nomor iterasi
  3. Jalankan setiap gambar melalui fungsi pemrosesan "LevelCurveTracings2.m" yang Anda buat sebelumnya
  4. Temukan ukuran output "Brain", atur jumlah baris ke "Currentrow" dan jumlah kolom ke "Currentcolumns"
  5. Setel "CurrentMat" ke matriks nol dengan dimensi yang ditentukan oleh "Currentrow" dan "Currentcolumns"
  6. Pusatkan data dari "Brain" di "CurrentMat", dengan margin 10 baris di semua sisi
  7. Buat subplot berdimensi 3 x 7, untuk menampilkan batas gambar
  8. Beri judul masing-masing elemen subplot di jendela gambar
  9. Hasilkan matriks tiga dimensi "BrainMat" yang terdiri dari setiap lapisan batas "CurrentMat"
  10. Akhiri perulangan for (untuk menghindari kesalahan)

Subbagian berikut mengisi lubang yang tersisa di bagian atas dan bawah dari bentuk tiga dimensi yang diusulkan

  1. Atur "LevelCurve1" sama dengan lapisan pertama "BrainMat" (bagian bawah padat)
  2. Atur "LevelCurveEnd" sama dengan lapisan terakhir "BrainMat" (bagian atas padat)
  3. Timpa "LevelCurve1" dengan lapisan yang terisi
  4. Timpa "LevelCurveEnd" dengan lapisan yang terisi
  5. Atur lapisan yang terisi sebagai lapisan bawah "BrainMat"
  6. Atur lapisan yang terisi sebagai lapisan atas "BrainMat"

Langkah 18: Kode Utama: Menentukan Dimensi Z yang Tepat

Kode Utama: Menentukan Dimensi Z yang Tepat
Kode Utama: Menentukan Dimensi Z yang Tepat

Tiga baris pertama terdiri dari menyiapkan larik kosong "z", dan melakukan operasi konversi sederhana (membagi piksel berdasarkan panjangnya) untuk mendapatkan pembacaan volume yang tepat dalam mm^3

  1. Buat loop for untuk menggilir setiap layer
  2. Temukan jumlah yang ada di lapisan tertentu
  3. Ubah koordinat z untuk yang menjadi nilai yang diskalakan ke rasio yang tepat, atur ke "tempz", vektor kolom
  4. Tambahkan nilai z untuk kurva level ke vektor z

Dengan ini koordinat z disesuaikan dengan benar.

Langkah 19: Kode Utama: Menentukan Koordinat X dan Y

Kode Utama: Menentukan Koordinat X dan Y
Kode Utama: Menentukan Koordinat X dan Y

Sekarang untuk menentukan posisi x dan y dari masing-masing titik dalam batas.

  1. Inisialisasi "xBrain" sebagai array kosong
  2. Inisialisasi "yBrain" sebagai array kosong
  3. Siapkan loop for untuk mengulang setiap gambar yang dimuat
  4. Kompilasi matriks dua kolom untuk menyimpan koordinat planar setiap titik dalam batas, yang diwakili oleh vektor kolom "RowBrain" dan "ColumnBrain"
  5. Tambahkan "xBrain" dengan koordinat "RowBrain" yang saat ini ditemukan
  6. Tambahkan "yBrain" dengan koordinat "ColumnBrain" yang saat ini ditemukan
  7. Akhiri perulangan for (untuk menghindari kesalahan)

Langkah 20: Kode Utama: Merencanakan Struktur Tiga Dimensi, Menemukan Volume, dan Mencatat Data

Kode Utama: Merencanakan Struktur Tiga Dimensi, Mencari Volume, dan Mencatat Data
Kode Utama: Merencanakan Struktur Tiga Dimensi, Mencari Volume, dan Mencatat Data
Kode Utama: Merencanakan Struktur Tiga Dimensi, Mencari Volume, dan Mencatat Data
Kode Utama: Merencanakan Struktur Tiga Dimensi, Mencari Volume, dan Mencatat Data
Kode Utama: Merencanakan Struktur Tiga Dimensi, Mencari Volume, dan Mencatat Data
Kode Utama: Merencanakan Struktur Tiga Dimensi, Mencari Volume, dan Mencatat Data
Kode Utama: Merencanakan Struktur Tiga Dimensi, Mencari Volume, dan Mencatat Data
Kode Utama: Merencanakan Struktur Tiga Dimensi, Mencari Volume, dan Mencatat Data

Menggunakan fungsi alphaShape, kita akan membuat struktur tiga dimensi dari mana kita dapat menghitung volume otak.

  1. Gunakan fungsi alphaShape, masukkan vektor "xBrain", "yBrain" dan "z" untuk koordinat x, y, dan z, dan atur sama dengan "BrainPolyhedron"
  2. Buka jendela gambar 3
  3. Plot bentuk alfa yang dihitung "BrainPolyhedron", tampilkan di jendela gambar
  4. Hitung volume bentuk alfa, menggunakan fungsi "volume" yang berfungsi untuk bentuk alfa
  5. Ubah volume menjadi mm^3
  6. Cetak volume padatan di Jendela Perintah
  7. Minta nama pasien untuk ditetapkan sebagai input
  8. Dapatkan tanggal dan waktu saat ini dengan jam, dan atur ke "Tanggal dan Waktu"
  9. Panggil fungsi "patientFiles" untuk mencatat dan memplot data yang dihitung

Dari sini gambar kedua dan ketiga harus menunjukkan angka yang muncul, dan gambar keempat yang harus ditampilkan di Jendela Perintah.

Direkomendasikan: