          ./config/convert.ini """
  
      def __init__(self, arguments):
          logger.debug("Initializing %s: (arguments: '%s'", self.__class__.__name__, arguments)
          self.config_tools = ConfigTools()
          self.lock = Lock()
          self.trigger_patch = Event()
  
          self.root = tk.Tk()
          self.scaling = self.get_scaling()
  
          self.tk_vars = dict(refresh=tk.BooleanVar(), busy=tk.BooleanVar())
          for val in self.tk_vars.values():
              val.set(False)
          self.display = FacesDisplay(256, 64, self.tk_vars)
 
</s> remove         self.tk_vars = dict(refresh=tk.BooleanVar(), busy=tk.BooleanVar())
        for val in self.tk_vars.values():
 </s> add         self._tk_vars = dict(refresh=tk.BooleanVar(), busy=tk.BooleanVar())
        for val in self._tk_vars.values(): </s> remove         self.display = FacesDisplay(256, 64, self.tk_vars)
        self.samples = Samples(arguments, 5, self.display, self.lock, self.trigger_patch)
        self.patch = Patch(arguments,
                           self.samples,
                           self.display,
                           self.lock,
                           self.trigger_patch,
                           self.config_tools,
                           self.tk_vars)

        self.initialize_tkinter()
        self.image_canvas = None
        self.opts_book = None
        self.cli_frame = None  # cli frame holds cli options
 </s> add         self._display = FacesDisplay(256, 64, self._tk_vars)

        trigger_patch = Event()
        self._samples = Samples(arguments, 5, self._display, self._lock, trigger_patch)
        self._patch = Patch(arguments,
                            self._samples,
                            self._display,
                            self._lock,
                            trigger_patch,
                            self._config_tools,
                            self._tk_vars)

        self._initialize_tkinter()
        self._image_canvas = None
        self._opts_book = None
        self._cli_frame = None  # cli frame holds cli options </s> remove class Preview():
    """ Loads up 5 semi-random face swaps and displays them, cropped, in place in the final frame.
        Allows user to live tweak settings, before saving the final config to
        ./config/convert.ini """
 </s> add class Preview(tk.Tk):  # pylint:disable=too-few-public-methods
    """ This tool is part of the Faceswap Tools suite and should be called from
    ``python tools.py preview`` command.

    Loads up 5 semi-random face swaps and displays them, cropped, in place in the final frame.
    Allows user to live tweak settings, before saving the final config to
    :file:`./config/convert.ini`

    Parameters
    ----------
    arguments: :class:`argparse.Namespace`
        The :mod:`argparse` arguments as passed in from :mod:`tools.py`
    """ </s> remove         self.alignments = alignments
        self.images = images
        self.args = arguments
        self.pre_process = PostProcess(arguments)
        self.completion_event = Event()
 </s> add         self._alignments = alignments
        self._images = images
        self._args = arguments
        self._pre_process = PostProcess(arguments)
        self._completion_event = Event() </s> remove         self.sample_size = sample_size
        self.display = display
        self.lock = lock
        self.trigger_patch = trigger_patch
        self.input_images = list()
        self.predicted_images = list()

        self.images = Images(arguments)
        self.alignments = Alignments(arguments,
                                     is_extract=False,
                                     input_is_video=self.images.is_video)
        if not self.alignments.have_alignments_file:
            logger.error("Alignments file not found at: '%s'", self.alignments.file)
 </s> add         self._sample_size = sample_size
        self._display = display
        self._lock = lock
        self._trigger_patch = trigger_patch
        self._input_images = list()
        self._predicted_images = list()

        self._images = Images(arguments)
        self._alignments = Alignments(arguments,
                                      is_extract=False,
                                      input_is_video=self._images.is_video)
        if not self._alignments.have_alignments_file:
            logger.error("Alignments file not found at: '%s'", self._alignments.file)
        super().__init__()
        self._config_tools = ConfigTools()
        self._lock = Lock()
        self._scaling = self._get_scaling()
          ./config/convert.ini """
  
      def __init__(self, arguments):
          logger.debug("Initializing %s: (arguments: '%s'", self.__class__.__name__, arguments)
        super().__init__()
        self._config_tools = ConfigTools()
        self._lock = Lock()
        self._scaling = self._get_scaling()
        super().__init__()
        self._config_tools = ConfigTools()
        self._lock = Lock()
        self._scaling = self._get_scaling()
        super().__init__()
        self._config_tools = ConfigTools()
        self._lock = Lock()
        self._scaling = self._get_scaling()
        super().__init__()
        self._config_tools = ConfigTools()
        self._lock = Lock()
        self._scaling = self._get_scaling()
        super().__init__()
        self._config_tools = ConfigTools()
        self._lock = Lock()
        self._scaling = self._get_scaling()
        super().__init__()
        self._config_tools = ConfigTools()
        self._lock = Lock()
        self._scaling = self._get_scaling()
  
          self.tk_vars = dict(refresh=tk.BooleanVar(), busy=tk.BooleanVar())
          for val in self.tk_vars.values():
              val.set(False)
          self.display = FacesDisplay(256, 64, self.tk_vars)
keep keep keep keep 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 
tools/preview.py