Daftar Isi:

Deteksi MRI Tumor Otak Menggunakan Matlab: 6 Langkah
Deteksi MRI Tumor Otak Menggunakan Matlab: 6 Langkah

Video: Deteksi MRI Tumor Otak Menggunakan Matlab: 6 Langkah

Video: Deteksi MRI Tumor Otak Menggunakan Matlab: 6 Langkah
Video: Review Pemrograman MATLAB - 001 - Perhitungan Volume Tumor Otak Pada Modalitas MRI 2024, Juli
Anonim
Deteksi MRI Tumor Otak Menggunakan Matlab
Deteksi MRI Tumor Otak Menggunakan Matlab

Oleh: Madhumita Kannan, Henry Nguyen, Ashley Urrutia Avila, Mei Jin

Kode MATLAB ini adalah program untuk mendeteksi ukuran, bentuk, dan lokasi yang tepat dari tumor yang ditemukan pada pemindaian MRI otak pasien. Program ini awalnya dirancang untuk bekerja dengan deteksi tumor pada pemindaian MRI otak, tetapi juga dapat digunakan untuk diagnostik kanker pada pemindaian organ lainnya.

Instruksi berikut pertama-tama akan menjelaskan metode analisis gambar melalui penyaringan dan pembersihan pemindaian MRI, melalui binarisasi, penyaringan median, dan jendela geser. Selanjutnya, ia akan menginstruksikan tentang cara mengisolasi tumor menggunakan topeng elips yang telah dibuat sebelumnya, dan menyaringnya lebih lanjut untuk menguraikan batas bentuk tumor.

Setelah tumor terdeteksi, instruksi selanjutnya akan menjelaskan cara menggabungkan program ini ke dalam antarmuka pengguna grafis (GUI). Sepanjang petunjuk ini, kode dan file yang sesuai akan dilampirkan untuk membantu menjelaskan cara kerja analisis pemindaian MRI ini.

Beberapa hal yang perlu diketahui, diunduh, dan disiapkan sebelum Anda melanjutkan dengan instruksi ini:1. Pastikan untuk mengunduh MATLAB versi terbaru. Anda dapat menginstal R2018b di sini:

2. Untuk menjalankan program ini, Anda harus memiliki akses ke file pemindaian otak MRI. Meskipun beberapa selalu dapat ditemukan dari gambar Google, analisis menyeluruh dan akurat dapat dilakukan dari gambar yang tepat dari berbagai lapisan pemindaian otak untuk setiap pasien. Anda dapat mengakses file untuk 20 pasien berbeda dengan glioblastoma sebelum dan sesudah perawatan dari database ini:

3. Fokus program ini dan berbagai metode yang memandu proyek ini diuraikan dalam makalah penelitian ini:

Langkah 1: Memulai Antarmuka Pengguna Grafis (GUI)

Memulai Antarmuka Pengguna Grafis (GUI)
Memulai Antarmuka Pengguna Grafis (GUI)
Memulai Antarmuka Pengguna Grafis (GUI)
Memulai Antarmuka Pengguna Grafis (GUI)

Langkah pertama adalah membuat dan memulai antarmuka pengguna grafis, GUI. Ini dapat dilakukan dengan mengetikkan panduan ke dalam jendela perintah, menekan enter, dan membuat GUI baru. Setelah langkah ini selesai, Anda dapat mulai membuat fungsi seperti sumbu, teks statis, teks edit, dan tombol tekan yang akan ditampilkan setelah program dijalankan dan pengguna dapat berinteraksi. Fungsi-fungsi ini dapat diedit dan dimanipulasi melalui pemeriksa properti, namun fitur terpenting yang harus diubah saat membuat fungsi ini adalah nama Tag. Penting untuk mengubah nama Tag dari setiap fungsi yang diimplementasikan karena akan memungkinkan kita untuk membuat fungsi panggilan balik yang dapat dibedakan. Setelah Anda puas dengan tata letak GUI Anda, Anda dapat melanjutkan untuk memuat file DICOM yang akan ditampilkan di dalam GUI.

Langkah 2: Memuat dan Membaca Gambar MRI di MATLAB

Memuat dan Membaca Gambar MRI di MATLAB
Memuat dan Membaca Gambar MRI di MATLAB
Memuat dan Membaca Gambar MRI di MATLAB
Memuat dan Membaca Gambar MRI di MATLAB

Untuk memuat file DICOM, Anda harus menginisialisasi dengan benar fungsi panggilan balik yang akan dijalankan saat menekan tombol "Muat Gambar MRI". Setelah ini selesai, Anda harus membuat variabel global yang akan menampilkan gambar pada sumbu pegangan di mana Anda ingin Gambar MRI Asli ditampilkan. Gambar pindaian MRI yang diunduh dari database adalah semua file berformat DICOM yang perlu dimuat ke direktori MATLAB Anda. Temukan file menggunakan imgetfile untuk memuatnya ke dalam program. Gambar dibaca menggunakan fungsi MATLAB bawaan 'dicomread', dan gambar mentah pertama untuk setiap file ditanamkan ke sumbu GUI kiri menggunakan imshow.

Fungsi MATLAB built in 'dicominfo' juga sangat berguna dalam menangani semua informasi dari setiap file dicom MRI. Kami menggunakan fungsi ini untuk mengekstrak semua informasi deskriptif pasien, seperti jenis kelamin, usia, berat badan, dan tinggi badan. Fungsi ini juga memberi Anda urutan tumpukan yang berguna untuk implementasi program dalam antarmuka pengguna grafis. Kami membuat variabel untuk setiap informasi deskriptif pasien yang akan digunakan untuk GUI saat tombol deteksi ditekan.

Langkah 3: Pemfilteran Gambar

Pemfilteran Gambar
Pemfilteran Gambar
Penyaringan Gambar
Penyaringan Gambar

Setelah file DICOM dari gambar mentah dimuat dan dibaca, gambar perlu diubah dari skala abu-abu menjadi bentuk biner yang hanya terdiri dari piksel hitam dan putih Kami menggunakan fungsi 'imbinarize' untuk membuat gambar biner dari gambar mentah dengan aspek pengendalian adaptif thresholding pada nilai sensitivitas 0,59. Faktor sensitivitas ambang batas default, 0,5 rendah dan tidak dapat mendeteksi gumpalan dan bintik yang lebih terang dari gambar, jadi kami meningkatkannya menjadi 0,59.

Citra biner tersebut kemudian diproses melalui median filter menggunakan fungsi ‘medfilt2’ karena citra biner tersebut bersifat dua dimensi. Kami mengatur setiap piksel keluaran untuk memuat nilai median di lingkungan 5 x 5 di sekitar piksel yang sesuai dalam gambar biner masukan. Ini mengurangi noise dan mempertahankan tepi dalam persegi 5 x 5 di sekitar setiap piksel. Selanjutnya, kami menerapkan jendela geser menggunakan 'strel', untuk membuat elemen penataan datar berbentuk disk dengan radius lingkungan 2 untuk mengidentifikasi setiap pusat, piksel asal, di setiap lingkungan disk. Kami menggunakan elemen penataan disk karena kami menganalisis setiap titik melingkar dan piksel di setiap titik, jadi elemen bentuk disk lebih berguna.

Setelah gambar difilter, itu dapat dibersihkan menggunakan fungsi 'imclose' untuk menghilangkan bintik hitam di antara piksel putih yang difilter pada gambar, dan menutup semua celah di sekitarnya. Gambar yang diproses sepenuhnya kemudian dapat diplot di subplot kedua dari gambar yang telah dialokasikan sebelumnya, memungkinkan perbandingan antara gambar mentah dan yang difilter.

Langkah 4: Isolasi Tumor Melalui Elliptical Mask

Isolasi Tumor Melalui Elliptical Mask
Isolasi Tumor Melalui Elliptical Mask
Isolasi Tumor Melalui Elliptical Mask
Isolasi Tumor Melalui Elliptical Mask
Isolasi Tumor Melalui Elliptical Mask
Isolasi Tumor Melalui Elliptical Mask

Titik terang tumor kemudian dapat diisolasi dari gambar utama yang disaring melalui topeng elips yang telah dibuat sebelumnya. Untuk membuat topeng ini, Anda harus mengetahui ukuran asli, gambar pemindaian MRI mentah, dan menggunakan panjang baris dan kolomnya, masing-masing sebagai koordinat x dan y, mengalokasikan koordinat pusat untuk elips. Kami menetapkan sumbu y sebagai sumbu utama dengan radius 50 unit dari pusat, dan sumbu minor dengan radius 40 unit dari pusat.

Kami menggunakan fungsi MATLAB 'meshgrid' untuk menghasilkan bidang kartesius dengan koordinat grid dua dimensi berdasarkan koordinat yang terdapat dalam vektor dari 1 hingga panjang sumbu x, dan dari 1 hingga panjang sumbu y gambar. Col adalah matriks yang setiap barisnya merupakan salinan dari sumbu x, dan Baris adalah matriks yang setiap kolomnya merupakan salinan dari sumbu y. Kisi-kisi kartesius yang diwakili oleh koordinat Col dan Row memiliki baris panjang(1:Y_Size) dan kolom panjang(1:X_Size). Gunakan indeks Col dan Baris yang dihasilkan oleh kisi kartesius untuk menentukan persamaan elips tergantung pada radius dan koordinat pusat yang telah ditentukan. Garis elips sekarang dapat diisi dengan piksel putih yang ditemukan dari bintik-bintik tumor.

Memanfaatkan topeng elips yang telah dibuat sebelumnya, kami dapat memotong tumor spesifik yang ingin Anda analisis dari gambar yang difilter. Topeng elips mendeteksi bintik-bintik mana yang secara logis sesuai dengan garis besar elips dan menerima ini sebagai bintik pada gambar yang difilter agar dapat diterima sebagai tumor. Fungsi 'bwareafilt' kemudian menyaring semua objek lain di luar tumor yang terdeteksi ini dari gambar. Kami menggunakan jendela khusus 500 kali 4000 secara empiris berdasarkan dimensi semua gambar. Kami kemudian menerapkan jendela geser lain dengan 'strel' sebagai elemen penataan berbentuk cakram datar dari radius lingkungan yang lebih besar dari 6, untuk menutup celah antara setiap piksel putih pusat dalam tumor yang terdeteksi. Bintik tumor yang terdeteksi selanjutnya dibersihkan menggunakan 'imclose' untuk lebih menghilangkan piksel hitam dan mengisi semua lubang dengan 'imfill'. Tumor yang diproses ini kemudian dapat ditampilkan di subplot ketiga di plot yang telah dialokasikan sebelumnya untuk memberikan perbandingan antara tumor yang diisolasi dan gambar asli dan gambar yang disaring dari pemindaian MRI.

Langkah 5: Garis Besar Tumor

Garis Besar Tumor
Garis Besar Tumor
Garis Besar Tumor
Garis Besar Tumor

Sekarang tumor diisolasi dengan topeng, itu dapat diuraikan dan ditampilkan pada gambar asli, untuk menunjukkan lokasi yang tepat. Untuk melakukan ini, kami menggunakan fungsi 'bwboundaries' untuk melacak tumor yang terdeteksi sebelumnya dengan garis besar. Kami menentukan garis besar untuk tidak memasukkan lubang di dalam objek tumor seperti yang sedang diuraikan. Ini dapat diplot ke gambar mentah asli, menggunakan loop 'untuk' yang memplot garis besar di sekitar tumor menggunakan indeks garis dengan lebar garis 1,5 piksel. Garis besar ini kemudian diplot ke gambar mentah, menunjukkan ukuran dan lokasi tumor yang tepat, relatif terhadap pemindaian MRI asli.

Langkah 6: Menganalisis Sifat Fisik Tumor

Menganalisis Sifat Fisik Tumor
Menganalisis Sifat Fisik Tumor
Menganalisis Sifat Fisik Tumor
Menganalisis Sifat Fisik Tumor

Tempat yang terisolasi dan digariskan dapat memberi kita informasi yang berguna tentang ukuran, area, dan lokasi tumor. Kami menggunakan fungsi 'regionprops' untuk mendeteksi properti tumor yang berkaitan dengan area, perimeter, centroid, dan nilai indeks piksel. Nilai indeks piksel ini memberi kita unit dunia nyata untuk setiap piksel setiap gambar, unik untuk setiap pemindaian. Properti ini kemudian dapat diubah menjadi satuan milimeter dunia nyata. Informasi empiris yang diberikan oleh program ini unik untuk setiap pemindaian MRI dan sangat berguna dalam menentukan ukuran, lokasi, dan jenis tumor, yang dapat dianalisis dan dimasukkan oleh pengguna ke dalam antarmuka pengguna grafis.

Direkomendasikan: