  
          parser.add_argument('-r', '--rotate-images',
                              type=str,
                              dest="rotate_images",
                              choices=("on", "off"),
                              default="off",
                              help="If a face isn't found, rotate the images through 90 degree "
                                   "iterations to try to find a face. Can find more faces at the "
                                   "cost of extraction speed.")
  
          parser.add_argument('-ae', '--align-eyes',
                              action="store_true",
                              dest="align_eyes",
                              default=False,
 
</s> remove         ''' rotates the image through 90 degree iterations to find a face '''
        angle = 90
        while angle <= 270:
            rotated_image = rotate_image(image, angle)
            faces = self.get_faces(rotated_image, rotation=angle)
            rotated_faces = [(idx, face) for idx, face in faces]
            if len(rotated_faces) != 0:
 </s> add         ''' rotates the image through rotation_angles to try to find a face '''
        for angle in self.rotation_angles:
            rotated_faces, rotated_image = self.getRotatedImageFaces(image, angle)
            if len(rotated_faces) > 0: </s> remove             angle += 90
 </s> add  </s> remove                         image = rotate_image(image, face.r * -1)
 </s> add                         image = rotate_image(image, face.r * -1, rotated_width=width, rotated_height=height)
                            default=None,
                            help="If a face isn't found, rotate the images to try to find a face. Can find more faces at the "
                                 "cost of extraction speed.  Pass in a single number to use increments of that size up to 360, "
                                 "or pass in a list of numbers to enumerate exactly what angles to check.")
  
          parser.add_argument('-r', '--rotate-images',
                              type=str,
                              dest="rotate_images",
                            default=None,
                            help="If a face isn't found, rotate the images to try to find a face. Can find more faces at the "
                                 "cost of extraction speed.  Pass in a single number to use increments of that size up to 360, "
                                 "or pass in a list of numbers to enumerate exactly what angles to check.")
                            default=None,
                            help="If a face isn't found, rotate the images to try to find a face. Can find more faces at the "
                                 "cost of extraction speed.  Pass in a single number to use increments of that size up to 360, "
                                 "or pass in a list of numbers to enumerate exactly what angles to check.")
                            default=None,
                            help="If a face isn't found, rotate the images to try to find a face. Can find more faces at the "
                                 "cost of extraction speed.  Pass in a single number to use increments of that size up to 360, "
                                 "or pass in a list of numbers to enumerate exactly what angles to check.")
                            default=None,
                            help="If a face isn't found, rotate the images to try to find a face. Can find more faces at the "
                                 "cost of extraction speed.  Pass in a single number to use increments of that size up to 360, "
                                 "or pass in a list of numbers to enumerate exactly what angles to check.")
                            default=None,
                            help="If a face isn't found, rotate the images to try to find a face. Can find more faces at the "
                                 "cost of extraction speed.  Pass in a single number to use increments of that size up to 360, "
                                 "or pass in a list of numbers to enumerate exactly what angles to check.")
  
          parser.add_argument('-ae', '--align-eyes',
                              action="store_true",
                              dest="align_eyes",
                              default=False,
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 Adds support for arbitrary image rotations (#309)

* Add support for user-specified rotation angle in extract

* Added rotation-angle-list option to enumerate a list of angles to rotate through

* Adjust rotation matrix translation coords to avoid cropping

* Merged rotation-angle and rotation-angle-list options into rotate_images option

* Backwards compatibility

* Updated check whether to run image rotator

* Switched rotation convention to use positive angle = clockwise rotation, for backwards compatibility 
scripts/extract.py