CCDStack

CCDStack

Последняя версия: 2.95.7336.24457
Скачали: 8

CCDStack — настольная программа CCDWare для обработки астрономических изображений: калибровки исходных кадров, регистрации серии, нормализации, отбраковки дефектных пикселей, сложения, построения цветного изображения и подготовки результата к последующей художественной обработке. Она рассчитана прежде всего на астрофотографов, работающих с сериями FITS/SBIG-кадров от монохромных или однокадровых цветных камер, и решает ту часть рабочего процесса, где важно не просто сложить фотографии, а контролировать статистику, геометрию совмещения и причины исключения отдельных значений. CCDStack относится к зрелому поколению Windows-инструментов: последняя публично индексируемая сборка имеет номер 2.95.7336.24457 и датируется 17 июля 2020 года, тогда как сам продукт активно использовался намного раньше и продолжает встречаться в рабочих цепочках астрофотографов.

Что именно представляет собой CCDStack

Название относится к программе CCDWare CCDStack/CCDStack 2, а не к библиотеке, команде или современному облачному сервису со схожим словом stack. Внутренняя модель программы построена вокруг стека — набора экспозиций одного объекта или одного поля. Такие кадры регистрируют относительно опорного изображения, приводят к сопоставимому уровню яркости, отмечают выбросы и затем объединяют. Главная практическая цель — получить мастер-кадр с более высоким отношением сигнал/шум и без случайных дефектов вроде следов спутников, самолётов и космических лучей.

В основе обработки CCDStack хранит изображение как 32-битный массив с плавающей точкой. Это принципиальная особенность интерфейса: то, что пользователь видит на экране после изменения растяжки, гаммы, DDP или визуальной резкости, не обязательно меняет исходные числовые данные. Экранный bitmap формируется отдельно от основного массива. Поэтому изменение отображения можно использовать как диагностический инструмент, не опасаясь, что простое движение ползунка уже переписало измерительные значения пикселей.

Программа рассчитана не только на финальное сложение. В одном интерфейсе объединены подготовка master bias, master dark и master flat, калибровка light-кадров, исправление плохих пикселей и колонок, регистрация, несколько способов ресэмплинга, нормализация, управление весами, статистическая отбраковка, mean/median/sum-combine, работа с LRGB и one-shot color, коррекция градиента, Pixel Math, File Math, DDP, sharpening и два алгоритма деконволюции. Такая организация объясняет, почему CCDStack часто использовали как технический предобработчик, а окончательную цветовую и художественную доводку переносили в Photoshop или PixInsight.

Состояние продукта в 2026 году нужно понимать отдельно от его возможностей. Документация CCDStack 2 всё ещё доступна, отдельный домен продукта указывает на CCDWare, однако в действующем каталоге продуктов, магазине и разделе загрузок CCDStack уже не предлагается. Публичной прямой ссылки на установочный ZIP от текущего дистрибьютора нет. Поэтому старые описания trial-лицензии и кнопки загрузки в программных каталогах характеризуют исторически распространявшуюся сборку, но не означают, что новую лицензию или установщик сейчас можно получить тем же способом.

Для кого предназначена программа

CCDStack наиболее уместен в классической глубокой астрофотографии, когда съёмка выполняется сериями субэкспозиций и результат складывается из нескольких типов данных. Для монохромной камеры это могут быть отдельные последовательности L, R, G и B, а также H-alpha или другие узкополосные каналы. Для one-shot color программа работает с Bayer-данными: исходные FITS или SBIG кадры сначала калибруются в Bayer-представлении, после чего цветовые компоненты преобразуются и обрабатываются дальше.

Новичку CCDStack полезен прежде всего своей явной последовательностью операций. Вместо единой кнопки stack пользователь видит, что выравнивание, нормализация и data rejection — разные стадии с разными критериями качества. Это повышает порог входа, зато помогает понять, почему неудачный flat, плохая опорная экспозиция или слишком агрессивный sigma-reject портят итог. Для опытного астрофотографа ценность находится в другом: можно вручную проверять трансформации, менять вес отдельных экспозиций, ограничивать отбраковку выбранной областью и видеть красным те данные, которые будут исключены из combine.

Программа особенно логична для старых проектов, где уже существуют рабочие наборы FITS и привычный рецепт CCDStack. Она также полезна как учебный пример статистически прозрачного процесса. В современных проектах выбор сложнее: поддержка актуальных камер, операционных систем и автоматических сценариев развивается у других пакетов активнее. Поэтому решение сохранить CCDStack в рабочей цепочке обычно связано с совместимостью накопленного процесса и знанием конкретных инструментов, а не с наличием самой новой платформы.

Для обработки единичной обычной фотографии CCDStack избыточен. Его сильные стороны раскрываются именно на наборах астрономических кадров, где есть master-калибровка, регистрация десятков экспозиций, оценка плохих значений и математическое объединение. Для планетного lucky imaging с тысячами коротких кадров существуют специализированные стекеры; CCDStack исторически ориентирован на CCD/DSO-процесс и контроль числовых данных.

Распространение, лицензирование и текущая доступность

Последняя широко индексируемая Windows-сборка обозначена как CCDStack 2.95.7336.24457. Для неё указан файл CCDStack2Install.zip размером 6,1 МБ, а также 30-дневный пробный режим незарегистрированной версии. Эти сведения относятся к состоянию дистрибутива на 17 июля 2020 года. Текущая витрина CCDWare содержит PEMPro и сведения о снятом с продаж FocusMax, но не содержит CCDStack в перечне продаваемых продуктов.

Из этого следует практическое ограничение: наличие старой карточки Download в стороннем каталоге нельзя считать подтверждённым каналом получения актуального дистрибутива от разработчика. Прямая публичная ссылка CCDWare на сам установочный ZIP в действующем разделе загрузок отсутствует. Это означает, что продукт остаётся локальной бинарной программой, но новая публичная прямая загрузка текущим дистрибьютором не предоставляется.

Лицензионная история требует осторожного разделения старых и текущих сведений. Сборка 2020 года распространялась в trial-режиме с 30-дневным периодом. Одновременно один из современных программных каталогов помечает CCDStack 2.95 как freeware; это противоречит исторической модели trial и не подтверждается действующим магазином CCDWare. Поэтому утверждать, что CCDStack сегодня является бесплатной программой с новой свободной лицензией, нельзя. У старой сборки существовал пробный режим, а актуальный публичный путь покупки новой лицензии сейчас отсутствует.

Для владельца старой лицензии существенен ещё один момент: встроенная в продукты CCDWare схема проверки обновлений через интернет описывается как общий механизм продуктовой линейки, но CCDStack исчез из текущего канала загрузок. Поэтому рассчитывать, что старый инсталлятор автоматически получит новую поддерживаемую ветку, не следует. Рабочую конфигурацию разумно рассматривать как наследуемую установку: сохранять исходный легально полученный установщик, лицензионные данные и документацию и контрольную копию обработанных проектов.

Интерфейс CCDStack и его рабочая логика

Почти все операции вызываются из главного меню. Это характерная черта CCDStack: интерфейс не скрывает технологический процесс в мастере, а раскладывает его по командам File, Process, Stack, Color, Window, Edit и связанным формам. После первого открытия изображения появляются вспомогательные окна; их можно разложить по экрану, закрыть стандартной кнопкой Windows и затем вернуть через меню Window. Программа запоминает расположение этих форм.

Центральную область занимает текущее изображение. Top image — кадр, который сейчас находится сверху и виден пользователю. Многие команды различают this image, all images и included images. Такой подход критичен при больших стеках: итоговый master, созданный combine-командой, обычно не включается автоматически в следующий combine, а отдельную неудачную экспозицию можно временно исключить, не удаляя её из проекта.

В левом нижнем участке строки состояния отображается число изображений в стеке; там же выводятся значения пикселей текущего кадра и состояние кэширования. При слишком большом наборе программа может выгружать структуры во временные файлы на диске, что заметно снижает скорость. Эта индикация помогает отличить медленный алгоритм от ситуации, когда производительность ограничена памятью и дисковым кэшем.

Image Manager — интерактивный список всех изображений. В нём присутствуют имя кадра, статус Include, дата и время, длительность экспозиции, фильтр, FWHM и weight. Список можно использовать одновременно как навигатор, контроль качества и точку ручной корректировки весов. После нормализации вычисленный вес виден именно здесь; при необходимости его можно заменить вручную, например чтобы уменьшить вклад кадра с худшей резкостью.

Select Image предоставляет последовательный просмотр стека кнопками назад/вперёд. Blink автоматически циклически переключает кадры; скорость регулируется отдельными кнопками. Если в стеке есть как минимум два включённых изображения, мигание проходит только по Included-набору. Это превращает Blink в быстрый способ проверки регистрации, фона и стабильности звёзд без отдельного экспортного отчёта.

Adjust Display управляет экранным представлением. Пользователь задаёт Background, Maximum, Gamma и DDP, а также может включить sharpen. Режимы Linear, Gamma, DDP и Gamma-DDP преобразуют именно display bitmap; исходные 32-битные данные остаются неизменными, пока пользователь явно не создаст масштабированное изображение или не сохранит соответствующий результат. Для астрофотографии это удобно: слабые детали можно временно растянуть для контроля, не превращая каждую проверку в необратимую операцию.

CCDStack: подробный обзор обработки, регистрации и сложения астрономических снимков скриншот 1

Camera Manager хранит параметры камеры, которые участвуют в статистических вычислениях, прежде всего в Poisson rejection. При первом чтении данных программа пытается определить камеру по заголовку FITS; если обозначения нет, применяется профиль default. Корректность gain и других характеристик здесь влияет не на внешний вид интерфейса, а на то, насколько правильно программа оценивает ожидаемый шум при статистической отбраковке.

Information — ещё одно диагностическое окно. В нём отображаются измерения выбранной области и результаты вычислений процедур, например параметры нормализации. В практическом процессе это не справка, а канал проверки: после Normalize можно сравнить offsets/scalars, а после выделения прямоугольника — анализировать средний уровень выбранной зоны.

Установка и первый запуск

Исторический дистрибутив версии 2.95 представлял собой ZIP CCDStack2Install.zip размером 6,1 МБ. Для запуска этой ветки указывался Microsoft .NET Framework 4.0 или новее. Список совместимости охватывал Windows XP, Vista, 7, 8 и 10 в 32- и 64-битных вариантах там, где это применимо. Windows 11 в опубликованных требованиях этой сборки не указан, поэтому совместимость с ним нельзя считать гарантированной характеристикой продукта.

Текущий пользователь сталкивается не с обычной задачей скачать и установить, а с задачей сохранения проверенного наследуемого окружения. Поскольку публичный оригинальный бинарный URL больше не предоставляется, случайные переупакованные ZIP-файлы и загрузчики из каталогов не равнозначны исходному CCDStack2Install.zip. Для ранее купленной копии предпочтительнее собственная сохранённая копия, резервная копия старой системы или дистрибутив, происхождение которого можно доказать.

После первого запуска и загрузки изображения CCDStack может открыть Camera Manager и предложить проверить параметры обнаруженной камеры. Одновременно появляются вспомогательные формы в верхнем левом углу. Их стоит сразу разнести по рабочему пространству: Image Manager оставить рядом со стеком, Adjust Display — возле изображения, Information — так, чтобы её значения были видны при выборе областей. Это не просто косметика: программа запоминает расположение окон и при повторной работе восстанавливает привычную схему.

Первый тест лучше проводить не на полном многосеансовом проекте, а на небольшой однородной серии одного фильтра. Необходимо проверить четыре вещи: файлы читаются без ошибок; FITS-заголовки корректно интерпретируют экспозицию и камеру; Image Manager показывает ожидаемые кадры; Adjust Display меняет только представление, а не исходные данные. После этого можно переходить к master-калибровке.

Старый 32-битный режим имеет серьёзное ограничение памяти. Для тяжёлых стеков предпочтителен 64-битный Windows, но даже там реальная скорость определяется объёмом RAM и диском. В старой документации 64-битная среда описывается как способ избежать практической необходимости кэширования, однако это относится к архитектуре и размерам кадров своего времени; крупноформатный сенсор всё равно требует контроля памяти и свободного пространства.

Базовый рабочий процесс: от сырых кадров к мастер-изображению

Базовая последовательность CCDStack состоит из десяти шагов: загрузить изображения, откалибровать, сохранить калиброванные кадры, зарегистрировать стек, нормализовать, выполнить data reject, объединить mean-методом, сохранить FITS, настроить DDP/sharpen и сохранить представление для дальнейшей работы. В профессиональной практике эта схема расширяется отдельным построением master bias/dark/flat, исправлением дефектов и обработкой каналов, но порядок calibrate → register → normalize → reject → combine остаётся центральным.

  1. Подготовьте master-калибровки. Bias, dark и flat объединяются из серий, а не берутся по одному кадру, чтобы случайный шум и космические попадания не переносились в каждый light.
  2. Откройте light-кадры одного совместимого набора. Для монохромной LRGB-съёмки удобнее обрабатывать каждый фильтр отдельно, сохраняя одинаковую логику именования.
  3. Запустите Process > Calibrate. Назначьте соответствующие master bias, dark и flat; примените к Included-набору и сохраните откалиброванные данные отдельно от raw.
  4. Выберите хороший опорный кадр. Именно top image в начале регистрации становится base/reference; предпочтителен резкий, чистый и репрезентативный кадр.
  5. Откройте Stack > Register. Рассчитайте трансформации, визуально проверьте overlay и Blink, только затем применяйте resampling.
  6. Выполните Stack > Normalize. Для обычных light-кадров используют автоматическую нормализацию или Control; после расчёта проверьте результаты в Information и Image Manager.
  7. Перейдите к Stack > Data Reject > Procedures. Выберите статистический метод, покажите rejected pixels и убедитесь, что красным отмечены реальные выбросы, а не ядра звёзд или тонкая структура объекта.
  8. Скомбинируйте стек. Mean использует веса и игнорирует rejected/MissingValue; median полезен в других сценариях, но для малого числа кадров может быть менее эффективным по отношению сигнал/шум.
  9. Сохраните мастер в FITS. Для продолжения линейной обработки предпочтительно не терять динамический диапазон и не переходить преждевременно к 8-битному экранному bitmap.
  10. Выполните презентационную подготовку. DDP, deconvolution, gradient removal и color operations применяются после того, как базовый стек технически проверен.

Главный принцип проверки — не считать успешное завершение команды доказательством качества. После регистрации нужно мигать стек, после нормализации сравнивать фон и веса, после rejection смотреть карту исключённых значений, после combine — проверять края, звёзды, остатки спутниковых треков и фон. CCDStack ценен именно тем, что даёт такие промежуточные визуальные проверки.

Калибровка: bias, dark и flat

Калибровка удаляет систематические артефакты камеры и оптики. Dark subtraction компенсирует тёмный ток и связанные с ним неоднородности; flat fielding исправляет неравномерность освещения поля и различия чувствительности пикселей; bias задаёт базовый уровень считывания и используется, в частности, при масштабировании dark и подготовке flat. Порядок важен: dark subtraction выполняют до flat fielding, нормализации и регистрации.

Master dark лучше строить из нескольких dark-экспозиций одинаковой температуры и выдержки. Среднее по N кадрам снижает случайную составляющую шума примерно пропорционально квадратному корню из N, а data rejection удаляет космические попадания. CCDStack поддерживает адаптивное масштабирование dark: при совпадающей температуре, но другой выдержке можно масштабировать dark после учёта bias; для температурного несовпадения предусмотрен нелинейный вариант адаптивного вычитания.

Программа не возвращает pedestal автоматически после dark subtraction: откалиброванное изображение может иметь pedestal 0. Это важно при сохранении и дальнейшей статистике. Некоторые внешние пакеты добавляют константу к данным, чтобы избежать отрицательных значений в 16-битном unsigned формате. Если калибровка выполнена вне CCDStack и в кадрах остался pedestal, его следует учитывать в Camera Manager, потому что постоянное смещение влияет на sigma/Poisson-процедуры.

Flat-кадры должны заполнять динамический диапазон без насыщения. В документации приведён ориентир около 60% полной ёмкости, часто примерно 30 000 ADU. Несколько flat объединяются в master flat, а короткая выдержка обычно делает практичным вычитание bias вместо matched dark. CCDStack умеет автоматически bin/unbin flat под размер light-кадра.

Bias представляет собой очень короткую dark-экспозицию, показывающую базовый уровень считывания. Master bias снижает влияние read noise по сравнению с одиночным bias. Для некоторых камер температурная зависимость bias мала; если средний уровень заметно меняется, библиотеку bias имеет смысл разделять по температуре. В CCDStack dark и bias libraries поддерживаются отдельной логикой диалогов открытия и сохранения.

Профиль камеры связан с калибровкой не формально. При использовании Poisson statistics программа рассчитывает ожидаемую дисперсию через параметры камеры, поэтому неверный gain способен изменить границы выбросов. Если FITS-заголовок содержит корректное имя камеры, CCDStack связывает его с соответствующей записью; иначе действует default-профиль. Перед массовой rejection-процедурой настройки камеры нужно проверять так же внимательно, как master dark.

CCDStack: подробный обзор обработки, регистрации и сложения астрономических снимков скриншот 2

В более позднем рабочем процессе применяется Process > Repair Pixels/Columns. Команда создаёт Repair Map и отмечает обнаруженные дефекты; затем пользователь выбирает, как обращаться с плохими пикселями, включая интерполяцию. Эта стадия полезна для стабильных горячих пикселей и дефектных колонок, которые лучше исправить до финального сложения, а не надеяться, что каждый дефект исчезнет статистически.

Как строить master bias

Bias-кадры снимаются с минимальной экспозицией и закрытым затвором. Их задача — измерить базовый уровень и структуру считывания, а не тёмный ток. Несколько bias объединяют, чтобы снизить случайный read noise. В CCDStack при построении master можно использовать data rejection, удаляя единичные выбросы, после чего сохранить master в формате, который не обрезает полезный числовой диапазон.

Если камера даёт стабильный bias, один master может использоваться долго; если среднее значение меняется с температурой на десятки ADU, имеет смысл разделять библиотеку. Перед применением старого bias к новому сезону полезно измерить mean выбранной большой области и сравнить с новым контрольным кадром.

Как строить master dark

Dark-кадры должны соответствовать рабочей температуре камеры. При совпадении температуры и выдержки применяется простое вычитание; при другой выдержке CCDStack может использовать adaptive scaling после учёта bias. Температурное несовпадение существенно сложнее и относится к нелинейной адаптивной процедуре, поэтому наиболее предсказуемый путь — иметь библиотеку master dark для реально используемых температур.

Важно не смешивать dark, снятые при разных режимах gain/offset камеры, даже если размер и экспозиция совпадают. В классической CCD-документации этот сценарий описан через gain и pedestal; для современных CMOS смысл тот же: статистическая модель должна соответствовать acquisition-параметрам конкретной серии.

Как строить master flat

Flat исправляет виньетирование, пыль и pixel-to-pixel sensitivity. Он должен соответствовать оптической конфигурации: фокус, поворот камеры, фильтр и положение загрязнений. Поэтому flat часто менее долговечен, чем dark. Если пылинка сдвинулась, старый master flat способен не убрать тень, а создать светлую «анти-тень».

CCDStack автоматически приводит flat к binning light-кадра. Это удобно для LRGB, где разные каналы исторически снимались с разным binning. Однако автоматическое масштабирование не исправляет несовпадение поля или поворота; flat является калибровкой сенсора/оптики, а не геометрическим изображением неба.

Регистрация и геометрическое совмещение серии

После калибровки каждый light-кадр должен быть приведён к общей геометрии. CCDStack разделяет сам выбор опорного изображения и вычисление трансформации. В качестве reference имеет смысл брать экспозицию с хорошо сформированными звёздами, без явного смаза и с репрезентативным полем. Ошибка на этом этапе распространяется на весь стек: если опорный кадр имеет вытянутые звёзды или сильно отличается по положению от большинства серии, численно корректное совмещение не исправит его собственный дефект.

Основная команда находится в Stack > Register. В документации описаны три подхода к регистрации: Star Snap, FFT и ручное совмещение. Star Snap использует выбранные звёзды как опорные точки; FFT сопоставляет изображение по содержимому поля; ручной режим оставляет контроль пользователю. Эти варианты решают одну задачу, но по-разному реагируют на малое число звёзд, неодинаковое поле, сильный градиент и плохо откалиброванный фон. Поэтому после автоматического результата регистрация не считается законченной до визуальной проверки.

Для проверки CCDStack даёт два особенно полезных механизма. Overlay накладывает кадры и позволяет увидеть расхождение звёзд по краям и в центре. Blink быстро переключает включённые изображения. Если при переключении ядра звёзд заметно прыгают, а не только меняется шум, геометрия требует повторной регистрации или исключения проблемного кадра. Такой контроль важнее красивого вида одной экспозиции: combine усредняет значения только там, где один и тот же астрономический объект попадает в согласованные координаты.

CCDStack: подробный обзор обработки, регистрации и сложения астрономических снимков скриншот 3

На примере интерфейса регистрации видно, что CCDStack не скрывает стадию выравнивания внутри общей команды сложения. Пользователь отдельно задаёт регистрацию, отдельно оценивает результат и лишь затем переходит к нормализации и статистической очистке. Такая последовательность полезна при диагностике: вытянутые звёзды после combine можно проследить назад до конкретного кадра и конкретной стадии, а не пытаться исправить их финальной резкостью.

Ресэмплинг и сохранение потока

При переносе экспозиции в новую систему координат программа должна вычислить значения пикселей между исходными узлами сетки. В CCDStack для этого предусмотрен большой набор методов: Nearest Neighbor, Bilinear, Bicubic B-Spline, Quadratic B-Spline, Bicubic Spline 16 и 32, Gauss, Mitchell, Cosine, а также варианты Lanczos/sinc 64 и 256. Это не список художественных фильтров, а разные интерполяционные ядра с разным компромиссом между скоростью, гладкостью, сохранением локальной структуры и возможным звоном около резких переходов.

Для регистрации стека документация использует Nearest Neighbor как исходный вариант, тогда как для одиночных общих преобразований указан Bicubic B-Spline. Важная настройка — Preserve Flux. При регистрации она включается автоматически: смысл состоит в том, чтобы геометрическое преобразование не превращалось в неконтролируемое изменение интегральной яркости звёзд. Для астрофотографии это особенно важно до нормализации, поскольку последующая статистика должна сравнивать кадры, отличающиеся реальной экспозицией и прозрачностью неба, а не побочным масштабированием от трансформации.

CCDStack учитывает и кадры неодинакового размера. При загрузке набора меньшие изображения размещаются относительно крупнейшего холста; целочисленное различие масштаба трактуется как возможный биннинг, а нецелочисленное — как кадр другого размера с центрированием. Это позволяет программе открыть смешанный набор, но само по себе не делает такой набор физически однородным. До combine следует убедиться, что изображения действительно относятся к одному оптическому полю и одному разумному масштабу, а края после трансформаций не создают области с резко меньшим числом экспозиций.

Нормализация: приведение экспозиций к сопоставимому уровню

Регистрация отвечает на вопрос «где находится одна и та же звезда», а нормализация — «как сравнивать уровни яркости разных кадров». Даже серия с одинаковой выдержкой может меняться из-за прозрачности атмосферы, высоты объекта, тонких облаков, воздушного свечения или градиента. CCDStack позволяет нормализовать по scalar, offset либо по обоим параметрам. Scalar меняет масштаб сигнала, offset компенсирует аддитивный сдвиг фона; режим Both сочетает эти операции.

Рабочая команда находится в Stack > Normalize. В опубликованном практическом процессе используется Control и вариант Both. Ключевая мысль — выбирать контрольную область, которая действительно представляет фон и звёздный сигнал серии, а не яркое ядро галактики, насыщенную звезду или дефект. После расчёта нормализации CCDStack хранит полученные коэффициенты по кадрам и использует их при дальнейшей обработке.

Нормализация непосредственно связана с весами. Документация объясняет, что вес экспозиции по умолчанию формируется обратно пропорционально нормализующему scalar; значения видны в Image Manager и доступны для редактирования. Это даёт пользователю два уровня контроля: автоматическая оценка приводит кадры к общей шкале, а затем отдельный weight влияет на вклад конкретного изображения в weighted mean. Поэтому плохой кадр не обязательно сразу удалять из набора — его можно исключить флагом Include или уменьшить его вес, если причина действительно подтверждена качеством данных.

Проверка нормализации выполняется не только по числам. После применения настроек полезно привести отображение всех кадров к одной растяжке и просмотреть их через Blink. Фон должен перестать заметно пульсировать от кадра к кадру, а яркость ненасыщенных звёзд — не делать резких скачков. Если общий фон согласован, но один участок изображения ведёт себя иначе, причиной может быть локальный градиент, пыль на flat, виньетирование или несовпадающая область после регистрации; увеличивать агрессивность нормализации в таком случае не следует.

Data Reject: статистическое удаление выбросов

Data Reject — один из центральных инструментов CCDStack. Он не удаляет «шум» вообще, а помечает отдельные значения в координатном стеке как непригодные для combine. Типичные цели — космические лучи, горячие пиксели, следы спутников и самолётов, остаточные дефекты колонок и иные значения, которые резко отклоняются от распределения большинства экспозиций. После регистрации каждый пиксель итогового положения соответствует набору измерений из разных кадров; именно этот набор анализирует процедура rejection.

В документации особое место занимает Poisson sigma. Чтобы статистическая модель имела физический смысл, CCDStack использует параметры камеры, хранящиеся в Camera Manager: коэффициенты должны соответствовать конкретной камере и режиму съёмки. Программа может брать имя камеры из FITS header либо использовать выбранную запись по умолчанию. Неверный gain/read-noise или чужая камера в профиле не просто меняют подпись — они меняют ожидание допустимого разброса данных, а значит, могут сделать rejection чрезмерным или недостаточным.

Перед новой процедурой важно очистить старые флаги rejection. Затем параметры применяют к стеку и переходят к визуальному контролю. Команда Show Rejected Data показывает помеченные значения, что позволяет отличить полезную очистку от уничтожения реального сигнала. В области слабой туманности допустимо увидеть отдельные случайные точки; плотная структура отклонённых пикселей, повторяющая контур звезды или мелкой галактики, указывает, что пороги требуют пересмотра.

CCDStack: подробный обзор обработки, регистрации и сложения астрономических снимков скриншот 4

Визуализация отклонённых данных — одно из наиболее практичных отличий такого процесса от «чёрного ящика». Красные или иным образом выделенные rejected-пиксели нужно оценивать на нескольких участках: на пустом фоне, рядом с яркими звёздами, в слабой протяжённой структуре и на границе зарегистрированного поля. Настройка, которая хорошо удаляет одиночный спутниковый след, но систематически режет ядра звёзд, статистически слишком жёсткая.

CCDStack позволяет ограничить применение rejection текущим выделением. Это удобно, когда проблема локальна: например, короткий след пересекает только часть кадра или один дефектный столбец остался после общей коррекции. Вместо повышения порога для всей матрицы можно обработать проблемную область отдельно. Для ручной коррекции предусмотрены свободное выделение и инструменты роста области. Такая локальность снижает риск затронуть данные, которые не требовали вмешательства.

Отдельная команда переводит отвергнутые значения в MissingValue. В 32-битном FITS специальное значение может сохраняться как -33333, чтобы последующие операции понимали: это не измеренный ноль и не очень тёмный пиксель, а отсутствие пригодного измерения. Различие важно для дальнейших математических операций и combine. Если заменить отсутствующее значение обычным нулём, среднее будет искусственно занижено; корректный MissingValue должен исключаться из статистики.

CCDStack: подробный обзор обработки, регистрации и сложения астрономических снимков скриншот 5

Современный опубликованный пример обработки тёмной молекулярной туманности показывает тот же набор инструментов CCDStack: Repair Pixels/Columns используется для карты плохих пикселей, а Stack > Data Reject — для статистической очистки серии перед объединением. Это подтверждает, что эти команды не являются лишь историческими пунктами старой справки: ими пользовались и в более поздних практических workflow.

Как определить слишком агрессивный rejection

  • Контуры звёзд систематически попадают в rejected data. Это признак того, что реальное изменение PSF между кадрами трактуется как выброс.
  • В слабой туманности появляется связная сетка отвергнутых пикселей. Статистика должна удалять редкие отклонения, а не повторять форму объекта.
  • После combine вокруг ярких объектов появляются дырки или неестественные края. Нужно проверить rejected map до объединения, а не маскировать дефект последующей растяжкой.
  • Один кадр отдаёт непропорционально много отклонений по всему полю. Причиной может быть плохая регистрация, неправильная нормализация или действительно низкое качество конкретной экспозиции; сначала проверяют эти причины.
  • Спутниковый след остаётся почти полностью. Порог, число кадров или выбранная процедура не обеспечивают отделение выброса; локальный rejection может быть безопаснее общего ужесточения.

Правильный результат не определяется максимальным количеством красных точек. Цель — сохранить повторяющийся астрономический сигнал и исключить значения, которые не воспроизводятся в серии. Поэтому rejection следует оценивать до combine, пока видна причинно-следственная связь между конкретным кадром, конкретной координатой и решением алгоритма.

Объединение кадров: Mean, Median и Sum

Когда геометрия согласована, уровни нормализованы, а выбросы проверены, серия готова к combine. CCDStack предлагает mean, median и sum, причём mean может учитывать веса кадров. Эти способы нельзя считать взаимозаменяемыми. Среднее наиболее полно использует числовую информацию серии и естественно работает с заранее выполненным rejection. Медиана устойчива к отдельным выбросам, но требует как минимум трёх изображений и использует иной статистический принцип. Sum складывает значения и полезен только тогда, когда последующие действия рассчитаны именно на суммарную шкалу.

В типовом астрофотографическом workflow после Data Reject используется Stack > Combine > Mean. Если в Image Manager для экспозиций заданы веса, weighted mean позволяет уменьшить вклад кадров с худшими характеристиками, не выбрасывая их полностью. Однако вес не лечит смаз, неправильную регистрацию или систематический дефект. Кадр с геометрической ошибкой лучше диагностировать и исключить, чем пытаться «спрятать» сниженным коэффициентом.

Перед combine следует проверить число реально включённых изображений. Флаг Include в Image Manager определяет участие кадра; визуально открытая экспозиция и экспозиция, входящая в вычисление, — не одно и то же. После объединения нужно осмотреть не только центр поля, но и края. Из-за сдвигов регистрации там часто уменьшается эффективное число кадров, поэтому шум и rejected-области могут отличаться от центральной части.

CCDStack: подробный обзор обработки, регистрации и сложения астрономических снимков скриншот 6

Результирующий master имеет смысл сохранить до нелинейной обработки. Практический путь, опубликованный для CCDStack 2, использует File > Save data > Included с 32-bit FIT float для сохранения откалиброванных или зарегистрированных данных. Такой файл оставляет большой динамический диапазон для дальнейших операций. Сохранение экранного JPEG на этом этапе решает другую задачу: оно фиксирует текущий вид, но не заменяет мастер с плавающей точкой.

Работа с яркостью, цветом и LRGB

CCDStack поддерживает раздельную обработку монохромных каналов и создание цветного изображения. Для классического LRGB-процесса сначала подготавливают и складывают серии L, R, G и B отдельно. У каждого канала должна быть собственная корректная калибровка, регистрация, нормализация и rejection. После этого цветовые мастера объединяются средствами Color, а luminance добавляется как отдельный высокодетальный компонент. Такой порядок позволяет не смешивать проблемы одного фильтра со всей цветной композицией.

Команда Color > Create формирует цветное изображение из назначенных компонентов. Далее Set Background задаёт нейтральную точку фона, а Adjust Color используется для балансировки. Важно, что нейтрализация фона и художественная насыщенность — разные задачи. Сначала добиваются, чтобы область, выбранная как фон неба, не имела необоснованного цветового уклона; только потом оценивают общий цвет объектов. Иначе усиление насыщенности просто делает исходную ошибку заметнее.

В документации CCDStack описана и псевдо-Lab логика цветовой обработки. Её практический смысл — отделить работу с яркостной структурой от цветовой составляющей настолько, насколько позволяет внутренняя модель программы. Это удобно для LRGB, потому что высокий пространственный сигнал luminance можно обрабатывать иначе, чем более шумные цветовые каналы. Однако CCDStack не заменяет полноценную систему управления цветом для печати: его цветовые инструменты ориентированы на построение и обработку астрономического изображения.

One-shot color и Bayer-данные

Для однокадровых цветных камер последовательность отличается. Калибровку нужно выполнять до дебайеризации, пока raw-пиксели соответствуют исходной Bayer-мозаике. CCDStack умеет читать Bayer-данные в FITS и SBIG и содержит workflow для one-shot color. После калибровки цвет преобразуется, затем полученные данные регистрируются, нормализуются и складываются. Перестановка этих стадий может испортить соответствие между пикселями матрицы и калибровочными кадрами.

Различие особенно важно для flat. Flat корректирует чувствительность физических пикселей и виньетирование исходной оптической системы. Если сначала интерполировать Bayer-мозаику, каждый цветной выходной пиксель уже становится смесью нескольких сенсельных значений. Поэтому корректная калибровка raw должна предшествовать цветовой интерполяции.

Adjust Display, DDP и нелинейное отображение

Астрономический FITS после сложения часто выглядит почти чёрным при линейном отображении: слабая туманность занимает небольшую часть динамического диапазона по сравнению с яркими звёздами. В CCDStack эту проблему решает Window > Adjust Display. Инструмент управляет тем, как числовой массив отображается в 8-битном экранном представлении, и предлагает Linear, Gamma, DDP и Gamma-DDP. Пока пользователь работает именно с display-настройками, он меняет визуализацию, а не исходные 32-битные значения.

DDP — Digital Development Processing — сжимает динамический диапазон так, чтобы слабые структуры стали заметнее, а яркие области не сразу ушли в белое насыщение. В CCDStack DDP доступен в интерактивном режиме: изменение параметров сразу отражается на изображении. Это делает инструмент полезным не только для финального вида, но и для диагностики. При мягкой растяжке становятся видны градиенты, остатки flat, края регистрации и слабые следы rejection, которые почти невозможно оценить на исходном линейном экране.

CCDStack: подробный обзор обработки, регистрации и сложения астрономических снимков скриншот 7

Критическая ошибка — путать «красиво выглядит на экране» с «правильно обработаны данные». Агрессивный DDP может визуально скрыть перепад фона или сделать шум похожим на слабую структуру. До сохранения scaled TIFF нужно отдельно проверить линейный master, rejection, геометрию и фон. Только после этого экранная растяжка становится осознанным этапом представления результата.

В опубликованном пошаговом процессе для передачи результата в другой редактор используется File > Save scaled data > This с 16-bit TIFF. Такой экспорт фиксирует выбранное отображение в более распространённом формате и оставляет 16 бит на канал для последующей тональной работы. Внутренний 32-bit FITS всё равно следует хранить отдельно: TIFF после растяжки и исходный мастер выполняют разные роли.

Деконволюция и повышение детализации

CCDStack включает два алгоритма деконволюции — Positive Constraint и Maximum Entropy. Деконволюция пытается частично обратить размытие, описанное point spread function, а не просто увеличить локальный контраст. Поэтому для неё требуется модель PSF, которую можно оценить по звезде. Неподходящая PSF или слишком большое число итераций создают артефакты вместо реальной детали.

Positive Constraint применяется в опубликованном практическом руководстве CCDStack 2. Настройку лучше оценивать на ограниченной области, где есть звёзды и мелкая структура. В документации для алгоритмов приводятся рабочие диапазоны итераций, но само число не является универсальным рецептом: изображение с разным seeing, масштабом и отношением сигнал/шум по-разному переносит усиление. Критерий остановки — появление неестественных колец, зернистости или рваных звёзд раньше, чем растёт полезная детализация.

Maximum Entropy использует другой оптимизационный принцип и также требует осторожного контроля. В обоих случаях деконволюция наиболее оправданна на линейных или умеренно растянутых данных с хорошо определённой PSF и достаточным сигналом. Попытка компенсировать ей грубую ошибку фокусировки или смаз от ведения обычно усиливает дефект. Вторая версия CCDStack получила дополнительные средства деконволюции, рассчитанные в том числе на небольшие ошибки tracking/guiding; это не превращает программную коррекцию в замену качественной съёмке.

Разумная проверка после деконволюции выполняется попеременным просмотром до/после при одинаковой растяжке. Улучшение должно проявляться в более компактной структуре без новых контуров вокруг звёзд. Если резкость заметна только после одновременного повышения контраста, невозможно отделить эффект деконволюции от изменения display, поэтому сравнение теряет диагностическую ценность.

Коррекция фона и локальные дефекты

Команда Process > Flatten Background используется для коррекции плавного фона. В руководстве по CCDStack 2 этот этап выполняют после combine, когда случайный шум уже снижен. Для построения модели выбираются участки, представляющие фон, а не туманность или галактическое гало. Ошибка выбора приводит к тому, что программа начинает считать реальный протяжённый объект частью градиента и вычитает его.

Отдельный инструмент Remove Gradient работает с выбранными областями фона; документация предусматривает до 24 таких областей. Распределять их нужно по полю, чтобы модель видела пространственное изменение фона. Несколько выборок, сосредоточенных в одном углу, не описывают весь кадр. Для широких туманностей задача сложнее: «пустого» неба может почти не быть, и тогда коррекция должна быть консервативной.

Ремонт плохих пикселей и колонок отделён от статистического rejection. Process > Repair Pixels/Columns позволяет создать карту дефектов и применять её к кадрам. Такой подход полезен для стабильных сенсорных дефектов, которые повторяются в одном и том же месте. Data Reject, напротив, лучше подходит для случайных выбросов, меняющихся от кадра к кадру.

В published workflow 2022 года карта дефектных пикселей создаётся отдельно и применяется до дальнейшей статистической обработки. Это хороший принцип разделения причин: постоянный дефект матрицы исправляют по карте, а редкое отклонение в одной экспозиции оставляют механизму rejection. Когда все проблемы пытаются решать одной сигма-процедурой, пороги приходится делать слишком агрессивными.

Pixel Math, File Math и дополнительные операции

Pixel Math в CCDStack предназначен для математических выражений над данными изображения. Интерфейс включает форму для ввода выражения и компиляцию формулы. Это позволяет выполнять операции, которые не вынесены отдельной кнопкой: комбинировать каналы, масштабировать значения, формировать маскоподобные данные или реализовывать контролируемое преобразование пикселей. Для сложных выражений особенно важно работать с копией и проверять диапазон результата, поскольку математически допустимая формула может дать бессмысленное изображение.

File Math переносит идею на операции между файлами или наборами данных. В астрофотографии арифметика изображений лежит в основе самой калибровки: bias и dark вычитаются, flat участвует в нормирующем делении. Отдельные математические инструменты дают доступ к тем же базовым операциям вне готового мастера. Пользователь получает больше контроля, но и больше ответственности за одинаковый размер, геометрию и шкалу операндов.

Среди дополнительных средств учебные материалы по CCDStack 2.9 и новее отдельно разбирают Hot Pixel Filter, deblooming, repair bad pixels/columns, Missing Values, подготовку luminance и Job Processor. Наличие Job Processor важно для повторяемых серий: программа умеет собирать последовательности операций в пакетный процесс. Однако автоматизация не отменяет проверки промежуточных данных. Ошибка в master flat, переданная в job, воспроизводится на всей серии быстрее, чем при ручной обработке.

Поддерживаемые форматы, импорт и экспорт

CCDStack ориентирован на астрономические и растровые данные, а не на каталоги фотографий. В руководстве перечислены входные форматы FITS, SBIG, TIFF, JPEG и BMP. Программа читает монохромные данные 8, 16 и 32 бит, а также цветные изображения 24, 48 и 96 бит. Поддерживаются цветные FITS и Bayer-представления FITS/SBIG. Такой диапазон позволяет держать основной научно-технический этап в FITS, а обычные растровые форматы использовать для обмена и представления результата.

Формат или типРоль в CCDStackПрактическое замечание
FITSОсновной формат астрономических данных, чтение и сохранениеПоддерживаются несколько числовых представлений; 32-bit float сохраняет широкий диапазон промежуточных данных
SBIGИмпорт данных камер и Bayer-кадровПодходит для классических CCD-наборов, на которые исторически ориентирована программа
TIFFИмпорт и экспорт растровых данных16-bit TIFF удобен для передачи растянутого изображения во внешний редактор
JPEGПросмотр и финальное представлениеНе подходит как мастер для дальнейшей точной обработки из-за 8-битного экранного характера и потерь JPEG
BMPИмпорт обычного растраНе является предпочтительным контейнером для глубокого динамического диапазона астрономического стека
Bayer FITS/SBIGИсходные данные one-shot colorКалибровка выполняется до цветовой интерполяции

Для FITS CCDStack может записывать 32-bit floating point, 16-bit unsigned, 32-bit integer и 16-bit signed варианты. Выбор зависит от следующего этапа. Внутренний рабочий master разумно сохранять как 32-bit float, поскольку именно в таком представлении программа ведёт основную обработку. Переход к целочисленному 16-bit файлу уменьшает диапазон представимых значений и требует понимать, как масштабированы данные.

У TIFF есть два принципиально разных сценария. 16-bit TIFF можно сохранить как scaled data после выбранной растяжки и передать в редактор, где нужна тональная или локальная художественная доводка. Raw/числовой TIFF нужен, когда важнее сохранить значения без привязки к текущему экранному виду. Нельзя определять содержимое файла только по расширению: два TIFF из разных команд CCDStack могут отражать разные стадии workflow.

Экранное отображение ограничено 8-битным bitmap для каждого цветового компонента. Именно поэтому JPEG, полученный из текущего вида, нельзя считать эквивалентом внутреннего FITS. JPEG показывает, как программа визуализировала данные при конкретных black/white points, gamma или DDP, но не хранит полный массив, на котором рассчитывались normalize, rejection и combine.

Интеграции и передача результата между программами

CCDStack не строит современную облачную экосистему и не требует серверного проекта для обработки. Типичная интеграция файловая: мастер сохраняется как FITS либо растянутый 16-bit TIFF и открывается в другом редакторе. Исторические и опубликованные workflow часто сочетали CCDStack с Photoshop для финальной цветовой и локальной работы. В более новых проектах аналогичную роль внешнего редактора может выполнять PixInsight, если пользователю нужно продолжить обработку средствами, которых нет в CCDStack.

Файловая интеграция имеет преимущество прозрачности: граница между стадиями фиксируется реальным файлом, который можно сохранять и повторно открыть. Одновременно она требует дисциплины в именовании. В папке проекта желательно различать raw light, calibrated, registered, channel master и stretched export. Иначе файл с подходящим названием может оказаться уже растянутым TIFF, тогда как следующий расчёт ожидает линейный master.

Метаданные FITS имеют практическое значение. CCDStack использует заголовки для распознавания сведений о камере и фильтре, а Image Manager показывает, в частности, дату/время, exposure, filter и FWHM. Неполный или нестандартный header не делает изображение визуально непригодным, но уменьшает автоматизацию: часть параметров приходится проверять и назначать вручную.

Производительность и управление большими стеками

CCDStack проектировался в период перехода от 32-битных систем к 64-битным, поэтому документация прямо обсуждает ограничения адресного пространства. Каждый открытый кадр хранится как 32-битные значения с плавающей точкой, то есть базовый массив занимает примерно четыре байта на пиксель ещё до дополнительных структур. Серия крупных сенсоров быстро расходует память. 64-битная среда снимает значительную часть старого ограничения адресного пространства, но не отменяет физический объём RAM, необходимый для стека.

Когда набор не помещается в доступную память, CCDStack способен использовать временный диск для кэширования изображений. Это позволяет обработать более крупную серию, но цена — резкое увеличение числа операций чтения и записи. На медленном диске переход от RAM к temp storage заметно замедляет registration, rejection и combine. Поэтому при оценке производительности важно смотреть не только на загрузку процессора: активный временный диск при низкой загрузке CPU означает, что узким местом стал ввод-вывод.

Вторая ветка программы добавила поддержку многопроцессорной обработки. Это ускоряет операции, которые можно распараллелить, но реальный эффект зависит от стадии. Интерполяция, статистика большого стека и некоторые фильтры получают пользу от нескольких ядер; ожидание чтения временных файлов не ускоряется пропорционально числу процессоров. Кроме того, старые алгоритмы и интерфейс не были спроектированы под современные GPU-вычисления, поэтому наличие мощной видеокарты само по себе не превращает CCDStack в GPU-приложение.

Практическая подготовка большого проекта начинается до запуска combine. Нет смысла держать открытыми лишние калибровочные и промежуточные кадры, если мастер уже создан и сохранён. Исключённые экспозиции тоже стоит отделить после проверки, а не оставлять десятки заведомо неиспользуемых файлов в рабочем наборе. Так уменьшается объём памяти и упрощается Image Manager.

СимптомВероятная стадияЧто проверить
Программа часто обращается к диску при переключении кадровКэширование большого стекаЧисло и размер открытых кадров, свободную RAM, расположение temp-каталога
Register идёт долго, но один кадр открывается быстроГеометрический пересчёт всей серииРазмер серии, метод регистрации и ресэмплинга
Data Reject замедляется на полном полеСтатистика по множеству координатНе ограничена ли задача областью, действительно ли все кадры нужны
Combine даёт неожиданный крайРазное перекрытие зарегистрированных кадровГраницы поля и число включённых экспозиций в краевой зоне
CPU загружен слабо, диск активенВременное хранениеДостаточность RAM и скорость накопителя

Практические сценарии работы

Серия LRGB с монохромной CCD-камеры

Для LRGB-проекта каждый фильтр лучше рассматривать как самостоятельную серию до стадии цветового объединения. Сначала для конкретной ночи или стабильного набора условий создаются master bias, dark и flat. Затем light-кадры каждого фильтра калибруются и сохраняются. После этого каналы регистрируются к общей геометрической опоре, чтобы будущие R, G, B и L совпадали пиксель в пиксель.

Нормализацию выполняют внутри каждой серии, затем проверяют Blink и rejected data. После mean-combine получают четыре master-канала. RGB собирают через Color > Create, нейтрализуют фон и проверяют баланс, а luminance добавляют отдельно. Преимущество этого порядка — ошибка в одном цветовом фильтре остаётся локализованной. Если G имеет градиент, не нужно заново переделывать калибровку L и R.

One-shot color с Bayer-матрицей

OSC-проект начинается с raw Bayer FITS/SBIG. Важнейшая граница — калибровка до дебайеризации. Bias/dark/flat должны работать с исходной решёткой сенселя. Затем данные переводятся в цветное представление, регистрируются, нормализуются и складываются. Контроль качества выполняется по цветным звёздам и фону: ошибка Bayer-паттерна проявляется как систематическая неправильная цветовая структура, которую нельзя исправить обычным балансом белого.

Слабая туманность с сильным градиентом

Для слабой протяжённой структуры агрессивный flatten опасен: часть объекта легко принять за фон. Сначала нужно получить чистый линейный stack и применить мягкий display stretch, чтобы увидеть реальное распределение туманности. Области для Remove Gradient выбирают только там, где фон можно обосновать изображением. Чем меньше свободного неба, тем меньше оснований строить сложную модель градиента.

Проверка выполняется сравнением до/после при одинаковой растяжке. Коррекция должна уменьшать крупномасштабный уклон фона, но не вырезать дымчатые продолжения туманности. Если после операции граница «исправленной» области начинает повторять форму выбранных sample-зон, модель переобучена на неверный фон.

Стек со спутниковыми следами

Для серии с единичными спутниковыми или самолётными следами главная роль принадлежит Data Reject. Сначала требуется точная регистрация и нормализация; затем статистическая процедура отмечает значения, не повторяющиеся на остальных экспозициях. Show Rejected Data позволяет убедиться, что линия следа действительно попала в rejected set. Если она осталась, имеет смысл локализовать обработку выделением, а не ужесточать пороги для всего поля.

Старый проект, уже построенный вокруг CCDStack

Если накоплены calibrated FITS, карты плохих пикселей, профили камеры и привычные параметры rejection, сохранение CCDStack в цепочке может быть оправдано воспроизводимостью старого процесса. Критический шаг — сохранять установочную среду и исходные файлы отдельно от результата: действующая публичная витрина CCDWare не предлагает CCDStack для новой загрузки. Для долгосрочного проекта нельзя рассчитывать, что нужный бинарный файл всегда удастся получить заново.

Ограничения CCDStack

Главное ограничение в 2026 году связано не с самим алгоритмом стека, а с жизненным циклом продукта. CCDStack отсутствует в текущем списке продаваемых продуктов и публичных загрузок CCDWare. Документация сохранилась, отдельный домен продукта существует, но доступной прямой ссылки на установщик нет. Это делает программу неудобным выбором для нового пользователя, который ещё не имеет законно полученной копии и рабочей лицензии.

Второе ограничение — заявленная среда Windows старых поколений. Последняя индексируемая сборка описана для Windows XP, Vista, 7, 8 и 10, с .NET Framework 4.0+. Windows 11 в опубликованных требованиях этой сборки не заявлена. Поэтому наличие программы у пользователя не равно подтверждённой поддержке современной Windows 11; перенос рабочего процесса на новый компьютер требует отдельной проверки совместимости в конкретной системе.

Третье ограничение — темп развития. Актуальные Siril, DeepSkyStacker и PixInsight продолжают получать обновления, тогда как публично индексируемая CCDStack 2.95 относится к 2020 году, а действующие страницы CCDWare больше не ведут её как текущий продукт. Это влияет на поддержку новых камер, форматов, библиотек и ОС даже тогда, когда базовые FITS-операции остаются полезными.

Интерфейс отражает инженерную логику своего времени: много стадий выполняются отдельными диалогами, а корректность зависит от понимания порядка Calibrate → Register → Normalize → Reject → Combine. Для обучения это плюс, для массовой автоматизации — дополнительная нагрузка. Новичок может получить формально завершённый stack с ошибкой, если не проверит Blink, weights и rejected data.

Наконец, CCDStack не является полноценным современным end-to-end редактором с огромным набором инструментов масок, автоматической астометрии, скриптовых экосистем и активного модульного расширения. Его сильная область — классическая калибровка и статистически контролируемый стек с последующей базовой обработкой. Для всего дальнейшего цикла часто нужен другой редактор.

Плюсы и минусы

Плюсы:

  • чётко разделяет регистрацию, нормализацию, rejection и combine, поэтому причину дефекта можно искать на конкретной стадии;
  • показывает rejected data до сложения и позволяет локально корректировать отбраковку;
  • работает с 32-битными floating-point данными и сохраняет FITS в нескольких числовых представлениях;
  • поддерживает FITS, SBIG, TIFF, JPEG, BMP, цветные и Bayer FITS/SBIG;
  • имеет Camera Manager, Image Manager, weights, FWHM и другие элементы контроля серии;
  • включает калибровку bias/dark/flat, bad-pixel repair, LRGB/OSC, DDP, gradient tools, Pixel Math и деконволюцию;
  • сохраняет display-растяжку отдельно от исходного массива, что удобно для диагностики линейных данных;
  • имеет многопроцессорную поддержку во второй ветке и механизм временного хранения для стеков, превышающих доступную память.

Минусы:

  • в текущем публичном каталоге CCDWare нет доступной прямой загрузки CCDStack и нет карточки продажи;
  • последняя широко индексируемая сборка 2.95.7336.24457 датируется 17 июля 2020 года;
  • опубликованные требования перечисляют Windows только до Windows 10 и .NET Framework 4.0+;
  • рабочий процесс требует ручного понимания статистики и последовательности стадий, поэтому порог входа выше, чем у полностью автоматизированного стека;
  • кэширование больших наборов на диск позволяет продолжить работу, но существенно снижает скорость;
  • для современной комплексной постобработки и активно развиваемой экосистемы обычно требуется дополнительный инструмент.

Системные требования

Для последней публично индексируемой сборки CCDStack 2.95.7336.24457 указаны Windows XP, Windows Vista, Windows 7, Windows 8 и Windows 10; для соответствующих систем отмечаются 32- и 64-битные варианты. Дополнительное программное требование — Microsoft .NET Framework 4.0 или новее. Эти сведения относятся к опубликованной сборке и не расширяются автоматически на Windows 11: отдельного подтверждённого заявления о поддержке Windows 11 для CCDStack 2.95 нет.

Размер файла CCDStack2Install.zip для этой сборки указан как 6,1 MB. Это размер дистрибутива, а не объём, который нужен реальному проекту. Астрономические FITS-серии могут занимать на порядки больше: CCDStack разворачивает данные в 32-bit floating-point представление, а параллельно хранит несколько открытых экспозиций и служебную информацию. Поэтому рабочее требование к RAM и диску определяется прежде всего разрешением камеры и количеством кадров.

КомпонентПодтверждённое требование или характеристикаЧто это значит на практике
Операционная системаWindows XP/Vista/7/8/10Windows 11 не входит в опубликованный список поддержки последней индексируемой сборки
Разрядность32/64-bit там, где она поддерживается соответствующей Windows64-битная среда лучше соответствует большим стекам из-за большего адресного пространства
Среда выполнения.NET Framework 4.0+Компонент должен присутствовать в системе для запуска опубликованной версии
Размер дистрибутива6,1 MBНе отражает место, необходимое для FITS-проекта и временного кэша
Оперативная памятьФиксированный минимум в доступной документации не заявленРасход растёт с числом пикселей и одновременно открытых изображений
Временный дискИспользуется при больших стекахНедостаток RAM переносит нагрузку на ввод-вывод и замедляет вычисления
GPUОтдельного обязательного GPU-ускорения не заявленоПри выборе компьютера приоритетнее достаточная RAM, CPU и быстрый накопитель

При переносе CCDStack на другой компьютер нужно проверять три разных уровня совместимости. Первый — запускается ли сама программа и доступен ли .NET. Второй — открывает ли она конкретные FITS/SBIG от используемой камеры без потери header и Bayer-интерпретации. Третий — достаточно ли ресурсов для реального числа кадров. Успешный запуск пустого окна подтверждает только первый уровень.

Отзывы пользователей и профильных изданий

Что отмечали профильные авторы

Подробный материал Sky & Telescope о CCDStack 2 показывает программу как инструмент, в котором ключевые стадии стека остаются видимыми пользователю. Автор проводит серию через Create Calibration Master, Calibrate, Register, Normalize, Data Reject и Combine, а затем использует Flatten Background, Adjust Display и Deconvolve. Особое практическое достоинство такого подхода — возможность прямо увидеть rejected pixels и интерактивно оценить DDP, не скрывая промежуточные решения за одной автоматической командой.

Поздний учебный материал BBC Sky at Night использует CCDStack для исправления плохих пикселей/колонок и Data Reject при обработке тёмной молекулярной туманности. В той же цепочке рядом упоминается PixInsight для других задач. Это характерная модель применения: CCDStack сохраняет роль специализированного инструмента подготовки и стека, а не обязательно единственной программы от raw до публикации.

Учебный курс Adam Block Studios описывает интерфейс и workflow CCDStack как достаточно значимый, чтобы разделить обучение на отдельные модули по GUI, Image Manager, Adjust Display, calibration, registration, normalization, rejection, repair и Job Processor. При этом сам курс теперь оставлен как справочный материал и прямо помещает расцвет программы примерно в 2005–2015 годы. Такая оценка хорошо согласуется с состоянием продукта: функциональность подробно документирована, но коммерческая актуальность и активное распространение уже не соответствуют периоду её максимальной популярности.

Что видно из пользовательской практики

Публичные астрофотографические страницы подтверждают длительное реальное использование разных веток: CCDStack 1.6.0.5 встречается в обработке снимков 2009 года, CCDStack 2.8 — в проекте июня 2015 года, 2.94 — в июне 2017 года, а 2.95 — в публикациях 2022 и 2024 годов. Это не рейтинги и не лабораторные тесты, но они показывают главное: версии не существовали только в каталогах, ими действительно обрабатывали астрономические данные.

Пользовательские обсуждения чаще всего концентрируются не на «красивых фильтрах», а на нормализации, выборе reference, rejection и порядке операций. Для CCDStack это закономерно: результат сильно зависит от понимания статистики. Начинающему пользователю интерфейс может казаться непривычным именно потому, что программа требует принять решение на нескольких стадиях, где более новые пакеты предлагают автоматические скрипты или готовые workflow.

Единственная короткая оценка в одном из программных каталогов — «A great program» — слишком бедна содержанием, чтобы делать из неё вывод о качестве, стабильности или простоте. Полезнее смотреть на опубликованные цепочки обработки: они позволяют увидеть, какие команды реально применялись и на каком этапе возникала ценность программы. Поэтому пользовательское мнение здесь следует интерпретировать через подтверждённые практики, а не через среднюю оценку без контекста.

Сравнение с аналогами

CCDStack корректно сравнивать с программами, которые тоже участвуют в калибровке и сложении астрофотографических серий. Ниже используются Siril, DeepSkyStacker и PixInsight. Сравнение не означает, что они полностью повторяют CCDStack: Siril и PixInsight охватывают более широкий современный workflow, а DeepSkyStacker сильнее сфокусирован на подготовке deep-sky stack.

КритерийCCDStackSirilDeepSkyStackerPixInsight
Состояние развитияЗрелая ветка 2.95; публично индексируемая сборка 2020 года, текущая публичная загрузка отсутствуетАктивно развивается; текущая ветка 1.4.x имеет релизы 2026 годаАктивно развивается; текущая ветка 6.x получает релизыАктивно поддерживаемый коммерческий пакет
ПлатформыWindows до 10 в опубликованных требованияхWindows, macOS, LinuxWindows, macOS, Linux в актуальной веткеWindows, macOS, Linux
Калибровка и стекBias/dark/flat, register, normalize, reject, weighted combine с подробным ручным контролемПолный современный preprocessing со скриптами и ручными инструментамиКалибровка, регистрация и стек как основная специализацияГлубокий набор процессов preprocessing и постобработки
Визуальный контроль rejectionShow Rejected Data и локальная работа с отклонёнными значениямиЕсть современные инструменты статистики и визуального контроля в собственном workflowБольше ориентирован на настройку параметров стека, чем на ручной CCDStack-подобный разбор каждого rejected значенияРазвитые карты, статистика и специализированные процессы
ПостобработкаDDP, цвет, gradient, Pixel Math, деконволюция; часто дополняется внешним редакторомШирокая обработка после стека, включая современную астрофотографическую цепочкуГлавный акцент на создании стека; финальная обработка обычно выполняется отдельноОдин из наиболее полных end-to-end наборов для астрофотографии
АвтоматизацияJob Processor и пакетные операции, но workflow старого поколенияСкрипты и последовательности для типового preprocessingМастер-подобный процесс стека с автоматизацией типовых шаговProcess containers, scripts и развитая автоматизация
Доступность новому пользователюГлавный барьер — отсутствие текущей публичной загрузки/продажиСвободно доступенСвободно доступенКоммерческая лицензия и текущий дистрибутив

CCDStack и Siril

Siril логичнее для пользователя, которому в 2026 году нужен активно развиваемый бесплатный пакет на Windows, macOS или Linux. Он получает актуальные релизы, современную поддержку файлов и автоматизированные preprocessing-сценарии. CCDStack сохраняет преимущество для уже существующего процесса, где оператор хорошо знает Image Manager, Camera Manager, Show Rejected Data и конкретные правила normalizing/rejection. Переход между ними — не простая замена кнопки Stack: нужно заново проверить статистику и порядок калибровки.

CCDStack и DeepSkyStacker

DeepSkyStacker ближе к задаче «подготовить и сложить deep-sky серию», особенно когда после стека пользователь всё равно переходит в другой редактор. CCDStack предоставляет более явную ручную работу с нормализацией, весами и rejected data. DeepSkyStacker выигрывает текущей доступностью и активной кроссплатформенной веткой 6.x. Для нового проекта это существеннее, чем привычность интерфейса программы, установщик которой больше не распространяется публично через текущий каталог CCDWare.

CCDStack и PixInsight

PixInsight охватывает гораздо больше стадий современной астрофотографической обработки: preprocessing, градиенты, цвет, деконволюцию, маски, нелинейные преобразования, скрипты и многочисленные специализированные процессы. CCDStack проще по масштабу и исторически часто служил техническим ядром стека перед Photoshop или другим редактором. Для пользователя с уже отлаженной CCDStack-цепочкой это может быть преимуществом концентрации; для нового сложного проекта PixInsight даёт более широкую единую среду, но требует собственного обучения и коммерческой лицензии.

Практический вывод из сравнения зависит от точки старта. Владельцу старого CCDStack-проекта нет необходимости мигрировать только ради смены названия программы, если данные воспроизводятся и система стабильна. Новому пользователю важнее доступность установщика, поддержка современной ОС и активные обновления; по этим критериям CCDStack уступает всем трём сравниваемым вариантам. При этом его документация остаётся полезной для понимания фундаментальной последовательности calibration → registration → normalization → rejection → combine.

Частые ошибки и способы проверки результата

Большинство проблем CCDStack проще обнаружить до финального combine. Программа оставляет промежуточные стадии доступными, поэтому проверку стоит привязать к тому моменту, где ошибка возникает. Нельзя судить о качестве calibration только по красивому DDP финального кадра: нелинейная растяжка способна замаскировать одну проблему и резко усилить другую.

ОшибкаКак проявляетсяЧто проверить в CCDStackКритерий исправления
Неподходящий master darkОстаётся структура горячих пикселей или появляется систематическое вычитаниеЭкспозицию, режим камеры, порядок dark/bias и параметры adaptive scalingПосле calibration дефектная структура уменьшается без появления массовых отрицательных артефактов
Плохой flatВиньетирование и пылевые кольца остаются либо инвертируютсяСоответствие оптической конфигурации, уровень flat, порядок калибровкиФон становится пространственно ровнее, а пылевые следы не превращаются в светлые кольца
Ошибочная регистрацияЗвёзды двоятся или растягиваются после combineOverlay и Blink, reference frame, опорные звёзды, метод RegisterПри Blink центры звёзд остаются в одном положении по всему полю
Неправильная нормализацияФон и ненасыщенные звёзды заметно «пульсируют» между кадрамиКонтрольную область, scalar/offset/Both, полученные weightsПосле применения общей display-растяжки серия меняется главным образом по шуму, а не по базовой яркости
Слишком жёсткий Data RejectRejected map повторяет реальные звёзды или слабую структуруShow Rejected Data, Camera Manager, sigma-параметрыОтбраковка локализуется на редких выбросах и не вырезает повторяющийся объект
Слишком мягкий Data RejectСледы спутников и космических лучей остаются в masterRejected map и локальное выделение проблемной областиВыброс исчезает, а соседние реальные данные сохраняются
Неверный Bayer-порядокOSC-изображение имеет систематически неправильные цвета или сетчатую структуруИнтерпретацию raw до цветового преобразованияЗвёзды и фон не содержат повторяющегося цветового шахматного паттерна
Слишком сильный Remove GradientСлабая туманность теряет протяжённые областиВыбранные background samples и сравнение до/послеУменьшается плавный уклон фона, но форма астрофизического объекта сохраняется
Избыточная деконволюцияКольца около звёзд, рваные края, усиленный шумPSF, число итераций, область примененияДеталь возрастает без новых систематических контуров
Сохранён не тот тип файлаПовторная обработка начинается с уже растянутых или обрезанных данныхКоманду Save data/Save scaled data и битностьДля сохранения остаётся 32-bit FITS master, а растянутый TIFF/JPEG хранится отдельно

Проверка калибровки

После Calibrate откройте несколько кадров из разных частей серии и примените одинаковую display-растяжку. На flat-корректированном поле не должны усиливаться пылевые кольца или виньетирование. В тёмных областях не должна появляться одинаковая отрицательная структура, повторяющая master dark. Затем переключите несколько кадров через Blink: стабильный дефект, остающийся на одном сенсорном месте, указывает на необходимость проверить bad-pixel map или калибровочные мастера.

Проверка регистрации

Выберите звёзды в центре и ближе к углам. Blink должен показывать изменение шума и seeing, но не систематический сдвиг центра звезды. Overlay помогает увидеть небольшие расхождения, которые на одном изображении выглядят незаметно. Если центр поля совмещён, а край нет, нужно проверить геометрическую модель и отличия масштаба, а не повторять combine.

Проверка нормализации и весов

Посмотрите scalar/offset и веса в Image Manager. Резко отличающийся коэффициент требует объяснения конкретным кадром: облачность, фон, иная экспозиция или ошибочная контрольная область. Затем примените одинаковый display к серии. Числа и визуальный контроль должны согласовываться. Если коэффициенты выглядят нормальными, а фон скачет, выбор sample-зоны не описывает всё поле.

Проверка rejection

Перед combine включите Show Rejected Data и просмотрите минимум четыре типа областей: чистый фон, яркая звезда, слабая туманность и известный дефект. На дефекте rejected values должны появляться; на повторяющемся объекте — не образовывать устойчивый контур. Такой тест информативнее, чем оценка только финального master, где утрачено понимание того, какие исходные значения были исключены.

Проверка финального master

Сохраните 32-bit FITS, закройте и снова откройте его как отдельное изображение. Примените умеренную растяжку. Осмотрите центр, углы, границы перекрытия и фон. Проверьте форму звёзд, отсутствие спутниковых следов, локальных дыр после rejection и крупных ступеней фона. Только после этого выполняйте DDP, цветовую и художественную обработку.

Безопасность, приватность и сохранность данных

CCDStack обрабатывает изображения локально на Windows-компьютере. В описанном workflow нет обязательной загрузки FITS на облачный сервер: raw, calibration masters и результаты остаются файлами пользователя. Для астрофотографических данных это упрощает контроль приватности, особенно когда FITS header содержит дату, время, сведения об оборудовании или иные метаданные наблюдения.

Главный риск в 2026 году связан с происхождением установщика. Поскольку текущий раздел загрузок CCDWare не предлагает публичный CCDStack installer, случайные копии с файловых зеркал нельзя автоматически считать эквивалентом исходного дистрибутива. Не следует отключать защиту Windows или антивирус ради запуска неподтверждённого ZIP-файла. Для уже имеющейся законной копии разумно сохранить оригинальный установочный ZIP, сведения о лицензии и контрольную копию на отдельном носителе.

При работе с исходными данными CCDStack не требует перезаписывать raw. Калибровку и зарегистрированные кадры можно сохранять отдельными файлами, а master — как новый FITS. Это нужно использовать как правило безопасности: raw light, dark, bias и flat должны оставаться неизменными. Ошибочный Pixel Math, Save scaled data или агрессивная обработка тогда не уничтожит единственную копию наблюдений.

Временный кэш для больших стеков создаёт другой практический вопрос — свободное место на диске. Если проект вынуждает программу активно использовать temp storage, внезапное заполнение системного диска может оборвать операцию и повлиять на другие приложения. Перед большим стеком следует проверить свободный объём и хранить исходники отдельно от временных данных.

FITS header может содержать информацию, которую пользователь не хочет публиковать вместе с финальным изображением. Перед передачей исходного FITS третьим лицам нужно отдельно просмотреть метаданные. Экспортированный JPEG обычно предназначен для публичного представления, а FITS — для технического обмена; у этих файлов разный объём содержащейся информации.

FAQ по CCDStack

CCDStack и CCDStack 2 — это одна программа?

Да, речь идёт о продукте CCDWare. Ветка Version 2 стала основной поздней линией; последняя публично индексируемая точная сборка — 2.95.7336.24457. Название CCDStack2 также встречается в имени установочного файла CCDStack2Install.zip и документации.

Какая версия CCDStack подтверждена как наиболее поздняя?

Наиболее поздний точный публично индексируемый номер — 2.95.7336.24457 от 17 июля 2020 года. Более поздние астрофотографические публикации продолжают указывать CCDStack 2.95, но это свидетельствует об использовании установленной версии, а не о выходе новой сборки.

Можно ли сейчас скачать CCDStack с текущей страницы загрузок CCDWare?

Нет публичной прямой ссылки на CCDStack в действующем разделе загрузок: там представлены другие продукты. Документация CCDStack 2 сохранена, а отдельный домен CCDStack направляет пользователя к CCDWare, однако открытого installer URL для текущей загрузки нет.

CCDStack бесплатный?

Для индексируемой сборки программный каталог указывает trial-модель с ограничением 30 дней. Другой каталог маркирует программу как freeware, поэтому эти вторичные описания расходятся. Текущее предложение CCDStack в магазине отсутствует; следовательно, называть продукт сейчас бесплатным либо указывать актуальную цену без действующей карточки продажи нельзя.

Работает ли CCDStack в Windows 11?

Опубликованные требования для версии 2.95 перечисляют Windows XP, Vista, 7, 8 и 10 и .NET Framework 4.0+. Windows 11 в этом перечне нет. Отсутствие в списке не доказывает невозможность запуска, но и не даёт основания считать Windows 11 подтверждённо поддерживаемой системой.

Какие форматы CCDStack открывает?

Документация перечисляет FITS, SBIG, TIFF, JPEG и BMP, включая цветные и Bayer FITS/SBIG. Программа читает монохромные данные 8/16/32 бит и цветные 24/48/96 бит.

В каком формате сохранять мастер после стека?

Для дальнейшей технической обработки наиболее информативен 32-bit floating-point FITS. Если изображение уже растянуто и передаётся в обычный графический редактор, используется 16-bit TIFF через Save scaled data. JPEG подходит для просмотра и публикации, но не заменяет мастер.

Нужно ли выполнять Normalize перед Data Reject?

В типовом workflow CCDStack — да: после Register выполняется Normalize, затем Data Reject и Combine. Статистическая отбраковка сравнивает значения между экспозициями, поэтому их предварительное приведение к сопоставимой шкале уменьшает риск принять обычную разницу фона или сигнала за выброс.

Для чего нужен Camera Manager?

Camera Manager хранит параметры камеры, которые используются в статистических расчётах, включая Poisson-based rejection. CCDStack может определять камеру по FITS header либо использовать запись по умолчанию. Неверный профиль меняет статистическую модель допустимого разброса.

Чем Show Rejected Data отличается от просмотра финального stack?

Show Rejected Data показывает решения алгоритма до combine: пользователь видит конкретные значения, которые будут исключены. Финальный stack показывает уже результат и не объясняет, почему конкретный пиксель исчез. Для настройки sigma/Poisson-порогов первый режим значительно информативнее.

Подходит ли CCDStack для DSLR и one-shot color?

Ветка 2 получила улучшенную поддержку DSLR RAW, а документация и учебный курс описывают one-shot color workflow и Bayer FITS/SBIG. Для OSC критично выполнять calibration до цветовой интерполяции.

Можно ли использовать CCDStack только для деконволюции?

Программа содержит Positive Constraint и Maximum Entropy deconvolution и позволяет построить PSF по звезде. Но её основная архитектура рассчитана на полный CCD-processing workflow. Использование одной деконволюции имеет смысл только при подготовленном совместимом изображении и понимании шкалы данных.

Почему при большом стеке CCDStack начинает интенсивно обращаться к диску?

Когда рабочий набор превышает доступную память, программа может кэшировать данные во временное хранилище. Это позволяет продолжить расчёт, но дисковый ввод-вывод значительно медленнее работы из RAM. Ситуацию нужно отличать от «зависания» интерфейса: активный temp storage является частью предусмотренного механизма больших стеков.

Что выбрать для нового проекта вместо CCDStack?

Выбор определяется задачей. DeepSkyStacker подходит для акцента на калибровке и сложении deep-sky серии; Siril объединяет современный бесплатный preprocessing и дальнейшую астрофотографическую обработку на нескольких ОС; PixInsight даёт наиболее широкую коммерческую end-to-end среду из сравниваемых вариантов. CCDStack разумнее сохранять там, где уже есть установленная копия, накопленные проекты и отлаженный workflow.

Итоговая оценка CCDStack

CCDStack остаётся технически содержательным примером классического астрофотографического стека. Его сильная сторона — прозрачная цепочка: пользователь отдельно создаёт калибровочные мастера, калибрует light-кадры, регистрирует, нормализует, проверяет rejected values, задаёт веса и только затем объединяет данные. Image Manager, Camera Manager, Show Rejected Data, DDP и математические инструменты дают достаточно контроля, чтобы не сводить обработку к одной автоматической кнопке.

Для владельца существующей лицензированной установки и старых CCD-проектов программа сохраняет практический смысл. Важно хранить установщик, лицензионные данные и 32-bit FITS masters, поскольку новая публичная загрузка сейчас не предлагается. При переносе на другой компьютер нужно отдельно проверять Windows-совместимость и .NET, а не считать старые системные требования гарантией для Windows 11.

Для нового пользователя решающим ограничением становится жизненный цикл продукта. Активно развиваемые Siril, DeepSkyStacker и PixInsight проще получить на современной системе и они продолжают обновляться. Поэтому CCDStack сегодня разумнее рассматривать не как универсальную рекомендацию для нового старта, а как зрелую специализированную среду, ценность которой максимальна там, где её конкретный статистический workflow уже понятен и воспроизводим.

Список изменений

История версий:

  • Публичная история CCDStack фрагментарна: сохранились старые номера версий в каталогах, датированные примеры реального применения, описание перехода к Version 2 и точная запись последней индексируемой сборки, но полного последовательного changelog с датой каждой сборки разработчик публично не поддерживает. Поэтому таблица ниже разделяет подтверждённые версии, периоды их фактического использования и те изменения, которые действительно описаны для ветки, не приписывая каждой промежуточной версии несуществующий список новшеств.
  • Позднее использование не означает более новую версию. Например, опубликованные астрофотографии 2022 и 2024 годов указывают CCDStack 2.95 в цепочке обработки, то есть программа продолжала применяться после даты последней индексируемой сборки. Это подтверждает жизнеспособность установленной версии в конкретных рабочих процессах, но не доказывает выпуск 2.96 или иной более поздней ветки.
  • Развитие продукта видно не только по номеру. Ветка 1.x уже использовалась для калибровки и стека CCD-данных; переход к Version 2 добавил многопроцессорность, bad pixel mapping, улучшения регистрации и деконволюции. К середине 2010-х зрелый workflow включал расширенную статистическую отбраковку, Image Manager, Job Processor и OSC-процесс. После 2.95 публичная хронология фактически обрывается, поэтому любые точные номера «новее 2.95» без отдельного первичного подтверждения использовать нельзя.

Выберите ссылку для загрузки CCDStack

Всего скачали: 8 | сегодня: 8

Похожие программы на CCDStack

из раздела "Графические редакторы"

Оставте свой отзыв о CCDStack