                      break
                  image = item["image"][:, :, ::-1].copy()
                  item["landmarks"] = self.process_landmarks(image, item["detected_faces"])
                  self.finalize(item)
              self.finalize("EOF")
          except:
              item["exception"] = True
              self.queues["out"].put(item)
              raise
  
      def process_landmarks(self, image, detected_faces):
          """ Align image and process landmarks """
          retval = list()
          for detected_face in detected_faces:
 
</s> remove         self.finalize("EOF")
 </s> add         logger.debug("Completed Align") </s> remove                 break
            if item.get("exception", False):
                self.queues["out"].put(item)
 </s> add                 self.finalize(item)
                break
            image = item["image"][:, :, ::-1].copy()

            logger.trace("Algning faces")
            item["landmarks"] = self.process_landmarks(image, item["detected_faces"])
            logger.trace("Algned faces: %s", item["landmarks"])

            self.finalize(item)
        logger.debug("Completed Align")
                      break
                  image = item["image"][:, :, ::-1].copy()
                  item["landmarks"] = self.process_landmarks(image, item["detected_faces"])
                  self.finalize(item)
                break
            image = item["image"][:, :, ::-1].copy()

            logger.trace("Algning faces")
            item["landmarks"] = self.process_landmarks(image, item["detected_faces"])
            logger.trace("Algned faces: %s", item["landmarks"])

            self.finalize(item)
        logger.debug("Completed Align")
                break
            image = item["image"][:, :, ::-1].copy()

            logger.trace("Algning faces")
            item["landmarks"] = self.process_landmarks(image, item["detected_faces"])
            logger.trace("Algned faces: %s", item["landmarks"])

            self.finalize(item)
        logger.debug("Completed Align")
                break
            image = item["image"][:, :, ::-1].copy()

            logger.trace("Algning faces")
            item["landmarks"] = self.process_landmarks(image, item["detected_faces"])
            logger.trace("Algned faces: %s", item["landmarks"])

            self.finalize(item)
        logger.debug("Completed Align")
                break
            image = item["image"][:, :, ::-1].copy()

            logger.trace("Algning faces")
            item["landmarks"] = self.process_landmarks(image, item["detected_faces"])
            logger.trace("Algned faces: %s", item["landmarks"])

            self.finalize(item)
        logger.debug("Completed Align")
                break
            image = item["image"][:, :, ::-1].copy()

            logger.trace("Algning faces")
            item["landmarks"] = self.process_landmarks(image, item["detected_faces"])
            logger.trace("Algned faces: %s", item["landmarks"])

            self.finalize(item)
        logger.debug("Completed Align")
  
      def process_landmarks(self, image, detected_faces):
          """ Align image and process landmarks """
          retval = list()
          for detected_face in detected_faces:
keep keep keep keep replace replace replace replace 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 
plugins/extract/align/fan.py