      @staticmethod
      def finalize(images_found, num_faces_detected, verify_output):
          """ Finalize the image processing """
          logger.info("-------------------------")
          logger.info("Images found:        %s", images_found)
          logger.info("Faces detected:      %s", num_faces_detected)
          logger.info("-------------------------")
  
          if verify_output:
              logger.info("Note:")
              logger.info("Multiple faces were detected in one or more pictures.")
              logger.info("Double check your results.")
              logger.info("-------------------------")
  
          logger.info("Process Succesfully Completed. Shutting Down...")
  
  
  class Alignments(AlignmentsBase):
 
</s> remove class Utils():
    """ Holds utility functions that are required by more than one media
        object """

    @staticmethod
    def finalize(images_found, num_faces_detected, verify_output):
        """ Finalize the image processing """
 </s> add def finalize(images_found, num_faces_detected, verify_output):
    """ Output summary statistics at the end of the extract or convert processes.

    Parameters
    ----------
    images_found: int
        The number of images/frames that were processed
    num_faces_detected: int
        The number of faces that have been detected
    verify_output: bool
        ``True`` if multiple faces were detected in frames otherwise ``False``.
     """
    logger.info("-------------------------")
    logger.info("Images found:        %s", images_found)
    logger.info("Faces detected:      %s", num_faces_detected)
    logger.info("-------------------------")

    if verify_output:
        logger.info("Note:")
        logger.info("Multiple faces were detected in one or more pictures.")
        logger.info("Double check your results.") </s> remove         logger.info("Process Succesfully Completed. Shutting Down...")
 </s> add     logger.info("Process Succesfully Completed. Shutting Down...") </s> remove     """ Override main alignments class for extract """
 </s> add     """ Override :class:`lib.alignments.Alignments` to add custom loading based on command
    line arguments.

    Parameters
    ----------
    arguments: :class:`argparse.Namespace`
        The command line arguments that were passed to Faceswap
    is_extract: bool
        ``True`` if the process calling this class is extraction otherwise ``False``
    input_is_video: bool, optional
        ``True`` if the input to the process is a video, ``False`` if it is a folder of images.
        Default: False
    """ </s> remove class PostProcess():
    """ Optional post processing tasks """
 </s> add class PostProcess():  # pylint:disable=too-few-public-methods
    """ Optional pre/post processing tasks for convert and extract.

    Builds a pipeline of actions that have optionally been requested to be performed
    in this session.

    Parameters
    ----------
    arguments: :class:`argparse.Namespace`
        The command line arguments that were passed to Faceswap
    """ </s> remove     def get_detected_faces(self, filename, image):
        """ Return detected faces from alignments or detector """
 </s> add     def _get_detected_faces(self, filename, image):
        """ Return the detected faces for the given image.

        If we have an alignments file, then the detected faces are created from that file. If
        we're running On-The-Fly then they will be extracted from the extractor.

        Parameters
        ----------
        filename: str
            The filename to return the detected faces for
        image: :class:`numpy.ndarray`
            The frame that the detected faces exist in

        Returns
        -------
        list
            List of :class:`lib.faces_detect.DetectedFace` objects
        """
      @staticmethod
      def finalize(images_found, num_faces_detected, verify_output):
          """ Finalize the image processing """
          logger.info("-------------------------")









  
          logger.info("Process Succesfully Completed. Shutting Down...")
  
  
  class Alignments(AlignmentsBase):
keep keep keep keep replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Smart Masks to Convert (#957)

- scripts.convert - Use Smart Masks for Convert
    * Make on-the-fly conversion an explicit option

- Move BlurMask to lib.faces_detect

- tools.preview - Fix for smart masks
    * Subclass from tk.Tk
    * Options to lib.gui.control_helper
    *variable cleanup

- lib.logger - Demote more tensorflow deprecation messages

- Documentation:
    * lib.faces_detect.BlurMask
    * plugins.convert.mask
    * lib.convert
    * scripts.convert
    * scripts.fsmedia
    * tools.preview 
scripts/fsmedia.py