code: def __init__(
      self,
      num_dots: int,
      dot_type: str,
      random_movement: bool = True,
      **kwargs,
  ) -> None:
      assert num_dots > 0, "Number of dots must be greater than zero"
      assert dot_type in [
          "colored",
          "blur",
      ], "Dot type must be set to None or to 'colored' or 'blur'"
  
      super().__init__(num_dots, random_movement, **kwargs)
  
      self.num_dots = num_dots
      self.dot_type = dot_type
      self.shapes_distractor = None
  
      if self.dot_type == "colored":
          self.shapes_distractor = VideoDistractorByShapes(
              num_dots,
              shape_type="circle",
              colors=[(0, 0, 0), (91, 123, 166)],
              thickness=2,
              radius=0.001,
              random_movement=random_movement,
          )
  
file_path: AugLy/augly/video/augmenters/cv2/dots.py
imports: import logging
  import cv2
  import numpy
  from augly.video.augmenters.cv2.base_augmenter import BaseCV2Augmenter
  from augly.video.augmenters.cv2.shapes import VideoDistractorByShapes
label_desc: Use image node_id 1 to create a new VideoDistractorByDots object from inherited base classes: BaseCV2Augmenter with example: obj = VideoDistractorByDots(num_dots, dot_type, random_movement)