本站提供正體中文版。切換到正體中文本站提供简体中文版。切换到简体中文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ăเว็บไซต์นี้มีเวอร์ชันภาษาไทยดูเป็นภาษาไทย

Усунення несправностей WBPP: поширені помилки та відомі баги

Попередня обробка та стекінг2022.04Ранні нотатки

Ця стаття складена на основі нотаток 2022–2025 років; деякі інструменти або процеси відтоді оновилися, тож майте це на увазі під час читання. Повідомлення про помилки та поведінка, специфічна для версій, у тексті наведені так, як вони були зафіксовані на той момент. Про інтерфейс WBPP, калібрувальні майстер-кадри та звичайний робочий процес читайте в супутній статті «The Complete Guide to WBPP».

Запускати WBPP одним клацанням від початку до кінця — це, безперечно, приємно, але коли доходить до реального використання, завжди трапляються ситуації, коли він зависає, видає помилки або дає результат, який просто виглядає не так. У цій статті я зібрав категорії проблем WBPP, з якими стикався за ці кілька років — і про які мене найчастіше запитують — у практичний довідник з усунення несправностей: від логіки діагностики до кількох конкретних відомих багів.

Перший крок усунення несправностей: спершу перевірте Process Console

Коли під час обробки в PixInsight щось іде не так, перше, про що варто подумати, — це завжди перевірити Process Console. Вона показує, де сталася помилка і якого вона типу; це відправна точка будь-якої діагностики.

Але WBPP — це скрипт, і поки скрипт не виконується, console згорнута і її не можна виділити. Тому, щоб побачити console, часто доводиться спершу закрити WBPP. Це звучить незручно, але для багатьох проблем це єдине джерело підказок — розгадка кількох багів нижче щоразу починалася саме з того одного червоного рядка в console.

Збої та баги на етапі калібрування

Калібрування завершилося помилкою (failed) — спершу закрийте PI й відкрийте знову. Якщо під час виконання WBPP початкове калібрування (з використанням майстер-кадрів) одразу завершується помилкою і status показує червоне failed, можна поставити весь процес на паузу, закрити PI, знову відкрити WBPP і запустити ще раз — зазвичай ця помилка калібрування після цього зникає. Обробляючи OSC-зображення, я стикався з цим багом щонайменше чотири рази, і щоразу вирішував його саме таким чином.

Екран етапу калібрування WBPP, де status показує червоне failed

Кадри flat постійно дають помилку калібрування — поверніться до ручної покрокової обробки. У деяких версіях WBPP є баг, через який калібрування кадрів flat раз у раз завершується помилкою. У такому разі важливо вміти обробляти все самостійно, крок за кроком. Заразом освіжімо в пам’яті кроки Pre-Process:

  1. Calibration: light − dark / ((flat − flat dark) * med(flat))
  2. Cosmetic Correction
  3. Debayer: інтерполяція за матрицею Баєра
  4. Star Alignment
  5. NSG
  6. Integration

Помилки калібрування flat у WBPP та довідка щодо кроків ручної покрокової обробки

Коли на автоматизацію не можна покластися, розбиття процесу на кроки й ручне виконання, навпаки, полегшує визначення того, на якому кроці криється проблема.

Проблеми зі шляхами: дві можливі причини File I/O Error

Якщо під час використання WBPP у Windows на етапі калібрування (calibration) з’являється File I/O Error, зазвичай причина одна з цих двох:

  1. Шлях до файлу разом з іменем файлу задовгий і перевищує системне обмеження, тож його потрібно скоротити.
  2. У цільову папку неможливо записувати, наприклад, якщо вивід налаштовано в системну папку.

Екран помилки, де на етапі калібрування WBPP з’являється File I/O Error

Перша причина трапляється найчастіше. Щоб остаточно вирішити проблему «задовгого шляху», у Windows можна ввімкнути підтримку довгих шляхів (у regedit встановити LongPathsEnabled на 1); також радимо уникати шляхів із символами поза ASCII (наприклад, китайськими). Детальні кроки для цих двох попередніх налаштувань середовища я описав у розділі про налаштування середовища Windows статті «The Complete Guide to WBPP», тож тут повторювати не буду.

Баг координат RA/DEC: «60 секунд без перенесення»

Це найхитріша проблема і водночас та, яку найбільше варто розглянути окремо, бо її симптоми надзвичайно різноманітні, а корінна причина одна й та сама: у координатах прямого піднесення / схилення в FITS Header значення секунд дорівнює «60», але не було перенесене на наступний розряд.

Я стикався з цим двічі, і щоразу вона проявлялася по-різному.

Перший раз: WBPP не міг завантажити файл. Я закрив WBPP і подивився в Process Console, і виявив, що якийсь рядок js-скрипта повідомляв про «недійсні координати». Тоді я думав, що це баг WBPP, і, пошукавши текст помилки в інтернеті, лише тоді натрапив на PixInsight Forum на кілька таких самих повідомлень про помилку — виявилося, що саме проблема з координатами не давала зображенню завантажитися у WBPP. Маючи вже напрям пошуку, я все одно витратив годину, перебираючи кілька сотень кадрів light, поки не знайшов проблемне зображення: його координата OBJCTDEC була неправильною. Я відкрив у PI процес FITSHeader, прокрутив до OBJCTDEC і змінив значення, яке «мало перенестися, але не перенеслося» — у цьому прикладі змінив -69 26 60 на -69 27 0 — і цей кадр після цього завантажився без проблем, а наступні файли більше через нього не зависали.

Виправлення неперенесеної координати OBJCTDEC за допомогою процесу FITSHeader

Другий раз: файли не додавалися, а console повідомляла too much recursion. Пізніше я зіткнувся з цим знову: під час додавання файлів до WBPP програма зависла, і в підсумку жодного файлу не було додано. Я закрив WBPP, подивився в Console — там був червоний InternalError: too much recursion. Після повторного відкриття WBPP виявив, що частина файлів уже завантажена, а частина — ні; перевіривши ті, що не завантажилися, знову виявив аномалію FITS Header — цього разу DEC показувало -46 01 60, тоді як секунди «60» мали перенестися в -46 02 00. Щойно WBPP читає таке аномальне значення, він зависає, а заразом тягне за собою всі наступні зображення, які теж перестають завантажуватися. Так само треба відкрити FITS Header, вручну перенести секунди й після виправлення додати файли знову. Коли всі файли завантажуються успішно, WBPP автоматично показує діагностичне повідомлення, наприклад «60 of 60 light frames were added».

Повідомлення про помилку InternalError: too much recursion у console

Аномальне значення -46 01 60 у полі DEC у FITS Header

Спільний висновок: ця проблема автоматичного неперенесення координат, за моїми дотеперішніми спостереженнями, майже завжди трапляється, коли знімальним програмним забезпеченням є MDL (дистанційне керування), хоча не можна виключати, що й інше знімальне програмне забезпечення може мати ту саму ваду. Тож щойно WBPP зависає й файли не вдається додати, спершу перевірте Process Console, щоб з’ясувати тип помилки, а потім перевірте Header RA/DEC на наявність бага «60 секунд без перенесення» — після ручного виправлення це здебільшого вирішує проблему.

Продуктивність: чому повний пакет виконується так довго

Насамкінець про проблему, яка, строго кажучи, не є «помилкою», але добряче виснажує — повний пакет WBPP просто занадто повільний. Одного разу мені довелося дати повному пакету попрацювати цілих чотири години заради п’яти зображень, з яких я хотів зробити HDR (тодішня машина мала AMD R5-4650G, DDR4 3200 32GB, Gen4 SSD, зображення по 24 мегапікселі; таке очікування справді змушує замислитися про новий комп’ютер).

Екран виконання, на якому повний пакет WBPP триває чотири години

Особливо багато часу забирають два моменти:

  1. Separated RGB: окрема обробка каналів RGB кольорового знімка для усунення хроматичної аберації.
  2. Local Normalization: вибір кількох найкращих зображень як референсу та застосування Local Normalization до решти зображень.

Якщо вимкнути ці два кроки, WBPP стає набагато швидшим. Чи варто жертвувати ними заради швидкості, залежить від ваших вимог до кінцевого результату — щодо практичних вимірювань на тему «які кроки вимкнути, скільки часу заощадиться і наскільки впаде якість», у статті «The Complete Guide to WBPP» я навів набір даних, який показує прискорення у 7–8 разів, тож можете звернутися до нього.


Підсумуємо логіку цього довідника з усунення несправностей: якщо щось не так — спершу перевірте Process Console; якщо калібрування дає failed — закрийте PI й відкрийте знову; якщо кадри flat постійно дають помилку калібрування — поверніться до ручної покрокової обробки; File I/O Error здебільшого означає задовгий шлях або папку, у яку неможливо записувати; а якщо щось не завантажується, зависає або повідомляє recursion — перевірте, чи немає в RA/DEC FITS Header секунд «60» без перенесення. Опануйте ці кілька прийомів, і з більшістю примх WBPP ви впораєтеся.