blinddeconv.processing.metrics module
- blinddeconv.processing.metrics.PSNR(original: ndarray, restored: ndarray, aligned: bool = True, max_shift: int = 8, border: int = 4) float[исходный код]
Вычисляет отношение пикового сигнала к шуму (PSNR) между изображениями.
Авторы: Юров П.И.
- Аргументы:
original (ndarray): Исходное изображение restored (ndarray): Восстановленное/обработанное изображение aligned (bool): Если True (по умолчанию), перед вычислением
PSNR выполняется поиск оптимального целочисленного сдвига restored относительно original в окне [-max_shift, +max_shift] по обеим осям; это компенсирует translation-ambiguity слепой деконволюции. Если False — стандартный попиксельный PSNR.
- max_shift (int): Полуширина окна поиска сдвига (только при
aligned=True).
- border (int): Дополнительный отступ от границы (px), который
выбрасывается из оценки, чтобы не считать на ringing-артефактах.
- Возвращает:
Значение PSNR в децибелах (dB)
- blinddeconv.processing.metrics.SSIM(original: ndarray, restored: ndarray, data_range: float | None = None, aligned: bool = True, max_shift: int = 8, border: int = 4) float[исходный код]
Вычисляет индекс структурного сходства (SSIM) между изображениями.
Авторы: Юров П.И.
- Аргументы:
original: Исходное изображение restored: Восстановленное/обработанное изображение data_range (Optional[float]): Верхний предел значений aligned (bool): Если True (по умолчанию), перед вычислением
SSIM выполняется поиск оптимального целочисленного сдвига restored относительно original в окне [-max_shift, +max_shift] по обеим осям (сдвиг подбирается по MSE, что эквивалентно максимизации PSNR). Если False — стандартный SSIM.
- max_shift (int): Полуширина окна поиска сдвига (только при
aligned=True).
border (int): Дополнительный отступ от границы (px).
- Возвращает:
Значение SSIM в диапазоне от 0 до 1
- blinddeconv.processing.metrics.Sharpness(image: ndarray)[исходный код]
Подсчет резкости через дисперсию Лапласа.
Авторы: Юров П.И. Более высокое значение указывает на большую резкость.
- Аргументы:
image (ndarray): Входное изображение
- blinddeconv.processing.metrics.blur_complexity(original: ndarray, blurred: ndarray) float[исходный код]
Вычисляет нормированную меру сложности смаза [0, 1] на основе SML.
Авторы: Беззаборов А.А.
- Аргументы:
original: Исходное резкое изображение blurred: Смазанное изображение
- Возвращает:
Нормированная мера смаза: 0 - нет смаза (идеально резкое) 1 - максимальный смаз (полностью размытое)
- blinddeconv.processing.metrics.calculate_sml(image: ndarray) float[исходный код]
Вычисляет Sum of Modified Laplacian (SML) для изображения.
Авторы: Беззаборов А.А. Мера общей резкости/количества краев.
- Аргументы:
image (ndarray): Входное изображение (grayscale или color)
- Возвращает:
Сумма модифицированного лапласиана
- blinddeconv.processing.metrics.calculate_snr(signal: ndarray, noise: ndarray) float[исходный код]
Вычисляет отношение сигнал-шум (SNR) в dB.
Авторы: Беззаборов А.А.
- Аргументы:
signal: Сигнал (смазанное изображение без шума) noise: Матрица добавленного шума
- Возвращает:
SNR в децибелах (dB)
- blinddeconv.processing.metrics.noise_complexity(signal: ndarray, noise: ndarray, min_snr: float = 0.0, max_snr: float = 50.0) float[исходный код]
Вычисляет нормированную меру сложности шума [0, 1] на основе SNR.
Авторы: Беззаборов А.А.
- Аргументы:
signal: Сигнал (смазанное изображение без шума) noise: Матрица добавленного шума min_snr: Минимальный SNR (соответствует сложности 1) max_snr: Максимальный SNR (соответствует сложности 0)
- Возвращает:
Нормированная мера шума: 0 - нет шума (SNR = ∞) 1 - максимальный шум (SNR → 0)