code: def flare_source(
      tens: Tensor,
      point: Tuple[int, int],
      radius: int,
      src_color: Tuple[int],
  ) -> Tensor:
      r"""
          Add a source of light (flare) on an specific region of an image.
  
      Args:
          tens (Tensor) : Any regular BGR/RGB image.
          point (Tuple[int, int]): Starting point of the flare.
          radius (int): Intended radius (in pixels) of the flare.
          src_color (tuple): Color of the flare. Must be in the format ``(R,G,B)``
          rectangular_roi (tuple): Rectanglar co-ordinates of the intended region of interest. Default: (-1,-1,-1,-1).
          num_patches (int): Number of patches to operate on.
          rgb (bool): Operate on RGB images. Default: True.
  
      Returns:
          Tensor of shape ``(height, width, channels)``.
  
      Examples::
  
          >> tens = caer.data.sunris)
          >> filtered = caer.filters.add_gravel(tens)
          >> filtered
          (427, 640, 3)
  
      """
      tens = to_tensor(tens, override_checks=True)
  
      if not isinstance(src_color, tuple):
          raise ValueError(
              "`src_color` needs to be a tuple in the format `(R,G,B)`"
          )
  
      # By default, assume a RGB-format
      # We reverse the tuple as OpenCV expects a BGR layout
      src_color = src_color[::-1]
  
      overlay = tens.clone()
      output = tens.clone()
  
      num_times = radius // 10
      alpha = np.linspace(0.0, 1, num=num_times)
      rad = np.linspace(1, radius, num=num_times)
  
      for i in range(num_times):
          cv.circle(
              overlay, point, int(rad[i]), color=src_color, thickness=-1
          )
          alp = (
              alpha[num_times - i - 1]
              * alpha[num_times - i - 1]
              * alpha[num_times - i - 1]
          )
          cv.addWeighted(overlay, alp, output, 1 - alp, 0, output)
  
      return to_tensor(tens, override_checks=True)
  
imports: import cv2
  import random
  import math
  import numpy
  from ..coreten import Tensor, to_tensor
  from ..annotations import Tuple, Union
  from ..color import to_hls, to_rgb, to_bgr, to_hsv, to_gray, to_lab
label_desc: Use image node_id 18 for calling a global function with example usage: flare_source(tens, point, radius, src_color) and returns: to_tensor