Pada proses pengolahan citra medis tahapan algoritma terdiri dari 8 bagian yaitu perbaikan, segmentasi, kuantifikasi, registrasi, visualisasi dan bagian akhir yang mencakup kompresi, penyimpanan, dan komunikasi [11]. Konsep-konsep ini digunakan untuk melakukan pengolahan dan analisa citra medis setelah didapatkan citra digital dari peralatan medis yang ada diantaranya untuk proses rekonstruksi citra medis.
Dalam proses pengolahan citra medis, segmentasi merupakan salah satu bagian penting dari pemrosesan citra medis tersebut. Pendekatan model berbasis segmentasi telah ditetapkan sebagai salah satu metode yang paling berhasil untuk analisis citra [12]. Segmentasi bertujuan untuk membagi citra menjadi beberapa
daerah (Region of Interest ROI) yang homogen berdasarkan kriteria kemiripan
tertentu. Kualitas hasil segmentasi citra tergantung pada kualitas dari citra awal atau citra hasil akusisi [13]. Kesalahan pada proses segmentasi akan mempengaruhi proses pengenalan dan pemahaman citra pada tingkat yang lebih lanjut.
Ada beberapa metode yang sering digunakan dalam segmentasi citra antara lain: metode thresholding, metode shapebased, metode region growing, dan metode statistik atau juga disebut metode clustering [11]. Masing-masing metode memiliki kelebihan dan kelemahan tergantung pada karakteristik dari citra yang akan diproses.
Tidak ada pendekatan tunggal yang dapat memecahkan masalah segmentasi untuk berbagai macam modalitas citra yang ada saat ini [14]. Algoritma segmentasi yang paling efektif diperoleh dengan menyesuaikan kombinasi komponen-komponen yang ada dan disesuaikan dengan kebutuhan dari segmentasi itu sendiri.
Metode thresholding didasarkan pada pemisahan pixel ke dalam kelas yang berbeda tergantung pada tingkat keabuan masing-masing pixel [15]. Intensitas citra medis seperti tumor dan jaringan pada otak biasanya sangat rumit dan memiliki tingkat keabuan yang hampir sama sehingga menyebabkan kesulitan penentuan ambang batas (threshold). Metode thresholding semata tidak bisa diterapkan untuk citra dengan tingkat keabuan yang berdekatan, sehingga biasanya dikombinasikan dengan metode lain [15] [16].
Metode region growing menggabungan beberapa pixel dengan thresholding tertentu yang memliki kondisi konektivitas atau kriteria daerah homogenitas [16]. Keberhasilan dari metode tersebut bergantung pada ketepatan informasi anatomi dalam meletakkan baik satu mapun beberapa pixel awal untuk masing-masing daerah homogen [17] [15]. Kelemahan lain dari metode region growing adalah metode tersebut hanya dapat bekerja dengan baik pada daerah yang homogen dan membutuhkan operator untuk menentukan daerah yang akan tersegmentasi.
Metode region growing yang paling umum digunakan adalah watershed [18]. Prinsip dasar dari watershed adalah merubah gradien tingkat keabuan citra menjadi permukaan topografi. Daerah minimum dari citra merupakan sumber dimana air meluap dan bentuk-bentuk “kolam tangkap” (“catchment basin”) menggambarkan
permukaan air. Algoritma ini akan berhenti bila dua “kolam” dari dua sumber yang berbeda bertemu. Jika pada citra terdapat banyak pola dan noise, maka akan terbentuk banyak “kolam” sehingga terjadi segmentasi yang berlebihan [15] [16] [18].
Matei Mancas dan Bernard Gosselin [15] memodifikasi algoritma watershed untuk menghindari masalah segmentasi berlebih pada citra tumor otak dengan mengunakan metode marker-based watershed dan gradient vector flow untuk komputasinya. Watershed pertama dihitung dari dua market -set awal dan membagi citra menjadi 3 wilayah yaitu bagian luar, fuzzy dan bagian dalam. Algoritma yang sama kemudian digunakan untuk menghitung watershed yang kedua dan diperoleh 5 wilayah konsentris yang makin mendekati bagian tumor.
Salvador A Melo Júnior, dkk [18] menyelesaikan masalah over-segmentation dengan menggunakan multi-state preprocessing untuk mengurangi noise citra, meningkatkan kontras, dan memodifikasi homotopi citra ventrikel kiri. Setelah tahap
preprocessing, metode watershed berhasil melakukan segmentasi citra ventrikel kiri.
Kontur akhir diperoleh dengan mengurangi ukuran wilayah tersegmentasi dengan algoritma kontur koreksi.
Metode shapebased juga memberikan pendekatan yang cukup sederhana dalam segmentasi citra. Namun metode ini sangat sulit dalam penentuan kontur awal. Ketidaktepatan dalam penentuan kontur awal dapat menyebabkan hasil segmentasi yang kurang memuaskan [17].
Metode statistik atau clustering didasarkan pada distribusi parameter tertentu. Hal terpenting dalam metode ini adalah melakukan estimasi definisi awal dari
parameter sehingga bagus tidaknya segmentasi tergantung pada seberapa baik distribusi yang diasumsikan mendekati distribusi dari data. Pada kenyataanya, secara umum citra medis mengandung noise dan ketidakpastian distribusi yang tidak dapat diprediksi sebelumnya [17] [16].
Metode segmentasi statistik mengklasifikasi dan melakukan pengelompokan
pixel citra ke dalam wilayah terpadu menurut kriteria tertentu dengan menggunakan pattern-classifier tertentu dan teknik post-processing semisal filter morfologi.
Algoritma K-mean, fuzzy c-means (FCM) dan expectation–maximization (EM) paling umum digunakan pada metode clustering [15].
Shan Shen, dkk [16] menggunakan metode fuzzy c-mean yang dimodifikasi, yang disebut improved fuzzy c-mean (IFCM), untuk melakukan segmentasi pada jaringan otak. Pada algoritma IFCM segmentasi tidak hanya didasarkan pada pixel namun juga pada pixel yang terdekat. Selama proses clustering, pixel berusaha menarik pixel yang terdekat dan memiliki intensitas yang hampir sama ke dalam
cluster yang sama sehingga robusht terhadap noise.
Nassir Salman [19] menggabungkan metode mean dan watershed dan
K-mean difference in strenght map (DIS) untuk melakukan segmentasi dan egde-detection pada citra MRI otak. Metode clustering K-mean digunakan untuk
menghasilkan citra gradien daerah intensitas berdasarkan jarak minimum untuk memeriksa setiap pixel dalam citra dan kemudian menetapkanya ke dalam salah satu cluster citra. Citra gradien tersebut kemudian disegmentasi lagi dengan metode
over-segmentation pada watershed. Meskipun penggabungan metode segmentasi tersebut
cukup memuaskan, namun hasil tersebut sangat bergantung pada hasil K-mean.
2.2 ITK
ITK merupakan singkatan dari Insinght Segmentation and Registration
Toolkit adalah librari open-source untuk pengolahan citra baik 2D maupun 3D
khususnya untuk citra medis [14]. ITK cukup bermanfaat untuk semua metode pengolahan citra khususnya untuk segmentasi dan registrasi. Selain itu berbagai modul untuk filtering dan analisa secara numerik juga disediakan librari-librari ITK. Beberapa metode segmentasi region base yang disediakan ITK: Connected
Threshold, Otsu Segmentation, Neighborhood Connected ,Connected Confidence dan
lainnya. Dalam penelitian yang dilakukan, digunakan librari segmentasi untuk pengolahan data citra medis.
ITK diimplementasikan dalam bahasa pemrograman C++. ITK merupakan librari yang cross-platform. ITK menggunakan CMake untuk membangun dan mengatur proses konfigurasi. Walaupun dimplementasikan dengan bahasa C++ ITK dapat juga diinterpretasikan dengan bahasa pemrogramanlain seperti Tcl, Java, dan Python dengan menggunakan CableSwig. Hal ini memungkinkan pengembang untuk membuat perangkat lunak menggunakan berbagai bahasa pemrograman.
2.3 Komunikasi Data Citra Medis Pada Jaringan Komputer
Pada suatu sistem pengarsipan dan komunikasi data citra untuk mengirimkan data citra yang besar antar komponen dibutuhkan suatu jaringan berkecepatan tinggi
[10]. Ini tejadi dikarenakan pada umumnya data citra medis mempunyai ukuran yang sangat besar [9]. Masalah utama yang muncul dalam suatu sistem pengarsipan dan komunikasi data citra adalah masalah konkurensi data ketika banyak komponen yang berkomunikasi terhadap suatu server.
Ada beberapa cara yang digunakan untuk mengatasi masalah kecepatan jaringan konkurensi data diantaranya menggunakan perangkat keras berkemampuan handal, penggunaan web services [7], atau penggunaan teknik kompresi data citra yang bersifat lossless sebelum dikirimkan. Proses komputasi parallel juga dilakukan untuk menangani masalah pada suatu sistem pengarsipan dan komunikasi data citra. Semua teknik ini digunakan bertujuan agar suatu sistem pengolahan citra medis berbasis jaringan dapat berjalan secara real-time.
2.4 Web Services
Web services adalah sekumpulan application logic beserta objek-objek dan method-method yang dimilikinya yang terletak di suatu server yang terhubung ke
jaringan komputer sehingga dapat diakses menggunakan protokol HTTP dan SOAP (Simple Object Access Protocol) [2]. Dalam penggunaannya, web services dapat digunakan untuk memeriksa data user yang login ke sebuah halaman web ataupun untuk transaksi perbankan on-line yang rumit.
Dalam arsitektur berorientasi layanan, aplikasi dikembangkan dengan memasukkan layanan yang sering disediakan oleh organisasi yang berbeda [20]. Tujuan dari teknologi ini adalah untuk memudahkan beberapa aplikasi atau
komponennya untuk saling berhubungan dengan aplikasi lain dalam sebuah organisasi maupun di luar organisasi menggunakan standar yang tidak terikat
platform (platform-neutral) dan tidak terikat akan bahasa pemrograman yang
digunakan (language-neutral). Dalam penelitian ini web services digunakan untuk menjalankan method-method segmentasi citra medis.
Platform dasar dari web services adalah XML dan HTTP [21]. Dalam hal ini
XML menyediakan bahasa yang dapat digunakan antara berbagai platform dan bahasa pemrograman dan masih mengekspresikan pesan yang kompleks dan fungsi. Elemen-elemen dari platform web servicesadalah:
a. SOAP (Simple Object Access Protocol)
b. UDDI (Universal Description, Discovery and Integration) c. WSDL (Web services Description Language)
Dengan bantuan WSDL, SOAP, dan UDDI, web services menjadi populer dalam aplikasi berbasis web [22]. SOAP adalah protokol berbasis XML sederhana untuk melakukan pertukaran informasi aplikasi melalui HTTP. SOAP menspesifikan secara jelas bagaimana cara untuk meng-encode header HTTP dan file XML sehingga program pada suatu komputer dapat memanggil program pada komputer lain dan mengirimkan informasi, dan bagaimana program yang dipanggil memberikan tanggapan. UDDI protokol adalah yang disetujui oleh standar OASIS dan pimpinan anggota kunci dari web services [23]. Hal ini mendefinisikan sebuah metode standar untuk penerbitan dan menemukan komponen perangkat lunak berbasis jaringan dari service-oriented architecture (SOA). Sedangkan WSDL adalah
bahasa berbasis XML untuk mendeskripsikan web services dan bagaimana untuk mengaksesnya [24].
Selain SOAP terdapat beberapa teknologi web services yang juga dapat digunakan. Teknologi web services yang populer digunakan selain SOAP diantaranya adalah XML-RPC dan Representational State Transfer (REST). Masing-masing teknologi web services tersebut mempunyai kekurangan dan kelebihan tersendiri. Dalam penelitian yang dilakukan XML-RPC digunakan sebagai teknologi untuk membangun aplikasi web services.
2.4.1 XML-RPC
XML-RPC adalah sebuah protokol jaringan komputer standar yang dapat digunakan berkomunikasi dalam mode remote procedure call dengan menggunakan protokol HTTP [25] [26]. Pada dasarnya, remote procedure call merupakan proses sebuah program pada satu komputer yang menjalankan program pada komputer lain dalam suatu jaringan komputer. XML-RPC merupakan teknologi web services paling sederhana untuk membuat suatu komputer memanggil prosedur yang terdapat pada komputer lain [5]. XML-RPC menggunakan kembali infrastruktur yang pada awalnya diciptakan untuk komunikasi antara manusia untuk mendukung komunikasi antara program pada komputer.
Pemanggilan XML-RPC dilakukan antara dua pihak yaitu klien yang melakukan proses pemanggilan prosedur dan server yang menyediakan prosedur. Sebuah server akan dipanggil pada URL tertentu (misalnya,
http://example.org:8080/rpcserv/). Untuk menggunakan prosedur yang tersedia di server itu, maka langkah-langkah yang diperlukan adalah:
a. Program klien membuat prosedur panggilan menggunakan XML-RPCclient, yang menentukan nama metode, parameter, dan server target.
b. XML-RPC client mengambil nama metode dan parameter dan kemudian mempaketkannya sebagai data XML. Kemudian klien mengirimkan sinyal permintaan HTTP POST yang berisi informasi permintaan ke server.
c. Sebuah server HTTP akan menerima permintaan POST dan melewati paket XML kepada XML-RPClistener.
d. XML-RPC listener akan mem-parsing XML untuk mendapatkan nama metode yang ingin dipanggil beserta parameternya. Kemudian server memanggil metode yang diminta sekaligus melewatkan parameternya.
e. Metode yang dipanggil akan memberikan respon terhadap proses XML-RPC. Kemudian XML-RPC akan membungkus respon tersebut sebagai data XML. f. Server HTTP akan mengembalikan data XML tersebut sebagai respon terhadap
permintaan HTTP POST.
g. XML-RPC client akan mem-parsing data XML yang diterima untuk mengekstrak nilai respon. Kemudian XML-RPCclien tmengirimkan nilai respon ke program klien.
h. Program klien akan melanjutkan proses dari nilai yang didapat tersebut.
Implementasi spesifikasi XML-RPC telah diterapkan secara luas di berbagai lingkungan pemrograman. Di Java sendiri, tim dari Apache telah membuat librari
yang compliance dengan spesifikasi XML-RPC. Hal ini memudahkan kita untuk tidak perlu lagi berurusan di level rendah seperti pembuatan parser untuk mengolah data dari XML. Semua telah dibungkus dalam level yang lebih tinggi dalam bentuk
class-class librari. Misalnya, setiap objek java.util.Date akan dikonversi menjadi
tipe data standar XML-RPC secara otomatis. Dan banyak lagi kemudahan-kemudahan yang lainnya.