          alignment["frame_dims"] = self.frame_dims
          alignment["landmarksXY"] = self.landmarksXY
          return alignment
  
      def from_alignment(self, alignment, image=None):
          """ Convert a face alignment to detected face object """
          logger.trace("Creating from alignment: (alignment: %s, has_image: %s)",
                       alignment, bool(image is not None))
 
</s>
        logger.trace("Returning: %s", alignment)
          alignment["frame_dims"] = self.frame_dims
          alignment["landmarksXY"] = self.landmarksXY
        logger.trace("Returning: %s", alignment)
          return alignment
  
      def from_alignment(self, alignment, image=None):
          """ Convert a face alignment to detected face object """
          logger.trace("Creating from alignment: (alignment: %s, has_image: %s)",
                       alignment, bool(image is not None))
keep add keep 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/faces_detect.py