                    scan the image in it's upright state """
          rotation_angles = [0]
  
          if not rotation or rotation.lower() == "off":
              return rotation_angles
  
          if rotation.lower() == "on":
              rotation_angles.extend(range(90, 360, 90))
 
</s> remove     @staticmethod
    def rotate_image(image, angle):
 </s> add     def rotate_image(self, image, angle): </s> remove         return rotate_image_by_angle(image, angle)
 </s> add         return self.rotate_image_by_angle(image, angle)
            logger.debug("Not setting rotation angles")
                    scan the image in it's upright state """
          rotation_angles = [0]
  
          if not rotation or rotation.lower() == "off":
            logger.debug("Not setting rotation angles")
              return rotation_angles
  
          if rotation.lower() == "on":
              rotation_angles.extend(range(90, 360, 90))
keep keep keep add 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/detect/_base.py