TA : Segmentasi Kelengkungan Tulang Belakang Pada Penderita Skoliosis Menggunakan Charged Particle Model.

(1)

SEGMENTASI KELENGKUNGAN TULANG BELAKANG PADA PENDERITA SKOLIOSIS MENGGUNAKAN

CHARGED PARTICLE MODEL

TUGAS AKHIR

Nama : Alif Aziz Mujahidin

NIM : 09.41020.0090

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER SURABAYA


(2)

vi

Skoliosis adalah fenomena kelainan tulang belakang yang akan membengkok membentuk huruf C atau S. Diagnosa derajat kelengkungan tulang belakang yang tepat akan dapat menentukan kelanjutan proses penyembuhan penderita skoliosis. Saat ini diagnosa kelengkungan tulang belakang dilakukan secara manual oleh orthopedic, sehingga memberikan ruang potensi bagi kesalahan dan kurangnya tingkat presisi pengukuran derajat kelengkungan tulang belakang (cobb angle).

Perkembangan Image Processing yang pesat saat ini memberikan solusi untuk mengatasi masalah diatas. Dalam penelitian ini, dibuat aplikasi untuk melakukan segmentasi tulang belakang. Metode segmentasi yang digunakan adalah Charged Particle Model (CPM). Untuk membantu proses segmentasi perlu untuk menambahkan proses pre-processing yang menggunakan metode Gaussian cropping dan Modified Tophat filter.

Aplikasi ini dapat melakukan segmentasi kelengkungan tulang belakang pada beberapa bentuk tulang belakang. Hasil pengukuran tingkat akurasi menggunakan metode pengukuran PSNR bernilai rata-rata sebesar 12,4213 dB dan termasuk kategori kurang baik.


(3)

ix DAFTAR ISI

ABSTRAK ... vi

KATA PENGANTAR ... vii

DAFTAR ISI ... ix

DAFTAR TABEL ... xi

DAFTAR GAMBAR ... xii

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Perumusan Masalah ... 3

1.3. Batasan Masalah ... 3

1.4. Tujuan Masalah ... 4

1.5. Kontribusi ... 4

1.6. Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 7

2.1. Struktur Tulang Belakang ... 7

2.1.1. Struktur Umum Tulang Belakang ... 8

2.2. Skoliosis ... 9

2.3. Tophat Filter ... 13

2.4. Charged Particle Model (CPM) ... 14

2.5. OpenCV ... 19

2.6. Peak Signal to Noise Ratio (PSNR) ... 20

BAB III METODE PENELITIAN ... 22

3.1. Perancangan Sistem dan Blok Diagram Sistem ... 22

3.2. Perancangan Perangkat Lunak ... 23

3.2.1. Perancangan Modified Tophat Filter ... 25

3.2.2. Perancangan Gaussian Cropping ... 28


(4)

BAB IV

PENGUJIAN SISTEM ... 43

4.1. Pengujian Modified Tophat Filter ... 43

4.1.1. Tujuan ... 43

4.1.2. Alat yang Digunakan ... 43

4.1.3. Prosedur Pengujian ... 44

4.1.4. Hasil Pengujian ... 44

4.2. Pengujian Gaussian Cropping ... 46

4.2.1 Tujuan ... 46

4.2.2. Alat yang Digunakan ... 46

4.2.3. Prosedur Pengujian ... 46

4.2.4. Hasil Pengujian ... 47

4.3. Pengujian Charged Particle Model dan Parameter ... 49

4.3.1. Tujuan ... 49

4.3.2. Alat yang Digunakan ... 49

4.3.3. Prosedur Pengujian ... 50

4.3.4. Hasil Pengujian ... 50

4.4. Pengujian Charged Particle Model pada Citra Sinar X ... 53

4.4.1. Tujuan ... 53

4.4.2. Alat yang Digunakan ... 53

4.4.3. Prosedur Pengujian ... 53

4.4.4. Hasil Pengujian ... 54

BAB V PENUTUP ... 62

5.1 Kesimpulan ... 62

5.2 Saran ... 62

DAFTAR PUSTAKA ... 63

LAMPIRAN ... 64


(5)

1 1.1. Latar Belakang Masalah

Skoliosis adalah fenomena kelainan tulang belakang yang akan membengkok membentuk huruf C atau S. Hal ini dapat mengakibatkan saraf tulang belakang terjepit atau organ-organ dalam terganggu. Tingkat presisi dalam menentukan sudut kemiringan tulang belakang (cobb angle) secara manual masih sangat rendah. Hal ini terjadi karena noise yang terdapat pada citra sinar x tulang belakang dari pasien penderita skoliosis. Noise itu dapat berupa organ-organ, darah, maupun tulang-tulang yang lainnya. Untuk itu, diperlukan proses segmentasi kelengkungan tulang belakang agar citra tulang belakang dapat diperjelas sehingga memudahkan proses selanjutnya, yaitu determinasi cobb angle.

Metode segmentasi yang akan digunakan adalah Charged Particle Model (CPM). Pada penelitian sebelumnya yang dilakukan oleh Jalba dkk pada tahun 2004 dijelaskan bahwa CPM mampu melakukan shape recovery, salah satunya bisa diterapkan pada komputasi tulang. Salah satu contohnya dapat dilihat pada Gambar 1.1. Inisialisasi yang dilakukan adalah secara otomatis. Titik-titik hitam yang terdapat pada Gambar 1.1 (a) adalah partikel-partikel yang diinisialisasi secara otomatis. Sedangkan pada Gambar 1.1 (b) adalah hasil dari penerapan CPM dimana partikel-partikel yang diinisialisasi sebelumnya sudah berada pada tepi objek. Partikel tersebut berpindah kearah tepi objek yang berada paling dekat dengan posisi awal partikel saat diinisialisasikan.


(6)

(a) (b)

Gambar 1.1. (a) inisialisasi. (b) hasil. (Jalba dkk, 2004)

CPM terdiri dari medan energi yang bermuatan negatif dan partikel yang bermuatan positif. Medan negatif diaplikasikan sebagai gaya Lorentz, sedangkan partikel bermuatan positif diaplikasikan sebagai gaya Coulomb. Citra yang akan disegmentasi diubah dalam bentuk biner dan dibuat bermuatan negatif agar memiliki gaya tarik pada partikel bermuatan positif yang berada di sekelilingnya. Sedangkan antar partikelnya terjadi tolak menolak, sehingga antar partikel tidak akan bertubrukan. Partikel bermuatan positif tersebut akan bergerak kearah objek pada citra dengan nilai negatif paling tinggi yang berada paling dekat dengan partikel bermuatan positif. Inisialisasi awal yaitu membuat partikel-partikel bermuatan positif di sekeliling daerah tulang belakang pada citra yang akan disegmentasi.

Seperti yang telah dijelaskan sebelumnya bahwa dalam menentukan cobb angle citra sinar x tulang belakang masih terkendala oleh adanya noise. Noise tersebut tidak bisa sepenuhnya dihilangkan, namun masih bisa direduksi. Cara


(7)

mereduksi yaitu dengan filtering. Filter yang bisa digunakan adalah Tophat filter (T.A. Sardjono, 2007) dan Gaussian cropping (Sugianto, 2013).

Dari hasil yang diperoleh diharapkan dapat digunakan untuk proses menentukan cobb angle pada citra sinar x tulang belakang pasien penderita skoliosis.

1.2. Perumusan Masalah

Berdasarkan latar belakang di atas maka dapat dibuat perumusan masalah sebagai berikut :

1. Bagaimana mengaplikasikan metode charged particle model (CPM) untuk proses segmentasi tulang belakang pada citra sinar x.

2. Bagaimana menentukan parameter-parameter CPM yang paling cocok untuk diterapkan pada kasus ini.

3. Bagaimana menentukan parameter Tophat filter yang paling tepat untuk diterapkan pada kasus ini.

1.3. Batasan Masalah

Batasan masalah dari tugas akhir ini adalah sebagai berikut :

1. Menggunakan citra sampel yang telah dipakai pada penelitian sebelumnya oleh T.A. Sardjono pada tahun 2007.

2. Inisialisasi CPM berada di sekitar dari tulang belakang. 3. Inisialisasi CPM dilakukan secara manual.


(8)

1.4. Tujuan Masalah

Tujuan masalah dari tugas akhir ini adalah sebagai berikut :

1. Mengaplikasikan metode charged particle model (CPM) untuk proses segmentasi tulang belakang pada citra sinar x.

2. Mendapatkan parameter-parameter CPM yang paling cocok untuk diterapkan pada kasus ini.

3. Bagaimana menentukan parameter Tophat filter yang paling tepat untuk diterapkan pada kasus ini.

1.5. Kontribusi

Metode Charged Particle Model adalah salah satu dari teknologi Computer Vision yang sedang marak dikembangkan saat ini. Dengan mengaplikasikan metode tersebut diharapkan dapat mengurangi kesalahan yang dilakukan dalam pengukuran cobb angle yang dilakukan secara manual.

1.6. Sistematika Penulisan

Laporan penelitian tugas akhir ini tersusun atas beberapa bab dengan urutan sebagai berikut :

BAB I Pendahuluan

Pada bab satu diuraikan mengenai latar belakang dari topik tugas akhir yang diambil, kemudian dirumuskan menjadi suatu permasalahan yang akan diselesaikan dalam tugas akhir ini, batasan-batasan masalah yang akan diteliti, tujuan dari penelitian tugas akhir ini, kontribusi yang dapat diberikan dari hasil penelitian


(9)

ini terhadap perkembangan ilmu pengetahuan, serta sistematika penulisan buku Tugas Akhir.

BAB II Landasan Teori

Bagian landasan teori menguraikan tentang teori-teori yang terkait dengan variabel-variabel penelitian termasuk uraian tentang pemilihan suatu teori yang diterapkan dalam menyelesaikan masalah. Teori yang akan diuraikan adalah tentang struktur tulang belakang, skoliosis, metode pre-processing yaitu Modified Tophat filter dan Gaussian cropping, metode CPM untuk segmentasi tulang belakang serta metode penghitungan rasio tingkat akurasi yaitu peak signal to noise ratio (PSNR).

BAB III Metode Penelitian

Dalam bab tiga diuraikan tentang metode penelitian yang digunakan dalam penelitian ini serta alasan dan penjelasan penggunaan metode tersebut dalam penelitian. Pada metode penelitian ini dimuat model sistem yang akan dibuat, perancangan aplikasi serta pembuatannya, yaitu implementasi filter untuk menghilangkan noise dan memperjelas objek yang diinginkan dan implementasi CPM untuk proses segmentasi tulang belakang, dan model pengujian dan evaluasi sistem yang digunakan.

BAB IV Pengujian Sistem

Dalam bagian pengujian sistem, diuraikan tentang langkah-langkah pengujian, tujuan pengujian, prosedur pengujian dan hasil pengujian serta analisis hasil pengujian sistem secara keseluruhan.


(10)

BAB V Penutup

Bagian penutup merupakan bagian akhir dari laporan penelitian tugas akhir ini yang menguraikan kesimpulan-kesimpulan yang diperoleh dari proses penelitian, serta saran-saran untuk pengembangan penelitian selanjutnya.


(11)

7 2.1. Struktur Tulang Belakang

Tulang belakang atau vertebra adalah tulang tak beraturan yang membentuk punggung yang mudah digerakkan. Seperti yang ditunjukkan pada Gambar 2.1. manusia memiliki 33 ruas tulang belakang, yang terdiri dari empat bagian, yaitu tulang leher (cervical), tulang punggung (thoracic), tulang pinggang (lumbar), dan ekor (sacral). Tiga bagian teratas tersusun dari dan 7 tulang leher, 12 tulang dada, dan 5 tulang pinggang. Sedangkan bagian ekor dibentuk dari tulang ekor (coccyx) yang disusun oleh 4 tulang terbawah dan 5 tulang di atasnya akan bergabung membentuk bagian sacrum.


(12)

2.1.1. Struktur Umum Tulang Belakang

Sebuah tulang belakang terdiri atas dua bagian yakni bagian anterior yang terdiri dari badan tulang atau corpus vertebrae, dan bagian posterior yang terdiri dari arcus vertebrae. Arcus vertebrae dibentuk oleh dua “kaki” atau pediculus dan dua lamina, serta didukung oleh penonjolan atau procesus yakni procesus articularis, procesus transversus, dan procesus spinosus. Procesus tersebut membentuk lubang yang disebut foramen vertebrale. Ketika tulang belakang disusun, foramen ini akan membentuk saluran sebagai tempat sumsum tulang belakang atau medulla spinalis. Di antara dua ruas tulang belakang dapat ditemui celah yang disebut foramen intervertebrale.

Tulang leher, secara umum memiliki bentuk tulang yang kecil dengan spina atau procesus spinosus (bagian seperti sayap pada belakang tulang) yang pendek, kecuali tulang ke-2 dan 7 yang procesus spinosusnya pendek. Gambar 2.2. menunjukkan bahwa setiap ruas tulang diberi nomor sesuai dengan urutannya dari C1-C7 (C dari cervical), namun beberapa memiliki sebutan khusus seperti C1 atau atlas, C2 atau aksis.

Procesus spinosus pada tulang punggung akan berhubungan dengan tulang rusuk. Tulang punggung dapat membuat sedikit gerakan memutar. Bagian ini dikenal juga sebagai ‘tulang punggung dorsal’ dalam konteks manusia. Bagian ini diberi nomor T1 hingga T12.


(13)

Gambar 2.2. Struktur ruas-ruas tulang belakang. (dari kiri: tampak samping kiri; tampak belakang) (www.scoliosis.co.id)

Tulang pinggang merupakan bagian paling tegap konstruksinya dan menanggung beban terberat dari yang lainnya. Bagian ini memungkinkan gerakan fleksi dan ekstensi tubuh, dan beberapa gerakan rotasi dengan derajat yang kecil. Bagian ini diberi nomor L1 hingga L5.

Pada tulang ekor bagian sacrum, terdapat 5 tulang (S1-S5). Tulang-tulang bergabung dan tidak memiliki celah atau diskus intervertebralis satu sama lainnya. Sedangkan bagian ekor (coccygeal), memiliki 3 hingga 5 tulang (Co1-Co5) yang juga saling bergabung dan tanpa celah.

2.2. Skoliosis

Skoliosis adalah suatu kelainan bentuk pada tulang belakang dimana terjadi pembengkokan tulang belakang ke arah samping kiri atau kanan (Rahayussalim, 2007). Melengkung membentuk seperti huruf “C” atau “S” seperti pada Gambar 2.3. Fenomena skoliosis ini pun sebenarnya tidak hanya dipandang dari satu sisi saja, sehingga seolah kelainan ini bersifat 2-dimensi, namun


(14)

fenomena skoliosis dapat terjadi dalam ruang lingkup 3-dimensi. Jadi tulang belakang, selain dapat melengkung dalam sumbu Y, juga dapat melengkung (terputar) dalam sumbu X, dan Z seperti pada Gambar 2.4.

Gambar 2.3. (a) Tulang belakang normal (tampak kiri; belakang); (b) Melengkung membentuk “C” (tampak belakang);

(c) melengkung membentuk “S” (tampak belakang) (www.orthopediatrics.com, 2007)

Gambar 2.4. Tulang belakang yang melengkung sekaligus terputar. (tampak belakang) (www.orthopediatrics.com, 2007)


(15)

Tingkat kelengkungan tulang belakang atau derajat skoliosis ditentukan oleh sudut kelengkungan skoliosis. Untuk mengetahui derajat skoliosis dapat dilakukan dengan menggunakan skoliometer atau yang lebih akurat dapat dilakukan dengan melakukan observasi terhadap gambar sinar-x tulang belakang. Sudut kelengkungan skoliosis dapat diukur dengan dua metode, yaitu metode risser-ferguson angle dan cobb angle. Seseorang akan dinyatakan memiliki skoliosis bila cobb angle-nya lebih dari 10°.

Pada dasarnya, skoliosis dapat dikategorikan menjadi skoliosis fungsional (non-struktural) dan skoliosis struktural. Skoliosis fungsional adalah fenomena skoliosis yang terjadi karena postur tubuh ketika duduk atau berdiri tidak tegak lurus, sehingga tulang bahu terlihat tidak sejajar. Namun sesungguhnya cobb angle pada skoliosis fungsional ini tidak signifikan, bahkan dapat dibilang struktur tulang belakangnya normal, dan bila memang ada skoliosis, sifatnya cenderung tidak progresif dan tidak berbahaya. Sedangkan skoliosis struktural adalah fenomena skoliosis yang memang disebabkan karena perkembangan kedua sisi tubuh yang tidak seimbang sehingga tulang belakang jadi melengkung secara permanen dan skoliosis ini bersifat progresif sehingga perlu penanganan. Cara paling mudah membedakan skoliosis fungsional dan skoliosis struktural adalah dengan membungkukkan badan ke depan dan melihat apakah skoliosis masih ada. Bila tidak ada, maka fenomena itu termasuk ke dalam skoliosis fungsional, namun bila ada, fenomena tersebut disebut dengan skoliosis struktural, atau secara singkat orang yang bersangkutan memang menderita skoliosis.

Skoliosis adalah kelainan yang meskipun bukanlah sebuah penyakit, namun bisa saja disebabkan karena penyakit. Penyebab skoliosis


(16)

bermacam-macam, namun yang paling sering terjadi adalah karena faktor kebiasaan sikap tubuh. Sebanyak 75-85% kasus skoliosis merupakan idiopatik, yaitu kelainan yang tidak diketahui penyebabnya. Pada umumnya skoliosis mulai terjadi pada masa kanak-kanak, yang disebabkan sikap tubuhnya ketika duduk atau berdiri tidak tegak. Sedangkan 15-25% kasus skoliosis lainnya merupakan efek samping yang diakibatkan karena kecelakaan atau menderita kelainan tertentu, seperti distrofi otot, sindrom Marfan, atau pun sindrom Down. Berbagai kelainan tersebut menyebabkan otot atau saraf di sekitar tulang belakang tidak berfungsi sempurna dan menyebabkan bentuk tulang belakang menjadi melengkung.

Bila ditinjau dari waktu skoliosis mulai muncul, ada tiga tipe skoliosis, yaitu infantile, juvenile, dan adolescent. Infantile adalah kondisi ketika skoliosis muncul di antara waktu kelahiran sampai dengan usia 3 tahun. Juvenile adalah kondisi ketika skoliosis mulai muncul di antara usia 4 hingga 9 tahun. Bila skoliosis mulai muncul mulai umur 10 tahun hingga masa pertumbuhan selesai dimasukkan dalam kategori adolescent.

Dampak buruk skoliosis sangatlah besar bagi tubuh. Yang paling jelas terlihat adalah sikap tubuh yang tidak sejajar yang berdampak pada penampilan. Hal ini dapat menyebabkan masalah, seperti timbulnya rasa kurang percaya diri atau ketika melamar pekerjaan. Dampak lain yang sebenarnya lebih buruk adalah skoliosis dapat memicu penyakit yang lain karena tulang belakang yang melengkung dapat menyebabkan saraf tulang belakang terjepit, sehingga penderita akan menjadi lumpuh, bahkan meninggal. Selain itu, organ-organ lain, seperti paru-paru, hati, dan ginjal juga dapat saling terhimpit karena posisi tulang yang tidak benar.


(17)

Penanganan skoliosis ada beberapa macam, yang pertama adalah dengan melakukan observasi tingkat skoliosis tanpa melakukan apa-apa dahulu. Observasi skoliosis dilakukan bila cobb angle tidak lebih dari 20° karena, terutama pada anak-anak, banyak kasus infantile skoliosis yang sembuh dengan sendirinya seiring anak itu tumbuh bila sikap tubuhnya ketika duduk, berdiri, atau tidur baik dan benar. Namun bila cobb angle sudah lebih dari 20°, tulang belakang yang melengkung secara tidak normal perlu diluruskan kembali sedikit demi sedikit melalui beberapa macam cara rehabilitasi, yaitu dengan olahraga, pemasangan penyangga eksternal, dan dengan pemasangan penyangga internal pada tulang belakang melalui operasi.

Rehabilitasi skoliosis yang optimal tergantung pada derajat kemiringan skoliosis. Bila sudut kemiringan skoliosis (cobb angle) kurang dari 40°, rehabilitasi yang perlu dilakukan cukup dengan olahraga ataupun pemasangan penyangga eksternal (bracing). Namun bila cobb angle lebih dari 40° atau meningkat dengan cepat, perlu dilakukan pemasangan penyangga internal pada tulang belakang (Kawiyana dalam Soetjiningsih, 2004).

2.3. Tophat Filter

Dalam matematika morfologi dan pengolahan citra digital, transformasi tophat adalah sebuah metode pengolahan citra. Metode ini bekerja dengan cara meningkatkan nilai kontras antar elemen pada citra dengan cara mencari piksel yang tingkat kecerahan paling tinggi dan membandingkan dengan piksel-piksel disekelilingnya. Bila nilai piksel diluar nilai tersebut maka piksel tersebut akan dihapus (Tcheslavski, 2010). Ada dua jenis tophat filter :


(18)

1. White Tophat, didefinisikan sebagai perbedaan antara gambar input dan pembukaannya oleh beberapa elemen penataan.

2. Black Tophat, didefinisikan sebagai perbedaan antara closing dan gambar input.

Tophat filter banyak digunakan untuk berbagai tugas pengolahan gambar, ekstraksi fitur, pemerataan latar belakang, peningkatan citra, dll.

Rumus White Tophat Filter :

Tw(f) = f-f ∘ b...(2.1) Rumus Black Tophat Filter :

Tb (f) = f • b-f ...(2.2)

Gambar 2.5 Contoh hasil filtering menggunakan black tophat filter.

2.4. Charged Particle Model (CPM)

Charged particle model (CPM) adalah model yang diinspirasi oleh elektrodinamika klasik dan berdasarkan pada simulasi pergerakan partikel bermuatan pada medan elektrostatis. CPM digunakan untuk kebutuhan shape recovery dan segmentasi dengan berbasis pada partikel bermuatan. Muatan yang


(19)

diberikan akan menarik partikel pada kontur objek yang diinginkan oleh sebuah medan listrik yang sumbernya dikomputasi berdasarkan citra gradient-magnitude. Sedangkan gaya interaksi internalnya dimodelkan dengan gaya Coulomb. Model ini memungkinkan muatan diletakkan di dalam sebuah objek, di luar objek, maupun melintasi tepi batas objek. Medan listrik akan menyebabkan peningkatan jarak tangkap karena gaya tariknya yang jauh dan mengatasi permasalahan pada kebocoran pada garis tepi batas. Karena adanya efek kombinasi dari interaksi eksternal antara partikel-partikel dengan medan elektrostatis dan gaya internal yang saling tolak-menolak di antara partikel, partikel akan mengikuti jalur di sepanjang tepian objek dan menjadi konvergen tanpa kesulitan pada celah yang sangat dalam sekalipun atau pada garis tepi yang ada di dalam objek. Meskipun tetap memerlukan proses inisialisasi yang dilakukan oleh user, namun tahap ini tidak akan terlalu berpengaruh pada hasilnya seperti pada snake model.


(20)

Gambar 2.7. Gaya-gaya pada sistem N yang memengaruhi partikel bebas bermuatan qi (bulatan kecil hitam) yang bergerak pada

medan listrik yang dihasilkan dari muatan tetap dari citra ei (bulatan besar abu-abu), di mana warna abu-abu yang berbeda

menunjukkan besar medan yang berbeda. (Jalba dkk, 2004)

Pada sebuah sistem N (diilustrasikan pada Gambar 2.7) yang partikel-partikelnya (pi) diberi muatan positif dengan muatan listrik qi, di mana i = 1 . . . N. Muatan ini bergerak bebas dalam medan elektrostatis eksternal E yang dihasilkan dari muatan negatif yang didapat dari perhitungan setiap piksel citra yang proporsional dengan besarnya muatan dari edge map citra. Setiap partikel bebas qi bergerak di bawah pengaruh dua macam gaya, yaitu gaya Coulomb (Fc) yang menyebabkan adanya interaksi antar partikel, dan gaya Lorentz (Fl) yang merupakan medan listrik yang dihasilkan dari muatan tetap ei.

Resultan kedua gaya tersebut akan menghasilkan vektor resultan gaya (F) yang menyebabkan partikel-partikel pi bergerak. Vektor resultan yang terletak pada = | , | dinyatakan sebagai


(21)

Di mana adalah gaya Coulomb dan adalah gaya Lorentz yang memengaruhi partikel yang diberi muatan seperti pada Persamaan (2.4) :

( ) = ( ) + × ( ) ... (2.4) Di mana adalah kecepatan gerak partikel dan ( ) adalah medan magnetik. Sehingga bila tidak ada medan magnetis ( = 0), gaya yang terjadi adalah:

( ) = ( )... (2.5) Pada Persamaan (2.5) gaya Lorentz yang terjadi memiliki arah gerak yang paralel terhadap medan listrik E. Meskipun medan magnetik muncul pada posisi partikel ( ) yang dikarenakan seluruh partikel yang bergerak, medan ini diabaikan.

Bila diasumsikan pada setiap posisi piksel Rk, k = 1, . . . , M dari sebuah fungsi edge map f(x,y) yang dihitung dari ∇ ( , )∗ ( , ) dari sebuah citra I berukuran M piksel, akan diletakkan muatan listrik negatif tetap =

− ( , ) ≤0 . Dengan prinsip superposisi, medan listrik pada posisi dinyatakan sebagai:

( ) = −∇ϕ ( ) = −∇

| |

:

... (2.6) Di mana ϕ ( ) adalah potensial listrik pada posisi dan adalah permitivitasi listrik dari tempat-tempat kosong. Bila posisi terletak pada posisi tepi, posisi ini dikesampingkan dalam persamaan. Menilik Persamaan (2.6) dengan melakukan subtitusi ( ) pada Persamaan (2.5), persamaannya akan menjadi:

( ) =

| |

:

... (2.7) Gaya Coulomb yang berlaku pada partikel bermuatan adalah penjumlahan dari gaya-gaya Coulomb yang dibuat oleh semua partikel bebas.


(22)

( ) = ... (2.8)

Bila diasumsikan seluruh partikel memiliki muatan positif sehingga = , Persamaan (2.6) dapat dituliskan sebagai:

( ) = +

| |

:

... (2.9)

Bila = , perbedaan paling besar di antara dua faktor pada Persamaan (2.9) adalah bahwa gaya Lorentz merefleksikan mesh partikel atau gaya penarik eksternal dan dikomputasikan pada domain citra. Sedangkan gaya Coulomb merepresentasikan gaya internal yang saling tolak-menolak antar partikel. Distribusi muatan tetap merefleksikan kekuatan dari edge map dan gaya listrik adalah “inverse-square” yang rusak dengan jarak kuadrat. Medan elektrostatis memiliki nilai yang besar di dekat tepi citra dan nilai yang kecil di area yang homogen dari sebuah objek citra.

Pada implementasinya medan pada posisi tepi dikomputasi dahulu kemudian diinterpolasikan antara nilai medan pada posisi tersebut untuk mendapatkan medan pada posisi berapapun dari partikel bebas yang bergerak.

Energi total sistem adalah penjumlahan dari semua partikel energi

( , …, ) = −

| |

:

... (2.10)


(23)

2.5. OpenCV

OpenCV (Open Computer Vision) adalah sebuah API (Application Programming Interface) library yang sudah sangat familiar pada pengolahan citra computer vision. Computer vision itu sendiri adalah salah satu cabang dari bidang ilmu pengolahan citra (Image Processing) yang memungkinkan komputer dapat melihat seperti manusia. Dengan computer vision tersebut komputer dapat mengambil keputusan, melakukan aksi, dan mengenali terhadap suatu objek. Beberapa pengimplementasian dari computer vision adalah face recognition, face detection, face/pbject tracking, road tracking, dll.

OpenCV adalah libraryopen source untuk computer vision untuk C/C++, OpenCV didesain untuk aplikasi real-time, memiliki fungsi-fungsi akuisisi yang baik untuk image/video (Syafi’i, 2011).

Fitur yang dimiliki OpenCV antara lain :

1. Manipulasi data citra (alocation, copying, setting, convert).

2. Citra dan video I/O (file dan kamera based input, image/video file output). 3. Manipulasi Matriks dan Vektor beserta rutin-rutin aljabar linear (products,

solvers, eigenvalues, SVD).

4. Data struktur dinamis (lists, queues, sets, trees, graphs).

5. Pemroses citra fundamental (filtering, edge detection, corner detection, sampling and interpolation, color conversion, morphological operations, histograms, image pyramids).


(24)

6. Analisis struktur (connected components, contour processing, distance Transform, various moments, template matching, Hough Transform, polygonal approximation, line fitting, ellipse fitting).

7. Kalibrasi kamera (calibration patterns, estimasi fundamental matrix, estimasi homography, stereo correspondence).

8. Analisis gerakan (optical flow, segmentation, tracking). 9. Pengenalan obyek (eigen-methods, HMM).

10.Graphical User Interface (display image/video, penanganan keyboard dan mouse handling, scroll-bars).

OpenCV terdiri dari 3 library, yaitu:

1. CV : Untuk algoritma Image Processing dan Vision 2. Highgui : Untuk GUI, Image dan Video I/O

3. CXCORE : Untuk struktur data, support XML dan fungsi-fungsi grafis.

2.6. Peak Signal to Noise Ratio (PSNR)

Peak signal to noise ratio (PSNR) adalah metode pengukuran rasio kesamaan antara dua citra dalam desibel. Rasio ini sering digunakan sebagai pengukuran kualitas antara gambar asli dengan gambar rekonstruksi. Semakin tinggi nilai PSNR suatu citra, semakin baik kualitas dari citra yang direkonstruksi atau dikompresi.

Mean Square Error (MSE) dan Peak Signal to Noise Ratio (PSNR) adalah dua metode pengukur kesalahan pada data matriks yang digunakan untuk membandingkan kualitas gambar rekonstruksi. MSE merupakan kesalahan kuadrat kumulatif antara kompresi dan citra asli, sedangkan PSNR merupakan


(25)

ukuran kesalahan puncak. Semakin rendah nilai MSE maka semakin rendah kesalahan.

Untuk menghitung PSNR tersebut, langkah pertama yaitu menghitung Mean Square Error (MSE) menggunakan persamaan berikut.

= ∑ , [ ( , ) ( , ) ]

× ... (2.11) Dalam persamaan (2.11) tersebut diatas, nilai M dan N adalah banyak baris dan kolom dari citra input. MSE menghitung selisih nilai dari masing-masing piksel pada dua citra input, kemudian dikuadratkan. Hasil kuadrat tiap piksel tersebut kemudian dijumlahkan, dan dibagi dengan luas total citra input.

Langkah selanjutnya yaitu menghitung PSNR menggunakan persamaan berikut.

= 10 l og ... (2.12) Dalam persamaan (2.12), R adalah fluktuasi maksimum dalam jenis tipe data citra input. Misalnya, jika citra imput memiliki tipe data floating-point, maka nilai R adalah 1. Jika memiliki tipe data unsigned integer 8-bit, maka nilai R adalah 255.

Parameter PSNR citra rekonstruksi terhadap citra asli memiliki beberapa kategori. Angka PSNR > 35 dB biasanya dikategorikan baik, dan angka >= 40 dB dikategorikan sangat baik. (Binus, 2011)


(26)

22

METODE PENELITIAN

3.1. Perancangan Sistem dan Blok Diagram Sistem

Model penelitian yang akan dilakukan adalah model penelitian pengembangan. Untuk mempermudah dalam memahami sistem yang akan dibuat dapat dijelaskan melalui blok diagram pada Gambar 3.1.

Gambar 3.1. Blok Diagram

Penelitian yang dilakukan memiliki 2 tahap utama, yaitu bagian pre-processing dan segmentasi menggunakan CPM.

1. Pre-processing

Pre-processing yaitu proses untuk filtering citra. filtering digunakan untuk memperjelas bagian gambar tulang punggung yang biasanya kurang terlihat jelas, dikarenakan tertutup tulang dada dan organ-organ tubuh yang

Citra hasil

Segment asi menggunakan CPM

Pre-processing Cit ra Sinar X Tulang


(27)

berada di sekitar daerah dada. Pre-processing yang digunakan yaitu Modified Tophat filter dan Gaussian cropping. Modified Tophat filter digunakan untuk mengurangi noise pada daerah tulang belakang. Gaussian cropping digunakan untuk menghilangkan dan mengurangi noise dari bagian-bagian citra sinar x yang tidak diperlukan.

2. Segmentasi menggunakan charged particle model (CPM)

Segmentasi dilakukan untuk memperoleh segmentasi kelengkungan tulang belakang pada citra tulang belakang yang sudah selesai difilter. Setelah didapatkan citra hasil filtering, maka selanjutnya inisialisasi partikel-partikel di sekitar tulang belakang. Partikel-partikel ini yang nantinya akan bergerak berdasarkan gaya total yang diperoleh dari gaya Lorentz dan Coulomb dari citra.

3.2. Perancangan Perangkat Lunak

Pada perancangan CPM ini, penulis menggunakan compiler Microsoft Visual C++ 2008 dan library yang digunakan adalah OpenCV v1.1, library ini menyediakan fungsi-fungsi yang akan digunakan untuk pengolahan citra.

Dalam penulisan dan pembuatan program, akan meliputi bagian-bagian penting dalam setiap langkah-langkah per bagian sesuai dengan algoritma atau logika sekuensial dari awal sampai output. Flowchart program secara global dijelaskan pada gambar 3.2.


(28)

Gambar 3.2. Flowchart program Penjelasan flowchart:

1. Inputkan citra sinar x tulang belakang yang akan diproses.

2. Citra yang telah diinputkan selanjutnya diproses menggunakan Modified Tophat filter

3. Citra hasil Modified Tophat filter selanjutnya diproses menggunakan Gaussian cropping.

End

Citra hasil segmentasi menggunakan CPM

It erasi <1000  Hit ung gaya Lorent z  Inisialisasi part ikel  It erasi dimulai dari 0

Gaussian Cropping M odified Tophat filt er

Input Cit ra Sinar X Tulang Belakang

St art

T

Y

 Hit ung gaya Coulomb  Hit ung gaya t ot al  Updat e posisi partikel  It erasi bert ambah 1


(29)

4. Hitung gaya Lorentz dari citra hasil Gaussian cropping, digunakan sebagai medan gaya negatif.

5. Selanjutnya proses inisialisasi partikel-partikel yang nantinya akan bergerak menuju tepi dari tulang belakang yang berada di citra.

6. Proses iterasi dimulai dari 0 dan akan berulang sebanyak 1000 iterasi.

7. Hitung gaya Coulomb dari partikel-partikel, kemudian kalkulasikan dengan gaya Lorentz untuk mendapatkan gaya total, dari gaya total akan didapatkan posisi baru dari tiap partikel.

8. Citra hasil segmentasi akan didapatkan setelah langkah ke-7 berulang sebanyak iterasi yang ditentukan.

3.2.1. Perancangan Modified Tophat Filter

Tahap awal dari proses pre-processing adalah proses filtering untuk memperjelas citra tulang belakang dan mengurangi noise di sekitar tulang belakang menggunakan Modified Tophat filter.

Rumus Modified Tophat filter adalah : modTH= ∘

• × Ɣ ...(3.1) Dimana : f = citra gambar

b = struktur elemen

∘ = operator morfologi closing • = operator morfologi opening Ɣ = attenuation factor


(30)

Gambar 3.3. Flowchart Modified Tophat filter

Jika diprogram menggunakan rumus Modified Tophat filter, maka dapat ditulis code program sebagai berikut :

int disk = 5, factor = 11;

norMat(f, f32Image, 1);

IplConvKernel *B =cvCreateStructuringElementEx(2*disk+1, 2*disk+1, disk, disk, CV_SHAPE_ELLIPSE, 0); //B = disk(5) cvMorphologyEx(f32Image,TH,tempMat,B,CV_MOP_OPEN,1);//opening cvMorphologyEx(f32Image,CL,tempMat,B,CV_MOP_CLOSE,1);//closing

cvSub(TH,f32Image,TH); //TH=TH-f

cvDiv(TH, CL, modTH, factor); //ModTH=(TH/CL)*atten_factor norMat(modTH,modTH);

cvCopyImage(modTH,result);

Hasil yang diperoleh ditunjukan pada gambar 3.4 : End

Cit ra hasil modified t ophat filt er M odTH = x Ɣ

TH = TH – f TH = f ∘ B (opening)

CL = f • B (closing)

Inisialisasi st rukt ur elem en (B) = disk(5) dan At t enuat ion Fact or (Ɣ) = 11

Input Cit ra Sinar X (f) St art


(31)

Gambar 3.4. Hasil Modified Tophat filter

Perancangan Modified Tophat filter dimulai dengan melakukan operasi opening , yaitu proses erosi dilanjutkan dengan dilasi pada citra gambar dengan struktur elemen bertipe disk dengan ukuran 5. Hasil dari proses opening kemudian dikurangkan dengan citra awal dari citra gambar sehingga menyisakan tepi dari objek saja. Selanjutnya dilakukan proses closing menggunakan citra awal, yaitu proses dilasi yang dilanjutkan dengan erosi dengan menggunakan struktur elemen berukuran sama. Proses opening menyebabkan citra menjadi lebih mengembang, sebaliknya proses closing menyebabkan citra menyusut. Kemudian hasil dari opening dikurangi citra awal dibagi dengan hasil closing untuk menghilangkan sisa noise selanjutnya dikalikan dengan attenuation factor untuk memperjelas bentuk tepi.


(32)

3.2.2. Perancangan Gaussian Cropping

Tahap kedua dari proses pre-processing adalah dengan menghilangkan dan mereduksi noise pada bagian-bagian dari citra sinar x yang tidak diperlukan khususnya bagian kanan dan kiri dari citra tulang belakang menggunakan Gaussian cropping.

Rumus Gaussian cropping adalah : Gaussian =

( )

( ) ...(3.2)

Keterangan : a = koordinat piksel pada citra

b = koordinat center of peak dari fungsi Gaussian c = standar deviasi

Gambar 3.5. Kurva fungsi Gaussian (Sugianto, 2013) Alur dari penggunaan Gaussian cropping bisa dilihat pada gambar 3.6 :


(33)

Gambar 3.6 Flowchart Gaussian cropping

Jika diprogram menggunakan rumus Gaussian cropping, maka dapat ditulis kode program sebagai berikut :

Nilai piksel = nilai piksel * gaussian Gaussian =

( ) ( ) Y ==

Y<height cit ra  Inisialisasi garis  Simpan koordinat dari

set iap garis ( , )  Y=0

Input Cit ra hasil M odTH

St art

Y

T

Y Nilai piksel = 0

Citra hasil segmentasi menggunakan CPM

End T


(34)

int counter=0;

int jmlh_baru=jmlh;

//baris atas

for (int i=1;i<=koordinat[1][2];i++)

for (int j=0;j<=edge->width;j++)

edge->imageData[edge->widthStep*i + j*edge->nChannels]=0; //baris tengah

int index=1;

for (int y=koordinat[1][2];y<=koordinat[jmlh_baru][2];y++){

if (y==koordinat[index][2]){

y=koordinat[index][2]; float nilai=0;

for (int x=0;x<=edge->width;x++){

double gaussian=0;

gaussian=((koordinat[index][1]-x)

*(koordinat[index][1]-x)) / ((2*10)*(2*10)); gaussian=exp(-(gaussian));

nilai=(uchar)edge -> imageData[edge->widthStep*y + x*edge->nChannels];

edge->imageData[edge->widthStep * y + x* edge->nChannels]=nilai* gaussian;

}

index=index+1;

}else{

for (int x=0;x<edge->width;x++){

edge->imageData[edge->widthStep * y + x*edge->nChannels] =(uchar)edge ->imageData [edge->widthStep*(y-1) + x*edge->nChannels];

} } }

//baris bawah

for (int y=koordinat[jmlh_baru][2];y<=edge->height-1;y++)

for (int x=0;x<=edge->width;x++)

edge->imageData[edge->widthStep*y + x*edge->nChannels]=0;

cvDestroyWindow("Gaussian Filter");

cvNamedWindow("Gaussian Filter",1);

cvShowImage("Gaussian Filter",edge);

//kosongkan SLL

while (!InitContour.empty()){ InitContour.pop_back(); }

std::cout<<"kosong"<<std::endl;

Kode program untuk proses inisialisasi diletakkan pada function terpisah, ditulis sebagai berikut:

void gausian(IplImage * img)

{

cvCopyImage(img,temp);

int k=0;

int l=0;

for (int x=0;x<InitContour.size();x++)

{

cvLine(temp, InitContour[k], InitContour[l], cvScalarAll(100), 1);


(35)

cvShowImage( "srcImage", temp ); k=l;

l=l+1; }

}

void filter( int event, int x, int y, int flags, void* ptr)

{

if(event == CV_EVENT_LBUTTONDOWN) { gausian((IplImage *)ptr); jmlh=jmlh+1; InitContour.push_back(cvPoint(x,y)); koordinat[jmlh][1]=x; koordinat[jmlh][2]=y; q=1; }

if (q==1)

{

if (event==CV_EVENT_MOUSEMOVE) { gausian((IplImage *)ptr); jmlh=jmlh+1; InitContour.push_back(cvPoint(x,y)); koordinat[jmlh][1]=x; koordinat[jmlh][2]=y; } } }

Diawali dengan membuat inisialisasi pada citra tulang belakang menggunakan gerakan mouse dan menyimpan setiap titik yang dilewati oleh mouse. Untuk setiap titik tersebut akan menjadi titik puncak dari fungsi Gaussian sehingga semakin ke kanan dan ke kiri dari koordinat x dari titik puncak akan menghasilkan nilai Gaussian yang mendekati nilai 0, nilai Gaussian tersebut kemudian dikalikan dengan nilai piksel awal untuk menghasilkan nilai piksel yang baru. Penentuan nilai variabel c disesuaikan dengan lebar dari tulang belakang. Hasil yang diperoleh ditunjukan oleh Gambar 3.7.


(36)

Gambar 3.7 Hasil Gaussian cropping dengan nilai c=10

3.2.3. Perancangan Charged Particle Model (CPM)

Perancangan CPM meliputi perancangan negative field yang diaplikasikan sebagai gaya Lorentz citra sinar x dan partikel positif yang diaplikasikan sebagai gaya Coulomb. Setelah gaya Lorentz dan Coulomb didapat maka diteruskan dengan perhitungan pergerakan partikel. Partikel bergerak sebanyak 1000 iterasi, dimana tiap iterasinya dihitung nilai Coulomb, gaya total, kecepatan partikel, percepatan partikel, dan posisi partikel yang baru.

A. Perancangan Negatif Field

Gaya Lorentz pada citra berfungsi sebagai medan gaya negatif. Hasil perhitungan dari medan gaya negatif dan partikel positif ini yang menunjukkan arah partikel positif untuk bergerak. Perhitungan gaya Lorentz menggunakan


(37)

rumus yang ada pada persamaan (2.7). Alur dari perancangan gaya Lorentz sesuai dengan flowchart pada gambar 3.8.

Gambar 3.8. Flowchart menghitung gaya Lorentz Penjelasan flowchart:

1. Citra input didefinisikan sebagai variabel f.

2. Hitung Gradient Map dari f dan simpan dengan variabel (gx,gy).

3. Setelah mendapat (gx,gy), langkah selanjutnya adalah mencari nilai magnitude

didefinisikan sebagai variabel e.

4. Dari variabel e langkah selanjutnya adalah menghitung energi potensial. 5. Hitung Gradient Map dari energi potensial hasil dari langkah sebelumnya,


(38)

6. Langkah terakhir adalah menghitung gaya Lorentz (FLx,FLy).

Yang jika diimplementasikan dalam bentuk program ditulis seperti di bawah ini :

IplImage *src;

CvMat *CH, *fx, *fy, *X, *Y, *x, *y; char gam[100], lok[100];

double ip,is,in,itot;

//load image grayscale --> src

strcpy(lok, "C:/2/fr10");

strcpy(gam, lok);

strcat(gam, ".jpg");

src = cvLoadImage(gam, CV_LOAD_IMAGE_GRAYSCALE); CH = cvCreateMat(m, n, CV_32FC1);

fx = cvCreateMat(m, n, CV_32FC1); fy = cvCreateMat(m, n, CV_32FC1); X = cvCreateMat(m, n, CV_32FC1); Y = cvCreateMat(m, n, CV_32FC1); x = cvCreateMat(1, n, CV_32FC1); y = cvCreateMat(1, m, CV_32FC1);

//menghitung gradient map terhadap sumbu x citra input --> fx

for(int j=0; j<m; j++){

for(int i=0; i<n; i++){

ip = ((double)src -> imageData [src->widthStep*j +

(i+1)*src->nChannels]);

is = ((double)src -> imageData [src->widthStep*j +

i*src->nChannels]);

in = ((double)src -> imageData [src->widthStep*j +

(i-1)*src->nChannels]);

if(i==0){

itot = ip-is;

}else if(i==n-1){

itot = is-in;

}else{

itot = ((ip - is) + (is - in)) / 2; }

cvmSet(fx, j, i, itot); }

}

//menghitung gradient map terhadap sumbu y citra input --> fy

for(int j=0; j<m; j++){

for(int i=0; i<n; i++){

ip = ((double)src -> imageData [src->widthStep*(j+1) +

i*src->nChannels]);

is = ((double)src -> imageData [src->widthStep*j +

i*src->nChannels]);

in = ((double)src -> imageData [src->widthStep*(j-1) +

i*src->nChannels]);

if(j==0){

itot = ip-is;

}else if(j==m-1){

itot = is-in;

}else{

itot = ((ip - is) + (is - in)) / 2; }


(39)

} }

//menghitung magnitude --> CH

for (int j=0; j<m; j++){

for (int i=0; i<n; i++){

double aa = cvmGet(fx, j, i); double bb = cvmGet(fy, j, i);

double cc = sqrt((aa * aa) + (bb * bb)); cvmSet(CH, j, i, cc);

} }

for (float i=0; i<n; i++){ cvmSet(x, 0, i, i+1); }

for (float i=0; i<m; i++){ cvmSet(y, 0, i, i+1); }

for (float j=0; j<m; j++){ for (float i=0; i<n; i++){

cvmSet(X, j, i, i+1); cvmSet(Y, j, i, j+1); }

}

for (int j=0; j<m; j++){

for (int i=0; i<n; i++){

LorentzForceX(X,Y,CH,cvmGet(x,0,i),cvmGet(y,0,j),i,j); LorentzForceY(X,Y,CH,cvmGet(x,0,i),cvmGet(y,0,j),i,j); }

}

Program diatas diletakkan pada void main(). Pada penjelasan flowchart nomor 4 dan 5 diatas dijadikan satu menjadi persamaan (2.6). Kemudian persamaan (2.6) disubstitusikan dengan persamaan (2.5) didapatkan persamaan (2.7) yang sudah mencakup langkah 4 sampai 6 pada penjelasan flowchart diatas, kode program tersebut diletakkan pada dua function berikut:

double LorentzForceX (CvMat* X, CvMat* Y, CvMat* CH, double x, double y, int I, int J)

double LorentzForceY (CvMat* X, CvMat* Y, CvMat* CH, double x, double y, int I, int J)

Kode program dari function diatas adalah sebagai berikut:

for (int s=0; s<m; s++){

for (int t=0; t<n; t++){


(40)

a = cvmGet(X, s, t); b = cvmGet(Y, s, t); cvmSet(Rx, s, t, a-x); cvmSet(Ry, s, t, b-y); }

}//ri-Rk...(1)

for (int s=0; s<m; s++){

for (int t=0; t<n; t++){

double a = cvmGet(Rx, s, t); double b = cvmGet(Ry, s, t); double c = (a*a)+(b*b); double d = sqrt(c*c*c); cvmSet(R, s, t, d); }

}// (ri-Rk)^3...(2)

for (int s=0; s<m; s++){

for (int t=0; t<n; t++){

double a = cvmGet(Rx, s, t); double c = cvmGet(CH, s, t); double d = a*c;

if (d==(-0))

d=0;

cvmSet(Rx, s, t, d); }

}//ek * (ri-Rk)...(3) double ac=0;

for (int s=0; s<m; s++){

for (int t=0; t<I; t++){

double a = cvmGet(Rx, s, t); //Ry untuk LorentzY double c = cvmGet(R, s, t);

double d = a/c; ac=ac+d;

}

}//jumlahkan semua nilai tiap piksel pada kolom ke-0 sampai (I-1) double fh=0;

for (int s=0; s<m; s++){

for (int t=I+1; t<n; t++){

double f = cvmGet(Rx, s, t); //Ry untuk LorentzY double h = cvmGet(R, s, t);

double i = f/h; fh=fh+i;

}

}//jumlahkan semua nilai tiap piksel pada kolom ke-(I+1) sampai n Ex=ac+fh; //jumlahkan kedua nilai di atas

double ac=0;

for (int s=0; s<J; s++){

double a = cvmGet(Rx, s, I); //Ry untuk LorentzY double c = cvmGet(R, s, I);

double d = a/c; ac=ac+d;

}//jumlahkan semua nilai tiap piksel pada kolom ke=i //baris ke-0 sampai (J-1)

double fh=0;

for (int s=(J+1); s<m; s++){


(41)

double h = cvmGet(R, s, I); double i = f/h;

fh=fh+i;

}//jumlahkan semua nilai tiap piksel pada kolom ke=i //baris ke-(J+1) sampai m

Ex=Ex+ac+fh; //jumlahkan kedua nilai di atas ditambah dengan nilai //Ex sebelumnya

return(Ex); //nilai Ex sebagai nilai akhir dari gaya LorentzX //Ey untuk LorentzY

Perhitungan nilai gaya Lorentz diatas diujicobakan pada citra berukuran 10x20 piksel seperti yang ditunjukkan pada Gambar 3.9.

Gambar 3.9. Citra berukuran 10x20 piksel

Nilai tiap-tiap piksel yang didapat dari hasil perhitungan gaya Lorentz dari gambar 3.9 terhadap sumbu x adalah sebagai berikut :

88.0136 132.995 143.097 68.1244 0.614066 -20.3432 -102.779 -161.597 -118.691 -75.7633 130.631 173.818 99.2419 -15.3685 -31.8323 -0.30634 -31.5865 -129.011 -154.236 -103.792 172.102 146.647 79.4903 3.68569 -55.6242 -9.41755 -55.1135 -103.836 -128.764 -127.789 175.5 104.518 54.2632 -3.33751 -81.0894 -0.77267 -42.7589 -72.8272 -96.6623 -127.571 171.356 88.0211 41.8488 -9.56371 -91.4246 2.34226 -34.1241 -58.9244 -81.4581 -121.924 167.42 82.3215 35.8796 -14.0223 -93.4487 4.26558 -28.6939 -52.4371 -76.9728 -120.273 167.521 80.2915 32.6223 -16.3481 -95.0389 5.21113 -26.5801 -49.958 -75.5929 -118.83 165.129 79.4959 31.0238 -18.3915 -95.754 5.40245 -26.406 -47.6149 -71.8976 -117.938 164.387 77.8843 29.1481 -19.0991 -97.118 5.17375 -24.7204 -46.008 -70.2287 -116.133 163.753 77.1663 28.1702 -19.8747 -97.6683 5.5132 -24.3757 -45.1108 -68.8029 -115.023 163.246 76.7536 27.7391 -20.2475 -97.8299 5.65636 -24.1892 -44.6319 -68.071 -114.374 162.942 76.5766 27.6421 -20.2936 -97.8277 5.70693 -24.0953 -44.4342 -67.7495 -113.974 162.849 76.718 27.9146 -20.0239 -97.6736 5.69847 -24.2137 -44.5416 -67.7276 -113.761 163.046 77.4008 28.8055 -19.2402 -97.2874 5.52523 -24.7741 -45.1849 -68.149 -113.765 163.744 79.3162 30.9802 -17.3622 -96.3358 4.7558 -26.4325 -47.0403 -69.5292 -114.091 165.171 84.7014 36.1198 -12.6919 -92.9475 1.47897 -31.3752 -52.0606 -73.5178 -114.751 164.966 101.394 47.5173 -9.91632 -84.8399 -4.52043 -37.3974 -63.6232 -85.8848 -114.369 146.107 138.453 63.6729 -42.5529 -81.7438 4.36892 -12.5231 -77.3288 -111.616 -104.245 92.8302 123.263 62.201 -26.7152 -32.6177 -13.2994 -22.4757 -78.8592 -98.6632 -69.6802 58.3159 68.691 54.4202 14.6163 -12.2017 -17.6183 -43.2968 -67.7901 -57.9619 -47.2275


(42)

Nilai tiap-tiap piksel yang didapat dari hasil perhitungan gaya Lorentz dari gambar 3.9 terhadap sumbu y adalah sebagai berikut :

69.3786 118.156 169.682 142.362 109.183 105 130.439 135.911 86.336 49.7954 68.9034 114.166 78.5412 42.3371 -0.29054 -10.8891 7.87279 47.5936 73.2699 44.832

48.236 55.4428 -13.3538 21.2765 1.12856 -10.0006 -14.5801 -28.2751 29.0034 27.9903 19.4998 5.24815 -31.7258 -36.5684 -59.8018 -64.9066 -48.2962 -31.915 -2.06007 11.5047 6.97394 1.29011 -8.84695 -13.6314 -18.9553 -20.8897 -16.2796 -9.53139 -0.00075 6.02884 5.12057 3.23435 -1.32576 -4.90363 -7.72763 -7.26096 -4.7884 -0.12884 2.57686 3.91392 1.89259 1.54925 -0.44343 -2.40664 -4.35352 -4.45807 -3.76507 -2.84381 0.146992 1.70904 -0.66823 -2.40577 -3.40954 -5.54383 -6.1188 -7.4167 -6.34561 -5.55092 -2.28078 -0.33896 -2.36739 -2.41663 -4.78575 -5.15023 -6.42459 -6.86254 -6.32679 -4.77875 -3.88331 -2.05617 -3.5954 -3.91917 -4.62996 -5.13204 -5.78748 -5.609 -5.38198 -5.19421 -4.09997 -3.16162 -4.66227 -5.00715 -5.29038 -5.51207 -5.65172 -5.64231 -5.52327 -5.28627 -4.86929 -4.36989 -6.27698 -6.39431 -6.37328 -6.28524 -6.19681 -6.14605 -6.13213 -6.10292 -5.98612 -5.74519 -8.20501 -8.00505 -7.5529 -7.04176 -6.66924 -6.57642 -6.75987 -7.07312 -7.32102 -7.34494 -10.5414 -9.76799 -8.4788 -7.17894 -6.25712 -6.14903 -6.82892 -7.87144 -8.82903 -9.29164 -13.5661 -11.5279 -7.98079 -5.24634 -2.62297 -2.76488 -5.00239 -7.76452 -10.5384 -11.9138 -17.4475 -13.2601 -2.67965 2.58831 13.7872 13.5791 3.20758 -4.47956 -13.0181 -16.1817 -31.4903 -26.8202 18.1646 -0.04895 -5.10149 -3.19249 4.42238 12.033 -19.0984 -24.6875 -59.2013 -92.4452 -43.2519 -80.5076 -55.4201 -45.2283 -50.0695 -30.5813 -61.8331 -41.6405 -70.3938 -128.038 -146.115 -135.668 -80.9469 -70.8441 -97.0844 -107.008 -88.9458 -50.2074 -63.9405 -98.5591 -145.558 -131.769 -116.266 -109.296 -111.365 -106.031 -68.9028 -44.7975

B. Perancangan Partikel Positif

Partikel positif yang digunakan merupakan partikel yang diberi gaya Coulomb sehingga partikel bermuatan positif. Partikel positif akan saling tolak menolak dengan partikel positif lainnya, dan tarik menarik dengan medan negatif citra. Alur dari perancangan gaya Coulomb sesuai dengan flowchart pada gambar 3.10.


(43)

Gambar 3.10. Flowchart Menghitung Gaya Coulomb

Flowchart pada Gambar 3.10 jika diimplementasikan dalam bentuk program ditulis seperti berikut :

int s=0, sx[100], sy[100];

double CoulombX[100], CoulombY[100];

for (int i=0;i<s;i++){

CoulombX[i]=0; CoulombY[i]=0;

for (int j=0;j<s;j++){

if (j != i){

if ((sx[i]-sx[j] != 0) && (sy[i]-sy[j] != 0)){

CoulombX[i] = CoulombX[i] + ((sx[i]-sx[j]) / pow(Absolut(sx[i] - sx[j]), 3));

CoulombY[i] = CoulombY[i] + ((sy[i]-sy[j]) / pow(Absolut(party[i] - party[j]), 3));

}else if (partx[i] - partx[j] == 0){

CoulombY[i] = CoulombY[i] + ((sy[i]-sy[j]) / pow(Absolut(party[i] - party[j]), 3));

}else if (party[i] - party[j] == 0){

CoulombX[i] = CoulombX[i] + ((sx[i]-sx[j]) / pow(Absolut(sx[i] - sx[j]), 3));

} } } }

End

CoulombForce = (Fcx , Fcy)

= −

= −

[sx , sy] = inisialisasi partikel (f)

Baca cit ra input f St art


(44)

Kode program untuk proses inisialisasi diletakkan pada function terpisah, ditulis sebagai berikut:

void showContent(IplImage * img){

cvCopyImage(img,temp);

for (int i=0;i<=part;i++){

cvCircle(temp, cvPoint(sx[i],sy[i]), 2, CV_RGB(255,0,0)); }

cvShowImage("CPM", temp);

}

void on_mouse( int event, int x, int y, int flags, void* ptr){

if (event == CV_EVENT_LBUTTONDOWN){ sx[part] = x;

sy[part] = y;

printf("%i %i %i\n",part,sx[part],sy[part]);

part++;

showContent((IplImage *)ptr); }

}

Untuk mendapatkan nilai gaya Coulomb dimulai dengan input partikel yang dilakukan dengan cara klik pada citra lokasi piksel yang diinginkan. Koordinat piksel partikel disimpan pada variabel sx[s] untuk koordinat sumbu x dan sy[s] untuk koordinat sumbu y, dengan s adalah indeks partikel. Setelah proses inisialisasi, perhitungan dilakukan berdasarkan sumbu x dan y. Hasil dari perhitungan sumbu x disimpan dalam variabel CoulombX, dan CoulombY untuk menyimpan hasil dari perhitungan sumbu y.

C. Perancangan Perhitungan Pergerakan Partikel

Gaya total didapatkan dengan menjumlahkan gaya Lorentz dan gaya Coulomb. Sesuai dengan rumus yang ada pada persamaan (2.10). Berdasarkan penelitian yang dilakukan Jalba dkk, partikel yang bergerak memiliki energi potensial sehingga disebut partikel dinamis, maka rumus untuk menghitung gaya total menjadi Persamaan (3.3).


(45)

( )

= ( )

= −∇∅( ) | = ( ( ) )

... (3.4)

Dimana ∅ adalah energi potensial partikel, adalah posisi, adalah kecepatan, dan adalah percepatan. Bila dibandingkan dengan Persamaan (2.3), Persamaan (3.3) memiliki tambahan, ( ) = − , yaitu pengurangan energi yang diperlukan partikel agar mencapai keadaan setimbang, digunakan untuk mengurangi energi potensial (Jalba dkk, 2004). Persamaan (3.3) dan (3.4) di atas belum bisa untuk disubstitusi dikarenakan ( ( ) ) belum diketahui, namun masih bisa untuk mencari turunan pertamanya, yang artinya bisa menggunakan deret Taylor agar persamaan tersebut bisa digunakan.

Untuk memudahkan, tiap partikel menggunakan interval waktu yang sama yaitu ∆ . Oleh karena itu, pada setiap interval waktu = + ∆ gaya yang bekerja pada tiap partikel dihitung sesuai dengan persamaan (3.3) untuk mendapatkan percepatan partikel . Kemudian untuk mendapatkan kecepatan, percepatan, dan posisi dalam tiap interval waktu bisa menggunakan metode Euler. Metode ini dapat mengakibatkan error yang terakumulasi tiap interval waktu.

Oleh karena itu, dikembangkan metode alternatif yang efisien yang didasarkan pada deret Taylor yang memanfaatkan nilai-nilai yang dihitung sebelumnya untuk mendapatkan percepatan dan kecepatan (yaitu metode bertingkat). Untuk mencari kecepatan, percepatan, dan posisi dalam satu interval waktu menggunakan persamaan seperti berikut:

( + ∆ ) = ( ) + ∆ ( ) + ∆ ( ) + ∆ ( ) ... (3.5) ( + ∆ ) = ( ) + ∆ ( ) + ∆ ( ) ... (3.6)


(46)

Karena implementasi persamaan ( ) / pada komputasi susah dilakukan, dapat digunakan (kuadrat) Lagrange polynomial ( ), dalam satuan waktu { , − ∆ , −2∆ } (Jalba dkk, 2004). Mengambil turunan dari polynomial, dan mensubstitusi = , maka didapat persamaan sebagai berikut.

( )

= ( ) =

∆ ( 3 ( )−4 ( − ∆ ) + ( −2∆ ) ) ... (3.7) Berdasarkan Persamaan (3.3) sampai (3.7) diatas maka bila diasumsikan massa dari partikel positif adalah 1 maka implementasi dalam program adalah sebagai berikut :

percx[i][ite] = (w1 * CoulombX[i]) + (w2 * lorentx) - (beta * kecx[i][ite-1]);

percy[i][ite] = (w1 * CoulombY[i]) + (w2 * lorenty) - (beta * kecy[i][ite-1]);

kecx[i][ite] = kecx[i][ite-1] + (deltat * percx[i][ite-1]) + (0.5 * deltat * deltat * (((3 * percx[i][ite-1]) - (4 *

percx[i][ite-2]) + percx[i][ite-3]) / (2 * deltat)));

kecy[i][ite] = kecy[i][ite-1] + (deltat * percy[i][ite-1]) + (0.5 * deltat * deltat * (((3 * percy[i][ite-1]) - (4 *

percy[i][ite-2]) + percy[i][ite-3]) / (2 * deltat)));

posx[i][ite] = posx[i][ite-1] + (deltat * kecx[i][ite-1]) + (0.5 * deltat * deltat * percx[i][ite-1]) + (0.167 * deltat * deltat * deltat * (((3 * percx[i][ite-1]) - (4 * percx[i][ite-2]) + percx[i][ite-3])));

posy[i][ite] = posy[i][ite-1] + (deltat * kecy[i][ite-1]) + (0.5 * deltat * deltat * percy[i][ite-1]) + (0.167 * deltat * deltat * deltat * (((3 * percy[i][ite-1]) - (4 * percy[i][ite-2]) + percy[i][ite-3])));


(47)

43

Pengujian sistem yang dilakukan merupakan pengujian terhadap pre-processing dan CPM yang telah selesai dibuat. Dimulai dari modified tophat filter, Gaussian cropping, dan CPM.

4.1. Pengujian Modified Tophat Filter

Pengujian Modified Tophat filter dilakukan dengan mengekstrak egde map atau tepi objek pada citra input tulang belakang untuk mengurangi noise yang berupa tulang rusuk dan organ-organ dalam yang masih terlihat pada citra sampel sinar x. Pengujian dilakukan dengan nilai disk dan attenuation factor yang digunakan pada penelitian sebelumnya oleh Sugianto pada tahun 2013, yaitu nilai 5 untuk disk dan 11 untuk attenuation factor.

4.1.1. Tujuan

Tujuan pengujian ini yaitu untuk mengetahui apakah Modified Tophat filter mampu mengekstrak edge map dari citra tulang belakang dan untuk mengetahui apakah Modified Tophat filter dapat memperjelas citra tulang belakang dan menghilangkan bagian-bagian lain yang tidak diperlukan.

4.1.2. Alat yang Digunakan 1. OpenCV v1.1


(48)

3. Personal Computer (PC)

4. Sampel citra x-ray tulang belakang.

4.1.3. Prosedur Pengujian

1. Menjalankan program console pada Microsoft Visual C++ 2008 2. Menjalankan program Modified Tophat filter.

3. Input citra sampel x-ray tulang belakang. 4. Jalankan program.

4.1.4. Hasil Pengujian

Hasil pengujian Modified Tophat filter pada 10 buah sampel yang ada ditunjukan pada gambar 4.1 – 4.3.


(49)

Gambar 4.2 Hasil Modified Tophat Filter pada citra sampel 5 - 7


(50)

Dari hasil pengujian di atas Modified Tophat filter mampu memperjelas edge map tulang belakang pada sampel citra sinar x dan menghilangkan sebagian besar noise pada sekitar bagian tulang belakang.

4.2. Pengujian Gaussian Cropping

Pengujian dilakukan dengan mengaplikasikan rumus Gaussian cropping pada seluruh piksel citra untuk menghilangkan noise yang menghalangi partikel positif pada sisi kanan dan sisi kiri dari citra tulang belakang. Pengujian dilakukan dengan nilai standar deviasi yang digunakan pada penelitian sebelumnya oleh Sugianto pada tahun 2013, nilai yang digunakan adalah 10.

4.2.1. Tujuan

Tujuan pengujian Gaussian cropping adalah untuk menghilangkan noise yang menghalangi partikel positif pada sisi kanan dan sisi kiri dari citra tulang belakang.

4.2.2. Alat yang Digunakan 1. OpenCV v1.1

2. Microsoft Visual C++ 2008 3. Personal Computer (PC)

4. Sampel citra x-ray tulang belakang.

4.2.3. Prosedur Pengujian


(51)

2. Menjalankan program Gaussian cropping.

3. Pada citra dari hasil Modified Tophat filter kemudian di buat marking / tanda menggunakan mouse secara perlahan mengikuti bentuk tulang belakang sehingga membentuk garis tengah pada citra tulang belakang.

4. Tekan tombol ‘s’ ato ‘S’ pada keyboard.

5. Lihat hasil yang tampak pada window baru yang muncul.

6. Jika hasil yang tampak berbeda jauh dengan bentuk tulang belakang pada hasil Modified Tophat filter atau ada bagian pada citra hasil yang menggaris kebawah , ulangi proses 1 dan gerakan mouse secara perlahan.

4.2.4. Hasil Pengujian

Hasil pengujian Gaussian cropping pada 10 buah sampel yang ada ditunjukan pada Gambar 4.4 – 4.6.


(52)

Gambar 4.5 Hasil Gaussian cropping pada sampel 5-7


(53)

Dengan demikian dapat disimpulkan bahwa Gaussian cropping dapat digunakan untuk menghilangkan noise pada sisi kanan dan kiri dari citra tulang belakang hasil Modified Tophat filter.

4.3. Pengujian Charged Particle Model dan Parameter

Pengujian dilakukan untuk membuktikan bahwa CPM yang telah dijelaskan pada sub sebelumnya berjalan dengan baik, maka ujicoba dilakukan dengan citra contoh. Pengujian juga dilakukan untuk mendapatkan nilai parameter yang paling tepat dengan cara dilakukan beberapa kali sambil mengubah-ubah nilai parameter.

4.3.1. Tujuan

Tujuan pengujian ini untuk mengetahui apakah program yang telah dibuat bekerja sesuai dengan prosedur dan untuk mengetahui apakah CPM yang akan dipakai telah berjalan dengan baik. Pengujian juga dilakukan untuk mendapatkan nilai parameter w1 dan w2 yang paling tepat digunakan pada pengujian ini.

4.3.2. Alat yang Digunakan 1. Microsoft Visual C++ 2008 2. Personal Computer (PC) 3. OpenCV v1.1


(54)

4.3.3. Prosedur Pengujian

1. Menjalankan program console pada Microsoft Visual C++ 2008 2. Input citra sampel sinar x tulang belakang.

3. Menjalankan program Modified Tophat filter. 4. Menjalankan program .

5. Membuat inisiasi partikel positif disekitar tulang belakang.

6. Tekan ‘s’ atau ‘S’ untuk menjalankan proses segmentasi tulang belakang. 7. Melihat hasil data citra pada window.

8. Ulangi proses pertama untuk semua sampel yang ada.

4.3.4. Hasil Pengujian

Pengujian CPM dapat dilihat pada Gambar 4.7 sampai Gambar 4.9.

(a) (b) (c) (d)

Gambar 4.7. (a). inisialisasi partikel; (b). w1=1; (c). w1=5; (d). w1=10. Pengujian gaya coulomb menggunakan dengan nilai ∆ = 0,1 bisa dilihat pada Gambar 4.7. Pengujian dilakukan dengan memberi nilai 0 pada gaya lorentz, sehingga nilai w2 menjadi 0 juga. Dari pengujian tersebut dapat disimpulkan bahwa semakin besar nilai w1 maka gaya tolak-menolak antar partikel semakin besar juga.


(55)

(a) (b) (c) (d)

Gambar 4.8. (a). inisialisasi partikel; (b). w2=0,001; (c). w2=0,005; (d) w2=0,05. Pengujian pergerakan partikel menggunakan nilai ∆ = 0,1 dan 1 = 1. Pengujian dilakukan untuk mengetahui pergerakan partikel dengan nilai w2 yang ditentukan dan jarak partikel inisialisasi dengan objek. Dari gambar 4.8 dapat disimpulkan bahwa dengan nilai w2 yang kecil partikel tidak mencapai objek yang diinginkan meskipun partikel diinisialisasi dekat objek. Dengan nilai w2 yang cenderung besar, yaitu 0,05 partikel dapat mencapai tepi objek, namun cenderung melebihi tepi objek dan memiliki akurasi yang kurang baik.

(a) (b) (c)


(56)

Pengujian akurasi dilakukan menggunakan citra S-shaped dengan metode PSNR dimana nilai piksel dari hasil CPM dibandingkan dengan nilai piksel pada citra pembanding yang digunakan oleh Sugianto pada tahun 2013.

(a) (b)

Gambar 4.10. Citra sampel ke 4; (a) Hasil CPM; (b) Citra pembanding.

Hasil pengujian parameter dalam persen menggunakan PSNR ditunjukkan pada tabel 4.1.

Tabel 4.1 Hasil pengujian akurasi parameter w1 dan w2 (dalam dB).

w 2\ w 1 0.1 0.5 1 1.5 2

0.0007 11.171155 11.541381 11.29318 10.704293 9.974742 0.0009 10.899497 11.647787 11.511565 11.698945 10.664078

0.001 10.86363 11.431054 11.59176 11.551295 10.938296 0.003 10.200868 10.341214 10.86897 10.774478 10.545035 0.005 10.022569 9.8766731 10.267128 10.409747 10.585681

Dari tabel 4.1 dapat diketahui hasil pengujian akurasi menggunakan metode PSNR yang menunjukkan nilai dalam desibel pada parameter w1 dan w2.


(57)

Dari tabel 4.1 disimpulkan bahwa program CPM yang telah dibuat bekerja dengan baik 1 = 1.5 dan 2 = 0,0009.

4.4. Pengujian Charged Particle Model pada Citra Sinar X

Pengujian sampel citra tulang belakang dilakukan dengan menggunakan nilai parameter w1 dan w2 yang didapat dari hasil pengujian pada sub bab sebelumnya. Pengujian dilakukan pada semua sampel yang ada dengan jumlah iterasi yang telah ditentukan.

4.4.1. Tujuan

Tujuan pengujian ini yaitu untuk mengetahui apakah dengan nilai parameter w1 dan w2 yang dipakai mampu membuat active contour bergerak menuju edge map citra tulang belakang dengan iterasi yang telah ditentukan.

4.4.2. Alat yang Digunakan 1. Microsoft Visual C++ 2008 2. Personal Computer (PC) 3. OpenCV v1.1

4. Sampel citra x-ray tulang belakang.

4.4.3. Prosedur Pengujian

1. Menjalankan program console pada Microsoft Visual C++ 2008 2. Input citra sampel sinar x tulang belakang.


(58)

4. Menjalankan program .

5. Membuat inisiasi partikel positif disekitar tulang belakang.

6. Tekan ‘s’ atau ‘S’ untuk menjalankan proses segmentasi tulang belakang. 7. Melihat hasil data citra pada window.

8. Ulangi proses pertama untuk semua sampel yang ada.

4.4.4. Hasil Pengujian

Setelah melakukan pengujian sesuai dengan prosedur diatas berikut adalah hasil yang didapatkan di bawah ini:

(a) (b) (c) (d) (e)

Gambar 4.11 Sampel 1; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi .


(59)

(a) (b) (c) (d) (e) Gambar 4.12 Sampel 2; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra

hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi

(a) (b) (c) (d) (e)

Gambar 4.13 Sampel 3; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi


(60)

(a) (b) (c) (d) (e) Gambar 4.14 Sampel 4; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra

hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi

(a) (b) (c) (d) (e)

Gambar 4.15 Sampel 5; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi


(61)

(a) (b) (c) (d) (e) Gambar 4.16 Sampel 6; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra

hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi

(a) (b) (c) (d) (e)

Gambar 4.17 Sampel 7; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi


(62)

(a) (b)

(c) (d) (e)

Gambar 4.18 Sampel 8; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi


(63)

(a) (b)

(c) (d) (e)

Gambar 4.19 Sampel 9; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi


(64)

(a) (b) (c) (d) (e) Gambar 4.20 Sampel 10; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra

hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi

Tabel 4.2 Tabel hasil pengukuran akurasi segmentasi CPM pada 10 sampel tulang belakang menggunakan PSNR (dalam dB).

Sampel Akurasi Sampel 1 8,941862 Sampel 2 12,213374 Sampel 3 12,850408 Sampel 4 11,698945 Sampel 5 13,673295 Sampel 6 11,988049 Sampel 7 13,015822 Sampel 8 13,378742 Sampel 9 13,782386 Sampel 10 12,670430 Rat a-rat a 12,421331

Dari tabel diatas dapat dihitung akurasi rata-rata dari 10 sampel tulang belakang yang ada menggunakan rumus :


(65)

Rata-rata Akurasi =∑ Akurasi Sampel...(4.1) n

Dimana : akurasi sampel adalah nilai akurasi dari tiap sampel. n adalah jumlah sampel yang digunakan.

Menggunakan persamaan (4.1) dan hasil pengukuran akurasi segmentasi CPM pada tabel 4.2 dapat diketahui rata-rata akurasi dari 10 sampel adalah 12,421331 dB .


(66)

62 PENUTUP

5.1. Kesimpulan

Setelah melakukan penelitian dan pengujian terhadap system yang dibuat, dapat diambil kesimpulan sebagai berikut :

1. Aplikasi ini dapat melakukan segmentasi kelengkungan tulang belakang pada beberapa bentuk tulang belakang dengan tingkat akurasi rata-rata sebesar 12,42 dB dan dikategorikan kurang baik, dengan menggunakan modified tophat filter dan Gaussian cropping untuk pre-processing dan GVF Snake untuk segmentasi kelengkungan tulang belakang.

2. Nilai parameter w1 dan w2 yang memberikan hasil akurasi terbaik untuk digunakan segmentasi tulang belakang menggunakan CPM adalah 0,0009 untuk w1 dan 1,5 untuk w2.

5.2. Saran

Agar pada penelitian selanjutnya sistem ini dapat dikembangkan lebih sempurna, maka penulis memberikan saran sebagai berikut :

1. Pada penelitian lebih lanjut diharapkan menggunakan PC/komputer dengan spesifikasi hardware yang cukup tinggi untuk mempercepat proses perhitungan CPM dan pre-processing.

2. Menggunakan pre-processing lain yang bisa memberikan nilai yang kontras antara bagian dalam tulang belakang dan bagian luar tulang belakang.


(67)

63

Jalba, A.C. dkk. 2004.CPM: A Deformable Model for Shape Recovery and Segmentation Based on Charger Particles. IEEE Transactions on Pattern Analysis and Machine Intelligence vol. 26, no. 10.

Sardjono, T.A. dkk. 2007. Spinal Curvature Determination from an X-Ray Image Using a Deformable Model. IFMBE Proceedings Vol. 15. David K. Wolpert. 2006. Scoliosis Surgery: The Definitive Patient's

Reference. Swordfish Communications.

Li, B. Dan Acton, C.S. 2007. Active Countour External Force Using Vector Field Convolution for Image Segmentation. IEEE Transactions on Image Processing vol. 16, no. 8.

Sardjono, T.A. 2007.Spinal X-ray Image Analysis in Scoliosis.

Serra, J. 1988. Image Analysis and Mathematical Morphology, Volume 2: Theoretical Advances. Academic Press; 1st edition.

Kass, M. dkk. 1988.Snakes : Active Contour Models. International Journal of Computer Vision, 321-331(1998).

Xu, C. dan Prince, J.L. 1998.Snakes, Shapes, and Gradient Vector Flow. IEEE Transactions on Image Processing vol. 2, no. 3.

Tcheslavski, G.V. 2010. Image Processing: Gray-Scale Morphology. Doengoes, Marylinn. 1999. Rencana Asuhan Keperawatan, Jakarta: EGC Nettina, Sandra, M. 2001. Pedoman Praktik Keperawatan, Jakarta: EGC


(1)

(a) (b)

(c) (d) (e)

Gambar 4.18 Sampel 8; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi


(2)

59

(a) (b)

(c) (d) (e)

Gambar 4.19 Sampel 9; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi


(3)

(a) (b) (c) (d) (e) Gambar 4.20 Sampel 10; (a) citra sinar x asli; (b) citra hasil tophat filter; (c) citra

hasil gaussian cropping; (d) citra hasil CPM; (e) citra hasil segmentasi

Tabel 4.2 Tabel hasil pengukuran akurasi segmentasi CPM pada 10 sampel tulang belakang menggunakan PSNR (dalam dB).

Sampel Akurasi Sampel 1 8,941862 Sampel 2 12,213374 Sampel 3 12,850408 Sampel 4 11,698945 Sampel 5 13,673295 Sampel 6 11,988049 Sampel 7 13,015822 Sampel 8 13,378742 Sampel 9 13,782386 Sampel 10 12,670430 Rat a-rat a 12,421331

Dari tabel diatas dapat dihitung akurasi rata-rata dari 10 sampel tulang belakang yang ada menggunakan rumus :


(4)

61

Rata-rata Akurasi =∑ Akurasi Sampel...(4.1) n

Dimana : akurasi sampel adalah nilai akurasi dari tiap sampel. n adalah jumlah sampel yang digunakan.

Menggunakan persamaan (4.1) dan hasil pengukuran akurasi segmentasi CPM pada tabel 4.2 dapat diketahui rata-rata akurasi dari 10 sampel adalah 12,421331 dB .


(5)

62 5.1. Kesimpulan

Setelah melakukan penelitian dan pengujian terhadap system yang dibuat, dapat diambil kesimpulan sebagai berikut :

1. Aplikasi ini dapat melakukan segmentasi kelengkungan tulang belakang pada beberapa bentuk tulang belakang dengan tingkat akurasi rata-rata sebesar 12,42 dB dan dikategorikan kurang baik, dengan menggunakan modified tophat filter dan Gaussian cropping untuk pre-processing dan GVF Snake untuk segmentasi kelengkungan tulang belakang.

2. Nilai parameter w1 dan w2 yang memberikan hasil akurasi terbaik untuk digunakan segmentasi tulang belakang menggunakan CPM adalah 0,0009 untuk w1 dan 1,5 untuk w2.

5.2. Saran

Agar pada penelitian selanjutnya sistem ini dapat dikembangkan lebih sempurna, maka penulis memberikan saran sebagai berikut :

1. Pada penelitian lebih lanjut diharapkan menggunakan PC/komputer dengan spesifikasi hardware yang cukup tinggi untuk mempercepat proses perhitungan CPM dan pre-processing.

2. Menggunakan pre-processing lain yang bisa memberikan nilai yang kontras antara bagian dalam tulang belakang dan bagian luar tulang belakang.


(6)

63

DAFTAR PUSTAKA

Jalba, A.C. dkk. 2004.CPM: A Deformable Model for Shape Recovery and Segmentation Based on Charger Particles. IEEE Transactions on Pattern Analysis and Machine Intelligence vol. 26, no. 10.

Sardjono, T.A. dkk. 2007. Spinal Curvature Determination from an X-Ray Image Using a Deformable Model. IFMBE Proceedings Vol. 15. David K. Wolpert. 2006. Scoliosis Surgery: The Definitive Patient's

Reference. Swordfish Communications.

Li, B. Dan Acton, C.S. 2007. Active Countour External Force Using Vector Field Convolution for Image Segmentation. IEEE Transactions on Image Processing vol. 16, no. 8.

Sardjono, T.A. 2007.Spinal X-ray Image Analysis in Scoliosis.

Serra, J. 1988. Image Analysis and Mathematical Morphology, Volume 2: Theoretical Advances. Academic Press; 1st edition.

Kass, M. dkk. 1988.Snakes : Active Contour Models. International Journal of Computer Vision, 321-331(1998).

Xu, C. dan Prince, J.L. 1998.Snakes, Shapes, and Gradient Vector Flow. IEEE Transactions on Image Processing vol. 2, no. 3.

Tcheslavski, G.V. 2010. Image Processing: Gray-Scale Morphology. Doengoes, Marylinn. 1999. Rencana Asuhan Keperawatan, Jakarta: EGC Nettina, Sandra, M. 2001. Pedoman Praktik Keperawatan, Jakarta: EGC