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

Зменшення зір і робота із зорями: еволюція методів та робочий процес у PixelMath

Розтягування та нелінійна стадія2021.01

Помірне зменшення зір дає змогу яскравіше виділити головний об’єкт зйомки — особливо в густо засіяних зорями ділянках неба, як-от область Чумацького Шляху, де, якщо нічого не робити, всипане зорями небо серйозно заважає сприйняттю туманності. У цій статті я систематизую методи зменшення зір — від фільтрів ерозії давніх часів до сьогоднішнього основного підходу через зображення без зір і його реалізації в PixelMath.

Давній підхід: зменшення зір ерозією (Erosion)

Найраніша форма зменшення зір спиралася на ерозію (Erosion): у Photoshop для цього застосовували фільтр «Minimum», а в PixInsight — Erosion, піддаючи зорі у виділеній ділянці ерозії, щоб зробити їх меншими. Хто хотів охайніше, поєднував це з маскою країв, щоб не зачепити ерозією центри зір.

Чесно кажучи, спочатку я майже не зменшував зорі, бо традиційна Erosion часто псує зорі (наприклад, перетворює круглі зорі на ромби або нищить діамантові зорі). Але для деяких об’єктів — наприклад, туманності Кіля, що лежить в області Чумацького Шляху, — навіть за найякіснішої маски зір у готовому знімку все одно залишається безліч зір, які заважають туманності, і тоді без зменшення зір не обійтися. Саме тому найслабше місце зменшення зір ерозією — надзвичайна чутливість до якості маски: якщо маску зроблено погано, у центрах зір і навколо них легко з’являються артефакти.

Порівняння «до» і «після» зменшення зір у давні часи з маскою StarNet++ (туманність Кіля)

Поворотний момент: зменшення зір через зображення без зір

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

У PI з’явився готовий до використання скрипт для зменшення зір. Він не використовує фільтр «Minimum» чи Erosion, а досягає результату методом поєднання StarNet++ із Contour Mask.

Ілюстрація скриптового зменшення зір на основі StarNet++

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

«star mask», яку створює StarNet++, — це насправді самі зорі; якщо додати її назад, зображення відновлюється

Чи стають усі зорі однакового розміру після зменшення

Один із колег-астрофотографів колись стверджував, що після зменшення розмір усіх зір стає однаковим. Чи справді це так? Насправді ні — розмір зменшеної зорі залежить головно від її початкового розміру та від маски зменшення зір.

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

Після зменшення розміри зір усе ще відрізняються, а навколо них видно сліди зменшення (SL 17)

Збільшений перегляд SL 17: ефект двох проходів зменшення зір

Зменшення зір методом зображення без зір дає природніший результат

Локальне порівняння «до» і «після» зменшення зір

Реалізація зменшення зір у PixelMath (нелінійний стан)

Зменшення зір за допомогою зображення без зір можна точно виконати в PI засобами PixelMath. Покроково це виглядає так:

  1. Підготуйте файл зображення A та його зображення без зір — файл B.
  2. За допомогою STF разом з HistogramTransformation одночасно знизьте яскравість A і B (перемістіть midtone праворуч).
  3. Інвертуйте A і B після зниження яскравості (клавіші Ctrl+I).
  4. Поділіть інвертоване A на інвертоване B, щоб отримати інвертоване зображення зір C (PixelMath).
  5. Помножте C на інверсію B, щоб отримати інверсію D зображення зі зменшеними зорями (PixelMath).
  6. Інвертуйте D назад у звичайне зображення зі зменшеними зорями (Ctrl+I).

Кроки 5 і 6 — це, по суті, формула режиму накладання screen. Якщо хочете сильнішого зменшення, на кроці 2 можна знизити яскравість A і B ще більше. Схематична формула:

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

Ілюстрація покрокового зменшення зір за допомогою PixelMath

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

Відтворення зменшення зір із PixelMath за допомогою шарів Photoshop із зазначенням режиму накладання кожного шару

Ключовий момент: зорі потрібно правильно виділяти за допомогою «інвертованого ділення»

Багато хто обробляє зображення методом видалення зір, але зазнає невдачі, коли наприкінці додає зорі назад, — і суть проблеми в тому, як саме зорі було виділено.

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

Кращий спосіб — отримати повні зорі за допомогою інвертованого ділення; після завершення обробки зображення без зір поверніть зорі назад множенням або інвертованим множенням (режим накладання screen).

Порівняння виділення зір відніманням (угорі) та інвертованим діленням (унизу)

Лінійний і нелінійний стан: формули виділення та повернення відрізняються

Після того як RC Astro випустила StarXTerminator (SXT), сфера застосування видалення зір розширилася з нелінійного стану на лінійний стан. Однак у лінійному та нелінійному станах кроки й формули виділення та повернення зір усе ж дещо відрізняються, і цей момент часто оминають увагою.

Нелінійний стан (зображення вже зазнало сильного розтягування, тож пікселі більше не перебувають у початковому лінійному співвідношенні):

  • Виділення зір: позначте «Unscreen Stars» у SXT або після видалення зір отримайте їх за формулою інвертованого ділення ~(~Original_Nebula / ~Starless_Nebula).
  • Повернення зір: у PixelMath застосуйте формулу інвертованого множення ~(~Nebula * ~stars) — це і є математична формула Screen Blending.

Лінійний стан (після інтеграції, до сильного розтягування, коли пікселі ще зберігають початкове лінійне співвідношення):

  • Виділення зір: у SXT не позначайте «Unscreen Stars».
  • Повернення зір: у PixelMath застосуйте формулу додавання Nebula + stars.

Порівняння формул виділення та повернення зір у лінійному та нелінійному станах

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