code: def defocus(
      img: np.ndarray, radius: int, alias_blur: float
  ) -> np.ndarray:
      length = np.arange(-max(8, radius), max(8, radius) + 1)
      ksize = 3 if radius <= 8 else 5
  
      x, y = np.meshgrid(length, length)
      aliased_disk = np.array(
          (x**2 + y**2) <= radius**2, dtype=np.float32
      )
      aliased_disk /= np.sum(aliased_disk)
  
      kernel = gaussian_blur(aliased_disk, ksize, sigma=alias_blur)
      return convolve(img, kernel=kernel)
  
file_path: albumentations/albumentations/augmentations/blur/functional.py
imports: from itertools import product
  from math import ceil
  from typing import Sequence, Union
  import cv2
  import numpy
  from albumentations.augmentations.functional import convolve
  from albumentations.augmentations.geometric.functional import scale
  from albumentations.augmentations.utils import _maybe_process_in_chunks, clipped, preserve_shape
label_desc: Use image node_id 5 for calling a global function with example usage: defocus(img, radius, alias_blur) and returns: convolve