code: def halo(self, syneth, skybg, skymask):
      # reflection
      halo = 0.5 * cv2.blur(
          skybg * skymask,
          (int(self.out_size_w / 5), int(self.out_size_w / 5)),
      )
      # screen blend 1 - (1-a)(1-b)
      syneth_with_halo = 1 - (1 - syneth) * (1 - halo)
  
      return syneth_with_halo
  
file_path: PaddleHub/modules/video/Video_editing/SkyAR/skybox.py
imports: import cv2
  import numpy
  from .rain import Rain
  from .utils import build_transformation_matrix, update_transformation_matrix, estimate_partial_transform, removeOutliers, guidedfilter
label_desc: Use image node_id 8 for calling the SkyBox obj's underlying member method code with example usage: obj.halo(syneth, skybg, skymask) and returns: syneth_with_halo