          self.source = list()  # Source images, filenames + detected faces
          # Set from Patch
          self.destination = list()  # Swapped + patched images
  
          self.faces = dict()
          self.faces_source = None
          self.faces_dest = None
          self.tk_image = None
          logger.trace("Initialized %s", self.__class__.__name__)
  
      @property
      def total_columns(self):
          """ Return the total number of images that are being displayed """
 
</s> remove     def total_columns(self):
 </s> add     def tk_image(self):
        """ :class:`PIL.ImageTk.PhotoImage`: The compiled preview display in tkinter display
        format """
        return self._tk_image

    @property
    def _total_columns(self): </s> remove         self.size = size
        self.display_dims = (1, 1)
        self.tk_vars = tk_vars
        self.padding = padding
 </s> add         self._size = size
        self._display_dims = (1, 1)
        self._tk_vars = tk_vars
        self._padding = padding

        self._faces = dict()
        self._faces_source = None
        self._faces_dest = None
        self._tk_image = None </s> remove         """ Return compiled images images in TK PIL format resized for frame """
 </s> add         """ Build the full preview images and compile :attr:`tk_image` for display. """ </s> remove     def patch_faces(self, queue_in, queue_out, sample_size):
        """ Patch faces """
 </s> add     def _patch_faces(self, queue_in, queue_out, sample_size):
        """ Patch faces.

        Run the convert process on the swapped faces and return the patched faces.

        patch_queue_in: :class:`queue.Queue`
            The input queue for the patching process
        queue_out: :class:`queue.Queue`
            The output queue from the patching process
        sample_size: int
            The number of samples to be displayed

        Returns
        -------
        list
            The swapped faces patched with the selected convert settings
        """ </s> remove         self.converter.process(queue_in, queue_out)
 </s> add         self._converter.process(queue_in, queue_out)
          self.source = list()  # Source images, filenames + detected faces
          # Set from Patch
          self.destination = list()  # Swapped + patched images
  




          logger.trace("Initialized %s", self.__class__.__name__)
  
      @property
      def total_columns(self):
          """ Return the total number of images that are being displayed """
keep keep keep keep 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