                  "detected_faces": [face]}
  
      def _get_landmarks(self):
          """ Multi-threaded, parallel and sequentially ordered landmark loader """
          self.launch_aligner()
          filename_list, image_list = self._get_images()
          feed_list = list(map(Sort.alignment_dict, filename_list, image_list))
          landmarks = np.zeros((len(feed_list), 68, 2), dtype='float32')
  
          logger.info("Finding landmarks in images...")
 
</s> remove         for feed in tqdm(feed_list, desc="Putting...", file=sys.stdout):
            queue_manager.get_queue("in").put(feed)
        for index, _ in enumerate(tqdm(landmarks, desc="Aligning...", file=sys.stdout)):
            face = queue_manager.get_queue("out").get()
            landmarks[index] = np.array(face["detected_faces"][0].landmarks_xy)
 </s> add         # TODO thread the put to queue so we don't have to put and get at the same time
        # Or even better, set up a proper background loader from disk (i.e. use lib.image.ImageIO)
        for idx, feed in enumerate(tqdm(feed_list, desc="Aligning...", file=sys.stdout)):
            extractor.input_queue.put(feed)
            landmarks[idx] = next(extractor.detected_faces()).detected_faces[0].landmarks_xy </s> remove         return {"image": image,
                "filename": filename,
                "detected_faces": [face]}
 </s> add         return ExtractMedia(filename, image, detected_faces=[face]) </s> remove         filename_list, image_list, landmarks = self._get_landmarks()
 </s> add         filename_list, _, landmarks = self._get_landmarks() </s> remove         filename_list, image_list, landmarks = self._get_landmarks()
 </s> add         filename_list, _, landmarks = self._get_landmarks() </s> remove         input_dir = self.args.input_dir
 </s> add 
        extractor = self.launch_aligner()
                  "detected_faces": [face]}
  
      def _get_landmarks(self):
          """ Multi-threaded, parallel and sequentially ordered landmark loader """
        extractor = self.launch_aligner()
          filename_list, image_list = self._get_images()
          feed_list = list(map(Sort.alignment_dict, filename_list, image_list))
          landmarks = np.zeros((len(feed_list), 68, 2), dtype='float32')
  
          logger.info("Finding landmarks in images...")
keep keep keep keep replace keep keep keep keep keep
 Bugfix: Sort by Yaw - Use Pipeline for landmarks 
tools/sort.py