code: def shot_noise(x, severity=1):
      """Shot noise corruption 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]. Added shot noise.
      """
      c = [60, 25, 12, 5, 3][severity - 1]
      x = np.array(x) / 255.0
      x_clip = np.clip(np.random.poisson(x * c) / float(c), 0, 1) * 255
      return around_and_astype(x_clip)
  
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 7 for calling a global function with example usage: shot_noise(x, severity) and returns: around_and_astype