code: def adjust_saturation(
      tens: Tensor, saturation_factor: float
  ) -> Tensor:
      """Adjust color saturation of an image.
  
      Args:
          tens (Tensor): Any valid ``caer.Tensor``.
          saturation_factor (float):  How much to adjust the saturation. 0 will
              give a black and white image, 1 will give the original image while
              2 will enhance the saturation by a factor of 2.
  
      Returns:
          Saturation-adjusted image.
  
      Examples::
  
          >> tens = caer.data.sunrise(rgb=True)
          >> filtered = caer.transforms.adjust_saturation(tens, saturation_factor=1.5, rgb=True)
          >> filtered
          (427, 640, 3)
      """
      tens = to_tensor(tens, enforce_tensor=True)
      cspace = tens.cspace
  
      try:
          from PIL import Image, ImageEnhance
      except ImportError:
          raise ImportError(
              "Pillow must be installed to use ``caer.color.adjust_saturation()``."
          )
  
      tens = Image.fromarray(tens)
      enhancer = ImageEnhance.Color(tens)
      tens = enhancer.enhance(saturation_factor)
  
      return to_tensor(tens, cspace=cspace)
  
file_path: caer/caer/transforms/color.py
imports: import numpy
  import random
  import cv2
  import math
  from ..coreten import Tensor, to_tensor
  from ..annotations import Union, List, Tuple
  from .functional import is_list, _hls, _exposure_process
label_desc: Use image node_id 6 for calling a global function with example usage: adjust_saturation(tens, saturation_factor) and returns: to_tensor