ปลั๊กอินการประมวลผลล่วงหน้าด้วย Optical Projection Tomography สำหรับ napari
ปลั๊กอิน napari นี้สร้างขึ้นด้วย Cookiecutter โดยใช้เทมเพลต cookiecutter-napari-plugin ของ @napari
ข้ามไปที่:
การใช้งาน
บินนิ่ง
ผลตอบแทนการลงทุน
-บันทึก
สนามมืดและสนามสว่าง
การแก้ไขพิกเซลที่ไม่ดี
การแก้ไขความเข้ม
การฟอกสีเรืองแสง
จุดเริ่มต้น
การตั้งค่าส่วนกลาง
การส่งผ่านและการปล่อยมลพิษ
การแก้ไข
อื่น
การติดตั้ง
การแก้ไขปัญหาการติดตั้ง
มีส่วนร่วม
ใบอนุญาต
ปัญหา
รับทราบ
อินพุตข้อมูลที่สตรีมจากวิดเจ็ต ImSwitch OPT (สำหรับรายละเอียดโปรดดูเอกสาร ImSwitch)
การฉายภาพเอกซเรย์โหลดเป็นสแต็กข้อมูล
รูปแบบข้อมูลปริมาณ 3 มิติแบบสแต็กอื่นๆ
ข้อมูลตัวอย่างขนาดเล็กที่โหลดผ่าน File -> Open Sample
มีการตั้งค่าส่วนกลางที่สำคัญสองแบบ: การดำเนินการแบบแทนที่ และ การติดตาม
เพื่อประหยัดหน่วยความจำ โหมดเริ่มต้นจะดำเนินการกับสแต็กรูปภาพ Inplace โดยเขียนสแต็กรูปภาพต้นฉบับใหม่ หากไม่ได้เลือกตัวเลือกนี้ ระบบจะสร้างเลเยอร์ใหม่ที่มีรูปภาพเวอร์ชันที่แก้ไขแล้วและเพิ่มลงในโปรแกรมดู เมื่อเลือก การดำเนินการแบบ Inplace ตัวเลือก การติดตาม จะพร้อมใช้งานในวิดเจ็ต ตัวเลือกนี้ช่วยให้สามารถติดตามการดำเนินการล่าสุดที่ทำกับสแต็ก/รูปภาพ ด้วยการกดปุ่ม Undo
ทำ การดำเนินการล่าสุดที่ทำกับภาพจะถูกเปลี่ยนกลับ สามารถ เลิกทำเพียงครั้งเดียว เท่านั้น
ในปัจจุบัน รูปภาพจะถูกเก็บหรือแคสต์ไปที่ numpy.int16
หลังการดำเนินการ ยกเว้นการคำนวณ -log
เราขอแนะนำอย่างยิ่งให้ดำเนินการตามลำดับจากบนลงล่างและจากซ้ายไปขวาตามที่ปรากฏในวิดเจ็ต ไม่เช่นนั้นจะมีโอกาสสูงที่จะพบข้อยกเว้นหรือพฤติกรรมที่คาดเดาไม่ได้ โปรดแจ้งปัญหา หากตรรกะของวิดเจ็ตบางส่วนควรได้รับการแก้ไขสำหรับไปป์ไลน์ของคุณ
การทดลองการส่งผ่านถูกมองว่าเป็นเชิงปริมาณโดยประมาณของกฎเบียร์-แลมเบิร์ต ซึ่งหมายความว่าการใช้การวัดค่าความสว่างและความมืดสามารถคำนวณค่า การดูดกลืนแสง หรือ ค่าการส่งผ่าน แทนได้ดังนี้
โดยที่ I คือสัญญาณที่วัดได้ คือความเข้มของสนามแสงที่สว่าง และคือการนับความมืด
โดยทั่วไปการปล่อยก๊าซเรือนกระจกยังห่างไกลจากปริมาณ เนื่องจากไม่ทราบความเข้มข้นของการย้อมสี ผลในการดับ การฟอกขาว การสอบเทียบเส้นทางการตรวจจับ ปริมาณผลผลิตควอนตัม และอื่นๆ อีกมากมาย
การแก้ไข Dark-field, Bright-field และ Bad-pixel เกี่ยวข้องโดยตรงกับการรับกล้อง ในทางกลับกัน การแก้ไขความเข้มจะเกี่ยวข้องกับความไม่เสถียรของแหล่งกำเนิดแสง รูปภาพที่แก้ไขจะแสดงในโปรแกรมแสดงโดยใช้ขีดจำกัดคอนทราสต์ของรูปภาพต้นฉบับ คุณอาจต้องปรับขีดจำกัดคอนทราสต์เพื่อดูผลลัพธ์ของการแก้ไขที่ดำเนินการอย่างมีประสิทธิภาพ
การผสมผสานระหว่างการแก้ไขสนามมืดและสนามสว่างเป็นไปได้สำหรับทั้งการทดลองการส่งผ่านและการปล่อยก๊าซ ผู้ใช้จะต้องเลือกรูปแบบการทดสอบ จากนั้นตัดสินใจว่าจะรวมการแก้ไขเพียงรายการเดียว (ช่องมืดหรือช่องสว่าง) หรือทั้งสองอย่าง เมื่อการแก้ไขเสร็จสมบูรณ์ ขึ้นอยู่กับการตั้งค่า Inplace เลเยอร์ใหม่ที่มีรูปภาพที่แก้ไขจะปรากฏในโปรแกรมดู หรือเลเยอร์รูปภาพต้นฉบับจะได้รับการอัปเดต การแก้ไขสนามมืด เพียงลำพังจะทำการลบภาพ ความมืด ( int
operation) ออกจากแต่ละภาพในกลุ่มภาพ จึงคุ้มค่าที่จะนำไปใช้เสมอ การดำเนินการนี้จะเหมือนกันโดยไม่คำนึงถึงรูปแบบการทดลอง การส่ง หรือ การปล่อยก๊าซ
การแก้ไขสนามสว่าง มีประโยชน์อย่างยิ่งสำหรับการทดลองการส่งผ่าน เพื่อแก้ไขความเข้มที่แตกต่างกันของพื้นหลังที่สว่างของภาพ เลเยอร์ สว่าง สามารถใช้เพื่อระบุพิกเซลที่เสียหายได้ หากใช้เพียงอย่างเดียว รูปภาพจะถูกแบ่งตามความเข้มของความสว่าง (การหาร float
) แล้วแปลงเป็น numpy.int16
สำหรับกรณีของการทดลอง Transmission สำหรับข้อมูล การปล่อยก๊าซ ความเข้มของสนามแสงที่สว่างจะถูกลบออกจากแต่ละภาพในสแต็ก ( การดำเนินการ int
)
การแก้ไขฟิลด์มืด + สว่าง ที่ดำเนินการร่วมกันได้รับการคำนวณสำหรับ การส่งข้อมูล
(image - dark) / (bright - dark)
ซึ่งเป็นการดำเนินการ float
ต่อมาเปลี่ยนเป็น numpy.int16
สำหรับข้อมูล การปล่อยก๊าซเรือนกระจก การแก้ไขความมืดและสว่างแบบผสมผสานที่ใช้กับการทดลอง การปล่อยก๊าซเรือนกระจก นั้นเป็นเพียงวิธีง่ายๆ
(image - dark) - (bright - dark) = image - bright
ดูส่วนด้านบนสำหรับคำอธิบายเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างการส่งผ่านและการปล่อยมลพิษ
การแก้ไขพิกเซลสามารถใช้ได้ทั้งพิกเซลร้อนและพิกเซลเสีย เมื่อกดปุ่ม Bad pixel correction
พิกเซลที่ไม่ถูกต้องจะถูกระบุ และผู้ใช้สามารถเลือกที่จะแก้ไขหรือแสดงภาพเป็นเลเยอร์ใหม่ในโปรแกรมดู
การแก้ไขจะดำเนินการโดยการพิจารณาค่าของพิกเซลข้างเคียง มีสองตัวเลือกสำหรับการแก้ไข: n4 และ n8 ตัวเลือก n4 ใช้พิกเซลข้างเคียง 4 พิกเซล (ขึ้น ลง ซ้าย และขวา) ในขณะที่ตัวเลือก n8 จะพิจารณาพิกเซลข้างเคียงทั้งหมด 8 พิกเซล หากพิกเซลข้างเคียงเป็นพิกเซลที่เสีย จะไม่ได้รับการพิจารณาให้แก้ไข ค่าพิกเซลที่ไม่ถูกต้องจะถูกคำนวณเป็น mean
ของค่าพิกเซลที่อยู่ใกล้เคียง
เมื่อนำการแก้ไขพิกเซลที่มืด สนามที่สว่าง และพิกเซลที่ไม่ถูกต้องไปใช้แล้ว คุณจะสามารถใช้ การแก้ไขความเข้ม เพื่อแก้ไขความไม่สอดคล้องกันของแสงตามแนวซ้อนที่เกิดจากความไม่เสถียรของแหล่งกำเนิดแสงได้ ผู้ใช้เลือกขนาดสี่เหลี่ยมผืนผ้าและกดปุ่ม Intensity correction
ค่าเฉลี่ยของพิกเซลในมุมทั้งสี่ของรูปภาพ (โดยด้านเท่ากับขนาดสี่เหลี่ยมผืนผ้า) จะถูกคำนวณบนสแต็ก และรูปภาพที่ได้รับการแก้ไขจะปรากฏในโปรแกรมแสดง (หากไม่ได้เลือกตัวเลือกการดำเนินการแบบ Inplace) หรือรูปภาพต้นฉบับจะ ได้รับการปรับปรุง นอกจากนี้ จะแสดงแผนภาพที่แสดงความเข้มของสแต็ก (ความเข้ม mean
ของพื้นที่สี่เหลี่ยมทั้ง 4 ด้านของภาพ) ก่อนและหลังการแก้ไขความเข้มจะแสดงขึ้น
หากคุณต้องการแก้ไขการฟอกสีด้วยแสงฟลูออเรสเซนต์ โปรดดูหัวข้อถัดไป
สำหรับแต่ละมุม ค่าความเข้มเฉลี่ยตามคอลัมน์จะถูกคำนวณ แล้วใช้เป็นปัจจัยแก้ไขเพื่อหารค่าความเข้มของแต่ละแถวโดยสัมพันธ์กับการฉายภาพครั้งแรก เมื่อการแก้ไขเสร็จสิ้น แผนภาพจะแสดงค่าเฉลี่ยที่คำนวณได้สำหรับแต่ละมุมจะปรากฏในตัวแสดง คุณลักษณะนี้จะถือว่าสแต็กอยู่ในรูปแบบ (angles, rows, columns)
โปรดทราบว่าการแก้ไขนี้ไม่ได้ดูแลเอฟเฟกต์เงาที่ปรากฏในภาพไซโนแกรมด้านบน ซึ่งนำมาจากแถวกล้องเดี่ยว แสงกระตุ้นเรืองแสงมาจากด้านขวาในกรณีนี้ ดังนั้นทางด้านขวาของ sinogams จึงแสดงความเข้มของ FL ที่สูงขึ้น
สามารถทำการ Binning ของสแต็กได้ เลือกปัจจัย Binning แล้วกดปุ่ม Bin Stack
สแต็คที่ถังขยะจะแสดงขึ้น และการแจ้งเตือนพร้อมรูปร่างสแต็คดั้งเดิมและใหม่จะปรากฏขึ้น รูปร่างคือ (height // bin_factor, width // bin _factor)
ดังนั้นพิกเซลขอบอาจหายไปหากขนาดรูปภาพของคุณไม่สามารถแบ่งได้ด้วย bin_factor
ค่าพิกเซลจะคำนวณเป็น mean
ของพิกเซลที่ binned และส่งไปที่ numpy.int16
Binning Factor ของ 1 ส่งผลให้ไม่มีการดำเนินการ
สำหรับการสร้างใหม่ด้วยเอกซเรย์ การเลือก ROI สามารถลดเวลาการคำนวณของอัลกอริธึมการสร้างใหม่ได้อย่างมาก เลือก Points layer
และเพิ่มจุดซึ่งกำหนดมุมซ้ายบนของ ROI จากนั้นผู้ใช้จะเลือก width
และ height
ของจุดเป็นพิกเซล หากมีการเพิ่มมากกว่าหนึ่งจุด เฉพาะจุดสุดท้ายเท่านั้นที่จะได้รับการพิจารณาสำหรับการเลือก ROI
คุณสามารถคำนวณลอการิทึมของภาพได้โดยใช้ฟังก์ชัน -Log ของวิดเจ็ต ทำให้มองเห็นรายละเอียดในบริเวณที่มืดและสว่างได้ชัดเจนยิ่งขึ้น นี่คือการเปลี่ยนแปลงที่สมเหตุสมผลทางกายภาพในการทดลองการส่งสัญญาณ เนื่องจากจะแปลงจำนวนนับเป็นการ ส่งผ่าน สำหรับการวัด การปล่อยก๊าซเรือนกระจก เป็นเพียงการเปลี่ยนแปลงเพื่อเพิ่มคอนทราสต์ที่ไม่ใช่เชิงเส้นสำหรับการแสดงภาพ
คุณสามารถติดตั้ง napari-opt-handler
ผ่าน pip:
pip install napari-opt-handler
วิธีติดตั้งเวอร์ชันการพัฒนาล่าสุด:
pip install git+https://github.com/QBioImaging/napari-opt-handler.git
ยินดีเป็นอย่างยิ่ง การทดสอบสามารถดำเนินการกับ tox ได้ โปรดตรวจสอบให้แน่ใจว่าความครอบคลุมอย่างน้อยยังคงเหมือนเดิมก่อนที่คุณจะส่งคำขอดึง
เผยแพร่ภายใต้เงื่อนไขของใบอนุญาต BSD-3 "napari-opt-handler" เป็นซอฟต์แวร์โอเพ่นซอร์สฟรี
หลายคนมีส่วนร่วมในโครงการนี้ สิ่งสำคัญคือ:
จอร์เจีย ตอร์โตร่า และอันเดรีย บาสซี่ (โปลิเทคนิโก มิลาน)
เทเรซา คอร์เรอา (CCMAR-สนามบิน Algarve)
หากคุณพบปัญหาใดๆ โปรดแจ้งปัญหาพร้อมกับคำอธิบายโดยละเอียด