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
Ненормализованные значения распределения.