code: def adjust_hsv_in_yiq(
      image: TensorLike,
      delta_hue: Number = 0,
      scale_saturation: Number = 1,
      scale_value: Number = 1,
      name: Optional[str] = None,
  ) -> tf.Tensor:
      """Adjust hue, saturation, value of an RGB image in YIQ color space.
  
      This is a convenience method that converts an RGB image to float
      representation, converts it to YIQ, rotates the color around the
      Y channel by delta_hue in radians, scales the chrominance channels
      (I, Q) by scale_saturation, scales all channels (Y, I, Q) by scale_value,
      converts back to RGB, and then back to the original data type.
  
      `image` is an RGB image. The image hue is adjusted by converting the
      image to YIQ, rotating around the luminance channel (Y) by
      `delta_hue` in radians, multiplying the chrominance channels (I, Q) by
      `scale_saturation`, and multiplying all channels (Y, I, Q) by
      `scale_value`. The image is then converted back to RGB.
  
      Args:
        image: RGB image or images. Size of the last dimension must be 3.
        delta_hue: `float`, the hue rotation amount, in radians.
        scale_saturation: `float`, factor to multiply the saturation by.
        scale_value: `float`, factor to multiply the value by.
        name: A name for this operation (optional).
  
      Returns:
        Adjusted image(s), same shape and dtype as `image`.
      """
      with tf.name_scope(name or "adjust_hsv_in_yiq"):
          image = tf.convert_to_tensor(image, name="image")
          # Remember original dtype to so we can convert back if needed
          orig_dtype = image.dtype
          if not image.dtype.is_floating:
              image = tf.image.convert_image_dtype(image, tf.float32)
  
          delta_hue = tf.cast(
              delta_hue, dtype=image.dtype, name="delta_hue"
          )
          scale_saturation = tf.cast(
              scale_saturation,
              dtype=image.dtype,
              name="scale_saturation",
          )
          scale_value = tf.cast(
              scale_value, dtype=image.dtype, name="scale_value"
          )
  
          if not options.is_custom_kernel_disabled():
              warnings.warn(
                  "C++/CUDA kernel of `adjust_hsv_in_yiq` will be removed in Addons `0.13`.",
                  DeprecationWarning,
              )
              try:
                  image = (
                      _distort_image_so.ops.addons_adjust_hsv_in_yiq(
                          image,
                          delta_hue,
                          scale_saturation,
                          scale_value,
                      )
                  )
              except tf.errors.NotFoundError:
                  options.warn_fallback("adjust_hsv_in_yiq")
                  image = _adjust_hsv_in_yiq(
                      image, delta_hue, scale_saturation, scale_value
                  )
          else:
              image = _adjust_hsv_in_yiq(
                  image, delta_hue, scale_saturation, scale_value
              )
  
          return tf.image.convert_image_dtype(image, orig_dtype)
  
file_path: addons/tensorflow_addons/image/distort_image_ops.py
imports: from typing import Optional
  import warnings
  import tensorflow
  from tensorflow_addons import options
  from tensorflow_addons.utils.resource_loader import LazySO
  from tensorflow_addons.utils.types import Number, TensorLike
label_desc: Use image node_id 3 for calling a global function with example usage: adjust_hsv_in_yiq(image, delta_hue, scale_saturation, scale_value, name) and returns: tf