          face.w = int(pt_x1 - pt_x)
          face.h = int(pt_y1 - pt_y)
          face.r = 0
          if len(rotated) > 1:
              face.landmarksXY = [tuple(point) for point in rotated[1].tolist()]
      elif isinstance(face, dict):
          face["x"] = int(pt_x)
          face["y"] = int(pt_y)
          face["w"] = int(pt_x1 - pt_x)
          face["h"] = int(pt_y1 - pt_y)
 
</s> remove             face["landmarksXY"] = [tuple(point)
                                   for point in rotated[1].tolist()]
 </s> add             rotated_landmarks = [tuple(point) for point in rotated[1].tolist()]
            face["landmarksXY"] = rotated_landmarks </s> remove         face = dlib.rectangle(  # pylint: disable=c-extension-no-member
 </s> add         rotated_landmarks = dlib.rectangle(  # pylint: disable=c-extension-no-member </s> remove               miny,minx = maxregion.min(axis=0)[:2]
              maxy,maxx = maxregion.max(axis=0)[:2]
              lenx = maxx - minx;
              leny = maxy - miny;
              masky = int(minx+(lenx//2))
              maskx = int(miny+(leny//2))
              outimage = cv2.seamlessClone(new_image.astype(numpy.uint8),base_image.astype(numpy.uint8),unitMask,(masky,maskx) , cv2.NORMAL_CLONE )
              return outimage
 </s> add                 miny, minx = maxregion.min(axis=0)[:2]
                maxy, maxx = maxregion.max(axis=0)[:2]
                lenx = maxx - minx
                leny = maxy - miny
                masky = int(minx + (lenx // 2))
                maskx = int(miny + (leny // 2))
                outimage = cv2.seamlessClone(new_image.astype(numpy.uint8),
                                             base_image.astype(numpy.uint8),
                                             unitMask,
                                             (masky, maskx),
                                             cv2.NORMAL_CLONE)
                return outimage
 </s> remove         self.mouse_handler = MouseHandler(self.interface, self.verbose)
 </s> add         self.mouse_handler = MouseHandler(self.interface, self.arguments.loglevel)
            rotated_landmarks = [tuple(point) for point in rotated[1].tolist()]
            face.landmarksXY = rotated_landmarks
          face.w = int(pt_x1 - pt_x)
          face.h = int(pt_y1 - pt_y)
          face.r = 0
          if len(rotated) > 1:
            rotated_landmarks = [tuple(point) for point in rotated[1].tolist()]
            face.landmarksXY = rotated_landmarks
      elif isinstance(face, dict):
          face["x"] = int(pt_x)
          face["y"] = int(pt_y)
          face["w"] = int(pt_x1 - pt_x)
          face["h"] = int(pt_y1 - pt_y)
keep keep keep keep replace keep keep keep keep keep
 Logging (#541)

* Convert prints to logger. Further logging improvements. Tidy  up

* Fix system verbosity. Allow SystemExit

* Fix reload extract bug

* Child Traceback handling

* Safer shutdown procedure

* Add shutdown event to queue manager

* landmarks_as_xy > property. GUI notes + linting. Aligner bugfix

* fix FaceFilter. Enable nFilter when no Filter is supplied

* Fix blurry face filter

* Continue on IO error. Better error handling

* Explicitly print stack trace tocrash log

* Windows Multiprocessing bugfix

* Add git info and conda version to crash log

* Windows/Anaconda mp bugfix

* Logging fixes for training 
lib/utils.py