code: def color_augmentations(image, variance=0.4):
      """Color augmentations."""
      if variance:
          print(variance)
      image_grayscale = tf.image.rgb_to_grayscale(bgr_to_rgb(image))
      image_grayscale_mean = tf.math.reduce_mean(
          image_grayscale, axis=[-3, -2, -1], keepdims=True
      )
      brightness_fn = functools.partial(brightness, variance=variance)
      contrast_fn = functools.partial(
          contrast,
          image_grayscale_mean=image_grayscale_mean,
          variance=variance,
      )
      saturation_fn = functools.partial(
          saturation, image_grayscale=image_grayscale, variance=variance
      )
      function_order = tf.random.shuffle([0, 1, 2])
      ii = tf.constant(0)
  
      def _apply_fn(image, ii):
          tmp_ii = function_order[ii]
          image = tf.switch_case(
              tmp_ii,
              {
                  0: lambda: brightness_fn(image),
                  1: lambda: contrast_fn(image),
                  2: lambda: saturation_fn(image),
              },
          )
          ii = ii + 1
          return image, ii
  
      (image, _) = tf.while_loop(
          lambda image, ii: tf.less(ii, 3),
          _apply_fn(image, ii),
          [image, ii],
      )
  
      image = lighting(image)
      return image
  
imports: import functools
  import cv2
  import numpy
  import tensorflow
  from tensorflow_graphics.projects.points_to_3Dobjects.utils import image
  from google3.third_party.tensorflow_models.object_detection.core import preprocessor
label_desc: Use image node_id 7 for calling a global function with example usage: color_augmentations(image, variance) and returns: image, image,  ii