การ Rejection ในการ Stacking: การเลือกอัลกอริทึมและการอ่าน Rejection Map
Rejection ตอน Stacking คือขั้นตอนที่ตัดค่าผิดปกติซึ่งไม่ควรปรากฏออกโดยอัตโนมัติ ระหว่างการนำภาพหลายภาพมาซ้อนกัน เช่น รอยดาวเทียม จุดขาวจากรังสีคอสมิก hot pixel ที่หลงเหลืออยู่ รัศมีดาวที่สว่างจ้าเกินไป และอื่น ๆ การเลือกอัลกอริทึม Rejection ให้ถูกต้อง และอ่าน Rejection Map ที่มันสร้างขึ้นให้เป็น คือกุญแจสำคัญของการ Stacking ให้ได้ภาพที่สะอาด บทความนี้จะสรุปตรรกะการเลือกอัลกอริทึม Rejection พร้อมทั้งวิธีอ่าน Rejection Map สองแผ่นที่มักถูกมองข้าม
ตระกูลอัลกอริทึม Rejection
ตอน Stacking ด้วย PixInsight มีอัลกอริทึม Rejection ให้เลือกหลายแบบ เอกสารทางการได้ระบุสถานการณ์ที่เหมาะกับแต่ละอัลกอริทึมไว้ ควรค่าแก่การอ่านมาก (ควรสังเกตว่าเอกสารฉบับนี้เผยแพร่มาสักระยะแล้ว ยังไม่ครอบคลุมอัลกอริทึม GESD ที่เพิ่มเข้ามาภายหลัง)

แบ่งออกได้คร่าว ๆ เป็นสองกลุ่ม:
- ตระกูล Sigma: การตัดค่าผิดปกติโดยอิงส่วนเบี่ยงเบนมาตรฐาน เช่น Sigma Clipping, รุ่นปรับปรุงอย่าง Winsorized Sigma Clipping และ Percentile Clipping หลักการและคณิตศาสตร์เบื้องหลังอยู่ในระบบเดียวกัน
- GESD Test: อิง Grubbs’s test เป็นพื้นฐาน ทฤษฎีและคณิตศาสตร์แตกต่างจากวิธีแบบ sigma-based โดยสิ้นเชิง เป็นอัลกอริทึมที่เพิ่มเข้ามาทีหลังค่อนข้างมาก
GESD vs Sigma: เมื่อมีภาพน้อย ใครชนะ?
ผมเคยลองเปรียบเทียบจริง ครั้งหนึ่งใช้ชุดข้อมูลที่มีแค่ 12 ภาพ รัน GESD Test, Winsorized Sigma Clipping และ Sigma Clipping แบบดั้งเดิมพร้อมกัน

12 ภาพนั้นไม่ตรงกับจำนวนภาพที่แนะนำสำหรับ GESD และ Winsorized Sigma แต่ในชุดนี้ GESD Test กลับให้ผลดีที่สุด แต่ขอเสริมท้ายไว้หน่อยว่า ถ้าเป็นข้อมูลสีและมีจำนวนภาพไม่พอ Winsorized Sigma หรือ Sigma ก็ยังเหมาะกว่า ดังนั้นจึงไม่มีอัลกอริทึมที่ “ดีที่สุดตลอดกาล” ขึ้นอยู่กับข้อมูล
GESD กับรอยดาวเทียมจาง ๆ
GESD ยังมีข้อได้เปรียบในการใช้งานจริงอีกอย่าง แต่ก่อนเวลา Stacking ด้วยตระกูล sigma มักเจอรอยดาวเทียมที่ค่อนข้างจางแล้วตัดออกไม่ได้ แม้จะมีถึง 17 ภาพ Stacking เสร็จแล้วก็ยังเหลือรอยบางส่วนอยู่ดี แถมรอยจาง ๆ แบบนี้ก็ไม่เหมาะกับการใช้ manual selective rejection (การป้ายสีดำด้วยมือ) เพื่อตัดออก

พอเปลี่ยนมาใช้ GESD Test แล้วปรับพารามิเตอร์ให้เหมาะสม ขยาย (dilate) รอยดาวเทียมจาง ๆ ให้โตขึ้น ก็ตัดรอยที่จางมากออกได้สำเร็จ และโดยทั่วไปแล้วอัตราส่วนสัญญาณต่อสัญญาณรบกวนของ GESD จะสูงกว่า Sigma Clipping แบบดั้งเดิมหรือ Winsorized Sigma Clipping เสมอ (แต่ส่วนใหญ่แล้วการใช้ตระกูล sigma ก็ไม่ค่อยเจอปัญหาตัดไม่ออกแบบนี้ นี่เป็นกรณีที่ค่อนข้างสุดโต่ง)
อาวุธพิเศษ: Range Clipping
นอกจากการตัดค่าผิดปกติเชิงสถิติแล้ว ยังมีอีกวิธีหนึ่งที่ “หยาบ” แต่ใช้ได้ผลดี นั่นคือ Range Clipping

ถ้ามีภาพที่ dark calibration ไม่ดีจนเกิดจุดดำเยอะ (เช่น มีในภาพ 10 ภาพ แต่ไม่มีใน 5 ภาพ) อัลกอริทึม Rejection แบบปกติจะคัดจุดดำเหล่านี้ออกด้วยการหาค่าผิดปกติได้ยาก กรณีนี้สามารถใช้ Range Low Clipping ตอน Stacking เพื่อบังคับลบจุดดำที่ต่ำกว่าเกณฑ์ที่กำหนดทั้งหมดออกไปได้ เป็นวิธีตรงจุดสำหรับข้อบกพร่องเฉพาะแบบ และช่วยเสริมการ Rejection เชิงสถิติ

อ่าน Rejection Map ให้เป็น
เมื่อ Stacking ด้วย ImageIntegration หรือ WBPP เสร็จแล้ว นอกจากภาพผลลัพธ์ยังจะได้แผนที่ Rejection สองแผ่น แผ่นหนึ่งสำหรับทิศทางความสว่างสูง (rejection high) อีกแผ่นสำหรับทิศทางความสว่างต่ำ (rejection low) คนส่วนใหญ่มักมองข้ามสองแผ่นนี้ไปเลย ทั้งที่จริง ๆ แล้วนี่คือการเสียข้อมูลวินิจฉัยที่มีประโยชน์มากไปเปล่า ๆ

โดยทั่วไป rejection low ไม่ค่อยมีอะไรให้ดู จุดสำคัญอยู่ที่ rejection high ตรงนี้จะปรากฏสิ่งรบกวนต่าง ๆ ที่ไม่อยากให้ปรากฏในภาพผลลัพธ์ เช่น รอยดาวเทียม รัศมีดาวที่สว่างจ้าหรือบวมเกินไป ร่องรอยวัตถุใกล้โลก รวมถึง hot pixel และจุดขาวจากรังสีคอสมิก (hot pixel ผมมักเคลียร์ออกด้วย Cosmetic Correction ก่อน Stacking อยู่แล้ว ตรงนี้จึงมักมีจำนวนไม่มาก)
วิธีอ่านแผนที่นี้ที่ใช้ได้จริงที่สุดคือ ถ้าพิกเซลที่อยากตัดออกปรากฏใน rejection high แปลว่าตัดออกได้สำเร็จแล้ว แต่ถ้าไม่ปรากฏตรงนี้ แต่กลับเหลืออยู่ในภาพผลลัพธ์ที่ Stacking เสร็จแล้ว (เช่น รอยดาวเทียมที่หลงเหลือ) ก็แปลว่าพารามิเตอร์ Rejection ยังไม่พอ หรือควรเปลี่ยนอัลกอริทึม
คำถามยอดฮิต “จะตัดภาพนี้ทิ้งดีไหม”
พอเข้าใจหลักการข้างต้นแล้ว สิ่งที่มือใหม่หลายคนกังวลก็มีคำตอบ
ภาพที่ดาวบวม ควรตัดออกไม่ให้ร่วม Stacking ไหม? ถ้าไม่ใช่หลุดโฟกัส ผมมักปล่อยให้ร่วม Stacking ตามปกติ

พอตรวจดู rejection high ก็จะเห็นว่าส่วนของดาวที่กว้างเกินไปหรือสว่างจ้าเกินไปนั้น ถูก Rejection ตัดออกไปแล้ว ไม่ได้ร่วมในการคำนวณ Stacking รอยดาวเทียมและก้อนขาวจากรังสีคอสมิกก็ตกอยู่ใน rejection high เช่นกัน งานแบบนี้ปล่อยให้ซอฟต์แวร์จัดการไปก็พอ
มีรอยดาวเทียมสว่างพาดผ่านเป้าหมาย ควรลบภาพนั้นด้วยมือไหม? คำตอบก็เหมือนเดิม คือไม่ต้อง

วิธีทำ: ถ้าจำนวนภาพน้อย ให้ใช้อัลกอริทึมที่มีความสามารถ Rejection สูงกว่า (เช่น ตระกูล Sigma Clipping) แล้วตั้งพารามิเตอร์ Sigma High ให้เข้มงวดขึ้นหน่อย (เช่น ต่ำกว่า 2.5) มีตัวอย่างหนึ่งที่มีแค่ 7 ภาพ โดยภาพหนึ่งมีรอยดาวเทียมพาดขวางเป้าหมาย ทุกภาพสำคัญต่ออัตราส่วนสัญญาณต่อสัญญาณรบกวนมาก จึงตั้งพารามิเตอร์ให้เหมาะสม (ไม่ใช้ค่าเริ่มต้นของซอฟต์แวร์) แล้วปล่อยให้กระบวนการ Stacking ทำ Rejection ให้เสร็จเองอัตโนมัติ รอยที่ตัดออกได้สำเร็จก็ปรากฏใน rejection high อย่าให้พิกเซลที่ได้มาด้วยความยากลำบากต้องเสียเปล่าแม้แต่พิกเซลเดียว
ข้อยกเว้นคอลัมน์เสีย: Rejection ช่วยไม่ได้
สุดท้ายขอเสริมข้อยกเว้นที่ Rejection ช่วยไม่ได้อีกข้อ นั่นคือคอลัมน์เสีย (defect column) ของ CCD

คอลัมน์เสียมืดเกินไปและพาดตลอดทั้งคอลัมน์ ถ้าจะฝืนใช้ Rejection ตัดออกก็ต้องเสียพิกเซลดี ๆ ไปมาก แถมผลลัพธ์ก็ยังไม่ดี วิธีที่ถูกต้องคือทำ Defect Map ให้กล้องก่อน (ยกตัวอย่าง CCD 16803 ของ “Latte” มีคอลัมน์เสียเด่นชัดหนึ่งคอลัมน์อยู่กลางภาพ บวกอีกสามคอลัมน์ที่ไม่เด่นชัด) แล้วใช้กระบวนการ DefectMap โหลดและใช้กับ light frame เพื่อลดผลกระทบของคอลัมน์เสียลงอย่างมาก จากนั้นค่อยปล่อยให้ Rejection ตอน Stacking จัดการส่วนที่เหลือได้อย่างง่ายดาย พูดอีกอย่างคือ Rejection เป็นภารโรงที่ทำความสะอาดตอนท้าย ไม่ใช่แนวป้องกันด่านแรกที่วิเศษไปเสียทุกอย่าง ข้อบกพร่องที่ต้องใช้เครื่องมือเฉพาะทางก็ยังต้องใช้เครื่องมือที่ถูกต้องก่อนอยู่ดี