                                   key=lambda x: x[1])
          rename_count = self._rename_faces(rename_mappings)
          logger.info("%s faces renamed", rename_count)
  
      def _rename_faces(self, filename_mappings):
          """ Rename faces back to their original name as exists in the alignments file.
  
          If the source and destination filename are the same then skip that file.
  
          Parameters
 
</s> remove "R|Choose which action you want to perform. NB: All actions require an alignments file (-a) to be passed in.\n"
"L|'draw': Draw landmarks on frames in the selected folder/video. A subfolder will be created within the frames folder to hold the output.{0}\n"
"L|'extract': Re-extract faces from the source frames/video based on alignment data. This is a lot quicker than re-detecting faces. Can pass in the '-een' (--extract-every-n) parameter to only extract every nth frame.{1}\n"
"L|'missing-alignments': Identify frames that do not exist in the alignments file.{2}{0}\n"
"L|'missing-frames': Identify frames in the alignments file that do not appear within the frames folder/video.{2}{0}\n"
"L|'multi-faces': Identify where multiple faces exist within the alignments file.{2}{4}\n"
"L|'no-faces': Identify frames that exist within the alignment file but no faces were detected.{2}{0}\n"
"L|'remove-faces': Remove deleted faces from an alignments file. The original alignments file will be backed up.{3}\n"
"L|'rename' - Rename faces to correspond with their parent frame and position index in the alignments file (i.e. how they are named after running extract).{3}\n"
"L|'sort': Re-index the alignments from left to right. For alignments with multiple faces this will ensure that the left-most face is at index 0.\n"
"L|'spatial': Perform spatial and temporal filtering to smooth alignments (EXPERIMENTAL!)"
msgstr ""

#: tools/alignments/cli.py:75
 </s> add "R|Choose which action you want to perform. NB: All actions require an "
"alignments file (-a) to be passed in.\n"
"L|'draw': Draw landmarks on frames in the selected folder/video. A subfolder "
"will be created within the frames folder to hold the output.{0}\n"
"L|'extract': Re-extract faces from the source frames/video based on "
"alignment data. This is a lot quicker than re-detecting faces. Can pass in "
"the '-een' (--extract-every-n) parameter to only extract every nth frame."
"{1}\n"
"L|'from-faces': Generate alignment file(s) from a folder of extracted faces. "
"if the folder of faces comes from multiple sources, then multiple alignments "
"files will be created. NB: for faces which have been extracted folders of "
"source images, rather than a video, a single alignments file will be created "
"as there is no way for the process to know how many folders of images were "
"originally used. You do not need to provide an alignments file path to run "
"this job. {3}\n"
"L|'missing-alignments': Identify frames that do not exist in the alignments "
"file.{2}{0}\n"
"L|'missing-frames': Identify frames in the alignments file that do not "
"appear within the frames folder/video.{2}{0}\n"
"L|'multi-faces': Identify where multiple faces exist within the alignments "
"file.{2}{4}\n"
"L|'no-faces': Identify frames that exist within the alignment file but no "
"faces were detected.{2}{0}\n"
"L|'remove-faces': Remove deleted faces from an alignments file. The original "
"alignments file will be backed up.{3}\n"
"L|'rename' - Rename faces to correspond with their parent frame and position "
"index in the alignments file (i.e. how they are named after running extract)."
"{3}\n"
"L|'sort': Re-index the alignments from left to right. For alignments with "
"multiple faces this will ensure that the left-most face is at index 0.\n"
"L|'spatial': Perform spatial and temporal filtering to smooth alignments "
"(EXPERIMENTAL!)"
msgstr ""

#: tools/alignments/cli.py:96 </s> remove     def reindex_faces(self):
 </s> add     def reindex_faces(self) -> None: </s> remove     def _update_png_headers(self):
 </s> add     def _update_png_headers(self) -> None: </s> remove "L|'file': Output the list of frames to a text file (stored within the source directory).\n"
"L|'move': Move the discovered items to a sub-folder within the source directory."
 </s> add "L|'file': Output the list of frames to a text file (stored within the source "
"directory).\n"
"L|'move': Move the discovered items to a sub-folder within the source "
"directory."
    def _rename_faces(self, filename_mappings: list[tuple[str, str]]) -> int:
                                   key=lambda x: x[1])
          rename_count = self._rename_faces(rename_mappings)
          logger.info("%s faces renamed", rename_count)
  
    def _rename_faces(self, filename_mappings: list[tuple[str, str]]) -> int:
          """ Rename faces back to their original name as exists in the alignments file.
  
          If the source and destination filename are the same then skip that file.
  
          Parameters
keep keep keep keep replace keep keep keep keep keep
 alignments tool - Add from-faces job
  - Allows user to regenerate alignments file(s) from a folder of extracted faces 
tools/alignments/jobs.py