code: def frost(x, severity=1):
      """Apply frost to images.
  
      Args:
        x: numpy array, uncorrupted image, assumed to have uint8 pixel in [0,255].
        severity: integer, severity of corruption.
  
      Returns:
        numpy array, image with uint8 pixels in [0,255]. Applied frost.
      """
      c = [(1, 0.4), (0.8, 0.6), (0.7, 0.7), (0.65, 0.7), (0.6, 0.75)][
          severity - 1
      ]
      filename = FROST_FILENAMES[np.random.randint(5)]
      with tempfile.NamedTemporaryFile() as im_frost:
          tf.io.gfile.copy(filename, im_frost.name, overwrite=True)
          frost_img = tfds.core.lazy_imports.cv2.imread(im_frost.name)
      # randomly crop and convert to rgb
      x_start, y_start = np.random.randint(
          0, frost_img.shape[0] - 224
      ), np.random.randint(0, frost_img.shape[1] - 224)
      frost_img = frost_img[
          x_start : x_start + 224, y_start : y_start + 224
      ][..., [2, 1, 0]]
  
      x = np.clip(c[0] * np.array(x) + c[1] * frost_img, 0, 255)
  
      return around_and_astype(x)
  
imports: import io
  import subprocess
  import tempfile
  import numpy
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
  import tensorflow_datasets.public_api
label_desc: Use image node_id 18 for calling a global function with example usage: frost(x, severity) and returns: around_and_astype