Stay updated
News & Insightsalbumentations.augmentations.blur.functional
Functional implementations of various blur operations for image processing. This module provides a collection of low-level functions for applying different blur effects to images, including standard blur, glass blur, defocus, and zoom effects. These functions form the foundation for the corresponding transform classes.
Members
- functionbox_blur
- functionglass_blur
- functioncreate_defocus_kernel
- functiondefocus
- functioncentral_zoom
- functionzoom_blur
- functionprocess_blur_limit
- functioncreate_motion_kernel
- functionsample_odd_from_range
- functioncreate_gaussian_kernel
- functioncreate_gaussian_kernel_1d
- functioncreate_gaussian_kernel_input_array
box_blurfunction
box_blur(
img: ImageType,
ksize: int
)Smooth image with uniform rectangular kernel (moving average). ksize sets size. Use for mild noise reduction or downscale prep. This function applies a blur to an image. Args: img (ImageType): Input image. ksize (int): Kernel size. Returns: ImageType: Blurred image.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| img | ImageType | - | - |
| ksize | int | - | - |
glass_blurfunction
glass_blur(
img: ImageType,
sigma: float,
max_delta: int,
iterations: int,
dxy: np.ndarray,
mode: Literal['fast', 'exact']
)Glass-like effect: Gaussian blur then random pixel swaps. Sigma, max_delta, iterations, dxy. Use for frosted-glass look. This function applies a glass blur to an image. Args: img (ImageType): Input image. sigma (float): Sigma. max_delta (int): Maximum delta. iterations (int): Number of iterations. dxy (np.ndarray): Dxy. mode (Literal['fast', 'exact']): Mode. Returns: ImageType: Glass blurred image.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| img | ImageType | - | - |
| sigma | float | - | - |
| max_delta | int | - | - |
| iterations | int | - | - |
| dxy | np.ndarray | - | - |
| mode | One of:
| - | - |
create_defocus_kernelfunction
create_defocus_kernel(
radius: int,
alias_blur: float
)Create defocus (aliased disk) convolution kernel. radius, alias_blur control disk shape and smoothing. Returns kernel for convolve.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| radius | int | - | - |
| alias_blur | float | - | - |
defocusfunction
defocus(
img: ImageType,
radius: int,
alias_blur: float
)Blur with aliased disk kernel to simulate out-of-focus. radius, alias_blur set size and softness. Use for depth-of-field or bokeh-style effects.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| img | ImageType | - | - |
| radius | int | - | - |
| alias_blur | float | - | - |
central_zoomfunction
central_zoom(
img: ImageType,
zoom_factor: int
)Zoom from center by integer factor: crop center, upsample, trim to original size. Used in zoom-blur pipeline; zoom_factor must be positive. This function zooms an image. Args: img (ImageType): Input image. zoom_factor (int): Zoom factor. Returns: ImageType: Zoomed image.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| img | ImageType | - | - |
| zoom_factor | int | - | - |
zoom_blurfunction
zoom_blur(
img: ImageType,
zoom_factors: np.ndarray | Sequence[int]
)Radial zoom blur: blend image with center-zoomed copies. zoom_factors; normalized result. Use for motion or out-of-focus style. Float32 I/O, clipped. This function zooms and blurs an image. Args: img (ImageType): Input image. zoom_factors (np.ndarray | Sequence[int]): Zoom factors. Returns: ImageType: Zoomed and blurred image.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| img | ImageType | - | - |
| zoom_factors | One of:
| - | - |
process_blur_limitfunction
process_blur_limit(
value: int | tuple[int, int],
info: ValidationInfo,
min_value: int = 0
)Process blur limit to valid kernel sizes (min, odd). Converts int or tuple to (min, max); enforces constraints. For blur InitSchema validators.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| value | One of:
| - | - |
| info | ValidationInfo | - | - |
| min_value | int | 0 | - |
create_motion_kernelfunction
create_motion_kernel(
kernel_size: int,
angle: float,
direction: float,
allow_shifted: bool,
random_state: random.Random
)Create motion blur kernel (2D float32). kernel_size (odd), angle, direction (-1 to 1), allow_shifted, random_state. Returns normalized kernel. Args: kernel_size (int): Size of the kernel (must be odd) angle (float): Angle in degrees (counter-clockwise) direction (float): Blur direction (-1.0 to 1.0) allow_shifted (bool): Allow kernel to be randomly shifted from center random_state (random.Random): Python's random.Random instance Returns: np.ndarray: Motion blur kernel
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| kernel_size | int | - | - |
| angle | float | - | - |
| direction | float | - | - |
| allow_shifted | bool | - | - |
| random_state | random.Random | - | - |
sample_odd_from_rangefunction
sample_odd_from_range(
random_state: random.Random,
low: int,
high: int
)Sample odd number from [low, high] (inclusive). Low/high normalized to odd (min 3). For blur transforms when sampling kernel size from a range. Args: random_state (random.Random): instance of random.Random low (int): lower bound (will be converted to nearest valid odd number) high (int): upper bound (will be converted to nearest valid odd number) Returns: int: Randomly sampled odd number from the range Note: - Input values will be converted to nearest valid odd numbers: * Values less than 3 will become 3 * Even values will be rounded up to next odd number - After normalization, high must be >= low
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| random_state | random.Random | - | - |
| low | int | - | - |
| high | int | - | - |
create_gaussian_kernelfunction
create_gaussian_kernel(
sigma: float,
ksize: int = 0
)Create 2D Gaussian kernel (PIL-style). Sigma and ksize (0 = auto). Returns normalized float32 kernel for separable or 2D convolution. Args: sigma (float): Standard deviation for Gaussian kernel. ksize (int): Kernel size. If 0, size is computed as int(sigma * 3.5) * 2 + 1 to match PIL's implementation. Otherwise, must be positive and odd. Returns: np.ndarray: 2D normalized Gaussian kernel.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| sigma | float | - | - |
| ksize | int | 0 | - |
create_gaussian_kernel_1dfunction
create_gaussian_kernel_1d(
sigma: float,
ksize: int = 0
)Create 1D Gaussian kernel (PIL-style). Sigma and ksize (0 = auto). For separable Gaussian blur; returns normalized float32 1D array. Args: sigma (float): Standard deviation for Gaussian kernel. ksize (int): Kernel size. If 0, size is computed as int(sigma * 3.5) * 2 + 1 to match PIL's implementation. Otherwise, must be positive and odd. Returns: np.ndarray: 1D normalized Gaussian kernel.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| sigma | float | - | - |
| ksize | int | 0 | - |
create_gaussian_kernel_input_arrayfunction
create_gaussian_kernel_input_array(
size: int
)1-D x-coordinates -size/2 to size/2 for Gaussian kernel. Piecewise for size < 100 (faster than np.linspace). Returns float array. Piecewise function is needed as equivalent python list comprehension is faster than np.linspace for values of size < 100 Args: size (int): kernel size Returns: np.ndarray: x-coordinate array which will be input for gaussian function that will be used for separable gaussian blur
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| size | int | - | - |