{"id":20568715,"url":"https://github.com/agungdwiprasetyo/rpi.eit-algorithms","last_synced_at":"2025-10-18T07:54:14.729Z","repository":{"id":92214079,"uuid":"70710086","full_name":"agungdwiprasetyo/RPi.EIT-algorithms","owner":"agungdwiprasetyo","description":"Image reconstruction algorithms of Electrical Impedance Tomography","archived":false,"fork":false,"pushed_at":"2018-08-28T03:00:53.000Z","size":7741,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T05:05:27.627Z","etag":null,"topics":["back-projection","eit","finite-element-methods"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agungdwiprasetyo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-12T14:49:26.000Z","updated_at":"2024-12-05T02:14:12.000Z","dependencies_parsed_at":"2023-06-08T00:15:15.224Z","dependency_job_id":null,"html_url":"https://github.com/agungdwiprasetyo/RPi.EIT-algorithms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/agungdwiprasetyo/RPi.EIT-algorithms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agungdwiprasetyo%2FRPi.EIT-algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agungdwiprasetyo%2FRPi.EIT-algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agungdwiprasetyo%2FRPi.EIT-algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agungdwiprasetyo%2FRPi.EIT-algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agungdwiprasetyo","download_url":"https://codeload.github.com/agungdwiprasetyo/RPi.EIT-algorithms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agungdwiprasetyo%2FRPi.EIT-algorithms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273431360,"owners_count":25104491,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["back-projection","eit","finite-element-methods"],"created_at":"2024-11-16T04:54:25.280Z","updated_at":"2025-10-18T07:54:14.677Z","avatar_url":"https://github.com/agungdwiprasetyo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Electrical Impedance Tomography\nElectrical Impedance Tomography (EIT) adalah  suatu konsep pencitraan dari distribusi resistivitas  listrik  internal  suatu objek  dengan  pengukuran  beda potensial  listrik  antar  elektrode yang  terhubung  dengan objek.  Teknik  ini  bekerja  dengan  cara  menginjeksikan  arus listrik  pada  objek  melalui elektrode yang terpasang pada permukaan objek.\n\n![EIT](https://github.com/agungdwiprasetyo/EIT/raw/master/pic/chickentiss.jpeg)\n\nRepositori ini berisi program untuk merekonstruksi citra pada EIT berdasaran data tegangan yang diperoleh dari alat EIT yang telah dibuat. Program ditulis dalam bahasa pemrograman Python. Versi python yang digunakan yaitu versi 3 keatas.\n\nPermasalahan  dalam  rekonstruksi citra  pada  EIT  dapat  dipecah menjadi  dua  yaitu Forward  Problem dan Inverse Problem. Penyelesaian Forward Problem dapat dilakukan dengan Finite Element Method (FEM). Kemudian teknik rekonstruksi untuk bagian inverse problem dalam program ini yaitu menggunakan algoritma Back Projection, JAC (Gauss-Newton/Jacobian solver), dan GREIT (menggunakan metode distribusi).\n\nAda tambahan satu algoritma rekonstruksi untuk Inverse Problem, yaitu Simultaneous Algebraic Reconstruction Technique (SART) yang terdapat dalam folder ``` /SART ```. Algoritma ini akan diselesaikan dengan teknik *paralell processing* menggunakan GPU (Graphic Processing Unit). Tujuannya yaitu untuk membandingkan kecepatan serta layak atau tidak digunakan dalam pencitraan EIT.\n\n## Requirements\n\nVersi python yang digunakan yaitu Python 3.5, dan menggunakan sistem operasi Linux 64-bit. Install ```python-pip``` dan ```python-dev```. \n\n```$ sudo apt-get install python3-pip python3-dev```\n\nKemudian beberapa library yang dibutuhkan supaya dapat menjalankan program dalam repositori ini adalah sebagai berikut:\n\n| Library  | Command |\n| ---- | ---- |\n| **numpy** | ```$ sudo python3 -m pip install numpy``` |\n| **scipy** | ```$ sudo python3 -m pip install scipy``` |\n| **matplotlib** | ```$ sudo python3 -m pip install matplotlib``` |\n| **vispy** | ```$ sudo python3 -m pip install vispy``` |\n| **pandas** | ```$ sudo python3 -m pip install pandas``` |\n| **xarray** | ```$ sudo python3 -m pip install xarray``` |\n| **socketio** | ```$ sudo python3 -m pip install socketIO-client``` |\n\n\n## Testing\n\n```$ ./test.py```\n\n## Rancangan Sistem\n\nDalam perancangan sistem ini dibagi menjadi 3 bagian utama yaitu penyelesaian Forward Problem, penyelesaian Inverse Problem, dan front-end untuk visualisasi citra. Secara garis besar, rancangan sistem dapat digambarkan sebagai berikut:\n\n![sistem](https://github.com/agungdwiprasetyo/EIT/raw/master/pic/desainsistem.jpg)\n\n1. **Penyelesaian Forward Problem:**\nPada bagian ini, data akuisisi dari perangkat EIT akan diolah oleh sebuah single board computer. Single board computer yang digunakan yaitu Raspberry Pi. Hasil luaran dari bagian ini adalah data hasil pengolahan dengan penyelesaian Forward Problem yang menggunakan Finite Element Method (FEM). Data ini selanjutnya akan dikirim ke server untuk diolah lebih lanjut melalui koneksi internet.\n2. **Penyelesaian Inverse Problem:** \nPenyelesaian Inverse Problem ini terjadi pada server. Data dari langkah pada penyelesaian Forward Problem sebelumnya akan digunakan untuk penyelesaian Inverse Problem. Data yang diolah dalam proses Inverse Problem ini sangat besar, sehingga dimungkinkan akan dilakukan pemrosesan paralel menggunakan GPU (*Graphics Processing Unit*) pada server. Hasil luaran dari bagian ini yaitu citra yang sudah terbentuk untuk selanjutnya akan ditampilkan pada aplikasi web.\n3. **Front-end untuk visualisasi citra:** \nBagian ini menggunakan aplikasi web untuk memvisualisasikan citra hasil rekonstruksi yang diperoleh dari proses Inverse Problem pada server. Front-end untuk membangun aplikasi web ini menggunakan AngularJS.\n\n## Tahapan\n\nData yang digunakan berasal dari penelitian pengukuran tegangan pada tungkai hewan. Data dapat dilihat pada folder [/data](https://github.com/agungdwiprasetyo/EIT/tree/master/data). Objek dalam penelitian ini dapat disimulasikan dalam bentuk rangkaian resistor seperti gambar dibawah ini:\n\n![resistor](https://github.com/agungdwiprasetyo/EIT/raw/master/pic/PhantomResistor.png)\n\nData tegangan diperoleh dengan mengukur tegangan pada semua elektroda yang terhubung dalam kulit objek, dalam hal ini tungkai hewan.\n\nApabila semua library yang dibutuhkan sudah terinstall, jalankan program **main.py** dengan mengetikkan perintah ```$ python3 main.py``` atau ```$ ./main.py```.  Maka proses yang sedang berjalan yaitu dapat dilihat pada gambar dibawah ini:\n\n![proses](https://github.com/agungdwiprasetyo/EIT/raw/master/pic/Proses.png)\n\nPada proses diatas ditampilkan matriks Jacobian yang diperoleh dari proses Finite Element Method (FEM). Matriks Jacobian ini akan digunakan pada inverse problem untuk mengolah data yang diperoleh dari hasil pengukuran menjadi sebuah citra. Untuk saat ini, penyelesaian inverse problem menggunakan algoritma Back Projection.\n\nHasil akhir dari proses pencitraan pada EIT untuk data yang diperoleh dari hasil pengukuran tungkai hewan dapat ditunjukkan seperti gambar dibawah ini:\n\n![hasil](https://github.com/agungdwiprasetyo/EIT/raw/master/pic/TesData-BP.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagungdwiprasetyo%2Frpi.eit-algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagungdwiprasetyo%2Frpi.eit-algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagungdwiprasetyo%2Frpi.eit-algorithms/lists"}