本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文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ěAcest site este disponibil și în limba română.Vizualizare în românăเว็บไซต์นี้มีเวอร์ชันภาษาไทยดูเป็นภาษาไทย

Csillagkicsinyítés és csillagkezelés: a módszerek fejlődése és egy PixelMath-alapú munkafolyamat

Nyújtás és nemlineáris fázis2021.01

A csillagok megfelelő kicsinyítése kiemelheti a felvétel valódi témáját, különösen az olyan csillagsűrű területeken, mint a Tejút környéke, ahol kezeletlenül az égbolt tele van csillagokkal, és ezek súlyosan zavarják a ködösséget. Ez a cikk végigveszi a csillagkicsinyítés módszereit, a korai eróziószűrőktől egészen a ma elterjedt, csillagtalanított képen alapuló eljárásig és a PixelMath-alapú megvalósításig.

A korai módszer: csillagkicsinyítés erózióval

A legkorábbi csillagkicsinyítés az erózióra (Erosion) épült: a Photoshopban a „Minimum” szűrővel, a PixInsightban pedig az Erosion művelettel erodálták a kijelölt terület csillagait, hogy kisebbek legyenek. Aki igényesebben csinálta, élmaszkkal is kiegészítette ezt, hogy elkerülje a csillagok magjáig hatoló eróziót.

Őszintén szólva eredetileg nem nagyon kicsinyítettem a csillagokat, mert a hagyományos Erosion gyakran tönkretette őket (például kerek csillagokból rombuszt csinált, vagy elrontotta a gyémánt alakú csillagokat). Bizonyos célpontoknál viszont, mint amilyen a Tejút sávjában található Carina-köd, bármilyen jó is a csillagmaszk, a végeredményben így is rengeteg csillag zavarja a ködösséget, és ilyenkor nincs mese, kicsinyíteni kell a csillagokat. Éppen ezért az erózióalapú kicsinyítés legnagyobb Achilles-sarka, hogy rendkívül érzékeny a maszk minőségére: ha a maszk nem sikerül jól, könnyen műtermékek keletkeznek a csillagok magjában és a környékén.

A csillagkicsinyítés előtte-utána összehasonlítása a korai időkből, StarNet++ maszkkal (Carina-köd)

A fordulópont: csillagkicsinyítés csillagtalanított képpel

Az idő múlásával a csillagkicsinyítés fokozatosan olyasmivé vált, amit egy csúszka húzogatásával el lehet végezni, és szabadon beállítható, hogy melyik méretosztályba tartozó csillagokat kicsinyítjük. A lényeg ez volt: az emberek elkezdték a csillagtalanító eszközöket (mint a StarNet++) csillagkicsinyítésre használni, nemcsak csillagtalanításra. 2021-re, miután mindez szkript formájában is elérhetővé vált, még kényelmesebbé vált, és a Photoshopban a Minimum szűrő, illetve a PixInsightban az Erosion művelet már nem igazán volt divatban.

Megjelent a PixInsightban egy kész, azonnal használható csillagkicsinyítő szkript, amely nem a Minimum szűrőt vagy az Erosion műveletet használja, hanem a StarNet++ és a Contour Mask kombinációjával éri el a célt.

A StarNet++ segítségével megvalósított, szkriptalapú csillagkicsinyítés szemléltetése

Itt tisztázunk egy könnyen félreérthető pontot: a StarNet++ „Create star mask” opciója valójában nem maszkot hoz létre, hanem magukat az eltávolított csillagokat. Ha ezt a star_mask nevű képet a PixInsightban a PixelMath eszközzel, vagy a Photoshopban rétegek segítségével hozzáadjuk a csillagtalanított képhez, gyakorlatilag a csillagtalanítás előtti eredeti képpel megegyező eredményt kapunk.

A StarNet++ által létrehozott „star mask” valójában maguk a csillagok, visszaadva helyreállítható vele a kép

Csillagkicsinyítés után minden csillag ugyanakkora lesz?

Egy asztrofotós társunk egyszer azt állította, hogy csillagkicsinyítés után minden csillag ugyanakkora lesz. Tényleg így van ez? Egyáltalán nem – a kicsinyített csillagok mérete elsősorban az eredeti csillagmérettől és a kicsinyítő maszktól függ.

A gyakorlatban minden kicsinyítéskor kiválasztjuk, milyen típusú csillagokat akarunk kisebbé tenni (jellemzően a közepes és kis méretűeket), és a csillagméretnek megfelelő maszkot készítünk, így a kicsinyítés után a csillagok mérete továbbra is különböző marad, csak a csillagok környékén látszik a kicsinyítés nyoma. Vegyük példának az SL 17 nagyított képét: ez összesen két kicsinyítési kör eredménye (én magam eddig sosem csináltam kettőnél többet).

A kicsinyítés után a csillagok mérete továbbra is különböző, és a környezetükből látszik a kicsinyítés nyoma (SL 17)

Az SL 17 nagyított képe, rajta a kétszeres kicsinyítés hatásával

A csillagtalanított kép alapú kicsinyítéssel természetesebb csillageredményt kapunk

Részletes összehasonlítás a kicsinyítés előtt és után

PixelMath-alapú csillagkicsinyítés (nemlineáris állapot)

A csillagtalanított kép alapú csillagkicsinyítés a PixInsightban a PixelMath segítségével pontosan elvégezhető. A lépések a következők:

  1. Készítsük elő az A képfájlt, valamint A csillagtalanított képfájlját, B-t.
  2. Az STF-et a HistogramTransformation művelettel együtt használva csökkentsük egyszerre A és B fényességét (toljuk jobbra a midtone csúszkát).
  3. Invertáljuk a lecsökkentett fényességű A-t és B-t (billentyűzet: Ctrl+I).
  4. Osszuk el az invertált A-t az invertált B-vel, hogy megkapjuk a csillagok invertált képét, C-t (PixelMath).
  5. Szorozzuk meg C-t B invertáltjával, hogy megkapjuk a kicsinyített kép invertáltját, D-t (PixelMath).
  6. Invertáljuk vissza D-t a normál, kicsinyített képpé (Ctrl+I).

Az 5. és a 6. lépés valójában pontosan a screen blending mode képlete. Ha erősebb kicsinyítést szeretnénk, a 2. lépésben még jobban lecsökkenthetjük A és B fényességét. A szemléltető képlet a következő:

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

A PixelMath-alapú csillagkicsinyítés lépésekre bontott szemléltetése

Ugyanez a módszer megismételhető a Photoshopban vagy az Affinity Photo programban is; a különbség az, hogy ott rétegekkel dolgozunk, és a rétegek közötti keverési mód (blending mode) is kissé eltérő.

A PixelMath-alapú csillagkicsinyítés megismétlése Photoshop-rétegekkel, az egyes rétegek keverési módjának feltüntetésével

A kulcs: a csillagok helyes kinyerése „inverz osztással”

Sokan dolgoznak fel képeket csillagtalanítással, majd a végén, amikor visszateszik a csillagokat, mégis kudarcot vallanak, és a kulcs éppen az, hogyan nyerték ki a csillagokat.

Ha egyszerűen csak kivonjuk a csillagtalanított képet az eredeti képből, hogy megkapjuk a csillagokat, majd ezeket visszatesszük, az eredmény gyakran tompa, rossz színű csillag lesz, mintha csak lejjebb vettük volna a réteg átlátszatlanságát. Ennek az az oka, hogy a csillagok tartalmának egy része a csillagtalanított képen maradt, így a kivonás nem tudta teljesen kinyerni a csillagokat.

A jobb megoldás, ha inverz osztással nyerjük ki a teljes csillagokat; miután befejeztük a csillagtalanított kép feldolgozását, szorzással vagy inverz szorzással (screen blending mode) tesszük vissza a csillagokat.

A kivonással (fent) és az inverz osztással (lent) kinyert csillagok közötti különbség összevetése

Lineáris és nemlineáris állapot: eltérő képletek a kinyeréshez és a visszahelyezéshez

Miután az RC Astro kiadta a StarXTerminatort (SXT), a csillagtalanítás alkalmazási köre a nemlineáris állapotból kiterjedt a lineáris állapotra is. A lineáris és a nemlineáris állapotban azonban a csillagok kinyerésének és visszahelyezésének lépései és képletei még mindig kissé eltérnek egymástól, ezt a pontot pedig gyakran figyelmen kívül hagyják.

Nemlineáris állapot (a kép már erősen stretchelve van, a pixelek között már nem áll fenn az eredeti lineáris viszony):

  • Csillagok kinyerése: az SXT-ben jelöljük be az „Unscreen Stars” lehetőséget, vagy a csillagtalanítás után az inverz osztás ~(~Original_Nebula / ~Starless_Nebula) képletével nyerjük ki a csillagokat.
  • Csillagok visszahelyezése: a PixelMath eszközzel az inverz szorzás ~(~Nebula * ~stars) képletét alkalmazzuk, ami nem más, mint a Screen Blending matematikai képlete.

Lineáris állapot (integrálás után, az erős stretchelés előtt, amikor a pixelek még az eredeti lineáris viszonyban állnak egymással):

  • Csillagok kinyerése: az SXT-ben ne jelöljük be az „Unscreen Stars” lehetőséget.
  • Csillagok visszahelyezése: a PixelMath eszközzel az összeadás Nebula + stars képletét alkalmazzuk.

Lineáris és nemlineáris állapotban a csillagok kinyerésének és visszahelyezésének képletei közötti összevetés

Ha tisztázzuk, hogy a saját képünk melyik állapotban van, és a megfelelő képletekkel nyerjük ki, majd helyezzük vissza a csillagokat, elkerülhetjük, hogy a visszahelyezett csillagok elsötétüljenek, elszíneződjenek, vagy a művelet egyáltalán ne sikerüljön.