class_docstr: Randomly change the brightness, contrast and saturation and hue of the clip
  
  Args:
  brightness (float): How much to jitter brightness. brightness_factor
  is chosen uniformly from [max(0, 1 - brightness), 1 + brightness].
  contrast (float): How much to jitter contrast. contrast_factor
  is chosen uniformly from [max(0, 1 - contrast), 1 + contrast].
  saturation (float): How much to jitter saturation. saturation_factor
  is chosen uniformly from [max(0, 1 - saturation), 1 + saturation].
  hue(float): How much to jitter hue. hue_factor is chosen uniformly from
  [-hue, hue]. Should be >=0 and <= 0.5.
class_docstr_tok: ["Randomly","change","the","brightness",",","contrast","and","saturation","and","hue","of","the","clip","Args",":","brightness","(","float",")",":","How","much","to","jitter","brightness",".","brightness_factor","is","chosen","uniformly","from","[","max","(","0",",","1","-","brightness",")",",","1","+","brightness","]",".","contrast","(","float",")",":","How","much","to","jitter","contrast",".","contrast_factor","is","chosen","uniformly","from","[","max","(","0",",","1","-","contrast",")",",","1","+","contrast","]",".","saturation","(","float",")",":","How","much","to","jitter","saturation",".","saturation_factor","is","chosen","uniformly","from","[","max","(","0",",","1","-","saturation",")",",","1","+","saturation","]",".","hue","(","float",")",":","How","much","to","jitter","hue",".","hue_factor","is","chosen","uniformly","from","[","-hue",",","hue","]",".","Should","be",">","=0","and","<","=","0.5","."]
docstr: Args:
  clip (list): list of PIL.Image
  
  Returns:
  list PIL.Image : list of transformed PIL.Image
docstr_tok: ["Args",":","clip","(","list",")",":","list","of","PIL.Image","Returns",":","list","PIL.Image",":","list","of","transformed","PIL.Image"]
code: def __call__(self, clip):
      """
      Args:
      clip (list): list of PIL.Image
  
      Returns:
      list PIL.Image : list of transformed PIL.Image
      """
      if isinstance(clip[0], np.ndarray):
          raise TypeError(
              "Color jitter not yet implemented for numpy arrays"
          )
      elif isinstance(clip[0], PIL.Image.Image):
          brightness, contrast, saturation, hue = self.get_params(
              self.brightness, self.contrast, self.saturation, self.hue
          )
  
          # Create img transform function sequence
          img_transforms = []
          if brightness is not None:
              img_transforms.append(
                  lambda img: torchvision.transforms.functional.adjust_brightness(
                      img, brightness
                  )
              )
          if saturation is not None:
              img_transforms.append(
                  lambda img: torchvision.transforms.functional.adjust_saturation(
                      img, saturation
                  )
              )
          if hue is not None:
              img_transforms.append(
                  lambda img: torchvision.transforms.functional.adjust_hue(
                      img, hue
                  )
              )
          if contrast is not None:
              img_transforms.append(
                  lambda img: torchvision.transforms.functional.adjust_contrast(
                      img, contrast
                  )
              )
          random.shuffle(img_transforms)
  
          # Apply to all images
          jittered_clip = []
          for img in clip:
              for func in img_transforms:
                  jittered_img = func(img)
              jittered_clip.append(jittered_img)
  
      else:
          raise TypeError(
              "Expected numpy.ndarray or PIL.Image"
              + "but got list of {0}".format(type(clip[0]))
          )
      return jittered_clip
  
imports: import numbers
  import random
  import numpy
  import PIL
  import torch
  import torchvision
  from .None import functional
label_desc: Use image node_id 3 for calling the ColorJitter obj's underlying member method code with example usage: obj.__call__(clip) and returns: jittered_clip