code: def random_hsv_in_yiq(
      image: TensorLike,
      max_delta_hue: Number = 0,
      lower_saturation: Number = 1,
      upper_saturation: Number = 1,
      lower_value: Number = 1,
      upper_value: Number = 1,
      seed: Optional[int] = None,
      name: Optional[str] = None,
  ) -> tf.Tensor:
      """Adjust hue, saturation, value of an RGB image randomly in YIQ color space.
  
      Equivalent to `adjust_yiq_hsv()` but uses a `delta_h` randomly
      picked in the interval `[-max_delta_hue, max_delta_hue]`, a
      `scale_saturation` randomly picked in the interval
      `[lower_saturation, upper_saturation]`, and a `scale_value`
      randomly picked in the interval `[lower_saturation, upper_saturation]`.
  
      Args:
        image: RGB image or images. Size of the last dimension must be 3.
        max_delta_hue: `float`. Maximum value for the random delta_hue. Passing 0
          disables adjusting hue.
        lower_saturation: `float`. Lower bound for the random scale_saturation.
        upper_saturation: `float`. Upper bound for the random scale_saturation.
        lower_value: `float`. Lower bound for the random scale_value.
        upper_value: `float`. Upper bound for the random scale_value.
        seed: An operation-specific seed. It will be used in conjunction
          with the graph-level seed to determine the real seeds that will be
          used in this operation. Please see the documentation of
          set_random_seed for its interaction with the graph-level random seed.
        name: A name for this operation (optional).
  
      Returns:
        3-D float `Tensor` of shape `[height, width, channels]`.
  
      Raises:
        ValueError: if `max_delta`, `lower_saturation`, `upper_saturation`,
          `lower_value`, or `upper_value` is invalid.
      """
      if max_delta_hue < 0:
          raise ValueError("max_delta must be non-negative.")
  
      if lower_saturation < 0:
          raise ValueError("lower_saturation must be non-negative.")
  
      if lower_value < 0:
          raise ValueError("lower_value must be non-negative.")
  
      if lower_saturation > upper_saturation:
          raise ValueError(
              "lower_saturation must be not greater than "
              "upper_saturation."
          )
  
      if lower_value > upper_value:
          raise ValueError(
              "lower_value must be not greater than upper_value."
          )
  
      with tf.name_scope(name or "random_hsv_in_yiq") as scope:
          if max_delta_hue == 0:
              delta_hue = 0
          else:
              delta_hue = tf.random.uniform(
                  [], -max_delta_hue, max_delta_hue, seed=seed
              )
          if lower_saturation == upper_saturation:
              scale_saturation = lower_saturation
          else:
              scale_saturation = tf.random.uniform(
                  [], lower_saturation, upper_saturation, seed=seed
              )
          if lower_value == upper_value:
              scale_value = lower_value
          else:
              scale_value = tf.random.uniform(
                  [], lower_value, upper_value, seed=seed
              )
          return adjust_hsv_in_yiq(
              image,
              delta_hue,
              scale_saturation,
              scale_value,
              name=scope,
          )
  
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 1 for calling a global function with example usage: random_hsv_in_yiq(image, max_delta_hue, lower_saturation, upper_saturation, lower_value, upper_value, seed, name) and returns: adjust_hsv_in_yiq