code: def disk(
      radius: float, alias_blur: float = 0.1, dtype=np.float32
  ) -> np.ndarray:
      """
      Helper function for defocus blur.
  
      Parameters
      ----------
      radius
          Radius for the Gaussian kernel.
      alias_blur
          Standard deviation for the Gaussian kernel in both X and Y directions.
      dtype
          Data type.
  
      Returns
      -------
      Kernel used for Gaussian blurring.
      """
      if radius <= 8.0:
          L = np.arange(-8.0, 8.0 + 1)
          ksize = (3, 3)
      else:
          L = np.arange(-radius, radius + 1)
          ksize = (5, 5)
      X, Y = np.meshgrid(L, L)
      aliased_disk = np.array(
          (X**2 + Y**2) <= radius**2, dtype=dtype
      )
      aliased_disk /= np.sum(aliased_disk)
  
      # supersample disk to antialias
      return cv2.GaussianBlur(
          aliased_disk, ksize=ksize, sigmaX=alias_blur
      )
  
imports: import random
  from io import BytesIO
  from typing import List, Tuple, Union
  import cv2
  import numpy
  import skimage
  from alibi_detect.utils.data import Bunch
  from alibi_detect.utils.discretizer import Discretizer
  from alibi_detect.utils.distance import abdm, multidim_scaling
  from alibi_detect.utils.mapping import ohe2ord
  from PIL import Image
  from scipy.ndimage import zoom
  from scipy.ndimage.interpolation import map_coordinates
  from skimage.filters import gaussian
label_desc: Use image node_id 14 for calling a global function with example usage: disk(radius, alias_blur, dtype) and returns: cv2