- Voxel Activity Prediction http://users.stat.umn.edu/~gall0441/images/Openfmri_Voxel_Activity_Prediction.pdf
- Dataset OpenNeuro https://openneuro.org/datasets/ds000001/
- File dataset dapat di download disini https://drive.google.com/file/d/1G-yAZAXgCHcpEhL2teV174fu4Fu-y442/view?usp=sharing
Percobaan ini dilakukan dengan mengikuti OpenfMRI Voxel Activity Prediction karya Matt Galloway dengan dilakukan beberapa modifikasi untuk tujuan studi. Data disediakan oleh organisasi OpenfMRI (openfmri.org) yang berfokus pada open-source dan berbagi dataset MRI (magnetic resonance imaging).
Anggota proyek kelompok:
No | Member Name | Github Userid | Student Id |
---|---|---|---|
2 | Dustin Pradipta | @dust16 | 00000011798 |
2 | Marcel Cahya Prasetia | @marcelcp | 00000019043 |
3 | Williem Citralin | @tyrand3 | 00000014292 |
Penelitian ini bertujuan untuk melakukan prediksi dan pemberian visual pada bagian otak yang sedang beraktifitas. Pemodelan aktifitas netral dilakukan dengan studi fmri yang menggunakan polynomial kernel estimation. Dataset digunakan untuk melakukan statistik yang diperlukan untuk melacak aktifitas otak. Aktifitas tersebut direpresentasikan dengan perubahan alur darah pada otak. Pendeteksian dilakukan dengan melakukan monitor pada hemodynamic response blood-oxygen-level dependent (BOLD) untuk setiap voxel pada dataset. Voxel merepresentasikan nilai dari regular grid di ruang 3D.
- Dataset yang dijadikan bahan penelitian adalah file dengan kategori NIFTI (bold.nii).
- Dataset yang digunakan adalah sub-01_task-balloonanalogrisktask_run-01_bold.nii.gz
- Objek ini memiliki 4 dimensi D[x, y, z, t] di mana x, y ∈ {1, ..., 64}, z ∈ {1, ..., 33}, dan t ∈ {1, ..., 210}.
- Prediksi dilakukan terhadap respon hemodynamic dari setiap voxel. Untuk melakukan hal ini, dilakukan kernel non-parametric regression dari D[x, y, z, t] terhadap t di mana t adalah variabel waktu.
Dalam melakukan penelitian digunakan library berikut:
library(shiny)
-> digunakan untuk menampilkan dalam bentuk websitelibrary(fmri)
-> digunakan untuk membaca file .nii dan melakukan maskinglibrary(locfit)
-> digunakan untuk training data dengan mengaplikasikanlocal polynomial model
danlocal linear regression
library(NeatMap)
-> digunakan untuk menampilkan kumpulan voxels dalambentuk heatmap
Tahapan readfile menggunakan library(fmri)
:
- Menggunakan
getwd()
untuk mengetahui lokasi file agar dapat dibaca - Proses membaca file .nii hingga selesai dengan menggunakan fungsi
read.NIFTI(path)
Tahapan masking menggunakan library(fmri)
:
-Data yang diambil hanya bagian mask saja untuk diamati pada fungsi data$mask
- Tujuannya dilakukan masking adalah untuk memfokuskan daerah penelitian. Daerah yang akan diteliti adalah daerah yang di masking, sedangkan daerah yang tidak di masking akan diabaikan sehingga akan mengurangi waktu komputasi
- Dilakukan train pada data mask tersebut
Tahapan train menggunakan library(locfit)
:
- Dengan menggunakan MSE melalui beberapa tahap:
- Dalam penggunaannya MSE digunakan untuk menganalisa kinerja linear regression karena memungkinkan untuk mempartisi variasi dataset menjadi variasi dalam bentuk model
Split test
dengan menggunakan 80% train dan 20% valid pada maskper = round(210 * 0.8)
Cross validation
akan menggunakanbandwidth
dan mengambil data random dari semua sisi fitting process dengan fungsisample(index, per)
danindex[-index_train]
Kernel density estimation
adalah non-parametric distribusi probabilitas (diambil dari rata-rata dan variasi). Bandwidth pada kernel adalah variabel yang bebas yang memiliki pengaruh kuat dalam mendapatkan hasil.
- Menggunakan
local polynomial model
yang didalamnya terdapat fitting process berdasarkanbandwidth
(jumlah voxel yang ingin diteliti) dengan menggunakan fungsilocfit()
- Dicari
bandwidth
yang menampilkanbalance
antara variasi dan hasil rata-rata prediksi - Hasil pertama akan menampilkan MSE dari train dan validasi
Kesimpulan dari hasil MSE pada `bandwidth` adalah semakin kecil `bandwidth` yang digunakan, mengakibatkan variasinya semakin besar dan sebaliknya. Dipilih bandwidth 20 karena diatasnya sudah memiliki variasi yang kecil
Tahapan prediksi menggunakan library(locfit)
:
- Dari bandwidth 20 akan dilakukan proses
local linear regression
dari hasil prediksilocal polynomial model
dengan menggunakan fungsilm()
- Akan diukur activity menggunakan
mean()
diantaralocal polynomial model
danlocal linear regression
yang akan menghasilkan nilai MSE, semakin besar nilai MSE (distance) maka voxel tersebut lebih aktif - Activity merepresentasikan koordinat voxel yang didalamnya terdapat nilai MSE
Hasil prediksi ditampilkan dalam bentuk heatmap
menggunakan library(NeatMap)
:
Heatmap
merepresentasikan kumpulan voxel membentuk otak- Pada voxel tertentu yang gelap, maka aktivitas pada voxel tersebut semakin minimal atau kurangnya aktivitas. Sedangkan pada voxel yang terang, menunjukkan bahwa terdapat aktivitas yang lebih aktif
- Hasil lainnya, jika menggunakan bandwidth 5 akan menghasilkan kumpulan voxel yang lebih terang dikarenakan variasinya yang lebih besar dari pada bandwidth 20
Data akan ditampilkan secara visual dalam bentuk plot menggunakan aplikasi Shiny. Library yang digunakan adalah library(Shiny)
dan library(datasets)
. Plot yang ditampilkan adalah:
-
Hasil Graph Voxel Activity pada [21,41,20]:
- Komponen I,J,K -> I adalah sumbu X, J adalah sumbu Y, dan K adalah sumbu rotasi Z
-
Heatmap:
Kami yakin bahwa penelitian ini telah berhasil melakukan prediksi terhadap aktivitas yang terjadi di dalam otak yang direpresentasikan dalam bentuk voxel. Hasil setiap voxel didapatkan dari hasil MSE diantara local polynomial model dan local linear regression. Pada gambar heatmap, terdapat area yang lebih berwarna terang dan gelap. Pada area yang lebih terang, merepresentasikan voxel yang memiliki banyak aktivitas pada otak yang didapatkan dari nilai MSE yang besar pada voxel tersebut. Sebaliknya, untuk area yang lebih gelap merepresentasikan aktivitas otak yang kurang aktif atau minimal yang didapatkan dari nilai MSE yang lebih kecil.