          self.process()
          self.finalize()
          
      def read_directory(self):
          for filename in tqdm(self.input_dir):
              if self.arguments.verbose:
                  print('Processing: {}'.format(os.path.basename(filename)))
  
              yield filename
              self.images_processed = self.images_processed + 1
      
      def get_faces(self, image):
          faces_count = 0
          for face in detect_faces(image):
              if self.filter is not None and not self.filter.check(face):
 
</s> remove         for face in detect_faces(image):
 </s> add         for face in detect_faces(image, self.arguments.detector): </s> remove         self.images_found = len(self.input_dir)
 </s> add  </s> remove         extractor = PluginLoader.get_extractor(extractor_name)()
 </s> add         self.extractor = PluginLoader.get_extractor(extractor_name)()
        self.faces_detected = 0
        processes = self.arguments.processes
        if processes != 1:
            files = list(self.read_directory())
            for _ in tqdm(pool_process(self.processFiles, files, processes=processes), total = len(files)):
                self.faces_detected +=1
        else:
            try:
                for filename in tqdm(self.read_directory()):
                    self.handleImage(filename)

            except Exception as e:
                print('Failed to extract from image: {}. Reason: {}'.format(filename, e)) </s> remove         for filename in self.read_directory():
 </s> add         for filename in tqdm(self.read_directory()): </s> remove             skip = self.check_skip(filename)

            if not skip: # process as normal
 </s> add             if not self.check_skipframe(filename): # process as normal
        self.images_found = len(self.input_dir)
        return self.input_dir
          self.process()
          self.finalize()
          
      def read_directory(self):
        self.images_found = len(self.input_dir)
        return self.input_dir
        self.images_found = len(self.input_dir)
        return self.input_dir
        self.images_found = len(self.input_dir)
        return self.input_dir
        self.images_found = len(self.input_dir)
        return self.input_dir
        self.images_found = len(self.input_dir)
        return self.input_dir
        self.images_found = len(self.input_dir)
        return self.input_dir
      
      def get_faces(self, image):
          faces_count = 0
          for face in detect_faces(image):
              if self.filter is not None and not self.filter.check(face):
keep keep keep keep replace replace replace replace replace replace keep keep keep keep keep
 Misc updates on master before GAN. Added multithreading + mmod face detector (#109)

* Preparing GAN plugin

* Adding multithreading for extract

* Adding support for mmod human face detector

* Adding face filter argument

* Added process number argument to multiprocessing extractor.

Fixed progressbar for multiprocessing.

* Added tiff as image type.
compression artefacts hurt my feelings.

* Cleanup 
lib/cli.py