blinddeconv.algorithms.denoise.Denoise module
Denoise.py
Универсальный класс-обертка для интеграции алгоритмов шумоподавления в инфраструктуру слепой деконволюции.
Конвейер обработки: 1. Нормализация входного изображения к диапазону float64 [0, 1]. 2. Усечение пространственных размеров изображения до нечетных значений. 3. Оценка уровня шума с использованием методов на основе PCA или вейвлет-анализа. 4. Применение выбранного алгоритма шумоподавления с параметрами, адаптированными
на основе предварительной оценки шума.
Возврат отфильтрованного изображения (в формате int16 [0, 255]) и точечного ядра (эквивалента дельта-функции Дирака).
Поддерживаемые алгоритмы шумоподавления: - bm3d : блочное сопоставление и трехмерная фильтрация (Block Matching 3D). - guided : фильтр с направляющим изображением (Guided Filter). - bilateral : билатеральная фильтрация. - nlm : нелокальное усреднение (Non-Local Means). - tv : метод полной вариации (модель Шамболя). - vst+bm3d : преобразование, стабилизирующее дисперсию, совместно с BM3D
для подавления пуассоновско-гауссовского шума.
act : адаптивное пороговое ограничение в кривлет-области.
median : медианная фильтрация с переключением (для импульсного шума).
Методы оценки шума: - chen : метод на основе собственных значений в вейвлет-области (ICCV 2015). - pca : метод главных компонент с применением стабилизации дисперсии (TIP 2013). - none : оценка отключена, используются параметры по умолчанию.
- Литература:
Chen G., Zhu F., Heng P.A., «An Efficient Statistical Method for Image Noise Level Estimation», ICCV 2015.
Pyatykh S., Hesser J., Zheng L., «Image Noise Level Estimation by Principal Component Analysis», IEEE Trans. Image Process., 2013.
Dabov K., Foi A., Katkovnik V., Egiazarian K., «Image Denoising by Sparse 3D Transform-Domain Collaborative Filtering», IEEE Trans. Image Process., 2007.
- class blinddeconv.algorithms.denoise.Denoise.DenoiseWrapper(method: str = 'bm3d', noise_estimation: str = 'chen', denoiser_params: dict | None = None, noise_estimation_params: dict | None = None, verbose: bool = False)[исходный код]
Базовые классы:
DeconvolutionAlgorithmАлгоритм-обертка для применения методов шумоподавления в рамках инфраструктуры слепой деконволюции.
Применяет одиночный фильтр с параметрами, которые могут вычисляться адаптивно на основе оценки уровня шума. Возвращаемая функция рассеяния точки представляет собой единичный импульс в центре.
Параметры
- methodstr
Идентификатор метода шумоподавления. Допустимые значения: „bm3d“, „guided“, „bilateral“, „nlm“, „tv“, „vst+bm3d“, „act“, „median“.
- noise_estimationstr
Идентификатор метода оценки шума: „chen“, „pca“ или „none“. При значении „none“ используются параметры фильтра по умолчанию.
- denoiser_paramsdict, опционально
Словарь специфических параметров для выбранного метода шумоподавления.
- noise_estimation_paramsdict, опционально
Словарь параметров для алгоритма оценки шума.
- verbosebool, по умолчанию False
Флаг вывода диагностической информации в консоль.
- change_param(params: Dict[str, Any]) None[исходный код]
Изменение гиперпараметров алгоритма.
- Параметры:
param (dict) – Словарь с параметрами для изменения.
- get_history() dict[исходный код]
- get_hyperparams() dict[исходный код]
- process(image: ndarray) Tuple[ndarray, ndarray][исходный код]
Выполнение процедуры шумоподавления для входного изображения.
Параметры
- imagendarray
Входное изображение размерности (H, W) или (H, W, 3).
Возвращает
- x_finalndarray
Отфильтрованное изображение в формате int16 [0, 255].
- hndarray
Функция рассеяния точки (матрица 1x1 с единицей).
- blinddeconv.algorithms.denoise.Denoise.make_size_odd(image)[исходный код]
Усечение пространственных размеров изображения до нечетных значений.