การลดขนาดดาวและการจัดการดาว: วิวัฒนาการของวิธีการและการปฏิบัติด้วย PixelMath
การลดขนาดดาวอย่างเหมาะสมช่วยให้วัตถุหลักของภาพเด่นชัดขึ้น โดยเฉพาะในบริเวณที่ดาวหนาแน่นอย่างแถบทางช้างเผือก หากไม่จัดการ ดาวเต็มท้องฟ้าจะรบกวนเนบิวลาอย่างหนัก บทความนี้รวบรวมวิธีลดขนาดดาวตั้งแต่ฟิลเตอร์กัดกร่อนในยุคแรก จนถึงวิธีภาพ starless ที่เป็นกระแสหลักในปัจจุบัน และการทำ PixelMath
วิธีการยุคแรก: ลดขนาดดาวด้วยการกัดกร่อน (Erosion)
การลดขนาดดาวรูปแบบแรกสุดอาศัยการกัดกร่อน (Erosion) โดยใช้ฟิลเตอร์ “Minimum” ใน Photoshop หรือใช้ Erosion ใน PixInsight กัดกร่อนดาวในบริเวณที่เลือกไว้ให้มีขนาดเล็กลง หากต้องการความพิถีพิถันมากขึ้น จะใช้ร่วมกับมาสก์ขอบเพื่อไม่ให้กัดกร่อนไปถึงใจกลางดาว
พูดตามตรง แต่เดิมไม่ค่อยได้ลดขนาดดาว เพราะ Erosion แบบดั้งเดิมมักทำให้ดาวเสียรูป (เช่น ทำให้ดาวทรงกลมกลายเป็นสี่เหลี่ยมขนมเปียกปูน หรือทำให้ดาวรูปเพชรเสียหาย) แต่เป้าหมายบางอย่าง เช่น เนบิวลากระดูกงูเรือขนาดใหญ่ที่อยู่ในแถบทางช้างเผือก ต่อให้มาสก์ดาวทำได้ดีแค่ไหน ผลงานสุดท้ายก็ยังมีดาวจำนวนมากรบกวนเนบิวลาอยู่ดี ในกรณีนี้จึงหลีกเลี่ยงการลดขนาดดาวไม่ได้ ด้วยเหตุนี้ จุดอ่อนที่สุดของการลดขนาดดาวด้วยการกัดกร่อนคือความไวต่อคุณภาพของมาสก์อย่างมาก หากมาสก์ทำได้ไม่ดี ใจกลางดาวและบริเวณรอบดาวก็มักเกิดร่องรอยผิดปกติในภาพได้ง่าย

จุดเปลี่ยน: ลดขนาดดาวด้วยภาพ starless
ความก้าวหน้าของเทคโนโลยีทำให้การลดขนาดดาวค่อย ๆ กลายเป็นแค่การลากสไลเดอร์ก็เสร็จ และสามารถกำหนดเองได้ว่าจะลดดาวขนาดใดบ้าง จุดสำคัญคือ ทุกคนเริ่มนำเครื่องมือขจัดดาว (เช่น StarNet++) มาใช้ลดขนาดดาว ไม่ใช่แค่ใช้ขจัดดาวออกจากภาพเท่านั้น พอถึง ค.ศ. 2021 หลังจากทำเป็นสคริปต์ก็สะดวกขึ้นอีก ฟิลเตอร์ Minimum ของ PS หรือ Erosion ของ PI จึงไม่ค่อยเป็นที่นิยมอีกต่อไป
PI มีสคริปต์ลดขนาดดาวสำเร็จรูปให้ใช้ ซึ่งไม่ได้ใช้ฟิลเตอร์ Minimum หรือ Erosion แต่ใช้วิธีผสาน StarNet++ เข้ากับ Contour Mask

ในที่นี้ขอเคลียร์จุดที่มักเข้าใจผิดจุดหนึ่ง ตัวเลือก “Create star mask” ใน StarNet++ นั้นสิ่งที่สร้างขึ้นไม่ใช่มาสก์ แต่คือดาวที่ถูกขจัดออกไปนั่นเอง หากใช้ PixelMath ของ PI หรือเลเยอร์ของ PS นำ star_mask นี้ใส่กลับไปในภาพ starless ก็จะได้ภาพที่แทบจะเหมือนกับภาพต้นฉบับที่ยังไม่ได้ขจัดดาวออก

หลังลดขนาดดาว ดาวทุกดวงจะมีขนาดเท่ากันหมดหรือไม่
เคยมีเพื่อนนักถ่ายภาพดาราศาสตร์คนหนึ่งบอกว่า หลังลดขนาดดาวแล้วดาวทุกดวงจะมีขนาดเท่ากันหมด แต่เป็นเช่นนั้นจริงหรือ? ความจริงแล้วไม่ใช่ ขนาดของดาวหลังลดขนาดขึ้นอยู่กับขนาดดาวเดิมและมาสก์ที่ใช้ลดขนาดดาวเป็นหลัก
ในทางปฏิบัติ ทุกครั้งที่ลดขนาดดาวจะเลือกประเภทของดาวที่จะลดขนาด (ส่วนใหญ่เป็นดาวขนาดกลางถึงเล็ก) และสร้างมาสก์ที่เหมาะสมกับขนาดดาว หลังลดขนาดแล้วดาวยังคงมีขนาดแตกต่างกันอยู่ เพียงแต่สามารถสังเกตร่องรอยการลดขนาดได้จากบริเวณรอบดาว ตัวอย่างเช่น ภาพขยายของ SL 17 คือผลจากการลดขนาดดาวรวมสองครั้ง (ปัจจุบันยังไม่เคยทำเกินสองครั้ง)




การลดขนาดดาวด้วย PixelMath (สถานะ Non-linear)
การลดขนาดดาวด้วยภาพ starless สามารถทำได้อย่างแม่นยำใน PI ด้วย PixelMath ขั้นตอนแยกย่อยมีดังนี้:
- เตรียมไฟล์ภาพ A และไฟล์ภาพ starless ของ A คือไฟล์ B
- ใช้ STF ร่วมกับ HistogramTransformation ลดความสว่างของ A และ B พร้อมกัน (เลื่อน midtone ไปทางขวา)
- กลับค่า A และ B ที่ลดความสว่างแล้ว (แป้นพิมพ์ Ctrl+I)
- หาร A ที่กลับค่าแล้วด้วย B ที่กลับค่าแล้ว จะได้ภาพดาวที่กลับค่าแล้ว C (PixelMath)
- คูณ C ด้วยค่าที่กลับของ B จะได้ภาพลดขนาดดาวที่กลับค่าแล้ว D (PixelMath)
- กลับค่า D กลับมาเป็นภาพลดขนาดดาวปกติ (Ctrl+I)
ขั้นตอนที่ 5 และ 6 ที่จริงแล้วก็คือสูตรของ screen blending mode หากต้องการให้ลดขนาดดาวได้มากขึ้น สามารถลดความสว่างของ A และ B ในขั้นตอนที่ 2 ให้ต่ำลงอีกได้ สูตรแบบย่อมีดังนี้:
afterimage = ~((~mtf_low(beforeimage) / ~mtf_low(starless)) * ~starless)

วิธีเดียวกันนี้สามารถทำซ้ำได้ใน Photoshop หรือ Affinity Photo เช่นกัน ความแตกต่างอยู่ที่เปลี่ยนไปใช้เลเยอร์แทน และโหมดผสม (blending mode) ระหว่างเลเยอร์ก็แตกต่างกันเล็กน้อย

จุดสำคัญ: ต้องดึงดาวออกมาอย่างถูกต้องด้วย “การหารแบบกลับค่า”
หลายคนใช้วิธี starless ในการปรับแต่งภาพ แต่สุดท้ายใส่ดาวกลับไปแล้วล้มเหลว จุดสำคัญอยู่ที่วิธีการดึงดาวออกมา
หากเพียงแค่นำภาพ starless มาลบออกจากภาพต้นฉบับเพื่อให้ได้ดาว แล้วใส่ดาวกลับไป ผลลัพธ์มักจะเป็นดาวที่หม่นและสีผิดเพี้ยน ดูราวกับลดความทึบของเลเยอร์ลง สาเหตุคือมีเนื้อหาบางส่วนของดาวหลงเหลืออยู่ในภาพ starless ทำให้การลบไม่สามารถดึงดาวออกมาได้ครบถ้วน
วิธีที่ดีกว่าคือใช้การหารแบบกลับค่าเพื่อดึงดาวออกมาให้ครบถ้วน หลังจากปรับแต่งภาพ starless เสร็จแล้ว จึงใช้การคูณหรือการคูณแบบกลับค่า (screen blending mode) เพื่อใส่ดาวกลับเข้าไป

Linear กับ Non-linear: สูตรสำหรับดึงออกและใส่กลับแตกต่างกัน
หลังจาก RC Astro เปิดตัว StarXTerminator (SXT) ขอบเขตการใช้งานของการขจัดดาวได้ขยายจากสถานะ Non-linear ไปถึงสถานะ Linear อย่างไรก็ตาม ในสถานะ Linear และ Non-linear ขั้นตอนและสูตรสำหรับดึงดาวออกและใส่ดาวกลับยังคงมีความแตกต่างกันเล็กน้อย ซึ่งหลายคนมักมองข้ามจุดนี้
สถานะ Non-linear (ภาพผ่านการ Stretch อย่างมากแล้ว ความสัมพันธ์ระหว่างพิกเซลจึงไม่ใช่ความสัมพันธ์เชิงเส้นดั้งเดิมอีกต่อไป):
- ดึงดาวออก: ติ๊กเลือก “Unscreen Stars” ใน SXT หรือหลังขจัดดาวแล้วใช้สูตรการหารแบบกลับค่า
~(~Original_Nebula / ~Starless_Nebula)เพื่อให้ได้ดาว - ใส่ดาวกลับ: ใน PixelMath ใช้สูตรการคูณแบบกลับค่า
~(~Nebula * ~stars)ซึ่งก็คือสูตรทางคณิตศาสตร์ของ Screen Blending นั่นเอง
สถานะ Linear (หลังทำ Stacking แล้ว ก่อน Stretch อย่างมาก ความสัมพันธ์ระหว่างพิกเซลยังคงเป็นความสัมพันธ์เชิงเส้นดั้งเดิม):
- ดึงดาวออก: ไม่ ติ๊กเลือก “Unscreen Stars” ใน SXT
- ใส่ดาวกลับ: ใน PixelMath ใช้สูตรการบวก
Nebula + stars

เมื่อเข้าใจชัดเจนว่าภาพของตนอยู่ในสถานะใด และใช้สูตรที่สอดคล้องกันในการดึงดาวออกและใส่ดาวกลับ ก็จะช่วยหลีกเลี่ยงปัญหาดาวมืดลง สีเพี้ยน หรือใส่ดาวกลับไม่สำเร็จ