本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文This site is available in English.View in Englishこのサイトには日本語版があります。日本語で表示이 사이트는 한국어로도 제공됩니다.한국어로 보기Diese Website ist auch auf Deutsch verfügbar.Auf Deutsch ansehenEste sitio web también está disponible en español.Ver en españolQuesto sito è disponibile anche in italiano.Visualizza in italianoCe site est également disponible en français.Afficher en françaisEste site também está disponível em português.Ver em portuguêsDeze website is ook beschikbaar in het Nederlands.In het Nederlands bekijkenЭтот сайт также доступен на русском языке.Смотреть на русскомयह वेबसाइट हिन्दी में भी उपलब्ध है।हिन्दी में देखेंهذا الموقع متاح أيضًا باللغة العربية.عرض بالعربيةSitus ini juga tersedia dalam bahasa Indonesia.Lihat dalam bahasa IndonesiaBu site Türkçe olarak da mevcut.Türkçe görüntüleTa strona jest dostępna także po polsku.Wyświetl po polskuTrang web này cũng có phiên bản tiếng Việt.Xem bằng tiếng Việtاین وب‌سایت به فارسی هم در دسترس است.مشاهده به فارسیЦей сайт також доступний українською.Переглянути українськоюTato stránka je k dispozici také v češtině.Zobrazit v češtiněEz az oldal magyarul is elérhető.Megtekintés magyarulAcest site este disponibil și în limba română.Vizualizare în română

การลดขนาดดาวและการจัดการดาว: วิวัฒนาการของวิธีการและการปฏิบัติด้วย PixelMath

การ Stretch และขั้นตอนไม่เชิงเส้น2021.01

การลดขนาดดาวอย่างเหมาะสมช่วยให้วัตถุหลักของภาพเด่นชัดขึ้น โดยเฉพาะในบริเวณที่ดาวหนาแน่นอย่างแถบทางช้างเผือก หากไม่จัดการ ดาวเต็มท้องฟ้าจะรบกวนเนบิวลาอย่างหนัก บทความนี้รวบรวมวิธีลดขนาดดาวตั้งแต่ฟิลเตอร์กัดกร่อนในยุคแรก จนถึงวิธีภาพ starless ที่เป็นกระแสหลักในปัจจุบัน และการทำ PixelMath

วิธีการยุคแรก: ลดขนาดดาวด้วยการกัดกร่อน (Erosion)

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

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

การเปรียบเทียบก่อนและหลังการลดขนาดดาวในยุคแรกโดยใช้มาสก์จาก StarNet++ (เนบิวลากระดูกงูเรือ)

จุดเปลี่ยน: ลดขนาดดาวด้วยภาพ starless

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

PI มีสคริปต์ลดขนาดดาวสำเร็จรูปให้ใช้ ซึ่งไม่ได้ใช้ฟิลเตอร์ Minimum หรือ Erosion แต่ใช้วิธีผสาน StarNet++ เข้ากับ Contour Mask

ภาพประกอบการลดขนาดดาวด้วยสคริปต์บนพื้นฐานของ StarNet++

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

“star mask” ที่ StarNet++ สร้างขึ้นแท้จริงแล้วคือดาวเอง เมื่อใส่กลับไปสามารถคืนสภาพภาพเดิมได้

หลังลดขนาดดาว ดาวทุกดวงจะมีขนาดเท่ากันหมดหรือไม่

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

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

หลังลดขนาดดาว ขนาดดาวยังคงแตกต่างกัน และสังเกตร่องรอยการลดขนาดได้จากรอบดาว (SL 17)

ภาพขยาย SL 17 แสดงผลของการลดขนาดดาวสองครั้ง

ลดขนาดดาวด้วยวิธีภาพ starless ให้ผลลัพธ์ดาวที่เป็นธรรมชาติมากขึ้น

การเปรียบเทียบเฉพาะจุดก่อนและหลังลดขนาดดาว

การลดขนาดดาวด้วย PixelMath (สถานะ Non-linear)

การลดขนาดดาวด้วยภาพ starless สามารถทำได้อย่างแม่นยำใน PI ด้วย PixelMath ขั้นตอนแยกย่อยมีดังนี้:

  1. เตรียมไฟล์ภาพ A และไฟล์ภาพ starless ของ A คือไฟล์ B
  2. ใช้ STF ร่วมกับ HistogramTransformation ลดความสว่างของ A และ B พร้อมกัน (เลื่อน midtone ไปทางขวา)
  3. กลับค่า A และ B ที่ลดความสว่างแล้ว (แป้นพิมพ์ Ctrl+I)
  4. หาร A ที่กลับค่าแล้วด้วย B ที่กลับค่าแล้ว จะได้ภาพดาวที่กลับค่าแล้ว C (PixelMath)
  5. คูณ C ด้วยค่าที่กลับของ B จะได้ภาพลดขนาดดาวที่กลับค่าแล้ว D (PixelMath)
  6. กลับค่า D กลับมาเป็นภาพลดขนาดดาวปกติ (Ctrl+I)

ขั้นตอนที่ 5 และ 6 ที่จริงแล้วก็คือสูตรของ screen blending mode หากต้องการให้ลดขนาดดาวได้มากขึ้น สามารถลดความสว่างของ A และ B ในขั้นตอนที่ 2 ให้ต่ำลงอีกได้ สูตรแบบย่อมีดังนี้:

afterimage = ~((~mtf_low(beforeimage) / ~mtf_low(starless)) * ~starless)

ภาพประกอบขั้นตอนแยกย่อยของการลดขนาดดาวด้วย PixelMath

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

ทำซ้ำการลดขนาดดาวด้วย PixelMath โดยใช้เลเยอร์ของ Photoshop พร้อมระบุโหมดผสมของแต่ละเลเยอร์

จุดสำคัญ: ต้องดึงดาวออกมาอย่างถูกต้องด้วย “การหารแบบกลับค่า”

หลายคนใช้วิธี 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

การเปรียบเทียบสูตรดึงดาวออกและใส่ดาวกลับในสถานะ Linear และ Non-linear

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