blinddeconv.filters.distributions module

Функции распределения для генерации ядер PSF.

Автор: Беззаборов А.А., Юров П.И.

blinddeconv.filters.distributions.exponential_decay_distribution(x: ndarray, scale: float) ndarray[исходный код]

Экспоненциально убывающее распределение (специфично для размытия в движении).

Параметры

xnp.ndarray

1D массив координат вдоль направления движения.

scalefloat

Параметр масштаба.

Возвращает

np.ndarray

Ненормализованные значения распределения.

blinddeconv.filters.distributions.gaussian_distribution(x: ndarray, std: float) ndarray[исходный код]

Гауссовская функция распределения.

Применение: - Для DefocusBlur: передаем 2D радиус (x = sqrt(x² + y²)). - Для MotionBlur: передаем 1D координаты вдоль направления движения.

Параметры

xnp.ndarray

Входной массив расстояний/координат.

stdfloat

Стандартное отклонение.

Возвращает

np.ndarray

Ненормализованные значения распределения.

blinddeconv.filters.distributions.generate_bspline_motion_kernel(ksize: int, points: list, thickness: int = 3) ndarray[исходный код]

Генерирует ядро размытия в движении по кривой, заданной B-сплайном.

Параметры

ksizeint

Размер выходного ядра (должен быть нечетным).

pointslist

Список контрольных точек [(x1, y1), (x2, y2), …], заданных относительно центра ядра (0,0).

thicknessint

Толщина кривой в пикселях.

Возвращает

np.ndarray

Нормализованное 2D ядро размытия.

blinddeconv.filters.distributions.generate_multivariate_normal_kernel(ksize: int, cov: list) ndarray[исходный код]

Генерирует 2D-ядро на основе многомерного нормального распределения.

Форма, размер и поворот ядра полностью определяются матрицей ковариации.

Параметры

ksizeint

Размер выходного ядра (должен быть нечетным).

covlist

Матрица ковариации.

Возвращает

np.ndarray

Нормализованное 2D ядро размытия.

blinddeconv.filters.distributions.linear_decay_distribution(x: ndarray, radius: float) ndarray[исходный код]

Универсальная линейно убывающая функция распределения.

Применение: - Для DefocusBlur: создает конус (cone_psf). - Для MotionBlur: создает треугольное размытие.

Параметры

xnp.ndarray

Входной массив расстояний/координат.

radiusfloat

Радиус/полуширина распределения.

Возвращает

np.ndarray

Ненормализованные значения распределения.

blinddeconv.filters.distributions.ring_distribution(x: ndarray, radius: float) ndarray[исходный код]

Кольцевое распределение (специфично для размытия вне фокуса).

Параметры

xnp.ndarray

Входной массив расстояний.

radiusfloat

Радиус кольца.

Возвращает

np.ndarray

Ненормализованные значения распределения.

blinddeconv.filters.distributions.uniform_distribution(x: ndarray, radius: float) ndarray[исходный код]

Равномерная функция распределения.

Применение: - Для DefocusBlur: создает диск (disk_psf). - Для MotionBlur: создает прямоугольное размытие.

Параметры

xnp.ndarray

Входной массив расстояний/координат.

radiusfloat

Радиус/полуширина распределения.

Возвращает

np.ndarray

Ненормализованные значения распределения.