本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文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این وب‌سایت به فارسی هم در دسترس است.مشاهده به فارسی

इंटीग्रेशन में रिजेक्शन: एल्गोरिदम का चुनाव और Rejection Map को पढ़ना

प्रीप्रोसेसिंग और स्टैकिंग2021.01

इंटीग्रेशन के समय होने वाला “रिजेक्शन” (rejection) दरअसल वह प्रक्रिया है जिसमें कई छवियों को एक-दूसरे पर चढ़ाते हुए उन बाहरी मानों (outliers) को अपने आप हटा दिया जाता है जिन्हें वहाँ होना ही नहीं चाहिए — उपग्रहों की लकीरें, कॉस्मिक किरणों से बने सफ़ेद धब्बे, बचे रह गए हॉट पिक्सेल, बहुत चमकीले तारों के फूले हुए किनारे, वग़ैरह। सही रिजेक्शन एल्गोरिदम चुनना और उससे बनने वाली Rejection Map को पढ़ पाना ही साफ़-सुथरी छवि पाने की कुंजी है। इस लेख में मैं रिजेक्शन एल्गोरिदम चुनने का तर्क समेट रहा हूँ, और यह भी कि अक्सर अनदेखी रह जाने वाली वे दो रिजेक्शन मैप आख़िर पढ़ी कैसे जाती हैं।

रिजेक्शन एल्गोरिदम का परिवार

PixInsight इंटीग्रेशन के समय कई रिजेक्शन एल्गोरिदम देता है। आधिकारिक दस्तावेज़ में यह सूचीबद्ध है कि कौन-सा एल्गोरिदम किस स्थिति के लिए उपयुक्त है, और वह पढ़ने लायक़ है (ध्यान रहे कि इस दस्तावेज़ को प्रकाशित हुए काफ़ी समय बीत चुका है, और बाद में जोड़े गए GESD एल्गोरिदम को इसमें शामिल नहीं किया गया है)।

PixInsight Image Integration के आधिकारिक दस्तावेज़ में सूचीबद्ध रिजेक्शन एल्गोरिदम

मोटे तौर पर इन्हें दो श्रेणियों में बाँटा जा सकता है:

  • Sigma परिवार: मानक विचलन (standard deviation) पर आधारित बाहरी मानों का निष्कासन, जैसे Sigma Clipping, इसका सुधरा हुआ रूप Winsorized Sigma Clipping, और Percentile Clipping। इनका सिद्धांत और गणित एक ही व्यवस्था से आते हैं।
  • GESD Test: यह Grubbs’s test पर आधारित है, और इसका सिद्धांत तथा गणित sigma-based तरीक़ों से पूरी तरह अलग है। यह अपेक्षाकृत बाद में जोड़ा गया एल्गोरिदम है।

GESD बनाम Sigma: फ़्रेम कम हों तो कौन जीतता है?

मैंने असल में तुलना करके देखी है। एक बार मैंने सिर्फ़ 12 फ़्रेम वाला डेटा उठाया और उस पर एक साथ GESD Test, Winsorized Sigma Clipping और पारंपरिक Sigma Clipping चलाए।

GESD, Winsorized Sigma और Sigma Clipping — तीनों की तुलना (12 फ़्रेम का डेटा)

12 फ़्रेम दरअसल GESD और Winsorized Sigma के लिए अनुशंसित फ़्रेम संख्या पर खरे नहीं उतरते, फिर भी इस सेट में GESD Test का नतीजा ही उलटे सबसे अच्छा निकला। हालाँकि एक बात बाद में जोड़नी ज़रूरी है: अगर डेटा रंगीन हो और फ़्रेम भी कम पड़ रहे हों, तो Winsorized Sigma या Sigma ही ज़्यादा उपयुक्त रहता है। यानी कोई एल्गोरिदम “हमेशा सबसे अच्छा” नहीं होता — यह डेटा पर निर्भर करता है।

धुँधली उपग्रह लकीरों से निपटने में GESD

GESD का एक और व्यावहारिक फ़ायदा है। पहले जब मैं sigma परिवार से इंटीग्रेशन करता था, तब अक्सर ऐसा होता था कि अपेक्षाकृत धुँधली उपग्रह लकीरें किसी तरह हट ही नहीं पातीं — 17 फ़्रेम होने पर भी इंटीग्रेशन के बाद लकीर का कुछ हिस्सा बचा रह जाता, और इस तरह की धुँधली लकीर के लिए manual selective rejection (हाथ से काला पोत देना) उपयुक्त भी नहीं है।

GESD के पैरामीटर बदलकर और धुँधली उपग्रह लकीर को फैलाकर उसे सफलतापूर्वक हटाया गया

GESD Test पर जाकर, पैरामीटर ठीक से समायोजित करके और धुँधली उपग्रह लकीर को फैलाकर बढ़ा देने के बाद, मैं बेहद धुँधली लकीर को भी सफलतापूर्वक हटा सका; और आम तौर पर GESD का S/N अनुपात पारंपरिक Sigma Clipping या Winsorized Sigma Clipping से ऊँचा ही रहता है। (हालाँकि ज़्यादातर मामलों में sigma परिवार के साथ ऐसी न हटने वाली समस्या पेश नहीं आती, यह अपेक्षाकृत चरम मामला है।)

ख़ास हथियार: Range Clipping

सांख्यिकीय ढंग से बाहरी मान हटाने के अलावा एक और तरीक़ा भी है, जो है तो “बलप्रयोग” वाला, पर काम का — Range Clipping।

डार्क कैलिब्रेशन ठीक न होने से बने काले धब्बों को Low Range clipping से ज़बरदस्ती हटाना

अगर आपके पास ऐसी छवियाँ हों जिनमें डार्क कैलिब्रेशन ठीक से न होने के कारण बहुत सारे काले धब्बे आ गए हों (मसलन 10 फ़्रेम में हैं और 5 में नहीं), तो नियमित रिजेक्शन एल्गोरिदम के लिए बाहरी मान चुन-चुनकर इन काले धब्बों को हटाना बहुत मुश्किल है। ऐसे में इंटीग्रेशन के समय Range Low Clipping का उपयोग करके एक निश्चित सीमा से नीचे के सारे काले धब्बे ज़बरदस्ती हटाए जा सकते हैं। यह किसी ख़ास ख़राबी पर सीधे निशाना साधने वाला तरीक़ा है, और सांख्यिकीय रिजेक्शन का पूरक है।

Low Range clipping से काले धब्बे हटाने का असर

Rejection Map को पढ़ना

ImageIntegration या WBPP से इंटीग्रेशन पूरा करने पर, तैयार छवि के अलावा दो रिजेक्शन मैप भी बनती हैं: एक उच्च चमक की दिशा के लिए (rejection high) और एक निम्न चमक की दिशा के लिए (rejection low)। ज़्यादातर लोग इन दोनों को सीधे अनदेखा कर देते हैं — और यह दरअसल बहुत काम की नैदानिक जानकारी को बरबाद करना है।

Rejection High मैप में दिखतीं उपग्रह लकीरें, फूले हुए तारों के किनारे और निकट-पृथ्वी पिंडों की लकीरें

आम तौर पर rejection low में देखने लायक़ कुछ ख़ास नहीं होता, असली बात rejection high में है: यहाँ वे सारी बाधाएँ दिखती हैं जिन्हें आप “तैयार छवि में नहीं देखना चाहते” — उपग्रह लकीरें, बहुत चमकीले या फूले हुए तारों के किनारे, निकट-पृथ्वी पिंडों की लकीरें, और साथ ही हॉट पिक्सेल तथा कॉस्मिक किरणों से बने सफ़ेद धब्बे (हॉट पिक्सेल मैं आम तौर पर इंटीग्रेशन से पहले ही Cosmetic Correction से साफ़ कर देता हूँ, इसलिए यहाँ उनकी संख्या ज़्यादा नहीं होती)।

इस मैप को पढ़ने का सबसे व्यावहारिक तरीक़ा यह है: जिस पिक्सेल को आप हटाना चाहते थे, वह अगर rejection high में दिख रहा है तो इसका मतलब है कि वह सफलतापूर्वक हट गया; और अगर वह यहाँ नहीं दिखता, बल्कि इंटीग्रेट की हुई तैयार छवि में बचा रह गया है (जैसे कोई बची हुई उपग्रह लकीर), तो इसका मतलब है कि आपके रिजेक्शन पैरामीटर पर्याप्त नहीं हैं, या एल्गोरिदम बदलना चाहिए

“यह फ़्रेम निकाल दूँ या नहीं” — कुछ आम सवाल

ऊपर बताया गया सिद्धांत समझ में आ जाए तो नए लोगों की बहुत-सी उलझनों का जवाब अपने आप मिल जाता है।

जिस छवि में तारे फूले हुए हों, क्या उसे इंटीग्रेशन से बाहर कर देना चाहिए? जब तक फ़ोकस ही न बिगड़ा हो, मैं आम तौर पर उसे इंटीग्रेशन में शामिल रहने देता हूँ।

Rejection High में हटाए गए फूले हुए / बहुत चमकीले तारों के किनारे और उपग्रह लकीरें

rejection high देखने पर पता चल जाएगा कि तारों के वे हिस्से, जो हद से ज़्यादा फैले हुए या बहुत चमकीले थे, रिजेक्शन विधि द्वारा पहले ही हटाए जा चुके हैं और इंटीग्रेशन की गणना में शामिल नहीं हुए; कृत्रिम उपग्रहों की लकीरें और कॉस्मिक किरणों के सफ़ेद टुकड़े भी इसी तरह rejection high में जा गिरते हैं। इस क़िस्म का काम सॉफ़्टवेयर के भरोसे छोड़ देना ही ठीक है।

अगर कोई चमकीली उपग्रह लकीर लक्ष्य को आर-पार काट रही हो, तो क्या उस फ़्रेम को हाथ से हटा देना चाहिए? जवाब फिर वही है — इसकी ज़रूरत नहीं।

7 फ़्रेम में से एक में उपग्रह लकीर लक्ष्य को आर-पार काटती है, जिसे सख़्त Sigma High पैरामीटर से अपने आप हटा दिया गया

तरीक़ा यह है: अगर फ़्रेम कम हों तो ज़्यादा दमदार रिजेक्शन क्षमता वाला एल्गोरिदम चुनिए (जैसे Sigma Clipping परिवार) और Sigma High पैरामीटर थोड़ा सख़्त कर दीजिए (मसलन 2.5 से नीचे)। एक उदाहरण में मेरे पास सिर्फ़ 7 फ़्रेम थे और उनमें से एक में उपग्रह लकीर लक्ष्य को आर-पार काट रही थी; S/N अनुपात के लिहाज़ से हर एक फ़्रेम अहम था, इसलिए उपयुक्त पैरामीटर सेट करके (सॉफ़्टवेयर के डिफ़ॉल्ट मान इस्तेमाल किए बिना) मैंने इंटीग्रेशन की प्रक्रिया को ही अपने आप रिजेक्शन पूरा करने दिया, और सफलतापूर्वक हटाई गई लकीर rejection high में दिख गई। मेहनत से कमाया गया एक-एक पिक्सेल बरबाद मत कीजिए।

ख़राब कॉलम का अपवाद: रिजेक्शन इसे हल नहीं कर सकता

अंत में एक ऐसा अपवाद भी जोड़ देता हूँ जिसे रिजेक्शन हल नहीं कर सकता — CCD का ख़राब कॉलम (defect column)।

Defect Map से CCD का ख़राब कॉलम मिटाना, बचा हुआ हिस्सा रिजेक्शन के हवाले

ख़राब कॉलम बहुत गहरा काला होता है और पूरी लंबाई में फैला रहता है; ज़बरदस्ती रिजेक्शन से उसे हटाने चलें तो बहुत सारे अच्छे पिक्सेल की क़ुरबानी देनी पड़ती है और नतीजा भी अच्छा नहीं आता। सही तरीक़ा यह है कि पहले कैमरे के लिए एक Defect Map बनाई जाए (“Latte” वाले 16803 CCD का उदाहरण लें तो फ़्रेम के बीचोबीच एक साफ़ दिखने वाला ख़राब कॉलम है, और साथ में तीन कम स्पष्ट कॉलम भी), फिर उसे DefectMap प्रोसेस से लोड करके लाइट फ़्रेम पर लागू किया जाए, जिससे ख़राब कॉलम का असर काफ़ी घट जाए, और उसके बाद जो बचे वह इंटीग्रेशन के रिजेक्शन के हवाले कर दिया जाए ताकि वह आसानी से उसे साफ़ कर दे। यानी रिजेक्शन आख़िर में आने वाला सफ़ाईकर्मी है, कोई सर्वशक्तिमान पहली रक्षा-पंक्ति नहीं — जिन ख़राबियों के लिए विशेष औज़ार चाहिए, उनसे पहले सही औज़ार से ही निपटना पड़ता है।