Tip dan Trik Klasifikasi Lahan di IDRISI

IDRISI (diambil dari kata Al-Idrisi, ahli geografi timur tengah yang juga keturunan Nabi Muhammad SAW) merupakan aplikasi untuk pemodelan land use/cover. Citra satelit yang terdiri dari 7 band frekuensi harus diklasifikasi menjadi beberapa kategori lahan. Standar klasifikasi biasanya menggunakan referensi dari Anderson et al, (link).

Untuk Unsupervised Classification dapat dengan mudah menggunakan fungsi “ISOCLUST” pada IDRISI asalkan memiliki beberapa Band frekuensi citra satelit hasil unduhan dari USGS. Nah, satu tugas yang menjengkelkan adalah mengklasifikasi ulang citra hasil kluster menjadi klasifikasi yang kita inginkan, apakah pemukiman, jalan, cropland, vegetation, dan lain-lain. Yang merepotkan adalah IDRISI menggunakan format “range” untuk menentukan warna hasil unsupervised classification. Postingan ini sedikit sharing cara mudah untuk klasifikasi ulang (reclassify) bahkan untuk yang buta warna sekalipun.

Perhatikan hasil ISOCLUST (Iteratif Self-Orginizing cluster analysis) di atas. Bagaimana kita tahu warna yang menunjukan air, pemukiman, jalan, dan lain sebagainya? Cara terbaik masih menggunakan citra komposit yang menghasilkan citra yang cocok menunjukan air, pemukiman, jalan, dan seterusnya. Namun yang termudah adalah dengan menekan satu persatu kota warna dan melihat kira-kira warna itu menunjukan apa. Misalnya warna ke-empat dari atas diklik, maka menunjukan citra di bawah ini yang dapat dipastikan itu adalah pemukiman/bangunan.

Bagaimana cara membuat tabel konversi dari sepuluh warna di atas menjadi beberapa kelas penting saja? Caranya adalah dengan pertama-tama menyalin warna di atas. Berikutnya konversi urutan dari atas menjadi kelasnya.

Walaupun di bagian tabel: 4 2 3 dan 4 3 4 bisa digabung menjadi 4 2 4 tetapi dengan redundancy di atas dapat mengurangi error. Perhatikan kolom bagian tengah tabel tetap rapi tersusun angka 1 sampai 10 sesuai dengan hasil klasifikasi ISOCLUST. Hasilnya seperti di bawah ini, semoga bermanfaat.

 

 

Competitive Network dan Contoh Implementasinya

Tipe network ini menghasilkan keluaran yang terbesar sebagai pemenang. Misal ada tiga input sebesar 1,2, dan 3, maka pemenangnya adalah input ketiga (sebesar 3). Berikut notasi standar competitive network.

Fungsi competitive network pada matlab adalah “compet”. Buka command window pada Matlab dan coba fungsi “compet”. Untuk lebih jelasnya silahkan buka help dengan mengetik “help compet” di command window.

  • a=[1;2;3];
  • compet(a)
  • ans =
  • 0
  • 0
  • 1
  • compet(-a)
  • ans =
  • 1
  • 0
  • 0

Perhatikan kode di atas. Jika ingin menemukan nilai tertinggi gunakan fungsi compet(a) sementara jika ingin mencari terendah, gunakan compet(-a). Biasanya mencari nilai terendah digunakan dalam menentukan mana yang paling mirip (similar) antara beberapa hasil output. Tentu saja ada sedikit modifikasi kode untuk memberitahu hasil minimum suatu inputan.

Misal kita beri nama tiga input tersebut berturut-turut “nilai A”, “nilai B” dan “nilai C”. Maka sistem diminta menampilkan nilai mana yang terkecil? Lanjutkan dengan kode berikut ini.

  • input1=[“nilai A”;”nilai B”;”nilai C”];
  • hasil=compet(-a);
  • [ind,result]=find(hasil);
  • minimum=input1(ind)
  • minimum =
  • “nilai A”

Lebih simple dibandingkan dengan menggunakan “if-else” berikut ini yang jauh lebih panjang jumlah baris programnya, apalagi yang akan dibandingkan sangat banyak.

  • if (a(1)<a(2)) && (a(1)<a(3))
  • minimum=’Nilai A’
  • else
  • if a(2)<a(3)
  • minimum=’Nilai B’
  • else
  • minimum=’Nilai C’
  • end
  • end
  • minimum =
  • ‘Nilai A’

Membuat Mask (Bingkai) Pada Citra & Manfaatnya

Postingan ini bermaksud menginformasikan problem ketika pencocokan pola citra kurang berhasil akibat pola yang tidak memiliki bingkai. Ketika dengan Autoassociative Memory diminta memprediksi angka satu berikut (lihat yang berwarna putih).

Prediksi di sebelah kanan memang tepat angka satu, tetapi terpotong di bagian atas dan bawahnya. Kita coba untuk menambahkan bingkai pada citra yang akan dilatih dan diterka.

Menambahkan Nol di Sekitar Matriks

Misal angka nol di bawah akan dibuatkan bingkainya. Langkah pertama adalah mengetahui ukuran matriks angka nol tersebut.

Gunakan fungsi size di Matlab. Setelah itu dengan fungsi “zeros” buat matriks berukuran dua digit lebih banyak dari ukuran sebelumnya. Misalnya matriks di atas memiliki ukuran baris x kolom sebesar 5 x 3 maka buatlah matriks nol dengan ukuran 7 x 5.

  • imshow(nol,’InitialMagnification’,’fit’)
  • nolmask=zeros(7,5);
  • nolmask(2:6,2:4)=nol;
  • imshow(nolmask,’InitialMagnification’,’fit’)

Perhatikan angka nol (yang berwarna putih) telah memiliki bingkai (warna hitam di sekelilingnya). Berikutnya kita coba melatih jaringan syaraf tiruan (JST) yang sebelumnya tanpa bingkai. Diuji dengan angka satu udah ok: hasil: “satu” (sebelah kiri) dan yang sebelah kanan nol dengan sedikit error berhasil mendeteksi (hasil deteksi: “nol”).

Mengkonversi Polygon Peta Pada ArcGIS ke Matriks di Matlab

Terkadang untuk melakukan manipulasi dengan Matlab membutuhkan konversi dari data berupa peta menjadi matriks. Jika sudah dalam bentuk matriks maka beragam metode dapat diterapkan untuk memanipulasi matriks peta tersebut seperti pengklusteran, klasifikasi, dan lain-lain. Postingan ini bermaksud mengkonversi citra polygon menjadi matriks di Matlab.

Mempersiapkan Poligon

Terlebih dahulu persiapkan peta poligon, misalnya lokasi sekolah di bekasi selatan. Karena fungsi polygon to raster di ArcGIS tidak berlaku untuk titik maka diperlukan proses “buffering” agar dihasilkan region sebuah titik. Cari fungsi “buffering” tersebut di kolom “search” pada ArcGIS anda.

Di sini dibuat lingkaran dengan jarak 50 meter dari pusat titik di tiap-tiap lokasi. Secara default tipenya adalah lingkaran. Jika sudah tekan “OK” di bagian bawah. Pastikan peta baru yang berisi lingkaran dengan jari-jari 50 meter yang berada di sekitar titik lokasi.

Konversi ke Raster

Untuk menjadikan poligon menjadi matriks diperlukan proses konversi dari poligon ke raster dengan fungsi “Polygon to Raster”.

Tekan “OK” dan tunggu sesaat hingga ArcGIS membuat rasternya seperti gambar berikut ini. Perhatikan yang tadinya lingkaran (round) sedikit berubah menjadi kotak-kotak.

Membentuk Matriks di Matlab

Terakhir kita menarik data yang telah dibuat oleh ArcGIS ke Matlab. Pertama-tama data perlu di- “Export” terlebih dahulu. Bentuknya terdiri dari beberapa layer dengan komponen utamanya berekstensi TIF yang mirip dengan JPG atau PNG.

Pastikan di folder target terdapat salah satu citra yang akan dibaca matriksnya lewat Matlab. Arahkan “Current Directory” pada lokasi yang sesuai agar bisa dibaca Matlab. Jalankan perintah ini untuk melihat “image”nya.

  • imshow(‘sekolah_PolygonToRaster11.tif’)

Jika kita lihat ukurannya masih sangat besar.

  • I=imread(‘sekolah_PolygonToRaster11.tif’);
  • size(I)
  • ans =
  • 474 248

Ada baiknya resolusi sedikit diturunkan agar diperoleh matriks yang mudah dimanipulasi. Gunakan fungsi “imresize” dengan sebelumnya mengkonversi gray menjadi biner.

  • I2=imresize(I,0.25);
  • size(I2)
  • ans =
  • 119 62

Tampak resolusinya berkurang seperempatnya. Konversi menjadi biner agar dihasilkan image yang tidak pecah-pecah seperti di atas. Untuk membahas masalah tersebut perlu postingan lain tentang pengolahan citra. Semoga bisa menginspirasi.

Red, Green, dan Blue (RGB) Pada Matlab

Representasi warna yang dikenal antara lain: i) Red, Green, Blue (RGB), ii) Cyan, Magenta, Yellow, Black (CMYK), iii) Hue, Saturation, Brightness (HSB), dan iv) CIE-XYZ. Di sini yang paling mudah dan terkenal adalah RGB. Postingan ini bermaksud menjelaskan secara mudah model warna RGB ini.

Sejarah

Kita mengenal TV berwarna yang mengkombinasikan tiap piksel dengan gabungan komposisi warna Red, Green, dan Blue. Jika seluruh warna R, G, dan B nol atau padam, maka dihasilkan warna hitam. Sebaliknya jika seluruhnya menyala maksimal, diperoleh warna putih.

Membuat Warna

Perhatikan warna Turqoise di bawah ini. Warna ini merupakan kombinasi warna Red, Green, dan Blue berturut-turut 64, 224, dan 208. Bagaimana merepresentasikannya dalam Matlab?

Baik, kita mulai saja dengan membuka Matlab versi 2008 ke atas (mungkin sebelumnya bisa, asalkan ada fungsi “imshow” dan “cat” pada matriks).

Format RGB pada Matlab

Matlab menggunakan format matriks tiga dimensi, berbeda dengan gray atau biner yang menggunakan satu matriks saja. Oke, misalnya kita buat piksel yang membentuk huruf ‘c’.

  • c=[1 1 1;1 0 0;1 1 1];
  • imshow(c,’InitialMagnification’,’fit’)

Disini “InitialMagnification” artinya memperbesar huruf c tersebut agar bisa dilihat jelas. Coba saja tanpa fungsi itu, pasti hanya berupa titik kecil saja.

Nah, di sini kita diminta merubah huruf c format biner tersebut menjadi warna turquoise pada gambar di atas sebelumnya. Caranya adalah dengan merubah satu matriks ‘c’ tersebut menjadi komposisi tiga matriks R, G, dan B berupa perbandingan dari 0 hingga 255.

Warna Red, Green, Blue

Di sini warna merah adalah 64 dari 255. Tuliskan di command window instruksi berikut.

  • r=c*64/255
  • r =
  • 0.2510 0.2510 0.2510
  • 0.2510 0 0
  • 0.2510 0.2510 0.2510

Dengan cara yang sama buat juga Green dan Blue.

  • g=c*224/255;
  • b=c*224/208;

Jika komposisi R, G, dan B sudah dibuat, berikutnya adalah meng-concatenate tiga matriks tersebut (r, g, dan b) menjadi satu.

  • image=cat(3,r,g,b);
  • imshow(image,’InitialMagnification’,’fit’)

Pastikan diperoleh huruf ‘c’ dengan warna turquoise seperti di bawah. Jika Anda bisa memanipulasi satu piksel maka Anda pasti bisa memanipulasi beragam citra menjadi warna-warna tertentu. Sekian, semoga bermanfaat.

Evaluasi Diri Sebelum Lanjut Kuliah

Istilah evaluasi diri (kadang disingkat evaldi) ini terlihat keren, sering ditemui di akreditasi, padahal arti sederhananya adalah berkaca (kadang diucapkan oleh wanita yg sebal dgn jomblo yang mendekat tanpa babibu). Maksudnya melihat diri sendiri apa adanya, ga kurang ga lebih. Melakukan evaluasi diri walau terlihat sederhana tapi dapat menyelamatkan Anda.

Ambilah contoh rekan-rekan yang akan dan baru mulai S3. Terkadang diperlukan evaluasi diri untuk mengukur kesiapan kita menyelesaikan studi. Plan A, B, C dan seterusnya terkadang wajib dijalankan. Proposal yang terkadang mudah dilalui, ketika tidak melakukan evaluasi diri berakibat fatal, alias tidak rampung-rampung. Bagaimana cara mengevaluasi diri? Mudah-mudahan postingan ini bisa menggambarkannya.

Parkour

Parkour merupakan seni melompati rintangan yang berkembang di Perancis. Prinsip utamanya adalah melawan rasa takut tetapi tetap mengetahui kemampuan diri. Jika mampu melompati suatu rintangan A maka dia melompat, tetapi jika belum pernah dan dirasa tidak sanggup melompati rintangan B maka tidak boleh melompatinya, perlu latihan bertahap dulu. Nah, analogi dengan teknik ini, maka kita harus mampu mengukur kekuatan kita. Parkour bukanlah olah raga ekstrim, jadi begitu pula dengan kuliah S3 bukanlah kuliah ekstrim. Asalkan hasil evaluasi diri Anda menyatakan sanggup, maka jalanilah. Jika tidak/belum, persiapkanlah (bahasa, riset, proposal, keuangan, keluarga, dan lain-lain).

Hiena

Ada satu jenis binatang yang bukan merupakan hewan favorit, yaitu Hiena. Hewan pemakan daging ini hidup berkelompok di Afrika. Salah satu karakternya adalah kemampuannya mengevaluasi diri. Jika mereka perkirakan tidak sanggup menang, maka hewan ini akan lari, tetapi jika mereka yakin menang maka mereka siap bertarung. Bahkan singa pun mereka lawan jika sekelompok tersebut telah berhitung dan akan memenangi pertarungan. Untuk yang mengajukan proposal, ukurlah waktu, sumber daya, pembimbing, fasilitas lab dan hal-hal lain yang mampu mendukung penyelesaian disertasi. Jika tidak sebaiknya ganti proposal karena dikhawatirkan tidak selesai tepat waktu. Memang banyak yang membenci Hiena karena licik dan pengecut, tapi sikap cerdik dalam mengevaluasi diri perlu dicontoh. Bahkan para pakar menyimpulkan hewan ini sangat cerdas karena memiliki kemampuan berhitung.