blinddeconv.processing.extensions.base module

Базовые классы и типы для пакета расширений.

Содержит:
  • Абстрактный базовый класс ProcessingExtension

  • Классы данных для параметров и результатов

  • Перечисления для методов оптимизации и метрик

Автор: Беззаборов А.А.

class blinddeconv.processing.extensions.base.MetricType(value)[исходный код]

Базовые классы: Enum

Метрики качества для оценки восстановления изображений.

Для всех метрик большее значение соответствует лучшему качеству.

PSNR - пиковое отношение сигнал-шум (дБ) SSIM - индекс структурного сходства SHARPNESS - мера резкости на основе лапласиана

PSNR = 'psnr'
SHARPNESS = 'sharpness'
SSIM = 'ssim'
classmethod from_string(value: str) MetricType[исходный код]

Создание из строкового представления.

class blinddeconv.processing.extensions.base.OptimizationMethod(value)[исходный код]

Базовые классы: Enum

Поддерживаемые методы оптимизации.

TPEstr

Tree-structured Parzen Estimator (байесовская оптимизация). Рекомендуется для общей настройки гиперпараметров.

RANDOMstr

Случайный поиск. Эффективен для многомерных пространств и параллельных вычислений.

GPstr

Гауссовские процессы (требует BoTorch). Оптимален для дорогостоящих вычислений в малоразмерных пространствах.

NSGA2str

Non-dominated Sorting Genetic Algorithm II. Предназначен для многокритериальной оптимизации.

GP = 'gp'
NSGA2 = 'nsga2'
RANDOM = 'random'
TPE = 'tpe'
classmethod from_string(value: str) OptimizationMethod[исходный код]

Создание из строкового представления.

class blinddeconv.processing.extensions.base.OptimizationResult(best_params: ~typing.Dict[str, ~typing.Any], best_value: float, n_trials: int, study: ~typing.Any | None = None, history: ~typing.List[~typing.Dict[str, ~typing.Any]] = <factory>, elapsed_time: float = 0.0)[исходный код]

Базовые классы: object

Контейнер для результатов оптимизации.

Атрибуты

best_paramsDict[str, Any]

Лучшие найденные гиперпараметры.

best_valuefloat

Лучшее достигнутое значение целевой функции.

n_trialsint

Количество выполненных испытаний.

studyOptional[Any]

Объект исследования Optuna для дальнейшего анализа.

historyList[Dict[str, Any]]

История испытаний с параметрами и оценками.

elapsed_timefloat

Затраченное время в секундах.

best_params: Dict[str, Any]
best_value: float
elapsed_time: float = 0.0
history: List[Dict[str, Any]]
n_trials: int
study: Any | None = None
to_dict() Dict[str, Any][исходный код]

Преобразование результатов в словарь.

class blinddeconv.processing.extensions.base.ParameterRange(name: str, min_value: int | float, max_value: int | float, log_scale: bool = False, step: float | None = None)[исходный код]

Базовые классы: object

Диапазон поиска гиперпараметра.

Атрибуты

namestr

Имя параметра.

min_valueUnion[int, float]

Минимальное значение диапазона.

max_valueUnion[int, float]

Максимальное значение диапазона.

log_scalebool

Использовать логарифмическую шкалу для параметров, охватывающих несколько порядков величины.

stepOptional[float]

Размер дискретного шага (None для непрерывных параметров).

property is_integer: bool

Проверка, является ли параметр целочисленным.

log_scale: bool = False
max_value: int | float
min_value: int | float
name: str
step: float | None = None
validate() bool[исходный код]

Проверка корректности диапазона.

class blinddeconv.processing.extensions.base.ParetoPoint(objectives: ~typing.Dict[str, float], parameters: ~typing.Dict[str, ~typing.Any], metadata: ~typing.Dict[str, ~typing.Any] = <factory>, is_pareto_optimal: bool = False)[исходный код]

Базовые классы: object

Точка в многокритериальном пространстве.

Атрибуты

objectivesDict[str, float]

Значения целевых функций (например, {„psnr“: 25.0, „time“: 1.5}).

parametersDict[str, Any]

Связанные гиперпараметры.

metadataDict[str, Any]

Дополнительная информация (имя алгоритма, изображение и т.д.).

is_pareto_optimalbool

Принадлежит ли точка фронту Парето.

dominates(other: ParetoPoint, maximize: List[str] | None = None) bool[исходный код]

Проверка доминирования текущей точки над другой.

Параметры

otherParetoPoint

Другая точка для сравнения.

maximizeList[str]

Список критериев для максимизации.

Возвращает

bool

True если текущая точка доминирует над other.

is_pareto_optimal: bool = False
metadata: Dict[str, Any]
objectives: Dict[str, float]
parameters: Dict[str, Any]
class blinddeconv.processing.extensions.base.ProcessingExtension(processing_instance: Any, output_folder: str = 'output')[исходный код]

Базовые классы: ABC

Абстрактный базовый класс для расширений обработки.

Предоставляет общий функционал для расширений, дополняющих основной конвейер обработки изображений.

Атрибуты

processingAny

Ссылка на основной экземпляр обработки.

output_folderPath

Директория для сохранения результатов.

loggerlogging.Logger

Логгер для данного расширения.

__init__(processing_instance: Any, output_folder: str = 'output')[исходный код]

Инициализация расширения.

Параметры

processing_instanceAny

Ссылка на объект Processing.

output_folderstr

Директория для сохранения результатов.

abstract execute(*args, **kwargs) Any[исходный код]

Выполнение основного функционала расширения.

Должен быть реализован в подклассах.