Зменшення зір і робота із зорями: еволюція методів та робочий процес у PixelMath
Помірне зменшення зір дає змогу яскравіше виділити головний об’єкт зйомки — особливо в густо засіяних зорями ділянках неба, як-от область Чумацького Шляху, де, якщо нічого не робити, всипане зорями небо серйозно заважає сприйняттю туманності. У цій статті я систематизую методи зменшення зір — від фільтрів ерозії давніх часів до сьогоднішнього основного підходу через зображення без зір і його реалізації в PixelMath.
Давній підхід: зменшення зір ерозією (Erosion)
Найраніша форма зменшення зір спиралася на ерозію (Erosion): у Photoshop для цього застосовували фільтр «Minimum», а в PixInsight — Erosion, піддаючи зорі у виділеній ділянці ерозії, щоб зробити їх меншими. Хто хотів охайніше, поєднував це з маскою країв, щоб не зачепити ерозією центри зір.
Чесно кажучи, спочатку я майже не зменшував зорі, бо традиційна Erosion часто псує зорі (наприклад, перетворює круглі зорі на ромби або нищить діамантові зорі). Але для деяких об’єктів — наприклад, туманності Кіля, що лежить в області Чумацького Шляху, — навіть за найякіснішої маски зір у готовому знімку все одно залишається безліч зір, які заважають туманності, і тоді без зменшення зір не обійтися. Саме тому найслабше місце зменшення зір ерозією — надзвичайна чутливість до якості маски: якщо маску зроблено погано, у центрах зір і навколо них легко з’являються артефакти.

Поворотний момент: зменшення зір через зображення без зір
З розвитком технологій зменшення зір поступово перетворилося на дію, яку можна виконати простим перетягуванням повзунка, при цьому клас розміру зір, які треба зменшити, можна вільно налаштувати. Ключовий момент: люди почали використовувати інструменти видалення зір (наприклад, StarNet++) саме для їх зменшення, а не лише для видалення. До 2021 року, коли все перевели у скрипти, стало ще зручніше, і фільтр «Minimum» у PS чи Erosion у PI вже вийшли з моди.
У PI з’явився готовий до використання скрипт для зменшення зір. Він не використовує фільтр «Minimum» чи Erosion, а досягає результату методом поєднання StarNet++ із Contour Mask.

Тут заразом проясню один момент, який легко зрозуміти неправильно: опція «Create star mask» у StarNet++ насправді створює не маску, а самі видалені зорі. Якщо за допомогою PixelMath у PI або шарів у PS додати цей star_mask назад до вже позбавленого зір зображення, ви отримаєте щось майже ідентичне вихідному зображенню, з якого зорі не видаляли.

Чи стають усі зорі однакового розміру після зменшення
Один із колег-астрофотографів колись стверджував, що після зменшення розмір усіх зір стає однаковим. Чи справді це так? Насправді ні — розмір зменшеної зорі залежить головно від її початкового розміру та від маски зменшення зір.
На практиці щоразу під час зменшення ви обираєте тип зір, які треба зменшити (переважно дрібні й середні), і створюєте маску, що відповідає розмірам зір; після зменшення розміри зір усе одно можуть відрізнятися — просто сліди зменшення видно навколо самих зір. Візьмімо для прикладу збільшене зображення SL 17: це результат двох проходів зменшення зір (більш ніж два проходи я поки що не робив).




Реалізація зменшення зір у PixelMath (нелінійний стан)
Зменшення зір за допомогою зображення без зір можна точно виконати в PI засобами PixelMath. Покроково це виглядає так:
- Підготуйте файл зображення A та його зображення без зір — файл B.
- За допомогою STF разом з HistogramTransformation одночасно знизьте яскравість A і B (перемістіть midtone праворуч).
- Інвертуйте A і B після зниження яскравості (клавіші Ctrl+I).
- Поділіть інвертоване A на інвертоване B, щоб отримати інвертоване зображення зір C (PixelMath).
- Помножте C на інверсію B, щоб отримати інверсію D зображення зі зменшеними зорями (PixelMath).
- Інвертуйте D назад у звичайне зображення зі зменшеними зорями (Ctrl+I).
Кроки 5 і 6 — це, по суті, формула режиму накладання screen. Якщо хочете сильнішого зменшення, на кроці 2 можна знизити яскравість A і B ще більше. Схематична формула:
afterimage = ~((~mtf_low(beforeimage) / ~mtf_low(starless)) * ~starless)

Той самий метод можна відтворити і в Photoshop чи Affinity Photo — різниця лише в тому, що там це роблять за допомогою шарів, а режими накладання (blending mode) між шарами трохи відрізняються.

Ключовий момент: зорі потрібно правильно виділяти за допомогою «інвертованого ділення»
Багато хто обробляє зображення методом видалення зір, але зазнає невдачі, коли наприкінці додає зорі назад, — і суть проблеми в тому, як саме зорі було виділено.
Якщо просто відняти зображення без зір від вихідного, щоб отримати зорі, а тоді додати ці зорі назад, результат часто виходить тьмяним, з неправильним кольором — так, ніби ви знизили непрозорість шару. Причина в тому, що частина вмісту зір залишилася на зображенні без зір, тож віднімання не змогло виділити зорі повністю.
Кращий спосіб — отримати повні зорі за допомогою інвертованого ділення; після завершення обробки зображення без зір поверніть зорі назад множенням або інвертованим множенням (режим накладання screen).

Лінійний і нелінійний стан: формули виділення та повернення відрізняються
Після того як RC Astro випустила StarXTerminator (SXT), сфера застосування видалення зір розширилася з нелінійного стану на лінійний стан. Однак у лінійному та нелінійному станах кроки й формули виділення та повернення зір усе ж дещо відрізняються, і цей момент часто оминають увагою.
Нелінійний стан (зображення вже зазнало сильного розтягування, тож пікселі більше не перебувають у початковому лінійному співвідношенні):
- Виділення зір: позначте «Unscreen Stars» у SXT або після видалення зір отримайте їх за формулою інвертованого ділення
~(~Original_Nebula / ~Starless_Nebula). - Повернення зір: у PixelMath застосуйте формулу інвертованого множення
~(~Nebula * ~stars)— це і є математична формула Screen Blending.
Лінійний стан (після інтеграції, до сильного розтягування, коли пікселі ще зберігають початкове лінійне співвідношення):
- Виділення зір: у SXT не позначайте «Unscreen Stars».
- Повернення зір: у PixelMath застосуйте формулу додавання
Nebula + stars.

Якщо чітко з’ясувати, у якому стані перебуває ваше зображення, і використовувати відповідні формули для виділення та повернення зір, можна уникнути проблеми, коли зорі після повернення тьмяніють, змінюють колір або їх повернення взагалі не вдається.