Plugin prapemrosesan Tomografi Proyeksi Optik untuk napari
Plugin napari ini dibuat dengan Cookiecutter menggunakan template cookiecutter-napari-plugin @napari.
Langsung ke:
Penggunaan
Binning
ROI
-Catatan
Bidang gelap dan bidang terang
Koreksi piksel buruk
Koreksi intensitas
Pemutihan Fluoresensi
Titik awal
Pengaturan global
Transmisi vs Emisi
Koreksi
Lainnya
Instalasi
Pemecahan masalah instalasi
Berkontribusi
Lisensi
Masalah
Ucapan Terima Kasih
Input data dialirkan dari widget ImSwitch OPT (untuk detailnya lihat dokumen ImSwitch)
Proyeksi tomografi dimuat sebagai tumpukan data
Format data volume 3D tumpukan lainnya
Contoh data kecil dimuat melalui File -> Open Sample
Tersedia dua pengaturan global penting: Operasi di tempat dan Pelacakan .
Untuk menghemat memori, mode default melakukan operasi pada tumpukan gambar Inplace , menulis ulang tumpukan gambar asli. Jika opsi ini tidak dipilih, lapisan baru dengan versi gambar yang dimodifikasi akan dibuat dan ditambahkan ke penampil. Ketika operasi Inplace dipilih, opsi Pelacakan akan tersedia di widget. Opsi ini memungkinkan pelacakan operasi terakhir yang dilakukan pada tumpukan/gambar. Dengan menekan tombol Undo
, operasi terakhir yang dilakukan pada gambar akan dikembalikan. Hanya satu pembatalan yang dapat dilakukan.
Saat ini, gambar disimpan atau ditransmisikan ke numpy.int16
setelah operasi, kecuali untuk perhitungan -log
. Kami sangat menyarankan untuk melakukan operasi dalam urutan atas ke bawah dan kiri ke kanan, seperti yang muncul di widget, jika tidak, ada kemungkinan besar mengalami pengecualian atau perilaku yang tidak dapat diprediksi. Silakan ajukan masalah, jika beberapa logika widget harus diperbaiki untuk saluran pipa Anda.
Eksperimen transmisi diperkirakan bersifat kuantitatif dengan perkiraan hukum Beer-Lambert, ini berarti bahwa dengan menggunakan pengukuran terang dan gelap seseorang dapat menghitung serapan , atau lebih tepatnya transmitansi sebagai
, dengan I adalah sinyal terukur, intensitas medan terang, dan hitungan gelap.
Emisi biasanya jauh dari kuantitatif, karena konsentrasi pewarnaan yang tidak diketahui, efek pendinginan, pemutihan, kalibrasi jalur deteksi, hasil kuantum, dan lain-lain.
Koreksi bidang gelap, bidang terang, dan piksel buruk berhubungan langsung dengan perolehan kamera. Koreksi intensitas sebaliknya berkaitan dengan ketidakstabilan sumber cahaya. Gambar yang dikoreksi ditampilkan pada penampil menggunakan batas kontras gambar asli. Anda mungkin perlu menyesuaikan batas kontras untuk melihat hasil koreksi yang dilakukan secara efektif.
Kombinasi koreksi medan gelap dan medan terang dimungkinkan untuk eksperimen transmisi dan emisi. Pengguna harus memilih modalitas eksperimen dan kemudian memutuskan apakah akan menyertakan hanya satu koreksi (bidang Gelap atau Bidang Terang) atau keduanya. Setelah koreksi selesai, bergantung pada pengaturan Inplace , lapisan baru dengan gambar yang dikoreksi akan muncul di penampil, atau lapisan gambar asli akan diperbarui. Koreksi bidang gelap sendiri melakukan pengurangan gambar gelap (operasi int
) dari setiap gambar di tumpukan gambar, dan selalu layak untuk diterapkan. Operasi ini sama terlepas dari modalitas eksperimental Transmisi atau Emisi .
Koreksi bidang terang sangat berguna untuk eksperimen transmisi, untuk mengoreksi berbagai intensitas latar belakang terang gambar. Lapisan terang juga dapat digunakan untuk mengidentifikasi piksel mati. Jika diterapkan sendiri, gambar dibagi berdasarkan intensitas terang ( float
divisi) dan kemudian dikonversi ke numpy.int16
untuk kasus eksperimen Transmisi . Untuk data Emisi , intensitas bidang terang dikurangi dari setiap gambar dalam tumpukan (operasi int
).
Koreksi bidang Gelap + Terang yang dilakukan bersamaan dihitung untuk Transmisi
(image - dark) / (bright - dark)
, yang merupakan operasi float
, selanjutnya dilemparkan ke numpy.int16
.
Untuk data Emisi , kombinasi koreksi gelap dan terang yang diterapkan pada eksperimen Emisi sangatlah sederhana
(image - dark) - (bright - dark) = image - bright
Lihat bagian di atas untuk penjelasan tambahan tentang perbedaan antara transmisi dan emisi.
Koreksi piksel tersedia untuk piksel panas dan piksel mati. Setelah tombol Bad pixel correction
ditekan, piksel buruk diidentifikasi, dan pengguna dapat memilih untuk memperbaikinya atau memvisualisasikannya sebagai lapisan baru di penampil.
Koreksi dilakukan dengan mempertimbangkan nilai piksel tetangganya. Dua opsi tersedia untuk koreksi: n4 dan n8. Opsi n4 menggunakan 4 piksel tetangga (atas, bawah, kiri, dan kanan), sedangkan opsi n8 mempertimbangkan seluruh 8 piksel tetangga. Jika piksel tetangganya merupakan piksel yang buruk, maka piksel tersebut tidak dipertimbangkan untuk dikoreksi. Nilai piksel buruk dihitung sebagai mean
nilai piksel tetangga.
Setelah koreksi Bidang Gelap, Bidang Terang, dan Piksel Buruk diterapkan, koreksi Intensitas dapat diterapkan untuk mengoreksi ketidakhomogenan cahaya di sepanjang tumpukan yang dihasilkan oleh ketidakstabilan sumber penerangan. Pengguna memilih ukuran persegi panjang dan menekan tombol Intensity correction
. Rata-rata piksel di empat sudut gambar (dengan sisi sama dengan ukuran persegi panjang) akan dihitung berdasarkan tumpukan dan gambar yang dikoreksi akan muncul di penampil (jika opsi Operasi Inplace tidak dipilih) atau gambar asli akan diperbarui. Selain itu, plot yang menunjukkan intensitas pada tumpukan (intensitas mean
pada 4 area persegi panjang gambar) sebelum dan sesudah koreksi intensitas akan ditampilkan.
Jika Anda ingin mengoreksi pemutihan foto fluoresensi, lihat bagian berikutnya.
Untuk setiap sudut, nilai intensitas rata-rata sepanjang kolom dihitung dan kemudian digunakan sebagai faktor koreksi untuk membagi nilai intensitas setiap baris terhadap proyeksi pertama. Setelah koreksi selesai, plot yang menunjukkan nilai rata-rata yang dihitung untuk setiap sudut akan muncul di penampil. Fitur ini mengasumsikan bahwa tumpukan berbentuk (angles, rows, columns)
.
Perhatikan bahwa koreksi ini tidak menangani efek bayangan yang terlihat pada sinogram di atas, yang diambil dari satu baris kamera. Dalam hal ini, cahaya eksitasi fluoresensi berasal dari kanan, oleh karena itu sisi kanan sinogam menunjukkan intensitas FL yang lebih tinggi.
Binning tumpukan dimungkinkan. Pilih faktor binning dan tekan tombol Bin Stack
. Tumpukan binned akan ditampilkan dan pemberitahuan dengan bentuk tumpukan asli dan baru akan muncul. Bentuknya adalah (height // bin_factor, width // bin _factor)
, jadi piksel tepi mungkin hilang jika dimensi gambar Anda tidak dapat dirancang oleh bin_factor
. Nilai piksel dihitung sebagai mean
piksel yang dimasukkan dan dimasukkan ke numpy.int16
. Faktor binning 1 tidak menghasilkan tindakan.
Untuk rekonstruksi tomografi, pemilihan ROI dapat sangat mengurangi waktu komputasi algoritma rekonstruksi. Pilih Points layer
dan tambahkan sebuah titik, yang menentukan sudut kiri atas ROI. Dari titik itu width
dan height
dalam piksel dipilih oleh pengguna. Jika lebih dari satu poin ditambahkan, hanya poin terakhir yang akan dipertimbangkan untuk pemilihan ROI.
Anda dapat menghitung logaritma gambar menggunakan fungsi -Log pada widget yang membuat detail di area gelap dan terang lebih terlihat. Ini adalah transformasi yang dibenarkan secara fisik dalam eksperimen transmisi, karena mengubah jumlah menjadi transmitansi . Untuk pengukuran Emisi hanyalah transformasi untuk meningkatkan kontras secara non-linear untuk visualisasi.
Anda dapat menginstal napari-opt-handler
melalui pip:
pip install napari-opt-handler
Untuk menginstal versi pengembangan terbaru:
pip install git+https://github.com/QBioImaging/napari-opt-handler.git
Kontribusi sangat diharapkan. Pengujian dapat dijalankan dengan tox, harap pastikan cakupannya setidaknya tetap sama sebelum Anda mengirimkan permintaan penarikan.
Didistribusikan di bawah ketentuan lisensi BSD-3, "napari-opt-handler" adalah perangkat lunak sumber terbuka dan gratis
Banyak orang telah berkontribusi pada proyek ini. Yang utama adalah:
Giorgia Tortora dan Andrea Bassi (Politecnico Milan)
Teresa Correia (CCMAR-Algarve)
Jika Anda mengalami masalah, harap ajukan masalah beserta penjelasan detailnya.