WBPP kullanımının tam rehberi: arayüz, master kalibrasyon kareleri ve yürütme akışı
Bu yazı 2021–2024 yıllarında tutulmuş notlardan derlenmiştir; bazı araçlar veya akışlar o zamandan beri güncellendi, okurken bunu göz önünde bulundurun. Yazıda geçen bazı arayüzler, seçenekler ve sürüm davranışları (örneğin 2.1.2 ve 2.5 sürümleri) hep o günkü durumu yansıtır. Yürütme sırasında karşılaştığınız hatalara ve bilinen bug sorunlarına gelince, onlar için “WBPP Troubleshooting” adlı ayrı yazıya bakın.
WBPP (WeightedBatchPreprocessing), PixInsight içinde “kalibrasyon, hizalama, entegrasyon” işlerini baştan sona otomatik yürüten bir script dosyasıdır ve şaşırtıcı derecede pratiktir. Son birkaç yılda sürümü sık sık değişti, ben de bu süre boyunca dağınık hâlde epeyce not yazdım; bu yazı onları nispeten eksiksiz tek bir açıklamaya dönüştürüyor ve konuyu üç katmanda ele alıyor: sürümden sürüme pek değişmeyen temel kavramlar, bugün geçerli olan yürütme akışı ve yıllar içindeki sürümlerde yapılan bazı önemli değişiklikler. Hangi sürümü kullanırsanız kullanın, önce kavramları sağlam kavrayın; arayüz nasıl değişirse değişsin paniğe kapılmazsınız.
Temel kavram 1: WBPP’nin entegre ettiği sonuç yalnızca bir önizlemedir
Bu, en başta söylemek istediğim ve aynı zamanda en çok göz ardı edilen nokta.
Kendim de bu tuzağa düştüm: bir keresinde Drizzle Integration kullandıktan sonra yıldız merkezlerinin (aşırı doymuş kısımların) siyaha döndüğünü fark ettim. İzini sürünce anlaşıldı ki asıl suçlu, entegrasyonu WBPP ile yapmış olmamdı.
WBPP ne kadar pratik olursa olsun, otomatik olarak entegre ettiği o master light karesi konusunda geliştiricilerin tavrı gayet net — o yalnızca “ulaşılabilir sonucu” gösteren pratik bir önizlemedir; kullanıldıktan sonra atılmalı, nihai ürün olarak kullanılmamalıdır. Geliştiricilerin forumdaki yanıtını aşağıya alıntılıyorum:
The integrated image generated by WBPP is just a convenience preview of the achievable image, but it should always be deleted/ignored, and the integration should always be done manually with the registered frames. This is the only way to obtain an optimal integrated image with full control over the normalization, pixel rejection and noise reduction tasks.
Geliştiriciler yarı şaka yollu, bu cümlenin “n+1 kez, üstelik n çoktan sonsuza yaklaşmışken” tekrarlanması gerektiğini bile söylüyor: WBPP’nin ürettiği o master light karesi nihai sonuç olarak kullanılmamalı, o sadece bir önizlemedir; en iyi sonuç ancak piksel eleme (pixel rejection) ve sinyal-gürültü oranı (SNR) elle yapılan Image Integration ile optimize edilerek elde edilebilir.
Bu yüzden benim alışkanlığım şu: WBPP’yi en fazla “yıldız hizalama” adımına kadar kullanıyorum; asıl entegrasyonu elle Image Integration’a bırakıyorum. Adımları birbirinden ayıran usulüne uygun yöntem — kalibrasyon (WBPP’ye bırakılır), hizalama (Star Alignment), entegrasyon (Image Integration) — birkaç adım daha fazla olsa da, bir sorun çıktığında hangi halkanın bozulduğunu anlamak epeyce kolaylaşır. Bu, sonradan benimsediğim kesin görüşüm de oldu. Japon meraklıların erken dönemde çektiği o iki çok ayrıntılı WBPP eğitim videosunu ben de gönülden öneririm, ama aynı uyarıyı oraya da eklemek gerekir: entegrasyon sonucunu yalnızca referans olarak alın.
Temel kavram 2: Master klasöründe hangilerinin gerçek çıktı olduğunu ayırt edin
WBPP’yi baştan sona çalıştırdıktan sonra, öntanımlı Master klasörünün altında bir yığın dosya birikir ve pek çok arkadaş hangisinin aradığı görüntü olduğunu ayırt edemez. Kısaca açıklayayım:

- Kırmızı çerçeve içindeki görüntü, aradığınız, entegrasyonu tamamlanmış master light karesidir.
- Sarı çerçeve içindeki görüntü, Local Normalization için kullanılan referans (Ref) görüntüsüdür; master light karesi değildir, karıştırmayın.
- Çerçevesiz görüntüler ise master kalibrasyon kareleridir; burada master flat, master bias ve master dark kareleri yer alır.
(Yine de bir önceki bölümde söylendiği gibi, bu “master light karesi” hâlâ WBPP’nin önizleme niteliğindeki çıktısıdır; işi sıkı tutmak isterseniz onu bir kez de kendiniz entegre etmelisiniz.)
Bugünkü yürütme akışı: renkli kamera için tam paket
WBPP tek tuşla sonuna kadar gider; oysa arkasında sırayla çalışan uzun bir otomatik prosedürler dizisi vardır. Renkli kamerayı (OSC) örnek alırsak, tam yürütme sırası şöyledir:

- Calibration File Integration: master kalibrasyon karelerini üretir
- Calibration: light kareleri kalibre eder
- Cosmetic Correction: sıcak piksel veya bozuk satırları temizler
- Debayer: debayer işlemi (RGB’yi ayırır)
- Measurements: light kareleri ölçer ve onlara ağırlık verir
- Reference frame selection: hizalama için referans görüntüyü belirler
- Plate solving reference frames: referans görüntü üzerinde plate solving (astrometrik çözüm) yapar
- Registration: yıldız hizalama
- LN reference generation: Local Normalization için referans görüntüyü üretir
- Local Normalization: Local Normalization’ı çalıştırır
- Integration: light kareleri entegre eder
- RGB Combination: üç RGB kanalını yeniden birleştirir
Daha kısa bir anlatımla, bunların hepsi sekiz adıma da indirgenebilir: kalibrasyon görüntü dosyalarını üretmek → görüntü kalibrasyonu → Cosmetic Correction → debayer işlemi (üç RGB kanalının ayrılması) → yıldız hizalama → Local Normalization → görüntülerin entegrasyonu → üç RGB kanalının birleştirilmesi.

Burada iki adım biraz daha uzun konuşmayı hak ediyor: RGB ayırma, dispersiyonun (yıldız kenarlarının iki yanının farklı renkte görünmesi) üstesinden gelmek içindir, bedeli de daha uzun bir işlem süresidir; Drizzle Integration kullanılıyorsa buradaki amacı görüntüyü büyütmek değil, artefaktlardan kaçınmaktır, dolayısıyla ancak yeterince dither uygulanmış kare varsa anlamlıdır — genelde 50 karenin altında aslında hiç yapılmayabilir. Bu arada pratikte sürenin nasıl hissedildiğine dair bir not: bir keresinde dokuz megapiksellik 360 kareyi kalibrasyondan başlayıp Drizzle Integration 1x adımına kadar işledim ve bu bile bir saatten uzun sürdü; piksel sayısı arttıkça iş yalnızca daha da “heyecanlı” hâle gelir.

Master kalibrasyon kareleri: WBPP’nin akıllı yanı
WBPP, kalibrasyon karelerini (flat, dark, bias ve benzerleri) işleme biçiminde epeyce düşünceli tasarım barındırıyor; bu da kendine ait bir bölümü hak ediyor.
Kalibrasyon karelerini en iyisi WBPP içinde ham dosyalardan yeniden üretin. Kalibrasyondan sonra light karelerinde sorun görenlerin sayısı az değil; başlıca neden çoğu zaman “başka bir yazılım veya prosedürle üretilmiş Master dosyalarının” (Master flat/bias/dark) uygulanmış olmasıdır. En güvenli yol, kalibrasyon dosyalarının ham hâlini WBPP’ye atıp Master dosyalarını ona yeniden ürettirmektir.
Poz süresinde ufak bir sapma mı var? İşi Exposure tolerance’a bırakın. Bir meraklı grupta şunu sormuştu: dark karelerini Eqmod sinyal kontrolüyle çekiyormuş ve gecikme sorunu yüzünden 5 saniyelik dark kareleri gerçekte 4,980–5,02 saniye arasına düşebiliyormuş, bu yüzden çekimi NINA’ya taşımak istiyormuş. Aslında WBPP bunu çoktan düşünmüş: belirli bir zaman farkı içindeki kalibrasyon kareleri aynı gruba atanabiliyor, WBPP aynı gruptaki kalibrasyon karelerine gereken işlemi otomatik uyguluyor ve onları light kareleriyle otomatik eşleştiriyor. İşte bu tolerans değerinin adı Exposure tolerance.

Farklı günlerde çekilmiş görüntüler mi var? Grouping Keywords ile hepsi tek seferde hallolur. Yeni sürümlerle birlikte WBPP’ye gruplama işlevi eklendi; böylece farklı tarihlerde çekilmiş görüntüleri bile tek seferde atıp birlikte işleyebiliyorsunuz — yeter ki Grouping Keywords alanında bir anahtar sözcükle (örneğin tarihle) sınıflandırın. Benim şu dosya kümemde olduğu gibi: her günün flat kareleri farklıydı, ama WBPP yine de tarihe göre ayrı ayrı otomatik kalibrasyon yapabildi; farklı tarihlerdeki light ve flat kareleri için ayrı ayrı elle ayar yapmam gerekmedi, son derece pratik.

Yalnızca master kalibrasyon kareleri mi üretmek istiyorsunuz? Light kareleri koymadan da olur. Bu, pek çok kişinin bilmediği bir kullanım: hiç light karesi olmadan dark, bias, flat ve flat dark kareleri WBPP’ye atarsanız, bu kalibrasyon karelerini doğru adımlara göre akıllıca master kalibrasyon karelerine dönüştürür ve belirlediğiniz klasöre çıkarır; böylece hepsini türlü türlü prosedürle elle üretme zahmetinden kurtulursunuz.

Light sayfasındaki seçenekler ve hızlandırma püf noktaları
WBPP’nin Light sayfasında bir dizi seçenek vardır; kullanıcı bunları ihtiyacına göre işaretleyebilir. Öntanımlı durumda subframe weighting dışında hiçbiri işaretli değildir.

Madem bu adımlar arasında seçim yapılabiliyor, işe yarar bir soru da doğuyor: gereksiz işlemleri kapatmak ne kadar zaman kazandırır? Yurt dışından serbestçe indirilebilen bir veri kümesiyle bunu bizzat denedim: toplam 372 adet on altı megapiksellik görüntüde gereksiz işlemleri eledikten sonra süre yaklaşık 7 ila 8 kat kısaldı (25 dakika 03 saniye vs. 03 dakika 30 saniye), buna karşılık görüntü kalitesindeki kayıp çok azdı — kendi makinemde aradaki fark yaklaşık %15, ağ üzerinden sıkıştırıldıktan sonra ise neredeyse fark edilmiyor. İşi yetiştirmeye çalıştığınız ya da önce kabaca bir fikir edinmek istediğiniz durumlarda bu takas gerçekten kârlı.

Hangi adımların en çok zaman yediğine ve hangilerini kapatmanın en etkili olduğuna gelince, bunu “WBPP Troubleshooting” yazısında yeniden ele alacağım.
Sürüm değişiklikleri: bunlar sonradan geldi
WBPP bunca yıl içinde epeyce şey ekledi; elinizdeki sürümle karşılaştırmanız kolay olsun diye önemli birkaç dönüm noktasını derleyeyim:
2.1.2 sürümüne dair birkaç şey. Bu sürümden itibaren dikkate değer üç nokta var: birincisi, kalibrasyondan sonra light karelerinde çıkan sorunlar çoğu zaman dışarıda üretilmiş Master dosyalarının karıştırılmasından kaynaklanır (yukarıda anlatıldı); ikincisi, Dark frame optimization esas olarak light ve dark karelerinin süreleri birbirini tutmadığında kullanılır (örneğin 20 dakikalık light karesine 30 dakikalık dark karesi eşlik ettiğinde), en iyi çalıştığı koşul uzun pozlama ve çok sayıda karedir, seçeneği görebilmek için light dosyasına tıklamanız gerekir; üçüncüsü, CCD kullananlarda zamanla defect, özellikle de column defect ortaya çıkar — eskiden bunları temizlemek için çok zaman alan defect map hazırlamak gerekirdi, WBPP ise bu işte yardımcı olmak üzere Linear Pattern Subtraction sunuyor.

Execution Monitor (yürütme izleme penceresi). Daha yeni bir sürüme güncelledikten sonra WBPP çalışırken bir WBPP Execution Monitor penceresi açılıyor; size şu an hangi adımda olduğunuzu ve hangi işlerin yapıldığını söylüyor, üstelik içeriği yukarı aşağı kaydırılıp sürüklenebiliyor. Eski sürümlerde kullanıcının o anki console penceresine bakmaktan başka ilerlemeyi öğrenme imkânı yoktu; ancak her şey bitene ya da bir hata yüzünden duruncaya kadar bekleyip sonra console üzerinden kontrol edebiliyordu.

Cache (önbellek) işlevi (2.5 sürümünden sonra). Bu, çok kritik bir iyileştirme. Tam paketi çalıştırdıktan sonra bir hata ya da beklenmedik bir sonuç görüp bazı ayarları değiştirdiğinizde, her şeyi baştan yeniden mi çalıştırmak gerekir? Gerekmez. WBPP’nin önbelleği şuna karar verir: değiştirdiğiniz ayar görüntüyü etkilemiyorsa, doğrudan bir önceki önbellek sonucunu kullanır; yalnızca gerçekten etkilenen görüntü kısmı yeniden işlenir, ikinci çalıştırmanın süresi de böylece büyük ölçüde kısalır.

log klasöründeki yeniden üretilebilir script. En yeni sürüm WBPP çalıştıktan sonra log klasöründe ayrıntılı log kayıtlarını ve yürütme script dosyasını saklar. Bu script dosyasını PI içindeki Script Editor ile okuyup derledikten ve çalıştırdıktan sonra bir Process Container açılır; içinde WBPP ana penceresindeki Pipeline alt menüsünde bulunan bütün prosedürlerin ICON simgeleri yer alır ve her biri PI içinde tek tek açılabilir. Bu, Debug için son derece kullanışlı — örneğin Cosmetic Correction’ın neden doğru çalışmadığını ya da neden etki etmediğini araştırmak isterseniz, o adımı buradan açıp sorunun parametrelerden mi yoksa programın kendisindeki bir hatadan (bug) mı kaynaklandığını inceleyebilirsiniz. Bir başka kullanımı da şu: ön işlemeye aşina olmayanlar bu yolla WBPP’nin her bir adımını ve parametrelerini okuyabilir, bunu kendi elleriyle yürütecekleri işlemler için örnek bir şablon olarak kullanabilir.

WBPP’yi açtıktan sonraki ilk adım aslında dosya yüklemek değildir
Son olarak en temel, ama en kolay yanlış yapılan noktaya dönelim. WBPP’yi açtıktan sonraki ilk adım, aceleyle “light, dark, flat ve bias dosyalarını yüklemek” değildir.
WBPP, bir önceki kullanımın içeriğini saklayan ender script dosyalarından biridir. Daha önce kullandıysanız bütün ayarlar hâlâ orada durur. Dolayısıyla ilk adım dosya listesini temizlemek olmalıdır; diğer parametrelerin de birlikte temizlenip temizlenmeyeceği ise ihtiyaca bağlıdır.
İkinci adım ise çok kolay atlanır, pek çok eğitim videosunda da hiç geçmez — Purge Cache düğmesine basın. Önbelleğin (2.5 sürümünden sonra) yararından yukarıda söz etmiştim: yalnızca bazı parametreleri değiştirdiğinizde WBPP sadece değişen kısmı çalıştırır, geri kalanı için önbelleği kullanır. Ama tersinden bakınca, daha önce çalıştırdıysanız ve bu önbellek içeriğine artık ihtiyacınız yoksa hepsini temizlemeniz gerekir; yoksa yeni dosyaları çalıştırırken önbellek içeriğinin çakışması yüzünden öngörülemeyen hatalar çıkabilir.

Windows kullanıcıları için ortam ön ayarları
WBPP’yi Windows’ta çalıştırıyorsanız, en başta halletmeniz iyi olacak iki ortam ayarı var; bunlar sonradan çıkacak bir yığın anlamsız hatadan sizi kurtarır (ilgili hata mesajları ve tanılama için ayrıntıya “WBPP Troubleshooting” yazısından bakın):
Uzun yol (path) desteğini açın. Bir güncellemeden sonra Windows’taki WBPP sık sık uzun yol uyarısı verip 256 karakterden uzun bir yol üretemediğini söylemeye başladı. Ben de bir keresinde yol fazla uzun olduğu için WBPP’nin ürettiği dosyaların eksik çıkmasıyla karşılaştım (çünkü dosya kaydedilemiyordu). Çözümü şu: görev çubuğunda regedit aratarak Kayıt Defteri Düzenleyicisi’ni (Registry Editor) açın, ilgili konumu bulup LongPathsEnabled değerini 1 yapın; PixInsight’ı yeniden başlattıktan sonra bu uyarı bir daha çıkmaz.

ASCII dışı karakterler (örneğin Çince karakterler) içeren yollardan kaçının. Dosya yollarında Çince karakter kullanmayı önermememin nedeni de budur. Windows’ta dosyayı açan öntanımlı program PI ise, yolunda Çince karakter bulunan bir dosyaya çift tıkladığınızda bir hata mesajı çıkar; içindeki o bozuk simgeler aslında Çince karakterlerin kendisidir. Kolay çözümü şu: yolu hiç değiştirmeden dosyayı doğrudan sürükleyip PI içine bırakın, böylece açılır.

Yukarıdakilerin hepsini bir araya getirdiğinizde WBPP’nin bütünsel görüntüsü aşağı yukarı netleşir: güçlü, otomatik bir ön işleme motorudur; ama entegrasyon çıktısının yalnızca bir önizleme olduğunu unutmamanız, kalibrasyonu nasıl gruplayacağınızı, önbelleği nasıl iyi kullanacağınızı ve işe başlamadan önce neyi temizlemeniz, hangi ortam ayarlarını yapmanız gerektiğini bilmeniz gerekir. Kavramlar doğru oturduktan sonra geri kalanı yalnızca ustalık meselesidir.