A teljes WBPP-útmutató: felület, master kalibrációs képek és a végrehajtási folyamat
Ez a cikk a 2021–2024 közötti jegyzetekből áll össze, néhány eszköz vagy munkafolyamat azóta frissült, ezt érdemes olvasás közben szem előtt tartani; a szövegben említett egyes felületek, beállítások és verziónkénti viselkedések (például a 2.1.2-es és a 2.5-ös verzió esetén) mind az akkori állapotot tükrözik. A futtatás közben felmerülő hibákról és ismert bugokról lásd a külön „WBPP Troubleshooting” cikket.
A WBPP (WeightedBatchPreprocessing) egy olyan szkript a PixInsightban, amely a „kalibráció, igazítás, integrálás” teljes láncát egy az egyben, automatikusan lefuttatja – megdöbbentően kényelmes megoldás. Az elmúlt években gyakran frissült, és időközben jó néhány szórványos jegyzetet írtam róla; ebben a cikkben ezeket rendeztem egy átfogóbb összefoglalóvá, három szinten tárgyalva a témát: a verziók között alig változó alapfogalmak, a jelenlegi végrehajtási folyamat, valamint az évek során történt néhány fontos verzióváltozás. Bármelyik verziót is használjuk, ha az alapfogalmak szilárdan megvannak, a felület változásai nem fognak megzavarni minket.
Első alapfogalom: a WBPP által összeállított eredmény csak előnézet
Ez az, amit a legjobban szeretnék elsőként kiemelni, és egyben ez az, amit a legtöbben figyelmen kívül hagynak.
Magam is belefutottam ebbe: egyszer a Drizzle Integration használata után azt tapasztaltam, hogy a csillagok középpontja (a túltelített részeken) feketévé vált. Utánajártam, és kiderült, hogy a bűnös maga a WBPP-vel végzett integrálás volt.
A WBPP kényelmes, ez nem kérdés, de azzal a master light-tal kapcsolatban, amelyet automatikusan összeállít, a fejlesztők álláspontja teljesen egyértelmű – ez csupán egy kényelmes előnézet arról, hogy mi érhető el, amit használat után mindig el kell dobni vagy figyelmen kívül kell hagyni, és semmiképp sem szabad hivatalos végeredményként kezelni. Az alábbiakban idézem a fejlesztői fórumon adott válaszuk egy részletét:
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.
A fejlesztők félig tréfásan azt mondják, hogy ezt a mondatot „n+1-szer kellene megismételni, ahol n már a végtelenhez közelít”: a WBPP által előállított master light-ot nem szabad éles felhasználásra szánni, az csupán előnézet, a legjobb eredményt csak a kézi Image Integration segítségével, a pixel rejection és a jel-zaj viszony (SNR) gondos optimalizálásával lehet elérni.
Ezért az én szokásom a következő: a WBPP-t legfeljebb a „csillagok igazítása” lépésig használom, a tényleges integrálást pedig kézzel az Image Integration folyamatra bízom. A formális, lépésekre bontott módszer – kalibráció (ezt a WBPP-re bízzuk), igazítás (Star Alignment), integrálás (Image Integration) – ugyan több lépésből áll, de ha valami elromlik, sokkal könnyebb kideríteni, melyik láncszem hibásodott meg. Ez lett később az én szilárd meggyőződésem is; a korai japán rajongók két igen részletes WBPP-oktatóvideóját is szívesen ajánlom, de ugyanezt a figyelmeztetést hozzájuk is hozzá kell tennem: az integrálás eredményét csak tájékozódásra érdemes használni.
Második alapfogalom: különböztessük meg, mi számít végeredménynek a Master-mappában
Miután a WBPP teljesen lefutott, az alapértelmezett Master-mappában egy csomó fájl hever, és sokan nem tudják megkülönböztetni, melyik kép az, amelyikre valójában szükségük van. Nézzük meg ezt közelebbről:

- A piros keretben lévő kép a keresett, elkészült master light.
- A sárga keretben lévő kép a Local Normalization referenciaképe (Ref), nem master light – ezt ne keverjük össze.
- A keret nélküli képek a master kalibrációs képek, ide tartozik a master flat, a master bias és a master dark.
(Az előző szakaszban elmondottak szerint azonban ez a „master light” még mindig csak a WBPP előnézete – ha igényesek vagyunk, érdemes magunknak újra elvégezni az integrálást.)
A jelenlegi végrehajtási folyamat: a színes kamerák teljes csomagja
A WBPP egyetlen gombnyomásra fut le a végéig, valójában azonban egy hosszú, sorrendben végrehajtott automatizált folyamatsor áll mögötte. Színes (OSC) kamera esetén a teljes végrehajtási sorrend a következő:

- Calibration File Integration: a master kalibrációs képek elkészítése
- Calibration: a light képek kalibrálása
- Cosmetic Correction: a hot pixelek vagy a hibás sorok eltávolítása
- Debayer: Debayer-elés (RGB szétválasztása)
- Measurements: a light képek mérése, súlyozás
- Reference frame selection: az igazításhoz szükséges referenciakép kiválasztása
- Plate solving reference frames: plate solving a referenciaképeken (asztrometria)
- Registration: a csillagok igazítása
- LN reference generation: a Local Normalization referenciaképének létrehozása
- Local Normalization: a Local Normalization végrehajtása
- Integration: a light képek integrálása
- RGB Combination: az RGB három csatornájának újbóli összeállítása
Ha tömörebben akarjuk megfogalmazni, nyolc lépésbe is összevonható: a kalibrációs képek elkészítése → a képek kalibrálása → Cosmetic Correction → Debayer-elés (az RGB három csatornájának szétválasztása) → a csillagok igazítása → Local Normalization → a képek integrálása → az RGB három csatornájának összeillesztése.

Itt két lépést érdemes külön is kiemelni: az RGB-szétválasztás azért szükséges, hogy kiküszöböljük a légköri diszperziót (a csillagok szélei úgy néznek ki, mintha a két oldalukon eltérő színűek lennének), ennek ára a hosszabb futásidő; ha a Drizzle Integration funkciót használjuk, annak itt nem az a célja, hogy felnagyítsa a képet, hanem hogy elkerüljük a műtermékeket, ezért csak elegendő számú, ditherrel készült felvétel esetén van értelme – 50 kép alatt jellemzően el is hagyható. Ide kívánkozik még egy tapasztalat az időigényről: egyszer 360 darab 9 megapixeles felvétellel a kalibrációtól egészen a Drizzle Integration 1x módig végigfuttattam a folyamatot, és több mint egy óráig tartott; magasabb felbontásnál ez csak „izgalmasabb” lesz.

Master kalibrációs képek: amiben a WBPP igazán okos
A WBPP a kalibrációs képek (flat, dark, bias stb.) kezelésében jó néhány átgondolt megoldást rejt, ezekről érdemes külön szólni.
A kalibrációs képeket a legjobb a WBPP-ben, az eredeti fájlokból újra elkészíteni. Nem kevesen tapasztalnak problémát a light képeken kalibrálás után, és ennek fő oka gyakran az, hogy „más szoftverrel vagy folyamattal készített Master-fájlokat” (master flat / bias / dark) használnak. A legbiztosabb megoldás, ha a kalibrációs képek eredeti fájljait bedobjuk a WBPP-be, és hagyjuk, hogy újra elkészítse a master képeket.
Apró eltérés az expozíciós időben? Erre találták ki az Exposure tolerance funkciót. Egyszer egy fórumtárs azt kérdezte a csoportban, hogy Eqmod-jellel vezérelve fényképez dark képeket, és a késleltetés miatt az 5 másodperces dark kép valójában 4,980–5,02 másodperc között alakulhat, ezért NINA-val szeretett volna fényképezni helyette. A WBPP azonban erre már régen gondolt: egy bizonyos időeltérésen belüli kalibrációs képek egy csoportnak jelölhetők ki, a WBPP pedig az azonos csoportba tartozó kalibrációs képeken automatikusan elvégzi a szükséges feldolgozást, és automatikusan párosítja őket a light képekkel. Ez a tűréshatár az Exposure tolerance.

A különböző napokon készült felvételeket a Grouping Keywords oldja meg egyszerre. A frissítés óta a WBPP-hez csoportosítási funkció is került, így akár különböző dátumokon készült felvételek is egyszerre bedobhatók és együtt feldolgozhatók – csak a Grouping Keywords mezőben kell kulcsszóval (például dátummal) csoportosítani. Az én adatsorom esetében is minden nap más volt a flat kép, a WBPP mégis automatikusan, dátum szerint külön tudta kalibrálni őket, anélkül, hogy a light és flat képeket minden egyes dátumhoz manuálisan be kellett volna állítani – nagyon kényelmes.

Csak master kalibrációs képeket szeretnénk? Light képek nélkül is megy. Ez egy olyan használati mód, amelyről sokan nem tudnak: light képek nélkül, csupán dark, bias, flat és flatdark képeket bedobva a WBPP-be, a program okosan, a helyes lépések szerint elkészíti belőlük a master kalibrációs képeket, és a megadott mappába exportálja őket – ezzel megspórolható a különféle egyéb módszerekkel történő, kézi elkészítés vesződsége.

A Light oldal beállításai és a gyorsítási trükkök
A WBPP Light oldalán egy sor beállítás található, amelyeket igény szerint pipálhatunk ki. Alapértelmezés szerint a subframe weighting kivételével semmi sincs bejelölve.

Mivel ezek a lépések elhagyhatók, ez egy gyakorlati kérdést vet fel: mennyi időt spórolhatunk, ha kikapcsoljuk a felesleges feldolgozást? Egy külföldről szabadon letölthető adatsoron teszteltem, összesen 372 darab 16 megapixeles felvétellel; a felesleges feldolgozás kihagyása után az idő nagyjából 7-8-szorosára gyorsult (25 perc 03 másodperc vs. 03 perc 30 másodperc), miközben a képminőség csak kis mértékben romlott – helyben körülbelül 15%-kal, hálózaton át tömörítve pedig szinte észrevehetetlenül. Ha sürget az idő, vagy csak egy gyors áttekintésre van szükség, ez a kompromisszum nagyon megéri.

Hogy mely lépések a legidőigényesebbek, és melyiket a leghatékonyabb kikapcsolni, arról a „WBPP Troubleshooting” cikkben írok majd bővebben.
Verziók közötti változások: ami csak később jelent meg
A WBPP az évek során rengeteg mindennel bővült; foglaljunk össze néhány fontosabb állomást, hogy könnyen összevethető legyen a nálunk lévő verzióval:
Néhány dolog a 2.1.2-es verzió óta. Ettől a verziótól kezdve három dolog érdemel figyelmet: egyrészt, a kalibrálás utáni light képeken jelentkező problémák gyakran a külsőleg készített Master-fájlok (lásd fentebb) keveréséből erednek; másrészt, a Dark frame optimization elsősorban akkor hasznos, ha a light és a dark kép hossza nem egyezik (például egy 20 perces light kép egy 30 perces dark képpel párosul), ideális esetben hosszú expozíció és több felvétel mellett, és a beállítás csak akkor jelenik meg, ha rákattintunk a light fájlra; harmadrészt, a CCD-t használóknál a használat során fokozatosan defektek jelentkeznek, különösen column defect, amit korábban defect map segítségével kellett eltávolítani – ez rendkívül időigényes volt –, a WBPP erre a Linear Pattern Subtraction eszközt kínálja.

Execution Monitor (végrehajtás-figyelő ablak). Újabb verzióra frissítve a WBPP futása közben megjelenik egy WBPP Execution Monitor ablak, amely megmutatja, hol tartunk éppen, és mi történt eddig; a tartalom fel-le görgethető és húzható is. A régebbi verziókban a felhasználónak a folyamatban lévő console bámulásán kívül semmi más lehetősége nem volt, és a haladásról fogalma sem lehetett – csak arra várhatott, hogy minden lefusson, vagy hogy hiba miatt megálljon, és csak ekkor tudta a console-on keresztül ellenőrizni az állapotot.

Cache-funkció (a 2.5-ös verzió óta). Ez az egyik legfontosabb fejlesztés. Ha a teljes csomag lefutása után hibát találunk, vagy az eredmény nem felel meg a várakozásainknak, és módosítunk néhány beállítást, vajon újra kell futtatni az egészet elölről? Nem szükséges. A WBPP cache-e eldönti: amíg a módosított beállítás nincs hatással a képre, egyszerűen felhasználja az előző cache-eredményt; csak azok a képek dolgozódnak fel újra, amelyeket a változás ténylegesen érint, ezért a második futtatás ideje jelentősen lerövidül.

Reprodukálható szkript a log mappában. A legújabb WBPP-verzió futtatása után a log mappában részletes napló és feldolgozási szkript marad. Ha ezt a szkriptet a PI Script Editor segítségével beolvassuk, lefordítjuk és futtatjuk, megjelenik egy Process Container, amely tartalmazza a WBPP főablaka Pipeline-almenüjében található összes folyamatikont, és mindegyik külön-külön megnyitható a PI-ben. Ez rendkívül hasznos hibakereséshez – ha például meg akarjuk vizsgálni, hogy a Cosmetic Correction miért nem futott le megfelelően vagy miért nem volt hatása, innen közvetlenül megnyithatjuk azt a lépést, és ellenőrizhetjük, hogy paraméterhiba vagy programhiba áll-e a háttérben. Egy másik felhasználási módja: aki nem jártas az előfeldolgozásban, ezzel a módszerrel végignézheti a WBPP minden egyes folyamatát és paraméterét, és mintaként használhatja a saját, kézi feldolgozásához.

A WBPP megnyitása után az első lépés valójában nem a fájlok betöltése
Végül térjünk vissza a legalapvetőbb, ám a leggyakrabban elrontott ponthoz. A WBPP megnyitása utáni első lépés nem az, hogy sietve „betöltjük a light, dark, flat és bias fájlokat”.
A WBPP azon kevés szkript egyike, amely megőrzi a legutóbbi használat tartalmát. Ha korábban már használtuk, minden beállítás megmarad. Ezért az első lépésnek a fájllista törlésének kell lennie; hogy a többi paramétert is töröljük-e vele együtt, az az igényektől függ.
A második lépést pedig könnyű kihagyni, és sok oktatóvideó sem tér ki rá – nyomjuk meg a Purge Cache gombot. Korábban már szó volt a cache (a 2.5-ös verzió óta elérhető) előnyéről: ha csak néhány paramétert módosítunk, a WBPP csak a változott részeket futtatja le, a többit a cache-ből veszi. Fordítva viszont: ha már egyszer lefuttattuk a folyamatot, és erre a cache-tartalomra többé nincs szükségünk, akkor azt teljesen törölnünk kell, különben új fájlok feldolgozásakor a duplikált cache-tartalom miatt előre nem látható hibák léphetnek fel.

Windows-felhasználók környezet-előkészítése
Ha Windows alatt futtatjuk a WBPP-t, két környezeti beállítást érdemes már az elején elintézni, mert ezzel rengeteg későbbi, rejtélyes hibától kímélhetjük meg magunkat (a kapcsolódó hibaüzenetekről és a diagnózisról bővebben lásd a „WBPP Troubleshooting” cikket):
Kapcsoljuk be a hosszú elérési utak támogatását. Egy frissítés után a WBPP Windows alatt gyakran dobott hosszú elérésiút-figyelmeztetést, miszerint nem lehet 256 karakternél hosszabb elérési utat létrehozni. Nekem is előfordult, hogy a túl hosszú elérési út miatt a WBPP által előállított fájlok sérültek lettek (mert nem sikerült elmenteni őket). A megoldás: keressünk rá a tálcán a regedit parancsra, nyissuk meg a Rendszerleíróadatbázis-szerkesztőt (regedit), keressük meg a megfelelő helyet, és a LongPathsEnabled értékét állítsuk 1-re; a PixInsight újraindítása után ez a figyelmeztetés többé nem jelenik meg.

Kerüljük az ASCII-n kívüli karaktereket (például kínai) tartalmazó elérési utakat. Ez az oka annak is, hogy nem javaslom kínai karakterek használatát a fájl elérési útjában. Ha Windows alatt az alapértelmezett megnyitó program a PI, akkor egy kínai karaktereket tartalmazó elérési utú fájlra duplán kattintva hibaüzenet jelenik meg, amelyben az olvashatatlan jelek éppen a kínai szöveget jelentik. Megoldásként: az elérési út módosítása nélkül egyszerűen húzzuk be a fájlt egérrel közvetlenül a PI-be, és így megnyílik.

Ha mindezt összerakjuk, a WBPP nagyjából teljes képe kirajzolódik: egy erőteljes, automatizált előfeldolgozó motor, de érdemes szem előtt tartani, hogy az integrálási eredménye csak előnézet, tudni kell, hogyan csoportosítsuk a kalibrációt, hogyan használjuk okosan a cache-t, és hogy munka előtt mit érdemes törölni, milyen környezetet kell beállítani. Ha az alapfogalmak megvannak, a többi már csak gyakorlat kérdése.