本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文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üleTrang web này cũng có phiên bản tiếng Việt.Xem bằng tiếng Việtاین وب‌سایت به فارسی هم در دسترس است.مشاهده به فارسی

Redukcja gwiazd i praca z gwiazdami: ewolucja metod oraz praktyczne zastosowanie PixelMath

Rozciąganie i etap nieliniowy2021.01

Odpowiednia redukcja gwiazd sprawia, że główny obiekt zdjęcia staje się wyraźniejszy — zwłaszcza w gęsto usianych gwiazdami rejonach, takich jak obszar Drogi Mlecznej, gdzie bez takiego zabiegu niebo pełne gwiazd poważnie zaburza mgławice. Ten artykuł porządkuje metody redukcji gwiazd: od filtrów erozji sprzed lat aż po dzisiejszą wiodącą metodę opartą na obrazie bez gwiazd i jej realizację za pomocą procesu PixelMath.

Dawna metoda: redukcja gwiazd przez erozję (Erosion)

Najwcześniejsza redukcja gwiazd opierała się na erozji (Erosion): w programie Photoshop używało się filtra „Minimalne” (Minimum), a w programie PixInsight — procesu Erosion, aby erodować gwiazdy w zaznaczonym obszarze i w ten sposób je zmniejszyć. Kto podchodził do tego staranniej, łączył to z maską krawędziową, żeby nie wyerodować samych jąder gwiazd.

Szczerze mówiąc, początkowo raczej nie redukowałem gwiazd, ponieważ klasyczna Erosion często je psuje (na przykład zamienia okrągłe gwiazdy w romby albo niszczy tzw. gwiazdy diamentowe). Ale przy niektórych obiektach — na przykład przy Wielkiej Mgławicy w Kilu (Carina), leżącej w obszarze Drogi Mlecznej — nawet najlepiej wykonana maska gwiazd nie zapobiegnie temu, że w gotowej pracy mnóstwo gwiazd nadal będzie zaburzać mgławicę, i wtedy po prostu nie da się uniknąć redukcji. Właśnie dlatego największą piętą achillesową redukcji przez erozję jest jej skrajna wrażliwość na jakość maski: gdy maska jest źle zrobiona, w jądrach gwiazd i wokół nich łatwo powstają artefakty.

Porównanie przed redukcją gwiazd i po niej z dawnych lat, z użyciem maski ze StarNet++ (Wielka Mgławica w Kilu)

Punkt zwrotny: redukcja gwiazd za pomocą obrazu bez gwiazd

Postęp sprawił, że redukcja gwiazd stopniowo stała się czymś, co da się załatwić przeciągnięciem suwaka, a klasę wielkości redukowanych gwiazd można dowolnie ustawić. Kluczowe było to: ludzie zaczęli używać narzędzi do usuwania gwiazd (takich jak StarNet++) do ich zmniejszania, a nie tylko do usuwania. W 2021 roku, po przeniesieniu tego wszystkiego do skryptów, stało się jeszcze wygodniej, a filtr „Minimalne” w programie Photoshop czy proces Erosion w programie PixInsight nie były już zbyt popularne.

W programie PixInsight pojawił się gotowy do użycia skrypt do redukcji gwiazd. Nie korzysta on ani z filtra „Minimalne”, ani z procesu Erosion — osiąga cel, łącząc StarNet++ z maską Contour Mask.

Ilustracja skryptowej redukcji gwiazd opartej na StarNet++

Przy okazji wyjaśnię jedną łatwą do pomylenia rzecz: opcja „Create star mask” w programie StarNet++ tworzy w rzeczywistości nie maskę, lecz same usunięte gwiazdy. Jeśli za pomocą procesu PixelMath w programie PixInsight albo warstw w programie Photoshop dodasz ten star_mask z powrotem do obrazu bez gwiazd, otrzymasz coś praktycznie identycznego z oryginałem sprzed usunięcia gwiazd.

To, co StarNet++ tworzy jako „star mask”, to w rzeczywistości same gwiazdy — dodanie ich z powrotem przywraca obraz

Czy po redukcji wszystkie gwiazdy stają się tej samej wielkości

Pewien kolega po fachu twierdził kiedyś, że po redukcji wszystkie gwiazdy mają tę samą wielkość. Czy tak jest naprawdę? Otóż nie — wielkość zredukowanej gwiazdy zależy głównie od jej pierwotnej wielkości oraz od maski użytej do redukcji.

W praktyce przy każdej redukcji wybierasz typ gwiazd, które chcesz zmniejszyć (przede wszystkim małe i średnie), i przygotowujesz maskę dopasowaną do ich wielkości, więc po redukcji gwiazdy nadal różnią się rozmiarem — jedynie po ich otoczeniu można poznać, że redukcja została przeprowadzona. Weź za przykład powiększony obraz SL 17: to wynik dwukrotnej redukcji gwiazd (jak dotąd nie robiłem więcej niż dwóch przejść).

Po redukcji gwiazdy nadal różnią się wielkością, a po ich otoczeniu widać ślady redukcji (SL 17)

Powiększony widok SL 17 pokazujący efekt dwóch przejść redukcji

Redukcja gwiazd metodą obrazu bez gwiazd daje bardziej naturalny efekt

Lokalne porównanie przed redukcją gwiazd i po niej

Redukcja gwiazd za pomocą procesu PixelMath (stan nieliniowy)

Redukcję gwiazd na podstawie obrazu bez gwiazd można precyzyjnie wykonać w programie PixInsight za pomocą procesu PixelMath. Oto poszczególne kroki:

  1. Przygotuj plik obrazu A oraz plik B — obraz A bez gwiazd.
  2. Za pomocą STF w połączeniu z procesem HistogramTransformation jednocześnie obniż jasność A i B (przesuń midtone w prawo).
  3. Odwróć przyciemnione A i B (klawiatura: Ctrl+I).
  4. Podziel odwrócone A przez odwrócone B, aby otrzymać odwrócony obraz gwiazd C (PixelMath).
  5. Pomnóż C przez odwrócone B, aby otrzymać odwrócony obraz ze zredukowanymi gwiazdami D (PixelMath).
  6. Odwróć D z powrotem do normalnego obrazu ze zredukowanymi gwiazdami (Ctrl+I).

Kroki 5 i 6 to w rzeczywistości dokładnie wzór screen blending mode. Jeśli chcesz mocniejszej redukcji, w kroku 2 obniż jasność A i B jeszcze bardziej. Wzór poglądowy:

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

Ilustracja poszczególnych kroków redukcji gwiazd za pomocą procesu PixelMath

Tę samą metodę można odtworzyć również w programie Photoshop lub Affinity Photo — różnica polega na tym, że robi się to na warstwach, a tryby mieszania (blending mode) między warstwami nieco się różnią.

Odtworzenie redukcji gwiazd z procesu PixelMath na warstwach w programie Photoshop, z opisanym trybem mieszania każdej warstwy

Klucz: gwiazdy trzeba poprawnie wydobyć „odwróconym dzieleniem”

Wiele osób obrabia obraz metodą bez gwiazd, ale na końcu ponosi porażkę przy dodawaniu gwiazd z powrotem — sedno tkwi w tym, w jaki sposób gwiazdy zostały wydobyte.

Jeśli po prostu odejmiesz obraz bez gwiazd od oryginału, aby uzyskać gwiazdy, a potem dodasz je z powrotem, efektem są zwykle blade gwiazdy o nieprawidłowym kolorze, wyglądające tak, jakby obniżono krycie warstwy. Powodem jest to, że część zawartości gwiazd została na obrazie bez gwiazd — odejmowanie nie zdołało wydobyć ich w całości.

Lepszy sposób to uzyskanie pełnych gwiazd odwróconym dzieleniem; po zakończeniu obróbki obrazu bez gwiazd wstawiasz je z powrotem mnożeniem albo odwróconym mnożeniem (screen blending mode).

Porównanie wydobycia gwiazd odejmowaniem (u góry) i odwróconym dzieleniem (u dołu)

Stan liniowy i nieliniowy: wzory na wydobycie i wstawienie są różne

Po tym, jak RC Astro wypuściło StarXTerminator (SXT), zakres stosowania usuwania gwiazd rozszerzył się ze stanu nieliniowego również na stan liniowy. W stanie liniowym i nieliniowym kroki oraz wzory na wydobycie i wstawienie gwiazd nadal jednak nieco się różnią, o czym często się zapomina.

Stan nieliniowy (obraz został już mocno rozciągnięty, więc piksele nie zachowują już pierwotnej liniowej zależności):

  • Wydobycie gwiazd: zaznacz „Unscreen Stars” w SXT albo po usunięciu gwiazd uzyskaj je wzorem odwróconego dzielenia ~(~Original_Nebula / ~Starless_Nebula).
  • Wstawienie gwiazd: w procesie PixelMath użyj wzoru odwróconego mnożenia ~(~Nebula * ~stars) — to zarazem matematyczny wzór trybu Screen Blending.

Stan liniowy (po integracji, a przed mocnym rozciągnięciem, gdy piksele zachowują pierwotną liniową zależność):

  • Wydobycie gwiazd: nie zaznaczaj „Unscreen Stars” w SXT.
  • Wstawienie gwiazd: w procesie PixelMath użyj wzoru dodawania Nebula + stars.

Zestawienie wzorów na wydobycie i wstawienie gwiazd w stanie liniowym i nieliniowym

Gdy wyjaśnisz sobie, w jakim stanie jest twój obraz, i użyjesz odpowiednich wzorów do wydobycia oraz wstawienia gwiazd, unikniesz problemu gwiazd, które po wstawieniu ciemnieją, zmieniają kolor albo w ogóle się nie udają.