          detect_process = SpawnProcess(detector.run, **d_kwargs)
          d_event = detect_process.event
          detect_process.start()
  
          for plugin in ("fan", "dlib"):
              aligner = PluginLoader.get_aligner(plugin)(loglevel=loglevel)
              align_process = SpawnProcess(aligner.run, **a_kwargs)
              a_event = align_process.event
              align_process.start()
  
 
</s> remove         for plugin in ("fan", "dlib"):
 </s> add         for plugin in ("fan", "cv2_dnn"): </s> remove             detected_face.from_dlib_rect(face, image)
 </s> add             detected_face.from_bounding_box(face, image) </s> remove         d_rect, landmarks = extract_data
        alignment["x"] = d_rect.left()
        alignment["w"] = d_rect.right() - d_rect.left()
        alignment["y"] = d_rect.top()
        alignment["h"] = d_rect.bottom() - d_rect.top()
 </s> add         bbox, landmarks = extract_data
        alignment["x"] = bbox.left
        alignment["w"] = bbox.width
        alignment["y"] = bbox.top
        alignment["h"] = bbox.height </s> remove             if plugin == "dlib":
 </s> add             if plugin == "cv2_dnn": </s> remove             if plugin == "dlib":
 </s> add             if plugin == "cv2_dnn":
        for plugin in ("fan", "cv2_dnn"):
          detect_process = SpawnProcess(detector.run, **d_kwargs)
          d_event = detect_process.event
          detect_process.start()
  
        for plugin in ("fan", "cv2_dnn"):
              aligner = PluginLoader.get_aligner(plugin)(loglevel=loglevel)
              align_process = SpawnProcess(aligner.run, **a_kwargs)
              a_event = align_process.event
              align_process.start()
  
keep keep keep keep replace keep keep keep keep keep
 Remove dlib.rectangles. Replace with BoundingBox class 
tools/lib_alignments/jobs_manual.py